Forráskód Böngészése

用户体系优化V1.0.0

zhengjinyi 5 éve
szülő
commit
1087288bdf
12 módosított fájl, 431 hozzáadás és 148 törlés
  1. 21 12
      api/cart.js
  2. 0 21
      api/goods.js
  3. 23 0
      api/operator.js
  4. 24 12
      api/order.js
  5. 25 0
      api/product.js
  6. 38 23
      api/use.js
  7. 13 10
      api/utils.js
  8. 2 2
      common/config/addressdata.js
  9. 11 3
      common/config/common.js
  10. 131 0
      common/utils/ys-validate.js
  11. 5 2
      main.js
  12. 138 63
      pages/user-module/register.vue

+ 21 - 12
api/cart.js

@@ -4,18 +4,27 @@
  *@date 2020/03/19 14:56:57
  *@param registerByPass
  */
-// 获取省市区列表
-const provinceList = "/personalCenter/address";
-// 获取邮箱验证码
-const getEmailCode = "/tiny-shop/v1/common/collect/create";
-// 获取手机验证码
-const getMobileCode = "/tiny-shop/v1/common/collect/delete";
-// 获取图形验证码
-const verificationCode = "/tiny-shop/v1/common/transmit/create";
+// 获取购物车列表
+const queryShoppingCartList = "/personalCenter/address";
+// 购物车商品增减
+const cartUpdate = "/tiny-shop/v1/common/collect/create";
+// 购物车删除商品
+const cartDelete = "/tiny-shop/v1/common/collect/delete";
+// 查询地址列表
+const queryAddressList = "/tiny-shop/v1/common/collect/delete";
+// 添加新地址
+const addNewAddress = "/tiny-shop/v1/common/collect/delete";
+// 删除地址
+const deleteNewAddress = "/tiny-shop/v1/common/collect/delete";
+// 修改地址
+const updateAddress = "/tiny-shop/v1/common/collect/delete";
 
 export {
-    provinceList,
-    getEmailCode,
-    getMobileCode,
-    verificationCode
+    queryShoppingCartList,
+    cartUpdate,
+    cartDelete,
+	queryAddressList,
+	addNewAddress,
+	deleteNewAddress,
+	updateAddress,
 };

+ 0 - 21
api/goods.js

@@ -1,21 +0,0 @@
-/**
- *@des 商品模块接口
- *@author zhengjinyi
- *@date 2020/03/19 14:56:57
- *@param registerByPass
- */
-// 获取商品分类
-const getCategory = "/personalCenter/address";
-// 商品列表
-const getProducts = "/tiny-shop/v1/common/collect/create";
-// 商品详情
-const getProductDetile = "/tiny-shop/v1/common/collect/delete";
-// 再次购买商品列表
-const againBuy = "/tiny-shop/v1/common/transmit/create";
-
-export {
-    getCategory,
-    getProducts,
-    getProductDetile,
-    againBuy
-};

+ 23 - 0
api/operator.js

@@ -0,0 +1,23 @@
+/**
+ *@des 商品模块接口
+ *@author zhengjinyi
+ *@date 2020/03/19 14:56:57
+ *@param registerByPass
+ */
+// 获取运营人员管理列表
+const queryOperatorList = "/personalCenter/address";
+// 添加运营人员
+const addOperator= "/tiny-shop/v1/common/collect/delete";
+// 删除运营人员
+const deleteOperator = "/tiny-shop/v1/common/collect/delete";
+// 更新邀请码
+const updateCode = "/tiny-shop/v1/common/transmit/create";
+
+
+
+export {
+    queryOperatorList,
+    addOperator,
+    deleteOperator,
+	updateCode
+};

+ 24 - 12
api/order.js

@@ -4,18 +4,30 @@
  *@date 2020/03/19 14:56:57
  *@param registerByPass
  */
