gcz 4 lat temu
rodzic
commit
9592d5982e

+ 3 - 1
common/apiurl.js

@@ -9,8 +9,10 @@ const apiurl = {
 	createOrderurl:'/order/createOrder',
 	// 退款
 	refundurl:'/app/order/refund',
+	//获取验证码
+	getcodeurl:'/wechat/h5/code/',
 	// 绑定手机号
-	bindphoneurl:'/app/order/refund2',
+	bindphoneurl:'/wechat/h5/user/update',
 }
 
 export {

+ 4 - 1
common/http.api.js

@@ -29,6 +29,8 @@ const install = (Vue, vm) => {
 	
 	let bindphone = (params = {}) => vm.$u.post(apiurl.bindphoneurl, params);
 	
+	let getcode = (params = {}) => vm.$u.get(apiurl.getcodeurl+params);
+	
 	// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
 	vm.$u.api = {
 		getSearch, 
@@ -37,7 +39,8 @@ const install = (Vue, vm) => {
 		getuseinfo,
 		createOrder,
 		refund,
-		bindphone
+		bindphone,
+		getcode
 	};
 }
 

+ 1 - 1
pages/example/components.vue

@@ -50,7 +50,7 @@
 					console.log('getuseinfo',res.retBody);
 					this.$u.vuex('vuex_user', res.retBody);
 					this.$u.vuex('vuex_hasLogin', true);
-					if(!res.retBody.phone){
+					if(!res.retBody.tel){
 						this.openPage('/pages/template/bindPhoneNumber/bindPhoneNumber')
 					}
 				})				

+ 66 - 33
pages/template/bindPhoneNumber/bindPhoneNumber.vue

@@ -19,6 +19,7 @@
 				并授权使用您的账号信息(如昵称、头像、收获地址)以便您统一管理
 			</view>
 		</view>
+		<u-toast ref="uToast" />
 	</view>
 </template>
 
@@ -33,6 +34,9 @@ export default {
 			codelength: 4,
 			show: false,
 			second:10,
+			toastMsg:'',
+			toastUrl:'',
+			toastType:'',
 			// messageError:false
 		}
 	},
