微信小程序登录注册
进入页面判断是否授权
首先在app.js里创建一个全局变量,来判断是狗授权
globalData: {
authorize:false,
},
然后获取用户的授权状态进行赋值
wx.getSetting({
success:(res)=>{
console.log(res)
if(res.authSetting["scope.userInfo"]){
this.authorize=true
}else{
this.authorize=false
}
}
})
登录注册
getUserInfo: function(e) {
console.log(this.data)
this.e=e
判断是否授权
if(e.detail.userInfo){ //如果允许授权
app.globalData.userInfo = e.detail.userInfo
app.globalData.authorize=true
this.setData({ //获取个人信息
userInfo: e.detail.userInfo,
})
把登录封装成一个函数
this.login()
}else{
}
},
// 登录
login(){
wx.login({
success:async (res)=>{
console.log(res)
let {data} = await request("https://api.it120.cc/lige/user/wxapp/login",{
code:res.code,
})
console.log(data)
若果已经注册则登陆成功
if(data.code==0){ //登陆成功
wx.setStorageSync('token',data.data.token)
this.setData({
info:{
uid:data.data.uid,
info:this.e.detail.userInfo,
hasUserInfo: true
}
})
app.globalData.info=this.data.info
this.triggerEvent("info",)
如果没有注册则去注册
}else{
wx.login({
success:async (zhuce)=>{
let {data }= await request("https://api.it120.cc/lige/user/wxapp/register/complex",
{code:zhuce.code,encryptedData:this.e.detail.encryptedData,iv:this.e.detail.iv},"POST")
console.log(data)
console.log(this.e.detail.encryptedData)
注册成功则继续登录
if(data.code==0){
this.login()
}
}
})
}
}
})
}