YZProjectCloud/yanzhu-ui-app/miniprogram/pages/login/login.js

157 lines
3.1 KiB
JavaScript
Raw Normal View History

2024-10-13 11:24:45 +08:00
import {
getToken,
2024-10-13 15:40:15 +08:00
setToken,
getOpenId,
2024-10-15 00:32:25 +08:00
setOpenId,
getSessionKey,
setSessionKey,
2024-10-13 11:24:45 +08:00
} from '../../utils/auth'
import {
login,
2024-10-13 15:40:15 +08:00
maLogin,
2024-10-13 11:24:45 +08:00
getCodeImg,
2024-10-13 15:40:15 +08:00
getMaOpenId,
2024-10-13 11:24:45 +08:00
refreshUser,
} from '../../api/login'
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
username: '',
password: '',
code: '',
uuid: '',
codeUrl: '',
checked: true
},
//获取填写的账号信息
name: function (even) {
this.setData({
username: even.detail.value
})
},
//获取填写的密码信息
psw: function (even) {
this.setData({
password: even.detail.value
})
},
//获取填写的密码信息
code: function (even) {
this.setData({
code: even.detail.value
})
},
onLoad: function (option) {
2024-10-13 15:40:15 +08:00
this.getMaOpenId();
2024-10-13 11:24:45 +08:00
if (getToken()) {
console.log("Authorization...{}", getToken());
//刷新权限信息
refreshUser().then(res => {
if (res.code == '200') {
wx.redirectTo({
url: '../index/index',
})
} else {
that.loadCodeImage();
}
});
} else {
console.log("未查询到Token...{}...准备重新登录")
this.loadCodeImage();
}
},
2024-10-13 15:40:15 +08:00
/**
* 授权登录
*/
getMaOpenId: function () {
wx.login({
success: res => {
2024-10-15 00:32:25 +08:00
getMaOpenId({'code':res.code}).then(response => {
setOpenId(response.data.openid);
setSessionKey(response.data.sessionKey);
2024-10-13 15:40:15 +08:00
});
}
})
},
2024-10-13 11:24:45 +08:00
loadCodeImage: function () {
getCodeImg().then(res => {
let captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
if (captchaEnabled) {
this.setData({
codeUrl: 'data:image/gif;base64,' + res.img,
uuid: res.uuid
})
}
});
},
//登录
userLogin: function () {
var username = this.data.username;
var password = this.data.password;
var code = this.data.code;
if (username == "") {
app.toast("登录账号不能为空");
return;
}
if (password == "") {
app.toast("登录密码不能为空");
return;
}
if (code == "") {
app.toast("验证码不能为空");
return;
}
//启动蒙版
let that = this;
//发送请求
login({
"username": username,
"password": password,
"code": code,
"uuid": that.data.uuid,
}).then(res => {
if (res.code == '200') {
2024-10-15 00:32:25 +08:00
setToken(res.access_token)
2024-10-13 11:24:45 +08:00
//跳转页面
wx.redirectTo({
url: '../index/index',
})
} else {
that.loadCodeImage();
}
});
},
getPhoneNumber(e) {
2024-10-13 15:40:15 +08:00
if(e.detail.code){
let data = {
2024-10-15 00:32:25 +08:00
openId:getOpenId(),
sessionKey:getSessionKey(),
2024-10-13 15:40:15 +08:00
iv: e.detail.iv,
encryptedData: e.detail.encryptedData
}
maLogin({})
}else{
//用户决绝授权
app.toast("请允许微信手机号一键登录");
}
2024-10-15 00:32:25 +08:00
maLogin(data).then(res =>{
setToken(res.access_token)
//跳转页面
wx.redirectTo({
url: '../index/index',
})
})
2024-10-13 11:24:45 +08:00
},
})