/**
|
* 登录
|
*/
|
// const DEBUG = require('../config').isConsole
|
// const ismock = require('../config').ismock
|
import fn from './fn'
|
import Req from './jun_httpInstall'
|
import Store from '../store'
|
import Config from '../config'
|
// import { Message } from 'element-ui'
|
|
const config = {
|
// 登录请求接口链接
|
url: 'weixin!ajaxGetInfoByCode',
|
// 2小时过期
|
expire: 7.2e6
|
}
|
|
/**
|
* 检查登录缓存过期,默认不过期
|
* @param {object} we_session 缓存对象
|
*/
|
function checkExpire(we_session) {
|
// if ((we_session && Date.now() >= we_session.expire) || !we_session) {
|
// // 删除store缓存
|
// Store.commit('unLogined')
|
// // wx.removeStorageSync('we_session')
|
// localStorage.removeItem('we_session')
|
// return true
|
// }
|
return false
|
}
|
|
/**
|
* 进入微信长链,可获取code
|
*/
|
function toLongUrl() {
|
// fn.urlReplace(Config.codeUrl)
|
// location.href = Config.codeUrl
|
location.href = Config.createCodeUrl()
|
}
|
|
/**
|
* 登录
|
* @param {object} option 登录选项
|
* @param {boolean} option.force 是否强制重新登录
|
* @param {function} option.callback 登录成功后回调
|
*/
|
function checkLogin(option = {}) {
|
loginReq(option).then(() => {
|
if (typeof option.callback === 'function') {
|
option.callback()
|
}
|
})
|
}
|
|
/**
|
* 登录请求
|
* @param {object} option
|
* @param {object} option.data 请求参数
|
*/
|
function loginReq(option) {
|
if (Config.ismock || Config.istest) {
|
option.data.code = '011h5c000ySdaK1lbw000ubdtm2h5c00'
|
}
|
|
return new Promise((resolve, reject) => {
|
// 前置判断
|
const userData = Store.getters.getUserData
|
if (userData.key) {
|
resolve(userData)
|
return
|
}
|
|
if (!option || !option.data) {
|
reject()
|
console.error('调用loginReq,缺失 option')
|
return
|
}
|
if (!option.data.code) {
|
console.error('调用loginReq,缺失 code')
|
reject()
|
return
|
}
|
Req.http3.post({
|
url: config.url,
|
data: option.data
|
}).then((res) => {
|
// 缓存key值
|
fn.setLocalStorage('we_session', {
|
we_session: res.inf.key,
|
expire: Date.now() + config.expire
|
})
|
// 缓存用户数据
|
Store.commit('setUserData', res.inf)
|
console.log(res.inf)
|
|
// if (res.inf.name) {
|
// Store.commit('setNickName', res.inf.name)
|
// }
|
|
// 处理登录完成 store
|
// getUserInfo().then(_res=>{
|
// // Store.commit('setLogined', _res.inf)
|
// resolve(res)
|
// })
|
// Store.commit('setLogined')
|
|
resolve(res)
|
}).catch((res) => {
|
console.log(res)
|
reject(res)
|
})
|
})
|
}
|
|
export default {
|
checkLogin,
|
loginReq,
|
toLongUrl
|
}
|