Commit e053a46c authored by rex's avatar rex

Merge branch 'dev' into 'master'

Dev

See merge request !1
parents 3b360dbc c5f411b9
{
"destinations": [
{
"name": "portal",
"type": "HTTP",
"proxyType": "Internet",
"authentication": "NoAuthentication",
"url": "https://devportal.wangyouyu.com/"
}
]
}
---
applications:
- name: portalhtml
routes:
- route: devcrm.wangyouyu.com
......@@ -2,7 +2,7 @@ import request from '@/utils/request'
export function login(data) {
return request({
url: '/index/login',
url: '/login',
method: 'post',
data
})
......@@ -18,7 +18,7 @@ export function login(data) {
export function logout() {
return request({
url: '/index/logout',
url: '/logout',
method: 'get'
})
}
......
src/assets/images/login_top.png

133 KB | W: | H:

src/assets/images/login_top.png

10.1 KB | W: | H:

src/assets/images/login_top.png
src/assets/images/login_top.png
src/assets/images/login_top.png
src/assets/images/login_top.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -213,7 +213,7 @@ export default {
line-height: 50px;
color: #fff;
&:hover {
background: #74bcff;
background: #304156;
}
}
......@@ -252,14 +252,14 @@ export default {
font-size: 14px;
cursor: pointer;
&:hover {
background: #74bcff;
background: #304156;
}
span {
margin-left: 8px;
}
}
.active-top-nav {
background: #74bcff;
background: #304156;
font-weight: bold;
font-size: 15px;
}
......
......@@ -45,7 +45,7 @@ export default {
},
data() {
return {
title: '国民技术CRM管理系统',
title: '紫光计算机CRM管理系统',
logo: 'https://wpimg.wallstcn.com/69a1c46c-eb1c-4b46-8bd4-e9e686ef5251.png'
}
}
......
......@@ -8,23 +8,23 @@ import Layout from '@/layout'
/* Router Modules */
import customersRouter from './modules/customers'
import contractRouter from './modules/contract'
import collectionRouter from './modules/collection'
import inventoryRouter from './modules/inventory'
import productsRouter from './modules/products'
import ordersRouter from './modules/orders'
import noticesRouter from './modules/notices'
import competitorsRouter from './modules/competitors'
import complaintRouter from './modules/complaint'
import dailyRouter from './modules/daily'
import systemRouter from './modules/system'
import accountRouter from './modules/account'
import forecastRouter from './modules/forecast'
import organizationRouter from './modules/organization'
// import contractRouter from './modules/contract'
// import collectionRouter from './modules/collection'
// import inventoryRouter from './modules/inventory'
// import productsRouter from './modules/products'
// import ordersRouter from './modules/orders'
// import noticesRouter from './modules/notices'
// import competitorsRouter from './modules/competitors'
// import complaintRouter from './modules/complaint'
// import dailyRouter from './modules/daily'
// import systemRouter from './modules/system'
// import accountRouter from './modules/account'
// import forecastRouter from './modules/forecast'
// import organizationRouter from './modules/organization'
// import nestedRouter from './modules/nested'
import flowRouter from './modules/flow'
import quotedPriceRouter from './modules/quotedPrice'
import invoiceRouter from './modules/invoice'
// import flowRouter from './modules/flow'
// import quotedPriceRouter from './modules/quotedPrice'
// import invoiceRouter from './modules/invoice'
import messageRouter from './modules/message'
/**
......@@ -70,6 +70,16 @@ export const constantRoutes = [
component: () => import('@/views/login/index'),
hidden: true
},
{
path: '/prov-register',
component: () => import('@/views/login/prov-register/index'),
hidden: true
},
{
path: '/city-register',
component: () => import('@/views/login/city-register/index'),
hidden: true
},
{
path: '/auth-redirect',
component: () => import('@/views/login/auth-redirect'),
......@@ -145,23 +155,23 @@ export const asyncRoutes = [
/** when your routing map is too long, you can split it into small modules **/
customersRouter,
contractRouter,
collectionRouter,
inventoryRouter,
productsRouter,
quotedPriceRouter,
invoiceRouter,
ordersRouter,
noticesRouter,
competitorsRouter,
complaintRouter,
dailyRouter,
systemRouter,
accountRouter,
organizationRouter,
forecastRouter,
// contractRouter,
// collectionRouter,
// inventoryRouter,
// productsRouter,
// quotedPriceRouter,
// invoiceRouter,
// ordersRouter,
// noticesRouter,
// competitorsRouter,
// complaintRouter,
// dailyRouter,
// systemRouter,
// accountRouter,
// organizationRouter,
// forecastRouter,
// nestedRouter,
flowRouter,
// flowRouter,
messageRouter,
// {
// path: '/permission',
......
......@@ -8,7 +8,7 @@ const customersRouter = {
redirect: '/customers/potential',
name: 'Customers',
meta: {
topTitle: '客户',
topTitle: '代理商',
title: 'customers',
icon: 'user'
},
......
......@@ -4,7 +4,7 @@
**/
/* theme color */
$--color-primary: #1890ff;
$--color-primary: #A22796;
$--color-success: #13ce66;
$--color-warning: #ffba00;
$--color-danger: #ff4949;
......
<template>
<div class="register-container">
<div class="register-main">
<el-row class="border-bottom"><h4>城市代理商注册</h4></el-row>
<el-form id="registerForm" :model="formData" status-icon label-position="right">
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="基本信息" />
</el-col>
<el-col :span="12" :offset="1" class="padding-bottom">
<el-form-item label="公司全称:" prop="name" label-width="150px" required>
<el-input v-model="formData.name" placeholder="点击查询获取公司信息,不可编辑" disabled style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="5" :offset="1" class="padding-bottom">
<el-button type="primary">查询</el-button>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="公司全称曾用名:" prop="shortName" label-width="150px">
<el-input v-model="formData.shortName" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="统一社会信用代码:" label-width="150px" required>
<template>
<el-input v-model="formData.englishName" placeholder="企查查获取" style="width: 80%" class="filter-item" clearable />
</template>
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="注册资本(万元):" label-width="150px" required>
<el-input v-model="formData.enterpriseCode" :disabled="inputEnter" style="width: 80%" placeholder="企查查获取" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="法人:" label-width="150px" required>
<template>
<el-input v-model="formData.enterpriseCode" :disabled="inputEnter" style="width: 80%" placeholder="企查查获取" class="filter-item" clearable />
</template>
</el-form-item>
</el-col>
</el-row>
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="地址信息" />
</el-col>
<el-col :span="7" :offset="1" class="padding-bottom">
<el-form-item label="省份:" prop="cerInfo.district" label-width="80px" required>
<el-cascader ref="cascader" v-model="countryArea" clearable style="width: 80%"/>
</el-form-item>
</el-col>
<el-col :span="7" class="padding-bottom">
<el-form-item label="地市:" prop="cerInfo.district" label-width="80px" required >
<el-cascader ref="cascader" v-model="countryArea" clearablestyle="width: 80%" />
</el-form-item>
</el-col>
<el-col :span="7" class="padding-bottom">
<el-form-item label="县市:" prop="cerInfo.district" label-width="80px" required>
<el-cascader ref="cascader" v-model="countryArea" clearable style="width: 80%" />
</el-form-item>
</el-col>
<el-col :span="20" :offset="1" class="padding-bottom">
<el-form-item label="详细经营地址:" label-width="150px" required>
<el-input v-model="formData.cerInfo" placeholder="" autocomplete="off" style="width: 80%" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="联系信息" />
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="公司负责人姓名:" prop="legalPerson" label-width="150px" required>
<el-input v-model="formData.legalPerson" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="12" class="padding-bottom">
<el-form-item label="公司负责人联系电话:" prop="legalEmail" label-width="160px" class="filter-icon-none" required>
<el-input v-model="formData.legalEmail" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<!-- <el-col v-if="showForm.legalPersonNumber" :span="7" class="padding-bottom">
<el-form-item label="法人手机号" prop="legalIdPhone" label-width="100px" class="filter-icon-none">
<el-input v-model="supplierBase.legalIdPhone" placeholder="法人手机号" style="width: 83%" class="filter-item" clearable />
</el-form-item>
</el-col> -->
<el-col :span="15" :offset="1" class="padding-bottom">
<el-form-item label="公司负责人邮箱:" prop="legalIdCard" label-width="150px" class="filter-icon-none" required>
<el-input v-model="formData.legalIdCard" placeholder="" style="width: 52%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="Unis业务负责人姓名:" prop="email" label-width="160px" required>
<el-input v-model="formData.email" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="Unis业务负责人电话:" prop="mobile" label-width="160px" required>
<el-input v-model="formData.mobile" placeholder="" style="width: 90%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom" >
<el-form-item label="Unis业务负责人邮箱:" prop="financerMobile" label-width="160px" class="filter-icon-none" required>
<el-input v-model="formData.financerMobile" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="24">
<el-form-item label="上传附件" />
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="营业执照:" prop="financerMobile" label-width="100px" class="filter-icon-none" required>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row>
<el-col align="center">
<el-button type="primary" @click="handleNext">提交</el-button>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
name: 'city-register',
data() {
return {
formData:{},
inputEnter:false,
countryArea:'',
title: '城市代理商注册',
loading: false,
fileList:[],
supplierBaseRules: {
name: [{ required: true, message: '请选择公司全称', trigger: ['change', 'blur'] }],
},
}
},
watch: {
},
created() {
},
methods: {
handlePreview(){},
handleRemove(){},
beforeRemove(){},
handleExceed(){},
fileList(){},
handleNext(){}
}
}
</script>
<style lang="scss" scoped>
.register-container {
margin: 10px auto;
padding: 0px 0px;
width: 1024px;
background-color: rgba(241, 243, 245, 0.877);
}
.register-main {
margin: 0px 30px;
padding: 15px 0px;
}
#registerForm .padding-bottom {
padding-bottom: 20px;
}
.border-bottom {
border-bottom: solid 2px #409eff;
}
</style>
......@@ -5,7 +5,7 @@
<div class="title-container">
<img src="../../assets/images/login_top.png">
<h3 class="title">客户关系管理系统</h3>
<h4 class="title-sub">Customer Relationship Management</h4>
<!-- <h4 class="title-sub">Customer Relationship Management</h4> -->
<!-- <lang-select class="set-language" /> -->
</div>
......@@ -48,7 +48,12 @@
</el-form-item>
</el-tooltip>
<el-button :loading="loading" type="primary" style="width:100%;margin-bottom:30px;" @click.native.prevent="handleLogin">
<el-button
:loading="loading"
type="primary"
style="width:100%;margin-bottom:30px;background-color:rgb(162,39,150);border:none"
@click.native.prevent="handleLogin"
>
{{ $t('login.logIn') }}
</el-button>
......@@ -70,10 +75,10 @@
</div> -->
</el-form>
<div class="login-footer">
<p>Copyright © www.nationstech.com, All Rights Reserved.</p>
<p>创新服务全民</p>
</div>
<!-- <div class="login-footer"> -->
<!-- <p>Copyright © www.nationstech.com, All Rights Reserved.</p> -->
<!-- <p>创新服务全民</p>
</div> -->
<!-- <el-dialog :title="$t('login.thirdparty')" :visible.sync="showDialog">
{{ $t('login.thirdpartyTips') }}
......@@ -171,8 +176,8 @@ export default {
if (valid) {
this.loading = true
const params = {
ext_EmployeeUserName_KUT: this.loginForm.username,
ext_EmployeePassword_KUT: this.loginForm.password
extUserName_SDK: this.loginForm.username,
extPassword_SDK: this.loginForm.password
}
this.$store.dispatch('user/login', params)
.then(() => {
......@@ -224,7 +229,7 @@ export default {
/* reset element-ui css */
.login-container {
background: url('../../assets/images/login_bg.png');
// background: url('../../assets/images/login_bg.png');
background-size: cover;
.el-input {
display: inline-block;
......@@ -307,15 +312,15 @@ $dark_gray:#889aa4;
.title-container {
position: relative;
margin: 50px auto;
img {
width: 80%;
margin-left: 10%;
width: 50%;
margin-left: 25%;
}
.title {
font-size: 36px;
color: #154188;
margin: 0 auto 10px;
font-size: 20px;
// color: #154188;
margin: 20px auto;
text-align: center;
// font-family: '微软雅黑 Bold', '微软雅黑';
font-weight: 700;
......
<template>
<div class="register-container">
<div class="register-main">
<el-row class="border-bottom"><h4>省级代理商注册</h4></el-row>
<el-form id="registerForm" :model="formData" status-icon label-position="right">
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="基本信息" />
</el-col>
<el-col :span="13" class="padding-bottom">
<el-form-item label="公司全称:" prop="name" label-width="150px" required>
<!-- <el-input v-model="formData.name" placeholder="点击查询获取公司信息,不可编辑" disabled style="width: 80%" class="filter-item" clearable /> -->
<lov
v-model="formData.companyId"
:default-text="formData.companyName"
clearable
@returnFn="data=>{}"
/>
</el-form-item>
</el-col>
<!-- <el-col :span="5" :offset="1" class="padding-bottom">
<el-button type="primary">查询</el-button>
</el-col> -->
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="公司全称曾用名:" prop="shortName" label-width="150px">
<el-input v-model="formData.shortName" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="统一社会信用代码:" label-width="150px" required>
<template>
<el-input v-model="formData.englishName" placeholder="企查查获取" style="width: 80%" class="filter-item" clearable />
</template>
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="注册资本(万元):" label-width="150px" required>
<el-input v-model="formData.enterpriseCode" :disabled="inputEnter" style="width: 80%" placeholder="企查查获取" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="法人:" label-width="150px" required>
<template>
<el-input v-model="formData.enterpriseCode" :disabled="inputEnter" style="width: 80%" placeholder="企查查获取" class="filter-item" clearable />
</template>
</el-form-item>
</el-col>
</el-row>
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="地址信息" />
</el-col>
<el-col :span="7" :offset="1" class="padding-bottom">
<el-form-item label="省份:" prop="cerInfo.district" label-width="80px" required>
<el-cascader ref="cascader" v-model="countryArea" clearable style="width: 80%"/>
</el-form-item>
</el-col>
<el-col :span="7" class="padding-bottom">
<el-form-item label="地市:" prop="cerInfo.district" label-width="80px" required >
<el-cascader ref="cascader" v-model="countryArea" clearablestyle="width: 80%" />
</el-form-item>
</el-col>
<el-col :span="7" class="padding-bottom">
<el-form-item label="县市:" prop="cerInfo.district" label-width="80px" required>
<el-cascader ref="cascader" v-model="countryArea" clearable style="width: 80%" />
</el-form-item>
</el-col>
<el-col :span="20" :offset="1" class="padding-bottom">
<el-form-item label="详细经营地址:" label-width="150px" required>
<el-input v-model="formData.cerInfo" placeholder="" autocomplete="off" style="width: 80%" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="联系信息" />
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="公司负责人姓名:" prop="legalPerson" label-width="150px" required>
<el-input v-model="formData.legalPerson" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="12" class="padding-bottom">
<el-form-item label="公司负责人联系电话:" prop="legalEmail" label-width="160px" class="filter-icon-none" required>
<el-input v-model="formData.legalEmail" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<!-- <el-col v-if="showForm.legalPersonNumber" :span="7" class="padding-bottom">
<el-form-item label="法人手机号" prop="legalIdPhone" label-width="100px" class="filter-icon-none">
<el-input v-model="supplierBase.legalIdPhone" placeholder="法人手机号" style="width: 83%" class="filter-item" clearable />
</el-form-item>
</el-col> -->
<el-col :span="15" :offset="1" class="padding-bottom">
<el-form-item label="公司负责人邮箱:" prop="legalIdCard" label-width="150px" class="filter-icon-none" required>
<el-input v-model="formData.legalIdCard" placeholder="" style="width: 52%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="Unis业务负责人姓名:" prop="email" label-width="160px" required>
<el-input v-model="formData.email" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="Unis业务负责人电话:" prop="mobile" label-width="160px" required>
<el-input v-model="formData.mobile" placeholder="" style="width: 90%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom" >
<el-form-item label="Unis业务负责人邮箱:" prop="financerMobile" label-width="160px" class="filter-icon-none" required>
<el-input v-model="formData.financerMobile" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="商务负责人姓名:" prop="email" label-width="150px" required>
<el-input v-model="formData.email" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" class="padding-bottom">
<el-form-item label="商务负责人电话:" prop="mobile" label-width="150px" required>
<el-input v-model="formData.mobile" placeholder="" style="width: 90%" class="filter-item" clearable />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom" >
<el-form-item label="商务负责人邮箱:" prop="financerMobile" label-width="160px" class="filter-icon-none" required>
<el-input v-model="formData.financerMobile" placeholder="" style="width: 80%" class="filter-item" clearable />
</el-form-item>
</el-col>
</el-row>
<el-row class="border-bottom">
<el-col :span="24">
<el-form-item label="签约信息" />
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="签约渠道类型:" prop="cerInfo.district" label-width="120px" required>
<el-cascader ref="cascader" v-model="countryArea" clearable style="width: 80%"/>
</el-form-item>
</el-col>
<el-col :span="12" class="padding-bottom">
<el-form-item label="签约产品组:" prop="cerInfo.district" label-width="120px" required >
<el-cascader ref="cascader" v-model="countryArea" clearablestyle="width: 90%" />
</el-form-item>
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="签约总代:" prop="cerInfo.district" label-width="100px" required>
<el-cascader ref="cascader" v-model="countryArea" clearable style="width: 80%" />
</el-form-item>
</el-col>
</el-row>
<el-row >
<el-col :span="24">
<el-form-item label="上传附件" />
</el-col>
<el-col :span="11" :offset="1" class="padding-bottom">
<el-form-item label="营业执照:" prop="financerMobile" label-width="100px" class="filter-icon-none" required>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList">
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-row>
<el-col align="center">
<el-button type="primary" @click="handleNext">提交</el-button>
</el-col>
</el-row>
</div>
</div>
</template>
<script>
export default {
name: 'city-register',
data() {
return {
formData:{},
inputEnter:false,
countryArea:'',
title: '城市代理商注册',
loading: false,
fileList:[],
supplierBaseRules: {
name: [{ required: true, message: '请选择公司全称', trigger: ['change', 'blur'] }],
},
}
},
watch: {
},
created() {
},
methods: {
handlePreview(){},
handleRemove(){},
beforeRemove(){},
handleExceed(){},
fileList(){},
handleNext(){}
}
}
</script>
<style lang="scss" scoped>
.register-container {
margin: 10px auto;
padding: 0px 0px;
width: 1024px;
background-color: rgba(241, 243, 245, 0.877);
}
.register-main {
margin: 0px 30px;
padding: 15px 0px;
}
#registerForm .padding-bottom {
padding-bottom: 20px;
}
.border-bottom {
border-bottom: solid 2px #409eff;
}
</style>
......@@ -32,7 +32,7 @@ module.exports = {
devServer: {
proxy: {
'/portal': {
target: 'https://portalapplicationkmif3wwkv6.cn1.platform.sapcloud.cn/',
target: 'https://devportal.wangyouyu.com/',
// target: 'http://localhost:8080/',
secure: false,
changeOrigin: true,
......@@ -51,26 +51,6 @@ module.exports = {
}
}
},
'/job': {
target: 'https://jobapplicationkmif3wwkv6.cn1.platform.sapcloud.cn/',
// target: 'http://localhost:8080/',
secure: false,
changeOrigin: true,
pathRewrite: {
'^/job/': '/' // rewrite path
},
onProxyReq: function(proxyReq, req, res, options) { // 由于vue中使用了body-parser 导致http中的body被序列化两次,从而使得配置代理后后端无法获取body中的数据
if (req.body) {
const reg = new RegExp('application/json')
if (reg.test(proxyReq.getHeader('Content-Type'))) {
const bodyData = JSON.stringify(req.body)
proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData))
// stream the content
proxyReq.write(bodyData)
}
}
}
}
},
port: port,
open: true,
......
{
"welcomeFile": "/index.html",
"authenticationMethod": "none",
"routes": [
{
"source": "^/portal/(.*)",
"target": "/$1",
"destination": "portal"
},
{
"source": "(.*)",
"localDir": "dist"
}
]
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment