258 lines
6.3 KiB
JavaScript
258 lines
6.3 KiB
JavaScript
import {
|
|
getToken,
|
|
setToken
|
|
} from '../../utils/auth'
|
|
import {
|
|
login,
|
|
getCodeImg,
|
|
} from '../../api/login'
|
|
|
|
const app = getApp();
|
|
Page({
|
|
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
username: '',
|
|
password: '',
|
|
show: false,
|
|
openId: '',
|
|
code: '',
|
|
uuid: '',
|
|
usercode: '',
|
|
},
|
|
|
|
//获取填写的账号信息
|
|
name: function (even) {
|
|
this.setData({
|
|
username: even.detail.value
|
|
})
|
|
},
|
|
//获取填写的密码信息
|
|
pass: function (even) {
|
|
this.setData({
|
|
password: even.detail.value
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 忘记密码
|
|
*/
|
|
updatePs(){
|
|
wx.redirectTo({
|
|
url: '../alter-ps/index',
|
|
})
|
|
},
|
|
|
|
//获取填写的密码信息
|
|
code: function (even) {
|
|
this.setData({
|
|
usercode: even.detail.value
|
|
})
|
|
},
|
|
|
|
onClickShow() {
|
|
this.setData({
|
|
show: true
|
|
});
|
|
},
|
|
|
|
onClickHide() {
|
|
this.setData({
|
|
show: false
|
|
});
|
|
},
|
|
|
|
onLoad: function (option) {
|
|
this.loadCodeImage();
|
|
this.getOPenId();
|
|
},
|
|
|
|
/**
|
|
* 获取用户openid
|
|
*/
|
|
getOPenId: function () {
|
|
wx.login({
|
|
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);
|
|
}
|
|
})
|
|
} else {
|
|
//验证登录用户
|
|
this.selectUserInfoByOpenId(oid);
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
//验证用户是否是第一次登陆
|
|
selectUserInfoByOpenId: function (openId) {
|
|
//跳转页面
|
|
let isRelogin = wx.getStorageSync("isReload");
|
|
if (isRelogin) {
|
|
return;
|
|
}
|
|
this.onClickShow();
|
|
var that = this;
|
|
wx.request({
|
|
url: app.globalData.reqUrl + '/wechat/openIdLogin',
|
|
data: {
|
|
"openId": openId
|
|
},
|
|
method: "POST",
|
|
success: function (res) {
|
|
if (res.data.code == '200') {
|
|
//把数据存到缓存中
|
|
wx.setStorage({
|
|
key: 'userinfo',
|
|
data: res.data.data.userinfo
|
|
});
|
|
if (res.data.token) {
|
|
//更新token信息
|
|
setToken(res.data.token);
|
|
}
|
|
// wx.setStorageSync({
|
|
// key: 'token',
|
|
// data: res.data.token
|
|
// });
|
|
that.onClickHide();
|
|
let rd = res.data.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;
|
|
//存入文件中
|
|
wx.setStorage({
|
|
key: 'projectInfoList',
|
|
data: app.globalData.projectInfoList
|
|
});
|
|
wx.redirectTo({
|
|
url: '../xiangmugaikuang/index',
|
|
})
|
|
} else {
|
|
//跳转页面
|
|
wx.redirectTo({
|
|
url: '../map/map',
|
|
})
|
|
}
|
|
} else {
|
|
that.onClickHide();
|
|
app.toast(res.data.msg, 2000);
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
/**
|
|
* 获取验证码
|
|
*/
|
|
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
|
|
})
|
|
}
|
|
});
|
|
},
|
|
|
|
//登录
|
|
userLogin: function (openid) {
|
|
var that = this;
|
|
var username = that.data.username;
|
|
var password = that.data.password;
|
|
var usercode = this.data.usercode;
|
|
if (username == "") {
|
|
app.toast("登录账号不能为空");
|
|
return;
|
|
}
|
|
if (password == "") {
|
|
app.toast("登录密码不能为空");
|
|
return;
|
|
}
|
|
if (usercode == "") {
|
|
app.toast("验证码不能为空");
|
|
return;
|
|
}
|
|
let openId = that.data.openId
|
|
if (openId == "") {
|
|
openId = wx.getStorageSync("openId");
|
|
if (openId == "") {
|
|
app.toast("获取微信授权失败,请卸载后重新进入应用!!");
|
|
return;
|
|
}
|
|
}
|
|
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;
|
|
//存入文件中
|
|
wx.setStorage({
|
|
key: 'projectInfoList',
|
|
data: app.globalData.projectInfoList
|
|
});
|
|
wx.redirectTo({
|
|
url: '../xiangmugaikuang/index',
|
|
})
|
|
} else {
|
|
//跳转页面
|
|
wx.redirectTo({
|
|
url: '../map/map',
|
|
})
|
|
}
|
|
}else{
|
|
that.loadCodeImage();
|
|
}
|
|
});
|
|
},
|
|
}) |