@@ -50,39 +54,54 @@ export default {
 		}
 	},
 	methods: {
+		showToast() {
+			this.$refs.uToast.show({
+				title: this.toastMsg,
+				type: this.toastType,
+				url: this.toastUrl
+			})
+		},
 		submit() {
 			if(this.$u.test.mobile(this.tel)&&this.messageDisable==false) {
-				this.messageDisable = true;
-				this.messageShow = true;
-				this.show = true;
-				// this.getCaptcha()
-				let interval = setInterval(() => {
-					this.second--;
-					if (this.second <= 0) {						
-						this.messageDisable=false
-						this.messageShow = false;
-						if (this.messageCode.lenth != 4) {
-							// this.messageError = true;
+				let that = this;
+				this.$u.api.getcode(this.tel)
+				.then(res =>{
+					this.messageDisable = true;
+					this.messageShow = true;
+					this.show = true;
+					let interval = setInterval(() => {
+						that.second--;
+						if (that.second <= 0) {						
+							that.messageDisable=false
+							that.messageShow = false;
+							if (that.messageCode.lenth != 4) {
+								// this.messageError = true;
+							}
+							clearInterval(interval);
+							that.second=10;
 						}
-						clearInterval(interval);
-						this.second=10;
-					}
-				}, 1000);
-				
+					}, 1000);
+					console.log('getcode res',res)					
+				}).catch(err=>{
+					console.log('err',err)
+					this.toastMsg = err.statusCode + ":" + err.data.message;
+					this.showToast();
+					console.log('getcode err',err)
+				});
 			}
 		},
 		// 收不到验证码选择时的选择
-		noCaptcha() {
-			uni.showActionSheet({
-				itemList: ['重新获取验证码', '接听语音验证码'],
-				success: function(res) {
+		// noCaptcha() {
+		// 	uni.showActionSheet({
+		// 		itemList: ['重新获取验证码', '接听语音验证码'],
+		// 		success: function(res) {
 					
-				},
-				fail: function(res) {
+		// 		},
+		// 		fail: function(res) {
 					
-				}
-			});
-		},
+		// 		}
+		// 	});
+		// },
 		// change事件侦听
 		change(value) {
 			// console.log('change', value);
@@ -90,20 +109,34 @@ export default {
 		// 输入完验证码最后一位执行
 		finish(value) {
 			let params = {
-				tel:this.tel,
-				openid:this.$store.state.vuex_user.openId,
-				value:value
+				phone:this.tel,
+				code:value
 			};
 			this.$u.api.bindphone(params)
 			.then(res =>{
-				if(res.retBody.OK=='ok'){
-					this.$u.route({
-						url: 'pages/template/login/code'
-					})
-				}else{
+				if(res.retHead.errCode=='0'){
+					this.$u.api.getuseinfo().then(res => {
+						console.log('getuseinfo',res.retBody);
+						this.$u.vuex('vuex_user', res.retBody);
+						this.toastMsg = '操作成功';
+						this.showToast();
+						setTimeout(() => {
+							this.$u.route({
+								url: 'pages/template/wxCenter/index'
+							})
+						}, 2000);
+					});
 					
+				}else{
+					console.log('asdf',res)
+					this.toastMsg = res.retHead.errMsg;
+					this.showToast();
 				}
 				
+			}).catch(err=>{
+				console.log('finish err',err);
+				this.toastMsg = err.retHead.errMsg;
+				this.showToast();
 			});
 			console.log('finish', value);
 		}

+ 5 - 6
pages/template/wxCenter/index.vue

@@ -9,11 +9,11 @@
 		</u-navbar>
 		<view class="u-flex user-box u-p-l-30 u-p-r-20 u-p-b-30">
 			<view class="u-m-r-10" @click="login($store.state.vuex_hasLogin)">
-				<u-avatar :src="userInfo.avatar||pic" size="140"></u-avatar>
+				<u-avatar :src="userInfo.imgUrl||pic" size="140"></u-avatar>
 			</view>
 			<view class="u-flex-1" @click="login($store.state.vuex_hasLogin)">
-				<view class="u-font-18 u-p-b-20">{{ userInfo.nickName || '请登录' }}</view>
-				<view class="u-font-14 u-tips-color">手机号:{{ userInfo.phonenumber || '暂无' }}</view>
+				<view class="u-font-18 u-p-b-20">{{ userInfo.nickname || '请登录' }}</view>
+				<view class="u-font-14 u-tips-color">手机号:{{ userInfo.tel || '暂无' }}</view>
 			</view>
 			<view class="u-m-l-10 u-p-10">
 				<u-icon name="scan" color="#969799" size="28"></u-icon>
@@ -26,7 +26,7 @@
 		<view class="u-m-t-20">
 			<u-cell-group>
 				<u-cell-item icon="rmb-circle" title="支付" @click="submitOrder()"></u-cell-item>
-				<u-cell-item icon="rmb-circle" title="退款" @click="refund('20210304110316516323584')"></u-cell-item>
+				<u-cell-item icon="rmb-circle" title="退款" @click="refund('20210311150306120323584')"></u-cell-item>
 			</u-cell-group>
 		</view>
 		
@@ -42,8 +42,7 @@
 		<view class="u-m-t-20">
 			<u-cell-group>
 				<!-- <u-cell-item icon="setting" title="设置"></u-cell-item> -->
-				<u-cell-item icon="setting" v-if="vuex_user.phone" title="更换手机号"></u-cell-item>
-				<u-cell-item icon="setting" title="绑定手机号" @click="openPage('/pages/template/bindPhoneNumber/bindPhoneNumber')"></u-cell-item>
+				<u-cell-item icon="setting" :title="vuex_user.tel?'更换手机号':'绑定手机号'" @click="openPage('/pages/template/bindPhoneNumber/bindPhoneNumber')"></u-cell-item>
 				<u-cell-item icon="lock-opened-fill" title="退出" v-if="vuex_hasLogin" @click="logout"></u-cell-item>
 			</u-cell-group>
 		</view>