Files
cardtest/pages/login/login.js
zhangmanman 8f7cc986c2 [更新]
2021-08-13 13:30:35 +08:00

143 lines
3.7 KiB
JavaScript

/*
* 本时生活
*/
const app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
isLogin : false,
loginCode : "", //code
userInfo : {}, //用户
iv : '',
encryptedData : '',
way : '' //登录方式-活动
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
// 登录方式-活动
this.setData({
way : options.way
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow () {
wx.login({
success: res => {
this.setData({
loginCode: res.code
})
}
})
},
/**
* 微信授权登录
*/
getuserInfo() {
wx.getUserProfile({
desc : "获取你的昵称、头像、地区及性别",
success : e => {
if(e.errMsg == "getUserProfile:ok"){
this.setData({
isLogin : true,
userInfo : e.rawData,
iv : e.iv,
encryptedData : e.encryptedData
})
// 检查用户登录Code是否过期
wx.checkSession({
success: res=>{
this.userLogin()
},
fail: err=>{
// 登录过期重新获取code
wx.login({
success: res=>{
this.setData({
loginCode: res.code
})
// 登录
this.userLogin()
}
})
}
})
}
},
fail : res => {
//拒绝授权
// this.showErrorModal('您拒绝了请求');
return;
}
})
},
/**
* 用户登录
*/
userLogin(){
let code = this.data.loginCode,
iv = this.data.iv,
encryptedData = this.data.encryptedData,
shareObj = getApp().globalData.shareObj
wx.$api.enroll.record(code, iv, encryptedData, shareObj.userId).then(res=>{
getApp().globalData.token = res.data.token
// 清空分享信息
if(shareObj.type == 'shareLogin'){
getApp().globalData.shareObj = {
type : '',
goodsId : '',
userId : ''
}
}
// 更新全局存储器用户状态
getApp().globalData.isUser = true
// 写入缓存
wx.setStorage({
key : 'token',
data : res.data.token
})
// 存入缓存
app.globalData.userInfo = res.data.users
// 写入缓存
wx.setStorage({
key : 'wechatUser',
data : res.data.wechatUser_id
})
this.setData({
isLogin: false
})
wx.navigateTo({
url: "/pages/chooseTel/chooseTel?way=" + this.data.way
})
// 写入缓存
wx.setStorage({
key : 'users',
data : res.data.users
})
}).catch(err => {});
}
})