-// 获取省市区列表
-const provinceList = "/personalCenter/address";
-// 获取邮箱验证码
-const getEmailCode = "/tiny-shop/v1/common/collect/create";
-// 获取手机验证码
-const getMobileCode = "/tiny-shop/v1/common/collect/delete";
-// 获取图形验证码
-const verificationCode = "/tiny-shop/v1/common/transmit/create";
+// 获取订单区列表
+const queryOrderList = "/personalCenter/address";
+// 获取订单分享码
+const queryOrderShareCode = "/tiny-shop/v1/common/collect/create";
+// 取消订单
+const cancelOrder = "/tiny-shop/v1/common/collect/delete";
+// 删除订单
+const deleteOrder = "/tiny-shop/v1/common/transmit/create";
+// 确认收货
+const confirmReceipt = "/tiny-shop/v1/common/transmit/create";
+// 查询物流信息
+const queryLogistics = "/tiny-shop/v1/common/transmit/create";
+// 查询订单详情
+const queryOrderDetails = "/tiny-shop/v1/common/transmit/create";
+// 分享订单登录
+const orderShareLogin = "/tiny-shop/v1/common/transmit/create";
 
 export {
-    provinceList,
-    getEmailCode,
-    getMobileCode,
-    verificationCode
+    queryOrderList,
+    queryOrderShareCode,
+    cancelOrder,
+    deleteOrder,
+	confirmReceipt,
+	queryLogistics,
+	queryOrderDetails,
+	orderShareLogin
 };

+ 25 - 0
api/product.js

@@ -0,0 +1,25 @@
+/**
+ *@des 商品模块接口
+ *@author zhengjinyi
+ *@date 2020/03/19 14:56:57
+ *@param registerByPass
+ */
+// 获取商品分类
+const queryGoodscategory = "/personalCenter/address";
+// 商品列表
+const queryGoodslist = "/tiny-shop/v1/common/collect/create";
+// 商品详情
+const queryGoodsdetile = "/tiny-shop/v1/common/collect/delete";
+// 再次购买商品列表
+const queryAgaingoodslist = "/tiny-shop/v1/common/transmit/create";
+// 加入购物车
+const addCart = "/tiny-shop/v1/common/transmit/create";
+
+
+export {
+    queryGoodscategory,
+    queryGoodslist,
+    queryGoodsdetile,
+    queryAgaingoodslist,
+	addCart
+};

+ 38 - 23
api/use.js

@@ -4,30 +4,45 @@
  *@date 2020/03/19 14:56:57
  *@param registerByPass
  */
+// 首页初始化
+const queryHomeInfo = "/tiny-shop/v1/common/provinces/index";
 // 机构注册
-const provinceList = "/tiny-shop/v1/common/provinces/index";
-// 收藏商品
-const collectCreate = "/tiny-shop/v1/common/collect/create";
-// 删除收藏商品
-const collectDel = "/tiny-shop/v1/common/collect/delete";
-// 分享/转发
-const transmitCreate = "/tiny-shop/v1/common/transmit/create";
-// 广告
-const advList = "/tiny-shop/v1/common/adv/index";
-// 配置
-const configList = "/tiny-shop/v1/common/config/index";
-// 充值
-const payCreate = "/tiny-shop/v1/common/pay/create";
-// 充值
-const wechatConfig = "/tiny-shop/v1/third-party/wechat-js-sdk";
+const organizationRegister = "/tiny-shop/v1/common/provinces/index";
+// 机构修改申请信息
+const organizationModify = "/tiny-shop/v1/common/provinces/index";
+// 获取机构资料
+const organizationInfo = "/tiny-shop/v1/common/provinces/index";
+// 机构资料修改保存
+const organizationUpdate = "/tiny-shop/v1/common/provinces/index";
+// 机构登录
+const organizationLogin = "/tiny-shop/v1/common/collect/create";
+// 绑定邮箱
+const bindingEmail = "/tiny-shop/v1/common/collect/delete";
+// 绑定微信
+const bindingWechat = "/tiny-shop/v1/common/transmit/create";
+// 邀请码授权登录
+const invitationLogin  = "/tiny-shop/v1/common/adv/index";
+// 获取个人中心信息
+const personalInfo  = "/tiny-shop/v1/common/config/index";
+// 获取账户余额明细
+const accountInfo = "/tiny-shop/v1/common/pay/create";
+// 手机修改密码
+const mobilePassword  = "/tiny-shop/v1/third-party/wechat-js-sdk";
+// 邮箱修改密码
+const emailPassword = "/tiny-shop/v1/third-party/wechat-js-sdk";
 
 export {
-    provinceList,
-    collectCreate,
-    collectDel,
-    transmitCreate,
-    advList,
-    payCreate,
-    configList,
-    wechatConfig
+    queryHomeInfo,
+    organizationRegister,
+    organizationModify,
+    organizationInfo,
+    organizationUpdate,
+    organizationLogin,
+    bindingEmail,
+    bindingWechat,
+    invitationLogin,
+    personalInfo,
+    accountInfo,
+    mobilePassword,
+    emailPassword,
 };

