
Some checks are pending
Actions / Litemall-all (11) (push) Waiting to run
Actions / Litemall-all (11.0.3) (push) Waiting to run
Actions / Litemall-all (8) (push) Waiting to run
Actions / Litemall-all (8.0.192) (push) Waiting to run
Actions / Litemall-admin (10.x) (push) Waiting to run
Actions / Litemall-admin (12.x) (push) Waiting to run
Actions / Litemall-admin (14.x) (push) Waiting to run
Actions / Litemall-vue (10.x) (push) Waiting to run
Actions / Litemall-vue (12.x) (push) Waiting to run
Actions / Litemall-vue (14.x) (push) Waiting to run
94 lines
1.7 KiB
JavaScript
94 lines
1.7 KiB
JavaScript
/**
|
|
* 用户相关服务
|
|
*/
|
|
const util = require('../utils/util.js');
|
|
const api = require('../config/api.js');
|
|
|
|
|
|
/**
|
|
* Promise封装wx.checkSession
|
|
*/
|
|
function checkSession() {
|
|
return new Promise(function(resolve, reject) {
|
|
wx.checkSession({
|
|
success: function() {
|
|
resolve(true);
|
|
},
|
|
fail: function() {
|
|
reject(false);
|
|
}
|
|
})
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Promise封装wx.login
|
|
*/
|
|
function login() {
|
|
return new Promise(function(resolve, reject) {
|
|
wx.login({
|
|
success: function(res) {
|
|
if (res.code) {
|
|
resolve(res);
|
|
} else {
|
|
reject(res);
|
|
}
|
|
},
|
|
fail: function(err) {
|
|
reject(err);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
/**
|
|
* 调用微信登录
|
|
*/
|
|
function loginByWeixin(userInfo) {
|
|
|
|
return new Promise(function(resolve, reject) {
|
|
return login().then((res) => {
|
|
//登录远程服务器
|
|
util.request(api.AuthLoginByWeixin, {
|
|
code: res.code,
|
|
userInfo: userInfo
|
|
}, 'POST').then(res => {
|
|
if (res.errno === 0) {
|
|
//存储用户信息
|
|
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')) {
|
|
checkSession().then(() => {
|
|
resolve(true);
|
|
}).catch(() => {
|
|
reject(false);
|
|
});
|
|
} else {
|
|
reject(false);
|
|
}
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
loginByWeixin,
|
|
checkLogin,
|
|
}; |