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.

78 lines
1.4 KiB

/**
* 用户相关服务
*/
const util = require('../utils/util.js');
const api = require('../config/api.js');
/**
* 调用微信登录
*/
function loginByWeixin() {
let code = null;
console.log('promise')
return new Promise(function (resolve, reject) {
console.log('promise')
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) => {
console.log('code: ');
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,
};