// import axios from './common/httpAxios'
|
import {
|
request
|
} from '@/server/common/request_helper'
|
import {
|
httpGET
|
} from '@/server/common/httpFetch'
|
import router from '@/router'
|
import toast from '@/components/common/toasted'
|
require('es6-promise').polyfill()
|
require('isomorphic-fetch')
|
export const tologin = (user) => {
|
let opts = {
|
method: 'POST',
|
headers: {
|
'Content-Type': 'application/x-www-form-urlencoded'
|
},
|
body: 'username=' + user.loginName + '&password=' + user.password
|
}
|
return fetch(request('/data/sys/login'), opts).then(res => res.json())
|
.then(json => {
|
if (!json.code && json.access_token) {
|
const loginedInfo = {
|
'access_token': json.token_type + ' ' + json.access_token,
|
'refresh_token': json.refresh_token
|
}
|
sessionStorage.setItem('expires_in', json.expires_in)
|
sessionStorage.setItem('loginedInfo', JSON.stringify(loginedInfo))
|
getLoginUserData()
|
return true
|
} else {
|
sessionStorage.removeItem('menuInfo')
|
sessionStorage.removeItem('loginedInfo')
|
sessionStorage.removeItem('expires_in')
|
sessionStorage.removeItem('userInfo')
|
toast({
|
type: 'error',
|
message: json.error_description && json.error_description !== '' ? json.error_description : '登陆失败!'
|
})
|
}
|
})
|
}
|
// 退出
|
export const logout = (str) => {
|
let token = sessionStorage.getItem('loginedInfo') && JSON.parse(sessionStorage.getItem('loginedInfo')).access_token
|
let opts = {
|
headers: {
|
'Content-Type': 'application/json',
|
'Accept': 'application/json',
|
'Authorization': token || ''
|
}
|
}
|
return fetch(request('/data/sys/logout'), opts)
|
// .then(res => res.json())
|
.then(json => {
|
if (json.ok) {
|
toast({
|
type: 'success',
|
message: '退出成功!'
|
})
|
sessionStorage.removeItem('menuInfo')
|
sessionStorage.removeItem('loginedInfo')
|
sessionStorage.removeItem('expires_in')
|
sessionStorage.removeItem('userInfo')
|
router.push({
|
path: '/login'
|
})
|
} else {
|
router.push({
|
path: '/login'
|
})
|
toast({
|
type: 'warning',
|
message: '抱歉退出失败!'
|
})
|
}
|
})
|
}
|
// 获取户信息用
|
export const getLoginUserData = () => {
|
return httpGET('/data/api-u/users/current')
|
.then(json => {
|
if (!json.error) {
|
sessionStorage.setItem('userInfo', JSON.stringify(json))
|
toast({
|
type: 'success',
|
message: '登陆成功!'
|
})
|
/* 判断当前是否在登录页,如果在登录页 */
|
if (window.location.href.indexOf('/login') !== -1) {
|
router.push({
|
path: '/',
|
query: {
|
is_login: true
|
}
|
})
|
}
|
return json
|
}
|
})
|
}
|
// 获取菜单数据
|
export const getMenuListData = data => {
|
return httpGET('/data/api-u/sysmenus/me', {
|
body: data
|
})
|
}
|