|
@@ -1,3 +1,5 @@
|
|
|
+var api = require('../config/api.js');
|
|
|
+
|
|
|
function formatTime(date) {
|
|
|
var year = date.getFullYear()
|
|
|
var month = date.getMonth() + 1
|
|
@@ -17,33 +19,55 @@ function formatNumber(n) {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 封闭微信的的request
|
|
|
+ * 封封微信的的request
|
|
|
*/
|
|
|
function request(url, data = {}, method = "GET") {
|
|
|
- return new Promise(function(resolve, reject){
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
wx.request({
|
|
|
url: url,
|
|
|
data: data,
|
|
|
method: method,
|
|
|
header: {
|
|
|
'Content-Type': 'application/json',
|
|
|
- 'X-You-Token': wx.getStorageSync('token')
|
|
|
+ 'X-Nideshop-Token': wx.getStorageSync('token')
|
|
|
},
|
|
|
- success: function(res) {
|
|
|
- console.log("success" );
|
|
|
-
|
|
|
- if(res.statusCode == 200){
|
|
|
- //处理未登录
|
|
|
- if(res.data.errno == 401){
|
|
|
-
|
|
|
- console.log('快去登录');
|
|
|
- }else{
|
|
|
+ success: function (res) {
|
|
|
+ console.log("success");
|
|
|
+
|
|
|
+ if (res.statusCode == 200) {
|
|
|
+
|
|
|
+ if (res.data.errno == 401) {
|
|
|
+ //需要登录后才可以操作
|
|
|
+
|
|
|
+ let code = null;
|
|
|
+ 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 {
|
|
|
resolve(res.data);
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
reject(res.errMsg);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
fail: function (err) {
|
|
|
reject(err)
|
|
@@ -53,21 +77,73 @@ function request(url, data = {}, method = "GET") {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-function redirect(url){
|
|
|
-
|
|
|
- //判断页面是否需要登录
|
|
|
+/**
|
|
|
+ * 检查微信会话是否过期
|
|
|
+ */
|
|
|
+function checkSession() {
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
+ wx.checkSession({
|
|
|
+ success: function () {
|
|
|
+ resolve(true);
|
|
|
+ },
|
|
|
+ fail: function () {
|
|
|
+ reject(false);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
- wx.redirectTo({
|
|
|
- url: '/pages/auth/login/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);
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
- return false;
|
|
|
+}
|
|
|
|
|
|
- wx.redirectTo({
|
|
|
- url: url
|
|
|
+function getUserInfo() {
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
+ wx.getUserInfo({
|
|
|
+ withCredentials: true,
|
|
|
+ success: function (res) {
|
|
|
+ resolve(res);
|
|
|
+ },
|
|
|
+ fail: function (err) {
|
|
|
+ reject(err);
|
|
|
+ }
|
|
|
+ })
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-function showErrorToast(msg){
|
|
|
+function redirect(url) {
|
|
|
+
|
|
|
+ //判断页面是否需要登录
|
|
|
+ if (false) {
|
|
|
+ wx.redirectTo({
|
|
|
+ url: '/pages/auth/login/login'
|
|
|
+ });
|
|
|
+ return false;
|
|
|
+ } else {
|
|
|
+ wx.redirectTo({
|
|
|
+ url: url
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+function showErrorToast(msg) {
|
|
|
wx.showToast({
|
|
|
title: msg,
|
|
|
image: '/static/images/icon_error.png'
|
|
@@ -75,10 +151,13 @@ function showErrorToast(msg){
|
|
|
}
|
|
|
|
|
|
module.exports = {
|
|
|
- formatTime: formatTime,
|
|
|
- request: request,
|
|
|
- redirect: redirect,
|
|
|
- showErrorToast: showErrorToast
|
|
|
+ formatTime,
|
|
|
+ request,
|
|
|
+ redirect,
|
|
|
+ showErrorToast,
|
|
|
+ checkSession,
|
|
|
+ login,
|
|
|
+ getUserInfo,
|
|
|
}
|
|
|
|
|
|
|