Commit 6bd5ec12 authored by Junling Bu's avatar Junling Bu
Browse files

登陆相关操作从util.js重构到user.js; 此外用户如果请求后台没有登陆时,则跳转到我的页面登陆。

parent c0fb0732
/** /**
* 用户相关服务 * 用户相关服务
*/ */
const util = require('../utils/util.js'); const util = require('../utils/util.js');
const api = require('../config/api.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);
}
});
});
}
/**
* Promise封装wx.getUserInfo
*/
function getUserInfo() {
return new Promise(function (resolve, reject) {
wx.getUserInfo({
withCredentials: true,
success: function (res) {
resolve(res);
},
fail: function (err) {
reject(err);
}
})
});
}
/** /**
* 调用微信登录 * 调用微信登录
*/ */
...@@ -13,9 +65,9 @@ function loginByWeixin() { ...@@ -13,9 +65,9 @@ function loginByWeixin() {
let code = null; let code = null;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
return util.login().then((res) => { return login().then((res) => {
code = res.code; code = res.code;
return util.getUserInfo(); return getUserInfo();
}).then((userInfo) => { }).then((userInfo) => {
//登录远程服务器 //登录远程服务器
util.request(api.AuthLoginByWeixin, { code: code, userInfo: userInfo }, 'POST').then(res => { util.request(api.AuthLoginByWeixin, { code: code, userInfo: userInfo }, 'POST').then(res => {
...@@ -44,7 +96,7 @@ function checkLogin() { ...@@ -44,7 +96,7 @@ function checkLogin() {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
if (wx.getStorageSync('userInfo') && wx.getStorageSync('token')) { if (wx.getStorageSync('userInfo') && wx.getStorageSync('token')) {
util.checkSession().then(() => { checkSession().then(() => {
resolve(true); resolve(true);
}).catch(() => { }).catch(() => {
reject(false); reject(false);
......
...@@ -32,35 +32,14 @@ function request(url, data = {}, method = "GET") { ...@@ -32,35 +32,14 @@ function request(url, data = {}, method = "GET") {
'X-Litemall-Token': wx.getStorageSync('token') 'X-Litemall-Token': wx.getStorageSync('token')
}, },
success: function (res) { success: function (res) {
// console.log("success");
if (res.statusCode == 200) { if (res.statusCode == 200) {
if (res.data.errno == 401) { if (res.data.errno == 401) {
//需要登录后才可以操作 //需要登录后才可以操作
wx.switchTab({
let code = null; url: '/pages/ucenter/index/index'
return login().then((res) => { });
code = res.code;
return getUserInfo();
}).then((userInfo) => {
//登录远程服务器
request(api.AuthLoginByWeixin, { code: 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);
})
} else { } else {
resolve(res.data); resolve(res.data);
} }
...@@ -71,60 +50,6 @@ function request(url, data = {}, method = "GET") { ...@@ -71,60 +50,6 @@ function request(url, data = {}, method = "GET") {
}, },
fail: function (err) { fail: function (err) {
reject(err) reject(err)
// console.log("failed")
}
})
});
}
/**
* 检查微信会话是否过期
*/
function checkSession() {
return new Promise(function (resolve, reject) {
wx.checkSession({
success: function () {
resolve(true);
},
fail: function () {
reject(false);
}
})
});
}
/**
* 调用微信登录
*/
function login() {
return new Promise(function (resolve, reject) {
wx.login({
success: function (res) {
if (res.code) {
//登录远程服务器
// console.log(res)
resolve(res);
} else {
reject(res);
}
},
fail: function (err) {
reject(err);
}
});
});
}
function getUserInfo() {
return new Promise(function (resolve, reject) {
wx.getUserInfo({
withCredentials: true,
success: function (res) {
// console.log(res)
resolve(res);
},
fail: function (err) {
reject(err);
} }
}) })
}); });
...@@ -156,10 +81,7 @@ module.exports = { ...@@ -156,10 +81,7 @@ module.exports = {
formatTime, formatTime,
request, request,
redirect, redirect,
showErrorToast, showErrorToast
checkSession,
login,
getUserInfo,
} }
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment