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('用户点击了拒绝') ;
}
},