jhwxapp/miniprogram/pages/login/index.js

258 lines
6.3 KiB
JavaScript
Raw Normal View History

2024-03-17 16:19:31 +08:00
import {
getToken,
setToken
} from '../../utils/auth'
import {
login,
getCodeImg,
} from '../../api/login'
2023-08-10 01:21:29 +08:00
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
2024-03-17 16:19:31 +08:00
username: '',
password: '',
show: false,
openId: '',
code: '',
uuid: '',
usercode: '',
2023-08-10 01:21:29 +08:00
},
//获取填写的账号信息
2024-03-17 16:19:31 +08:00
name: function (even) {
2023-08-10 01:21:29 +08:00
this.setData({
2024-03-17 16:19:31 +08:00
username: even.detail.value
2023-08-10 01:21:29 +08:00
})
},
//获取填写的密码信息
2024-03-17 16:19:31 +08:00
pass: function (even) {
2023-08-10 01:21:29 +08:00
this.setData({
2024-03-17 16:19:31 +08:00
password: even.detail.value
})
},
2024-05-03 10:37:27 +08:00
/**
* 忘记密码
*/
updatePs(){
wx.redirectTo({
url: '../alter-ps/index',
})
},
2024-03-17 16:19:31 +08:00
//获取填写的密码信息
code: function (even) {
this.setData({
usercode: even.detail.value
2023-08-10 01:21:29 +08:00
})
},
onClickShow() {
2024-03-17 16:19:31 +08:00
this.setData({
show: true
});
2023-08-10 01:21:29 +08:00
},
onClickHide() {
2024-03-17 16:19:31 +08:00
this.setData({
show: false
});
2023-08-10 01:21:29 +08:00
},
onLoad: function (option) {
2024-03-17 16:19:31 +08:00
this.loadCodeImage();
this.getOPenId();
2023-08-10 01:21:29 +08:00
},
/**
* 获取用户openid
*/
2024-03-17 16:19:31 +08:00
getOPenId: function () {
2023-08-10 01:21:29 +08:00
wx.login({
2024-03-17 16:19:31 +08:00
success: res => {
//启动蒙版
let oid = wx.getStorageSync("openId");
if (!oid) {
this.onClickShow();
wx.request({
url: app.globalData.reqUrl + '/wechat/getOpenId',
data: {
"code": res.code,
"appId": app.globalData.appId,
},
success: (res) => {
res = res.data;
this.onClickHide();
this.setData({
openId: res.data.openid,
})
wx.setStorageSync('openId', res.data.openid)
//验证登录用户
this.selectUserInfoByOpenId(res.data.openid);
}
2023-08-10 01:21:29 +08:00
})
2024-03-17 16:19:31 +08:00
} else {
//验证登录用户
this.selectUserInfoByOpenId(oid);
}
2023-08-10 01:21:29 +08:00
}
})
2024-03-17 16:19:31 +08:00
},
2023-08-10 01:21:29 +08:00
//验证用户是否是第一次登陆
2024-03-17 16:19:31 +08:00
selectUserInfoByOpenId: function (openId) {
2023-08-24 18:44:06 +08:00
//跳转页面
2024-03-17 16:19:31 +08:00
let isRelogin = wx.getStorageSync("isReload");
if (isRelogin) {
2023-08-24 18:44:06 +08:00
return;
}
this.onClickShow();
2023-08-10 01:21:29 +08:00
var that = this;
wx.request({
2024-03-17 16:19:31 +08:00
url: app.globalData.reqUrl + '/wechat/openIdLogin',
data: {
"openId": openId
2023-08-10 01:21:29 +08:00
},
2024-03-17 16:19:31 +08:00
method: "POST",
success: function (res) {
if (res.data.code == '200') {
2023-08-10 01:21:29 +08:00
//把数据存到缓存中
wx.setStorage({
key: 'userinfo',
2023-08-24 18:44:06 +08:00
data: res.data.data.userinfo
2023-08-10 01:21:29 +08:00
});
2024-05-03 10:37:27 +08:00
if (res.data.token) {
2024-04-14 21:28:11 +08:00
//更新token信息
setToken(res.data.token);
}
2023-08-27 13:20:30 +08:00
// wx.setStorageSync({
// key: 'token',
// data: res.data.token
// });
2023-08-24 18:44:06 +08:00
that.onClickHide();
let rd = res.data.data;
//只有一个项目时直接跳转详情页
2024-03-17 16:19:31 +08:00
if (rd.projectInfo != null || rd.projectInfo != undefined) {
2023-08-24 18:44:06 +08:00
//赋值到公共参数
app.globalData.projectId = rd.projectInfo.projectId;
app.globalData.projectName = rd.projectInfo.projectName;
2023-08-28 16:11:02 +08:00
app.globalData.projectInfoList = [];
app.globalData.projectInfoList.push(rd.projectInfo);
2023-08-24 18:44:06 +08:00
app.globalData.value1 = rd.projectInfo.shengName;
2024-03-17 16:19:31 +08:00
app.globalData.value2 = rd.projectInfo.shiName + '/' + rd.projectInfo.quName;
2023-08-24 18:44:06 +08:00
app.globalData.value3 = rd.projectInfo.logCompanyName;
2024-04-08 00:58:58 +08:00
//存入文件中
wx.setStorage({
key: 'projectInfoList',
data: app.globalData.projectInfoList
});
2023-08-24 18:44:06 +08:00
wx.redirectTo({
2024-03-19 23:25:38 +08:00
url: '../xiangmugaikuang/index',
2023-08-24 18:44:06 +08:00
})
2024-03-17 16:19:31 +08:00
} else {
2023-08-24 18:44:06 +08:00
//跳转页面
wx.redirectTo({
url: '../map/map',
})
}
2024-03-17 16:19:31 +08:00
} else {
2023-08-30 23:57:34 +08:00
that.onClickHide();
2024-05-03 10:37:27 +08:00
app.toast(res.data.msg, 2000);
2023-08-10 01:21:29 +08:00
}
}
})
2024-03-17 16:19:31 +08:00
},
/**
* 获取验证码
*/
loadCodeImage: function () {
getCodeImg().then(res => {
let captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled
if (captchaEnabled) {
this.setData({
code: 'data:image/gif;base64,' + res.img,
uuid: res.uuid
})
}
});
},
2023-08-10 01:21:29 +08:00
//登录
2024-03-17 16:19:31 +08:00
userLogin: function (openid) {
2023-08-10 01:21:29 +08:00
var that = this;
2023-08-27 13:20:30 +08:00
var username = that.data.username;
var password = that.data.password;
2024-03-17 16:19:31 +08:00
var usercode = this.data.usercode;
if (username == "") {
2024-05-03 10:37:27 +08:00
app.toast("登录账号不能为空");
2023-08-10 01:21:29 +08:00
return;
}
2024-03-17 16:19:31 +08:00
if (password == "") {
2024-05-03 10:37:27 +08:00
app.toast("登录密码不能为空");
2023-08-10 01:21:29 +08:00
return;
}
2024-03-17 16:19:31 +08:00
if (usercode == "") {
app.toast("验证码不能为空");
return;
}
2023-08-30 23:57:34 +08:00
let openId = that.data.openId
2024-03-17 16:19:31 +08:00
if (openId == "") {
2023-08-30 23:57:34 +08:00
openId = wx.getStorageSync("openId");
2024-03-17 16:19:31 +08:00
if (openId == "") {
2023-08-30 23:57:34 +08:00
app.toast("获取微信授权失败,请卸载后重新进入应用!!");
return;
}
2023-08-27 13:20:30 +08:00
}
2024-05-03 10:37:27 +08:00
let params = {
"username": username,
"password": password,
"openId": openId,
"code": usercode,
"uuid": this.data.uuid,
};
login(params).then(res => {
if (res.code == 200) {
//把数据存到缓存中
wx.setStorage({
key: 'userinfo',
data: res.data.userinfo
});
setToken(res.token);
wx.setStorageSync('isReload', "");
let rd = res.data;
//只有一个项目时直接跳转详情页
if (rd.projectInfo != null || rd.projectInfo != undefined) {
//赋值到公共参数
app.globalData.projectId = rd.projectInfo.projectId;
app.globalData.projectName = rd.projectInfo.projectName;
app.globalData.projectInfoList = [];
app.globalData.projectInfoList.push(rd.projectInfo);
app.globalData.value1 = rd.projectInfo.shengName;
app.globalData.value2 = rd.projectInfo.shiName + '/' + rd.projectInfo.quName;
app.globalData.value3 = rd.projectInfo.logCompanyName;
//存入文件中
2024-03-17 16:19:31 +08:00
wx.setStorage({
2024-05-03 10:37:27 +08:00
key: 'projectInfoList',
data: app.globalData.projectInfoList
2024-03-17 16:19:31 +08:00
});
2024-05-03 10:37:27 +08:00
wx.redirectTo({
url: '../xiangmugaikuang/index',
})
2024-03-17 16:19:31 +08:00
} else {
2024-05-03 10:37:27 +08:00
//跳转页面
wx.redirectTo({
url: '../map/map',
})
2024-03-17 16:19:31 +08:00
}
2024-05-03 10:37:27 +08:00
}else{
that.loadCodeImage();
2023-08-10 01:21:29 +08:00
}
2024-05-03 10:37:27 +08:00
});
2023-08-10 01:21:29 +08:00
},
})