|
|
@@ -1,128 +0,0 @@
|
|
|
-import Cookies from 'js-cookie'
|
|
|
-import { resetRouter } from '@/router'
|
|
|
-
|
|
|
-const TokenKey = 'token'
|
|
|
-
|
|
|
-function getToken () {
|
|
|
- return Cookies.get(TokenKey)
|
|
|
-}
|
|
|
-
|
|
|
-function setToken (token) {
|
|
|
- return Cookies.set(TokenKey, token)
|
|
|
-}
|
|
|
-
|
|
|
-function removeToken () {
|
|
|
- return Cookies.remove(TokenKey)
|
|
|
-}
|
|
|
-
|
|
|
-function login (data) {
|
|
|
- return Promise.resolve({ success: true })
|
|
|
-}
|
|
|
-
|
|
|
-function getInfo (token) {
|
|
|
- return Promise.resolve({
|
|
|
- data: {
|
|
|
- roles: ['admin'],
|
|
|
- avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
|
|
|
- name: 'Super Admin'
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-function logout () {
|
|
|
- return Promise.resolve({ success: true })
|
|
|
-}
|
|
|
-
|
|
|
-const state = {
|
|
|
- token: getToken(),
|
|
|
- name: '',
|
|
|
- avatar: '',
|
|
|
- roles: []
|
|
|
-}
|
|
|
-
|
|
|
-const mutations = {
|
|
|
- SET_TOKEN (state, token) {
|
|
|
- state.token = token
|
|
|
- },
|
|
|
- SET_NAME (state, name) {
|
|
|
- state.name = name
|
|
|
- },
|
|
|
- SET_AVATAR (state, avatar) {
|
|
|
- state.avatar = avatar
|
|
|
- },
|
|
|
- SET_ROLES (state, roles) {
|
|
|
- state.roles = roles
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-const actions = {
|
|
|
- login ({ commit }, { username, password }) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- login({ username: username.trim(), password: password }).then(response => {
|
|
|
- const { data } = response
|
|
|
- commit('SET_TOKEN', data.token)
|
|
|
- setToken(data.token)
|
|
|
- resolve()
|
|
|
- }).catch(error => {
|
|
|
- reject(error)
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
- getInfo ({ commit, state }) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- getInfo(state.token).then(response => {
|
|
|
- const { data } = response
|
|
|
-
|
|
|
- if (!data) {
|
|
|
- reject('Verification failed, please Login again.')
|
|
|
- }
|
|
|
-
|
|
|
- const { roles, name, avatar } = data
|
|
|
-
|
|
|
- // roles must be a non-empty array
|
|
|
- if (!roles || roles.length <= 0) {
|
|
|
- reject('Roles must be a non-null array!')
|
|
|
- }
|
|
|
-
|
|
|
- commit('SET_ROLES', roles)
|
|
|
- commit('SET_NAME', name)
|
|
|
- commit('SET_AVATAR', avatar)
|
|
|
- resolve(data)
|
|
|
- }).catch(error => {
|
|
|
- reject(error)
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
- logout ({ commit }) {
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- logout(state.token).then(() => {
|
|
|
- commit('SET_TOKEN', '')
|
|
|
- commit('SET_ROLES', [])
|
|
|
- removeToken()
|
|
|
- resetRouter()
|
|
|
- resolve()
|
|
|
- }).catch(error => {
|
|
|
- reject(error)
|
|
|
- })
|
|
|
- })
|
|
|
- },
|
|
|
-
|
|
|
- // remove token
|
|
|
- resetToken ({ commit }) {
|
|
|
- return new Promise(resolve => {
|
|
|
- commit('SET_TOKEN', '')
|
|
|
- commit('SET_ROLES', [])
|
|
|
- removeToken()
|
|
|
- resolve()
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-export default {
|
|
|
- namespaced: true,
|
|
|
- state,
|
|
|
- mutations,
|
|
|
- actions
|
|
|
-}
|