+ 13 - 10
api/utils.js

@@ -5,25 +5,28 @@
  *@param registerByPass
  */
 // 获取省市区列表 @param 空
-const provinceList = "/club/address";
+const queryAddressInformation = "/club/address";
 // 获取邮箱验证码 @param email status
-const getEmailCode = "/user/mailbox";
+const queryEmailCode = "/user/mailbox";
 // 获取手机验证码 @param 空
-const getMobileCode = "/user/activateCodeByReg";
+const queryMobileCode = "/user/activateCodeByReg";
 // 获取图形验证码 @param 空
-const verificationCode = "/user/getImgVerifyCode";
+const queryVerificationCode = "/user/getImgVerifyCode";
+// 校验图形验证码 @param 空
+const checkVerificationCode = "/user/getImgVerifyCode";
 // 上传图片 @param 空
 const uploadImage = "/tiny-shop/v1/common/transmit/create";
 // 协议接口 @param 空
-const protocol = "/club/protocol";
+const queryProtocol = "/club/protocol";
 
 
 
 export {
-    provinceList,
-    getEmailCode,
-    getMobileCode,
-    verificationCode,
+    queryAddressInformation,
+    queryEmailCode,
+    queryMobileCode,
+    queryVerificationCode,
+	checkVerificationCode,
 	uploadImage,
-	protocol
+	queryProtocol
 };

+ 2 - 2
common/config/addressdata.js

@@ -2,13 +2,13 @@
  *请求获取省市区
  *已提供给地区选择picker组件使用
  */ 
-import { provinceList } from '@/api/utils.js';
+import { queryAddressInformation } from '@/api/utils.js';
 import api from '@/common/config/caimeiApi.js';
 const provinceData=[];
 const cityData=[];
 const areaData=[];
 
