long
2024-05-13 6e089f294207e13459ad872a2fb6e701721f5506
提交 | 用户 | 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 }