You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.3 KiB
75 lines
1.3 KiB
/**
|
|
* 用户相关服务
|
|
*/
|
|
|
|
const util = require('../utils/util.js');
|
|
const api = require('../config/api.js');
|
|
|
|
|
|
/**
|
|
* 调用微信登录
|
|
*/
|
|
function loginByWeixin() {
|
|
|
|
let code = null;
|
|
return new Promise(function (resolve, reject) {
|
|
return util.login().then((res) => {
|
|
code = res.code;
|
|
return util.getUserInfo();
|
|
}).then((userInfo) => {
|
|
//登录远程服务器
|
|
util.request(api.AuthLoginByWeixin, { code: code, encryptedData: userInfo.encryptedData,iv: userInfo.iv,rawData: userInfo.rawData }, 'POST').then(res => {
|
|
if (res.code == 200) {
|
|
//存储用户信息
|
|
wx.setStorageSync('userInfo', res.data.userInfo);
|
|
wx.setStorageSync('token', res.data.token);
|
|
resolve(res);
|
|
|
|
} else {
|
|
reject(res);
|
|
}
|
|
}).catch((err) => {
|
|
reject(err);
|
|
});
|
|
}).catch((err) => {
|
|
reject(err);
|
|
})
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 判断用户是否登录
|
|
*/
|
|
function checkLogin() {
|
|
return new Promise(function (resolve, reject) {
|
|
if (wx.getStorageSync('userInfo') && wx.getStorageSync('token')) {
|
|
|
|
util.checkSession().then(() => {
|
|
resolve(true);
|
|
}).catch(() => {
|
|
reject(false);
|
|
});
|
|
|
|
} else {
|
|
reject(false);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
loginByWeixin,
|
|
checkLogin,
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|