Browse Source

get user phone

zizhong.wang 1 year ago
parent
commit
7212379b9a
2 changed files with 52 additions and 3 deletions
  1. 41 1
      App.vue
  2. 11 2
      pages/self/index.vue

+ 41 - 1
App.vue

@@ -78,7 +78,47 @@ export default {
 					console.log('连接失败');
 				}
 			});
-		}
+		},
+		getPhoneNumber(e){
+			
+			 if (e.detail.errMsg == 'getPhoneNumber:ok') { //允许授权执行跳转
+			 console.log(e.detail);
+			  getApp().phoneRequest(e.detail.iv, e.detail.encryptedData, getApp().globalData.session_key);
+				  return true;
+			} else { //
+			  return false;
+			}
+		},
+		phoneRequest(myIv,myEncryptedData,sKey){
+			let url = getApp().globalData.shareUrl + '/phone';
+			//let url = "https://192.168.0.106:1024/dev-api/wap/business/weixin/phone";
+			
+			uni.request({
+				url:url,
+				method: 'POST',
+				header: {
+					'content-type': 'application/x-www-form-urlencoded'
+				},
+				data: {
+					iv:myIv,
+					sessionKey:sKey,
+					encryptedData:myEncryptedData,
+					openid:getApp().globalData.open_id
+				},
+				success: (res) => {
+					console.log(res)
+					if(res.data.code === 200){
+						getApp().globalData.user_phone = res.data.data;
+							if (res.data.data != ""){
+								getApp().globalData.globalAuth = true;
+							}
+					}
+				},
+				fail: () => {
+					console.log("连接失败");
+				}
+			});
+		},
 	}
 };
 </script>

+ 11 - 2
pages/self/index.vue

@@ -8,7 +8,7 @@
 				<view class="company">{{ userInfo.company }}</view>
 				<image class="arrow" src="../../static/icon_arrow.png"></image>
 			</view>
-			<button v-else class="btn" @click.stop="handleOpenLogin">登录</button>
+			<button type='primary' class="btn" v-show="!isAuth" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">立即登录</button>
 		</view>
 		<view class="menu-panel">
 			<view class="item" v-for="(item, index) in menuList" :key="index" @click="handleMenu(item.value)">
@@ -42,6 +42,7 @@ export default {
 	data() {
 		return {
 			userInfo: '',
+			isAuth : false,
 			menuList: [
 				{
 					label: '我的订单',
@@ -146,8 +147,16 @@ export default {
 		};
 	},
 	onLoad() {},
-	onShow() {},
+	onShow() {
+		this.isAuth = getApp().globalData.globalAuth;
+	},
 	methods: {
+		getPhoneNumber(e){
+			let res = getApp().getPhoneNumber(e);
+			if (res){
+				
+			}
+		},
 		handleOpenLogin() {
 			// this.userInfo = {
 			// 	name: 'Caocao',