-api.get(provinceList,{},response =>{
+api.get(queryAddressInformation,{},response =>{
 	let list = response.data;
 	list.forEach(item => {
 		let xxx = handleCitys(item);

+ 11 - 3
common/config/common.js

@@ -18,15 +18,21 @@ const utils = {
 	},
 	isFloat: function(value) {
 		//金额,只允许保留两位小数
-		return /^([0-9]*[.]?[0-9])[0-9]{0,1}$/.test(value);
+		return RegExp(/^([0-9]*[.]?[0-9])[0-9]{0,1}$/).test(value);
 	},
 	isNum: function(value) {
 		//是否全为数字
-		return /^[0-9]+$/.test(value);
+		return RegExp(/^[0-9]+$/).test(value);
+	},
+	isEmailCode:function(value) {
+	    return RegExp(/^\d{4}$/).test(value);
+	},
+	isMobileCode:function(value) {
+	    return RegExp(/^\d{6}$/).test(value);
 	},
 	checkPwd: function(value) {
 		//密码为8~20位数字和字母组合
-		return /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$/.test(value);
+		return RegExp(/^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/).test(value);
 	},
 	formatNum: function(num) {
 		//格式化手机号码
@@ -94,6 +100,8 @@ module.exports = {
 	isEmail: utils.isEmail,
 	isFloat: utils.isFloat,
 	isNum: utils.isNum,
+	isEmailCode:utils.isEmailCode,
+	isMobileCode:utils.isMobileCode,
 	checkPwd: utils.checkPwd,
 	formatNum:utils.formatNum,
 	rmoney: utils.rmoney,

+ 131 - 0
common/utils/ys-validate.js

@@ -0,0 +1,131 @@
+
+const numberReg = /^-?[1-9][0-9]?.?[0-9]*$/
+const intReg = /^-?[1-9][0-9]*$/
+const phoneReg = /^1[0-9]{10,10}$/
+const emailReg = /^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
+const pwdReg = /^.{6,16}$/
+const inviteCodeReg = /^[a-zA-Z0-9]{6,16}$/
+
+export default {
+	isNumber: function(val) {
+		return numberReg.test(val)
+	},
+	isInt: function(val) {
+		return intReg.test(val)
+	},
+	isPhone: function(val) {
+		return phoneReg.test(val)
+	},
+	isEmail: function(val) {
+		return emailReg.test(val)
+	},
+	isPwd: function(val) {
+		return pwdReg.test(val)
+	},
+	isInviteCode: function(val) {
+		return inviteCodeReg.test(val)
+	},
+	validate: function(data, rules) {
+		let res = { isOk: true, errmsg: '' }
+		if (!rules || !rules.length) {
+			return res
+		}
+		for (let rule of rules) {
+			// rule: {name:'', type:'', errmsg:'', min:1, max:2, eq:'', required:Boolean, regex:''}
+			if (!rule || !rule.name || !rule.type) {
+				continue
+			}
+			
+			// 如果值不存在
+			if (!data[rule.name]) {
+				// 如果是必填项就返回错误提示,required可以作为type是为了不同的type能给用户不同的提示
+				if (rule.type === 'required' || rule.required) {
+					res = { isOk: false, errmsg: rule.errmsg }
+					if (!res.errmsg) {
+						res.errmsg = '请正确输入所有数据' //默认提示
+					}
+					return res
+				}
+				// 如果不是必填项就跳过
+				continue
+			}
+			switch (rule.type) {
+				// required 上面已经判断过了
+				case 'equals':
+				case 'eq':
+					if (data[rule.name] !== data[rule.eqName]) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'number':
+					if (!numberReg.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'int':
+					if (!intReg.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'phone':
+					if (!phoneReg.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'email':
+					if (!emailReg.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'pwd':
+					if (!pwdReg.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'inviteCode':
+					if (!inviteCodeReg.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'range': // 数字类型的值取值范围
+					// {name: 'xxx', type: 'range', min: 6, max: 6, required: true, errmsg: 'xxx'}
+					let val = data[rule.name]
+					if (val) {
+						if (numberReg.test(val)) {
+							if (rule.min && val < rule.min) {
+								res = { isOk: false, errmsg: rule.errmsg }
+							} else if (rule.max && val > rule.max) {
+								res = { isOk: false, errmsg: rule.errmsg }
+							}
+						} else {
+							res = { isOk: false, errmsg: rule.errmsg }
+						}
+					}
+				break
+				case 'lengthRange': // 字符串长度取值范围
+					// {name: 'xxx', type: 'lengthRange', min: 6, max: 6, errmsg: 'xxx'}
+					let le = data[rule.name] ? data[rule.name].length : 0
+					if (rule.min && le < rule.min) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					} else if (rule.max && le > rule.max) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+				case 'regex': // 自定义正则表达式
+					// {name: 'xxx', type: 'regex', regex: /^1[0-9]{10,10}$/, errmsg: 'xxx'}
+					if (rule.regex && !rule.regex.test(data[rule.name])) {
+						res = { isOk: false, errmsg: rule.errmsg }
+					}
+				break
+			}
+			// 发现任何一个错误就立即返回,后面的不再判断
+			if (!res.isOk) {
+				if (!res.errmsg) {
+					res.errmsg = '请正确输入所有数据' //默认提示
+				}
+				return res
+			}
+		}
+		return res
+	}
+}

+ 5 - 2
main.js

@@ -2,8 +2,9 @@ import Vue from 'vue'
 import store from './store'
 import App from './App'
 
-import * as Api from './common/config/caimeiApi.js'
-import * as Regs from './common/config/common.js'
+import * as Api from '@/common/config/caimeiApi.js'
+import * as Regs from '@/common/config/common.js'
+import validate from '@/common/utils/ys-validate.js'
 import Json from './json' //本地数据
 
 const userOrganizeID = 2 //组织ID
@@ -57,6 +58,8 @@ Vue.prototype.$util = {msg, json, prePage,modal};
 Vue.prototype.userOrganizeID = userOrganizeID;
 Vue.prototype.$api = Api;
 Vue.prototype.$reg = Regs;
+Vue.prototype.$validate = validate;
+
 
 
 

+ 138 - 63
pages/user-module/register.vue

@@ -15,16 +15,16 @@
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">邮箱:</view>
-					<input class="row-input" type="text"  v-model="registerEmail" @input="registerEmailInput" placeholder="请输入您的常用邮箱" maxlength="30"/>
+					<input class="row-input" type="text"  v-model="registerEmail" @blur="registerEmailInput" placeholder="请输入您的常用邮箱" maxlength="30"/>
 				</view>
 			</view>
 			<view class="register-row clearfix">
 				<view class="register-from code">
 					<view class="label">邮箱验证码:</view>
-					<input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入邮箱验证码" maxlength="6"/>
+					<input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入邮箱验证码" maxlength="4"/>
 				</view>
 				<view class="register-from btn" :class="[isEmialDisabled === true ? 'disabled' : 'none']">
-					<button class="row-input"  type="button" @click.stop="getEmailCode" :disabled="isEmialDisabled">{{emialCodecount}}</button>
+					<button class="row-input"  type="button" @click.stop="getEmailCode" :disabled="isEmialDisabled">{{codeText}}</button>
 				</view>
 			</view>
 			<view class="register-row clearfix">
@@ -40,7 +40,7 @@
 				</view>
 			</view>
 			<view class="register-row clearfix">
-				<view class="register-btn"  @click="registerStepsfirst()">下一步</view>
+				<view class="register-btn"  @click="registerStepsfirst">下一步</view>
 			</view>
 		</view>
 		<view class="register-main clearfix" v-if="tabCurrentIndex === 2">
@@ -59,13 +59,13 @@
 			<view class="register-row clearfix">
 				<view class="register-from">
 					<view class="label">手机号:</view>
-					<input class="row-input" type="number" v-model="registerEmail" placeholder="请输入手机号" maxlength="11"/>
+					<input class="row-input" type="number" v-model="registerMobile" placeholder="请输入手机号" maxlength="11"/>
 				</view>
 			</view>
 			<view class="register-row clearfix">
 				<view class="register-from imgcode">
 					<view class="label">图形验证码:</view>
-					<input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入图形验证码" maxlength="6"/>
+					<input class="row-input" type="text" v-model="imageCode" @blur="checkImgCode" placeholder="请输入图形验证码" maxlength="6"/>
 				</view>
 				<view class="register-from img-btn">
 					<view class="vscodeimg">
@@ -80,14 +80,14 @@
 			<view class="register-row clearfix">
 				<view class="register-from code">
 					<view class="label">短信验证码:</view>
-					<input class="row-input" type="text" v-model="regEmailCode" placeholder="请输入短信验证码" maxlength="6"/>
+					<input class="row-input" type="text" v-model="mobileCode" placeholder="请输入短信验证码" maxlength="6"/>
 				</view>
-				<view class="register-from btn" :class="[isDisabled === true ? 'disabled' : 'none']">
-					<button class="row-input"  type="button" @click.stop="getEmailCode" :disabled="isDisabled">获取验证码</button>
+				<view class="register-from btn" :class="[isMobileDisabled === true ? 'disabled' : 'none']">
+					<button class="row-input"  type="button" @click.stop="getMobileCode" :disabled="isMobileDisabled">获取验证码</button>
 				</view>
 			</view>
 			<view class="register-row clearfix">
-				<view class="register-btn"  @click="steps(3)">下一步</view>
+				<view class="register-btn"  @click="registerStepsTwo">下一步</view>
 			</view>
 			<view class="register-row clearfix">
 				<view class="register-btn none"  @click="steps(1)">上一步</view>
@@ -265,7 +265,7 @@
 					</view>
 				</view>
 				<view class="register-row ">
-					<view class="register-btn sub">提交审核</view>
+					<view class="register-btn sub" @click.stop="registerStepsSub">提交审核</view>
 				</view>
 				<view class="register-row clearfix">
 					<view class="register-btn none"  @click="steps(2)">上一步</view>
@@ -287,7 +287,14 @@
 	import uniTag from '@/components/uni-tag/uni-tag.vue';
 	import authorize from '@/common/config/authorize.js' 
 	import URLCONFIG from '@/common/config/config.js' 
-	import { getEmailCode } from "@/api/utils.js";
+	import { organizationRegister } from "@/api/use.js"
+	import { 
+		queryEmailCode, 
+		queryMobileCode, 
+		ueryVerificationCode, 
+		checkVerificationCode,
+		queryVerificationCode
+	} from "@/api/utils.js"
 	var self;
 	export default{
 		components:{
@@ -296,12 +303,20 @@
 		},
 		data() {
 			return{
-				registerEmail:'', //注册邮箱
-				regEmailCode:'',  //邮箱验证码
-				isEmialDisabled: true,
-			    count: '',
-			    emialCodecount: '获取验证码',
-			    emialTimer: null,
+				registerEmail:'', 		//注册邮箱
+				regEmailCode:'',  		//邮箱验证码
+				isEmialDisabled: true,	//验证码按钮控制
+				isMobileDisabled: true,	//手机验证码按钮控制
+			    count: '',				//倒计时
+			    codeText: '获取验证码',
+			    codeTime: null,
+				password:'',			//密码
+				passwordCheck:'',		//校验密码
+				clubName:'',	 		//机构名称
+				clubContact:'',	 		//联系人
+				registerMobile:'',		//联系人手机号
+				mobileCode:'',			//手机验证码
+				imageCode:'',			//图形验证码
 				isDisabled:true,
 				tabCurrentIndex:1,	
 				isShowInput:false,
@@ -358,9 +373,70 @@
 		methods:{
 			registerStepsfirst(){
 				if( this.registerEmail == ''){
-					this.$util.msg('请输入邮箱地址',3000);
+					this.$util.msg('请输入邮箱地址',2000);
 					return
 				}
+				if(!this.$reg.isEmail(this.registerEmail)){
+					this.$util.msg('请输入正确的邮箱地址',2000);
+					return
+				}
+				if( this.regEmailCode == ''){
+					this.$util.msg('请输入邮箱验证码',2000);
+					return
+				}
+				if(!this.$reg.isEmailCode(this.regEmailCode)){
+					this.$util.msg('请输入正确验证码',2000);
+					return
+				}
+				if( this.password == ''){
+					this.$util.msg('请输入密码',2000);
+					return
+				}
+				if(!this.$reg.checkPwd(this.password)){
+					this.$util.msg('密码必须为8-16位字母数字的组合',2000);
+					return
+				}
+				if( this.passwordCheck != this.password){
+					this.$util.msg('两次输入的密码不一致',2000);
+					return
+				}
+				this.tabCurrentIndex = 2
+				this.getVerificationCode()
+			},
+			registerStepsTwo(){
+				if( this.clubName == ''){
+					this.$util.msg('请输入机构名称',2000);
+					return
+				}
+				if( this.clubContact == ''){
+					this.$util.msg('请输入联系人名称',2000);
+					return
+				}
+				if( this.registerMobile == ''){
+					this.$util.msg('请输入手机号',2000);
+					return
+				}
+				if(!this.$reg.isMobile(this.registerMobile)){
+					this.$util.msg('手机格式不正确',2000);
+					return
+				}
+				if( this.mobileCode == ''){
+					this.$util.msg('请输入手机验证码',2000);
+					return
+				}
+				if(!this.$reg.isMobileCode(this.mobileCode)){
+					this.$util.msg('请输入正确验证码',2000);
+					return
+				}
+				this.tabCurrentIndex = 3
+			},
+			registerStepsSub(){
+				
+			},
+			getVerificationCode(){
+				this.$api.get(queryVerificationCode,{}, res => {
+					console.log(res)
+				})
 			},
 			getEmailCode(){
 				if(!this.$reg.isEmail(this.registerEmail)){
@@ -368,71 +444,70 @@
 					console.log(this.$reg.isEmail(this.registerEmail))
 					return
 				}
-				this.$api.get(getEmailCode,{email:this.registerEmail,status:2}, res => {
+				this.$api.get(queryEmailCode,{email:this.registerEmail,status:2}, res => {
 					console.log(res)
 				})
 				const TIME_COUNT = 120;
-		     	if (!this.emialTimer) {
+		     	if (!this.codeTime) {
 		       		this.count = TIME_COUNT;
 		       		this.isEmialDisabled = false;
-		       		this.emialTimer = setInterval(() => {
+		       		this.codeTime = setInterval(() => {
 		       			if (this.count > 1 && this.count <= TIME_COUNT) {
 		         			this.count--
-		         			this.emialCodecount = this.count +'s'
+		         			this.codeText = this.count +'s'
 		        		} else {
 			         		this.isEmialDisabled = true;
-			         		clearInterval(this.emialTimer)
-			         		this.emialTimer = null
-							this.emialCodecount = '获取验证码'
+			         		clearInterval(this.codeTime)
+			         		this.codeTime = null
+							this.codeText = '获取验证码'
 		        		}
 		       		},1000)
 		      	}
 				this.isEmialDisabled = true;
 			},
+			getMobileCode(){
+				if(!this.$reg.isMobile(this.registerMobile)){
+					this.$util.msg('请输入正确的手机号',3000);
+					return
+				}
+				this.$api.get(queryMobileCode,{email:this.registerEmail,status:2}, res => {
+					console.log(res)
+				})
+				const TIME_COUNT = 120;
+		     	if (!this.codeTime) {
+		       		this.count = TIME_COUNT;
+		       		this.isMobileDisabled = false;
+		       		this.codeTime = setInterval(() => {
+		       			if (this.count > 1 && this.count <= TIME_COUNT) {
+		         			this.count--
+		         			this.codeText = this.count +'s'
+		        		} else {
+			         		this.isMobileDisabled = true;
+			         		clearInterval(this.codeTime)
+			         		this.codeTime = null
+							this.codeText = '获取验证码'
+		        		}
+		       		},1000)
+		      	}
+				this.isMobileDisabled = true;
+			},
+			checkImgCode(e){
+				this.$api.get(checkVerificationCode,{imagecode:imageCode}, res => {
+					console.log(res)
+					this.isMobileDisabled = false
+				})
+			},
 			registerEmailInput(e){
 				console.log(this.$reg.isEmail(e.detail.value))
 				 this.registerEmail = e.detail.value;
-				 if(!this.registerEmail){
-					 this.isEmialDisabled = true
+				 if(!this.$reg.isEmail(this.registerEmail)){
+				 	this.$util.msg('请输入正确的邮箱地址',2000);
+					this.isEmialDisabled = true
+				 	return
 				 }else{
 					 this.isEmialDisabled = false
 				 }
 			},
-			goregister() {
-				self.$api.get('/register/isEnabled',{userOrganizeID:self.userOrganizeID,invitationCode:self.invitationCode}, res => {
-					if (res.code == "1") {
-						//查看此微信用户是否已经授权过
-						authorize.getSetting().then(res =>{
-							// console.log('是否已授权',res);//0:为取消授权 1:为已授权 2:为未操作
-							if(res == 2){
-								self.isUserInfo = true
-							}else{
-								self.isUserInfo = false
-								self.wxGetUserInfo()
-							}
-						})
-					}else if(res.code =='0'){
-						self.toestText ='请输入邀请码';
-						self.alertText ='邀请码';
-						self.telPhone = res.msg;
-						self.isToast = true;
-					}else if(res.code =='-2'){
-						self.toestText ='邀请码已失效';
-						self.alertText ='新邀请码';
-						self.telPhone = res.msg;
-						self.isToast = true;
-					}else if(res.code =='-3'){
-						self.toestText ='邀请码已被使用';
-						self.alertText ='新邀请码';
-						self.telPhone = res.msg;
-						self.isToast = true;
-					}else{
-						uni.showToast({icon:'none', title: res.msg, duration: 3000});
-						self.isUserInfo = false
-					}
-				})
-			},
-			
 			// 三级联动选择
 			showMulLinkageThreePicker() {
 				this.isShowInput = true