提交 | 用户 | age
|
3ac5f2
|
1 |
/** |
J |
2 |
* 登录 |
|
3 |
*/ |
|
4 |
// const DEBUG = require('../config').isConsole |
|
5 |
// const ismock = require('../config').ismock |
|
6 |
import fn from './fn' |
|
7 |
import Req from './jun_httpInstall' |
|
8 |
import Store from '../store' |
|
9 |
import Config from '../config' |
|
10 |
// import { Message } from 'element-ui' |
|
11 |
|
12a2f1
|
12 |
const config = { |
J |
13 |
// 登录请求接口链接 |
|
14 |
url: 'weixin!ajaxGetInfoByCode', |
|
15 |
// 2小时过期 |
|
16 |
expire: 7.2e6 |
3ac5f2
|
17 |
} |
J |
18 |
|
|
19 |
/** |
|
20 |
* 检查登录缓存过期,默认不过期 |
|
21 |
* @param {object} we_session 缓存对象 |
|
22 |
*/ |
12a2f1
|
23 |
function checkExpire(we_session) { |
J |
24 |
// if ((we_session && Date.now() >= we_session.expire) || !we_session) { |
|
25 |
// // 删除store缓存 |
|
26 |
// Store.commit('unLogined') |
|
27 |
// // wx.removeStorageSync('we_session') |
|
28 |
// localStorage.removeItem('we_session') |
|
29 |
// return true |
|
30 |
// } |
|
31 |
return false |
3ac5f2
|
32 |
} |
J |
33 |
|
|
34 |
/** |
|
35 |
* 进入微信长链,可获取code |
|
36 |
*/ |
12a2f1
|
37 |
function toLongUrl() { |
J |
38 |
// fn.urlReplace(Config.codeUrl) |
|
39 |
// location.href = Config.codeUrl |
|
40 |
location.href = Config.createCodeUrl() |
3ac5f2
|
41 |
} |
J |
42 |
|
|
43 |
/** |
|
44 |
* 登录 |
|
45 |
* @param {object} option 登录选项 |
|
46 |
* @param {boolean} option.force 是否强制重新登录 |
|
47 |
* @param {function} option.callback 登录成功后回调 |
|
48 |
*/ |
12a2f1
|
49 |
function checkLogin(option = {}) { |
J |
50 |
loginReq(option).then(() => { |
|
51 |
if (typeof option.callback === 'function') { |
|
52 |
option.callback() |
|
53 |
} |
|
54 |
}) |
3ac5f2
|
55 |
} |
J |
56 |
|
|
57 |
/** |
|
58 |
* 登录请求 |
12a2f1
|
59 |
* @param {object} option |
3ac5f2
|
60 |
* @param {object} option.data 请求参数 |
J |
61 |
*/ |
12a2f1
|
62 |
function loginReq(option) { |
J |
63 |
if (Config.ismock || Config.istest) { |
|
64 |
option.data.code = '011h5c000ySdaK1lbw000ubdtm2h5c00' |
|
65 |
} |
3ac5f2
|
66 |
|
12a2f1
|
67 |
return new Promise((resolve, reject) => { |
J |
68 |
// 前置判断 |
|
69 |
const userData = Store.getters.getUserData |
|
70 |
if (userData.key) { |
|
71 |
resolve(userData) |
|
72 |
return |
|
73 |
} |
3ac5f2
|
74 |
|
12a2f1
|
75 |
if (!option || !option.data) { |
J |
76 |
reject() |
|
77 |
console.error('调用loginReq,缺失 option') |
|
78 |
return |
|
79 |
} |
|
80 |
if (!option.data.code) { |
|
81 |
console.error('调用loginReq,缺失 code') |
|
82 |
reject() |
|
83 |
return |
|
84 |
} |
|
85 |
Req.http3.post({ |
|
86 |
url: config.url, |
|
87 |
data: option.data |
|
88 |
}).then((res) => { |
|
89 |
// 缓存key值 |
|
90 |
fn.setLocalStorage('we_session', { |
|
91 |
we_session: res.inf.key, |
|
92 |
expire: Date.now() + config.expire |
|
93 |
}) |
|
94 |
// 缓存用户数据 |
|
95 |
Store.commit('setUserData', res.inf) |
|
96 |
console.log(res.inf) |
3ac5f2
|
97 |
|
12a2f1
|
98 |
// if (res.inf.name) { |
J |
99 |
// Store.commit('setNickName', res.inf.name) |
|
100 |
// } |
3ac5f2
|
101 |
|
12a2f1
|
102 |
// 处理登录完成 store |
J |
103 |
// getUserInfo().then(_res=>{ |
|
104 |
// // Store.commit('setLogined', _res.inf) |
|
105 |
// resolve(res) |
|
106 |
// }) |
|
107 |
// Store.commit('setLogined') |
|
108 |
|
|
109 |
resolve(res) |
|
110 |
}).catch((res) => { |
|
111 |
console.log(res) |
|
112 |
reject(res) |
|
113 |
}) |
|
114 |
}) |
3ac5f2
|
115 |
} |
J |
116 |
|
|
117 |
export default { |
12a2f1
|
118 |
checkLogin, |
J |
119 |
loginReq, |
|
120 |
toLongUrl |
|
121 |
} |