flat:校验++

This commit is contained in:
Apcallover
2024-04-09 21:24:25 +08:00
parent caf55a7ff2
commit 928bc34838
3 changed files with 290 additions and 179 deletions

View File

@@ -3,7 +3,7 @@
<view> <view>
<view class="u-demo-block__content"> <view class="u-demo-block__content">
<!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 --> <!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 -->
<u--form labelPosition="left" :model="info" ref="form1"> <u--form labelPosition="left" :model="info" ref="form1" :rules="rules">
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">任务信息</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">任务信息</view>
<u-form-item label="任务名称" prop="jobName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="任务名称" prop="jobName" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.jobName" border="none" placeholder="请输入任务名称"></u--input> <u--input v-model="info.jobName" border="none" placeholder="请输入任务名称"></u--input>
@@ -22,12 +22,13 @@
</u-form-item> </u-form-item>
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">任务要求</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">任务要求</view>
<u-form-item label="招聘人数" prop="peopleNum" borderBottom labelWidth="80" ref="item3"> <u-form-item label="招聘人数" prop="peopleNum" borderBottom labelWidth="80" ref="item3">
<u--input v-model="info.peopleNum" border="none" placeholder="请输入招聘人数"></u--input> <u--input type="number" v-model="info.peopleNum" border="none" placeholder="请输入招聘人数">
</u--input>
</u-form-item> </u-form-item>
<u-form-item label="参考工资" prop="jobName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="参考工资" prop="wage" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.wage" border="none" placeholder="请输入参考工资"> <u--input v-model="info.wage" border="none" placeholder="请输入参考工资">
<template slot="suffix"> <template slot="suffix">
<u-form-item class="wageunitLeft" prop="wage" labelWidth="0" border="surround" <u-form-item class="wageunitLeft" prop="wageUnitCategory" labelWidth="0" border="surround"
@click="showWage = true; hideKeyboard()" ref="item4"> @click="showWage = true; hideKeyboard()" ref="item4">
<u--input <u--input
v-model="info.wageUnitCategoryName" v-model="info.wageUnitCategoryName"
@@ -58,16 +59,13 @@
border="none"></u--input> border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> <u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item> </u-form-item>
<u-form-item label="任务描述" prop="jobDescription" borderBottom labelWidth="80" ref="item1"> <u-form-item label="任务描述" labelWidth="80" ref="item1"></u-form-item>
<!-- <u--textarea v-model="info.jobDescription" placeholder="请输入任务描述"></u--textarea> -->
<!-- <u--input v-model="info.jobDescription" border="none" placeholder="请输入任务描述"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item>
<view> <view>
<u--textarea v-model="info.jobDescription" <u--textarea v-model="info.jobDescription"
placeholder="参考示例:任务名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先" placeholder="参考示例:任务名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先"
count height="100" maxlength="200"></u--textarea> count height="100" maxlength="200"></u--textarea>
</view> </view>
<u-form-item prop="jobDescription" borderBottom labelWidth="80" ref="item1"></u-form-item>
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view>
<!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom <!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom
@click="showNature = true; hideKeyboard()" ref="item7"> @click="showNature = true; hideKeyboard()" ref="item7">
@@ -106,14 +104,12 @@
<u-form-item label="企业性质" prop="jobCompanyNature" borderBottom labelWidth="80" ref="item1"> <u-form-item label="企业性质" prop="jobCompanyNature" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.jobCompanyNature" border="none" placeholder="请输入企业性质"></u--input> <u--input v-model="info.jobCompanyNature" border="none" placeholder="请输入企业性质"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="企业介绍" prop="jobCompanyDescription" borderBottom labelWidth="80" ref="item1"> <u-form-item label="企业介绍"labelWidth="80" ref="item1"></u-form-item>
<!-- <u--input v-model="info.jobCompanyDescription" border="none" placeholder="请输入企业介绍"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item>
<view> <view>
<u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100" <u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100"
maxlength="200"></u--textarea> maxlength="200"></u--textarea>
</view> </view>
<u-form-item prop="jobCompanyDescription" borderBottom labelWidth="80" ref="item1"></u-form-item>
<u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input> <u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input>
</u-form-item> </u-form-item>
@@ -199,9 +195,10 @@ export default {
skillNames: '', // 工种二级名称 skillNames: '', // 工种二级名称
jobDescription: '', // 任务描述 jobDescription: '', // 任务描述
// userNature: '', // 人员属性 // userNature: '', // 人员属性
ageDesc: '', // 年龄要求 educationLabel: dic.eduArr[0][0].label, // 学历要求前端显示
education: '', // 学历要求 ageDesc: dic.ageArr[0][0].label, // 年龄要求
experienceDesc: '', // 经验要求 education: dic.eduArr[0][0].value, // 学历要求
experienceDesc: dic.expeArr[0][0].label, // 经验要求
jobCompanyName: '', // 企业名称 jobCompanyName: '', // 企业名称
jobCompanyScale: '', // 企业信用代码 jobCompanyScale: '', // 企业信用代码
jobCompanyIndustry: '', // 所属行业 jobCompanyIndustry: '', // 所属行业
@@ -238,67 +235,119 @@ export default {
eduColumns: dic.eduArr, eduColumns: dic.eduArr,
expeColumns: dic.expeArr, expeColumns: dic.expeArr,
rules: { rules: {
'userInfo.name': [{ jobName: {
type: 'string', type: 'string',
required: true, required: true,
message: '请填写姓名', message: '请输入招工名称',
trigger: ['blur', 'change']
}, {
// 此为同步验证可以直接返回true或者false如果是异步验证稍微不同见下方说明
validator: (rule, value, callback) => {
// 调用uView自带的js验证规则详见https://www.uviewui.com/js/test.html
return uni.$u.test.chinese(value);
},
message: "姓名必须为中文",
// 触发器可以同时用blur和change二者之间用英文逗号隔开
trigger: ["change", "blur"],
}],
code: {
type: 'string',
required: true,
len: 4,
message: '请填写4位验证码',
trigger: ['blur']
},
'userInfo.sex': {
type: 'string',
max: 1,
required: true,
message: '请选择男或女',
trigger: ['blur', 'change']
},
radiovalue1: {
type: 'string',
min: 1,
max: 2,
message: '橙子有毒',
trigger: ['change'] trigger: ['change']
}, },
checkboxValue1: { stime: {
type: 'array',
min: 2,
required: true,
message: '不能太宅,至少选两项',
trigger: ['change']
},
intro: {
type: 'string',
min: 3,
required: true,
message: '不低于3个字',
trigger: ['change']
},
hotel: {
type: 'string',
min: 2,
required: true,
message: '请选择住店时间',
trigger: ['change']
},
'userInfo.birthday': {
type: 'string', type: 'string',
required: true, required: true,
message: '请选择生日', message: '请输入开始时间',
trigger: ['change']
},
etime: {
type: 'string',
required: true,
message: '请选择结束时间',
trigger: ['change']
},
peopleNum: {
type: 'number',
required: true,
message: '请输入招聘人数',
trigger: ['change']
},
wage: {
type: 'string',
required: true,
message: '请输入参考工资',
trigger: ['change']
},
tradeNames: {
type: 'string',
required: true,
message: '请选择行业类型',
trigger: ['change']
},
skillNames: {
type: 'string',
required: true,
message: '请选择工种',
trigger: ['change']
},
jobDescription: {
type: 'string',
min: 20,
required: true,
message: '请输入任务描述最少20个字符',
trigger: ['change']
},
ageDesc:{
type: 'string',
required: true,
message: '请选择年龄',
trigger: ['change']
},
educationLabel:{
type: 'string',
required: true,
message: '请选择学历',
trigger: ['change']
},
experienceDesc:{
type: 'string',
required: true,
message: '请选择经验要求',
trigger: ['change']
},
jobCompanyName: {
type: 'string',
required: true,
message: '请输入企业名称',
trigger: ['change']
},
jobCompanyScale: {
type: 'string',
required: true,
message: '请输入企业信用代码',
trigger: ['change']
},
jobCompanyIndustry: {
type: 'string',
required: true,
message: '请输入所属行业',
trigger: ['change']
},
jobCompanyNature: {
type: 'string',
required: true,
message: '请输入企业性质',
trigger: ['change']
},
jobCompanyDescription: {
type: 'string',
required: true,
message: '请输入企业介绍',
trigger: ['change']
},
callName: {
type: 'string',
required: true,
message: '请输入联系人',
trigger: ['change']
},
callTel: {
type: 'string',
required: true,
message: '请输入手机号',
trigger: ['change']
},
address: {
type: 'string',
required: true,
message: '请输入详细地址',
trigger: ['change'] trigger: ['change']
}, },
}, },
@@ -477,6 +526,7 @@ export default {
// }).catch(errors => { // }).catch(errors => {
// uni.$u.toast('校验失败') // uni.$u.toast('校验失败')
// }) // })
let vali = ['']
const names = this.getSkilDataNameWhereId(this.skillColumnsIndex, true) const names = this.getSkilDataNameWhereId(this.skillColumnsIndex, true)
const ids = this.getSkilDataNameWhereId(this.skillColumnsIndex, false) const ids = this.getSkilDataNameWhereId(this.skillColumnsIndex, false)
this.info.jobType = 0 this.info.jobType = 0
@@ -488,12 +538,17 @@ export default {
skillNames: names[1], // 工种二级名称 skillNames: names[1], // 工种二级名称
} }
let that = this let that = this
this.$refs.form1.validate().then(res => {
if(!this.info.wageUnitCategory) {return this.$api.msg('请选择参考工资单位')}
submitInfo(params).then(res => { submitInfo(params).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
that.reset() that.reset()
uni.$u.toast('发布成功') uni.$u.toast('发布成功')
} }
}) })
}).catch(errors => {
uni.$u.toast('校验失败')
})
}, },
reset() { reset() {
// jobCompanyName: '', // 企业名称 // jobCompanyName: '', // 企业名称
@@ -532,6 +587,7 @@ export default {
this.$refs.form1.clearValidate() this.$refs.form1.clearValidate()
setTimeout(() => { setTimeout(() => {
this.$refs.form1.clearValidate(validateList) this.$refs.form1.clearValidate(validateList)
this.backfill(this.company)
// 或者使用 this.$refs.form1.clearValidate() // 或者使用 this.$refs.form1.clearValidate()
}, 10) }, 10)
}, },

View File

@@ -3,7 +3,7 @@
<view> <view>
<view class="u-demo-block__content"> <view class="u-demo-block__content">
<!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 --> <!-- 注意如果需要兼容微信小程序最好通过setRules方法设置rules规则 -->
<u--form labelPosition="left" :model="info" ref="form1"> <u--form labelPosition="left" :model="info" ref="form1" :rules="rules">
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">岗位信息</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">岗位信息</view>
<u-form-item label="岗位名称" prop="jobName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="岗位名称" prop="jobName" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.jobName" border="none" placeholder="请输入岗位名称"></u--input> <u--input v-model="info.jobName" border="none" placeholder="请输入岗位名称"></u--input>
@@ -22,7 +22,7 @@
</u-form-item> </u-form-item>
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">岗位要求</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">岗位要求</view>
<u-form-item label="招聘人数" prop="peopleNum" borderBottom labelWidth="80" ref="item3"> <u-form-item label="招聘人数" prop="peopleNum" borderBottom labelWidth="80" ref="item3">
<u--input v-model="info.peopleNum" border="none" placeholder="请输入招聘人数"></u--input> <u--input type="number" v-model="info.peopleNum" border="none" placeholder="请输入招聘人数"></u--input>
</u-form-item> </u-form-item>
<!-- <u-form-item label="参考工资" prop="wage" labelWidth="80" borderBottom <!-- <u-form-item label="参考工资" prop="wage" labelWidth="80" borderBottom
@click="showWage = true; hideKeyboard()" ref="item4"> @click="showWage = true; hideKeyboard()" ref="item4">
@@ -30,10 +30,10 @@
border="none"></u--input> border="none"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> <u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item> --> </u-form-item> -->
<u-form-item label="参考工资" prop="jobName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="参考工资" prop="wage" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.wage" border="none" placeholder="请输入参考工资"> <u--input v-model="info.wage" border="none" placeholder="请输入参考工资">
<template slot="suffix"> <template slot="suffix">
<u-form-item class="wageunitLeft" prop="wage" labelWidth="0" border="surround" <u-form-item class="wageunitLeft" prop="wageUnitCategory" labelWidth="0" border="surround"
@click="showWage = true; hideKeyboard()" ref="item4"> @click="showWage = true; hideKeyboard()" ref="item4">
<u--input <u--input
v-model="info.wageUnitCategoryName" v-model="info.wageUnitCategoryName"
@@ -60,16 +60,15 @@
<u-icon slot="right" name="arrow-right"></u-icon> <u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item> </u-form-item>
<u-form-item label="岗位描述" prop="jobDescription" borderBottom labelWidth="80" ref="item1"> <u-form-item label="岗位描述" labelWidth="80" ref="item1">
<!-- <u--textarea v-model="info.jobDescription" placeholder="请输入岗位描述"></u--textarea> -->
<!-- <u--input v-model="info.jobDescription" border="none" placeholder="请输入任务描述"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item> </u-form-item>
<view> <view>
<u--textarea v-model="info.jobDescription" <u--textarea v-model="info.jobDescription"
placeholder="参考示例:岗位名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先" placeholder="参考示例:岗位名称:保姆 工作内容: 一日三餐,卫生打扫 工资: 200元/天 年龄要求: 25-40岁 工作经验要求: 有过住家保姆经验, 会做饭,受过高等教育的优先"
count height="100" maxlength="200"></u--textarea> count height="100" maxlength="200"></u--textarea>
</view> </view>
<u-form-item prop="jobDescription" borderBottom labelWidth="80" ref="item1">
</u-form-item>
<view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view> <view style="font-size: 30rpx;font-weight: bold;padding: 20rpx 0 0;">人员要求</view>
<!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom <!-- <u-form-item label="人员属性" prop="userNature" labelWidth="80" borderBottom
@click="showNature = true; hideKeyboard()" ref="item4"> @click="showNature = true; hideKeyboard()" ref="item4">
@@ -108,14 +107,12 @@
<u-form-item label="企业性质" prop="jobCompanyNature" borderBottom labelWidth="80" ref="item1"> <u-form-item label="企业性质" prop="jobCompanyNature" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.jobCompanyNature" border="none" placeholder="请输入企业性质"></u--input> <u--input v-model="info.jobCompanyNature" border="none" placeholder="请输入企业性质"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="企业介绍" prop="jobCompanyDescription" borderBottom labelWidth="80" ref="item1"> <u-form-item label="企业介绍" labelWidth="80" ref="item1"></u-form-item>
<!-- <u--input v-model="info.jobCompanyDescription" border="none" placeholder="请输入企业介绍"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon> -->
</u-form-item>
<view> <view>
<u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100" <u--textarea v-model="info.jobCompanyDescription" placeholder="请输入企业介绍" count height="100"
maxlength="200"></u--textarea> maxlength="200"></u--textarea>
</view> </view>
<u-form-item prop="jobCompanyDescription" borderBottom labelWidth="80" ref="item1"></u-form-item>
<u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1"> <u-form-item label="联系人" prop="callName" borderBottom labelWidth="80" ref="item1">
<u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input> <u--input v-model="info.callName" border="none" placeholder="请输入联系人"></u--input>
</u-form-item> </u-form-item>
@@ -201,10 +198,10 @@ export default {
skillNames: '', // 工种二级名称 skillNames: '', // 工种二级名称
jobDescription: '', // 任务描述 jobDescription: '', // 任务描述
// userNature: '', // 人员属性 // userNature: '', // 人员属性
ageDesc: '', // 年龄要求 educationLabel: dic.eduArr[0][0].label, // 学历要求前端显示
education: '', // 学历要求 ageDesc: dic.ageArr[0][0].label, // 年龄要求
educationLabel: '', // 学历要求前端显示 education: dic.eduArr[0][0].value, // 学历要求
experienceDesc: '', // 经验要求 experienceDesc: dic.expeArr[0][0].label, // 经验要求
jobCompanyName: '', // 企业名称 jobCompanyName: '', // 企业名称
jobCompanyScale: '', // 企业信用代码 jobCompanyScale: '', // 企业信用代码
jobCompanyIndustry: '', // 所属行业 jobCompanyIndustry: '', // 所属行业
@@ -241,67 +238,119 @@ export default {
eduColumns: dic.eduArr, eduColumns: dic.eduArr,
expeColumns: dic.expeArr, expeColumns: dic.expeArr,
rules: { rules: {
'userInfo.name': [{ jobName: {
type: 'string', type: 'string',
required: true, required: true,
message: '请填写姓名', message: '请输入招工名称',
trigger: ['blur', 'change']
}, {
// 此为同步验证可以直接返回true或者false如果是异步验证稍微不同见下方说明
validator: (rule, value, callback) => {
// 调用uView自带的js验证规则详见https://www.uviewui.com/js/test.html
return uni.$u.test.chinese(value);
},
message: "姓名必须为中文",
// 触发器可以同时用blur和change二者之间用英文逗号隔开
trigger: ["change", "blur"],
}],
code: {
type: 'string',
required: true,
len: 4,
message: '请填写4位验证码',
trigger: ['blur']
},
'userInfo.sex': {
type: 'string',
max: 1,
required: true,
message: '请选择男或女',
trigger: ['blur', 'change']
},
radiovalue1: {
type: 'string',
min: 1,
max: 2,
message: '橙子有毒',
trigger: ['change'] trigger: ['change']
}, },
checkboxValue1: { stime: {
type: 'array',
min: 2,
required: true,
message: '不能太宅,至少选两项',
trigger: ['change']
},
intro: {
type: 'string',
min: 3,
required: true,
message: '不低于3个字',
trigger: ['change']
},
hotel: {
type: 'string',
min: 2,
required: true,
message: '请选择住店时间',
trigger: ['change']
},
'userInfo.birthday': {
type: 'string', type: 'string',
required: true, required: true,
message: '请选择生日', message: '请输入开始时间',
trigger: ['change']
},
etime: {
type: 'string',
required: true,
message: '请选择结束时间',
trigger: ['change']
},
peopleNum: {
type: 'number',
required: true,
message: '请输入招聘人数',
trigger: ['change']
},
wage: {
type: 'string',
required: true,
message: '请输入参考工资',
trigger: ['change']
},
tradeNames: {
type: 'string',
required: true,
message: '请选择行业类型',
trigger: ['change']
},
skillNames: {
type: 'string',
required: true,
message: '请选择工种',
trigger: ['change']
},
jobDescription: {
type: 'string',
min: 20,
required: true,
message: '请输入任务描述最少20个字符',
trigger: ['change']
},
ageDesc:{
type: 'string',
required: true,
message: '请选择年龄',
trigger: ['change']
},
educationLabel:{
type: 'string',
required: true,
message: '请选择学历',
trigger: ['change']
},
experienceDesc:{
type: 'string',
required: true,
message: '请选择经验要求',
trigger: ['change']
},
jobCompanyName: {
type: 'string',
required: true,
message: '请输入企业名称',
trigger: ['change']
},
jobCompanyScale: {
type: 'string',
required: true,
message: '请输入企业信用代码',
trigger: ['change']
},
jobCompanyIndustry: {
type: 'string',
required: true,
message: '请输入所属行业',
trigger: ['change']
},
jobCompanyNature: {
type: 'string',
required: true,
message: '请输入企业性质',
trigger: ['change']
},
jobCompanyDescription: {
type: 'string',
required: true,
message: '请输入企业介绍',
trigger: ['change']
},
callName: {
type: 'string',
required: true,
message: '请输入联系人',
trigger: ['change']
},
callTel: {
type: 'string',
required: true,
message: '请输入手机号',
trigger: ['change']
},
address: {
type: 'string',
required: true,
message: '请输入详细地址',
trigger: ['change'] trigger: ['change']
}, },
}, },
@@ -482,12 +531,18 @@ export default {
worktypeNames: names.join(',') worktypeNames: names.join(',')
} }
let that = this let that = this
this.$refs.form1.validate().then(res => {
if(!this.info.wageUnitCategory) {return this.$api.msg('请选择参考工资单位')}
submitInfo(params).then(res => { submitInfo(params).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
that.reset() that.reset()
uni.$u.toast('发布成功') uni.$u.toast('发布成功')
} }
}) })
}).catch(errors => {
uni.$u.toast('校验失败')
})
}, },
getSkilDataNameWhereId(Indexs, type = true) { getSkilDataNameWhereId(Indexs, type = true) {
if (!this.skillData) { return } if (!this.skillData) { return }

View File

@@ -3,7 +3,7 @@ module.exports = {
port: 1887, port: 1887,
proxy: { proxy: {
'/api': { '/api': {
target: 'http://192.168.1.106:8000', target: 'http://10.165.0.173:8000',
ws: true, ws: true,
pathRewrite: { pathRewrite: {
'^/api': '/' '^/api': '/'