uniapp微信授权和获取手机号

1.微信授权
1.1未登录

 <view class="my">
			<button class="userinfo"  open-type="getUserInfo"  @click="login"  v-if="!SessionId">
			<view class="left">
				<image src="../../static/images/touxiang.png"></image>
				<span>点击登录</span>
			</view>
			<view class="enter enter1" >
				<image src="../../static/enter.png"></image>
			</view>
		</button>

1.2已登录

<view class="userinfo" @click="personal"   v-if="SessionId" >
			<view class="left">
				<image :src="userinfo.avatar"></image>
				<span >{
    
    {
    
    userinfo.nickName}}</span>
			</view>
			<view class="enter" >
				<image src="../../static/enter.png"></image>
			</view>
		</view>
		 </view>
login(){
    
    
					var that = this
					uni.login({
    
    
						provider:'weixin',
						success(loginRes){
    
    
							let code = loginRes.code
							that.code = loginRes.code
							console.log(loginRes);
							uni.getUserInfo({
    
    
								provider:'weixin',
								success: function(result){
    
    
									console.log(result.userInfo);
								    let  nickname	= result.userInfo.nickName
								    let avatar = result.userInfo.avatarUrl
									that.api.login({
    
    
										nickName:nickname,
										avatar:avatar,
										code:code,
										userName:"1213"
									})
									.then(res=>{
    
    
										uni.setStorageSync('PHPSESSID',res.data.token);
										uni.setStorageSync('OPPENID',res.data.openid);
										that.SessionId = uni.getStorageSync('PHPSESSID')
										that.userinfo = {
    
    
											avatar: result.userInfo.avatarUrl,
											nickName: result.userInfo.nickName
										}
										that.sessionKey = res.data.sessionKey	
									uni.setStorageSync('USERINFO',that.userinfo);
										console.log(that.userinfo);
										console.log(res.data);
									})
									.catch(err=>{
    
    
										
									})
								}
							})
						}
					})
				},

2.获取手机号

	<button class="btn"    open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" withCredentials="true"  >
					点击获取手机号
					</button>
getPhoneNumber(e){
    
    
					if(e.detail.errMsg=="getPhoneNumber:ok"){
    
    
						console.log(e);
							console.log(e.detail.errMsg);  
							console.log(e.detail.iv);  
							console.log(e.detail.encryptedData); 
					        console.log('用户点击了接受');
							this.showModal = false
							this.api.phone({
    
    
								session_key:this.sessionKey,
								encryptedData:e.detail.encryptedData,
								iv:e.detail.iv
							})
							.then(res=>{
    
    
								console.log(res,2);
								let data = JSON.parse(res.data.shuju)
								console.log(data,34);
								// let oppenid = uni.getStorageSync('OPPENID')
								this.api.updateUser({
    
    
									phonenumber:data.phoneNumber
								})
								.then(res1=>{
    
    
									console.log(res1);
								})
								.catch(err=>{
    
    })
							})
							.catch(err=>{
    
    })
							
					    }else{
    
    
					        console.log('用户点击了拒绝') ;  
					    }
				},

猜你喜欢

转载自blog.csdn.net/qq_45894929/article/details/111691152