| | |
| | | import { login, logout, getInfo } from '@/api/user' |
| | | import { getToken, setToken, removeToken } from '@/utils/auth' |
| | | import { login, logout, getInfo, tideLogin } from '@/api/user' |
| | | import { getToken, setToken, removeToken, getrefreshToken, setrefreshToken, removerefreshToken } from '@/utils/auth' |
| | | import { resetRouter } from '@/router' |
| | | var qs = require('qs') |
| | | |
| | | const getDefaultState = () => { |
| | | return { |
| | | token: getToken(), |
| | | refresh: getrefreshToken(), |
| | | name: '', |
| | | avatar: '' |
| | | avatar: '', |
| | | authority: '' |
| | | } |
| | | } |
| | | |
| | |
| | | SET_TOKEN: (state, token) => { |
| | | state.token = token |
| | | }, |
| | | SET_REFRESH: (state, refresh) => { |
| | | state.refresh = refresh |
| | | }, |
| | | SET_NAME: (state, name) => { |
| | | state.name = name |
| | | }, |
| | | SET_AVATAR: (state, avatar) => { |
| | | state.avatar = avatar |
| | | }, |
| | | SET_AUTHORITY: (state, authority) => { |
| | | state.authority = authority |
| | | } |
| | | } |
| | | |
| | | const actions = { |
| | | // user login |
| | | login({ commit }, userInfo) { |
| | | console.log(userInfo) |
| | | const { username, password } = userInfo |
| | | console.log(typeof username) |
| | | return new Promise((resolve, reject) => { |
| | | login({ username: username.trim(), password: password }).then(response => { |
| | | // login() |
| | | login(qs.stringify({ username: typeof username === 'number' ? username.toString().trim() : username.trim(), password: password })).then(response => { |
| | | const { data } = response |
| | | console.log(data) |
| | | commit('SET_TOKEN', data.token) |
| | | commit('SET_REFRESH', data.refresh) |
| | | setToken(data.token) |
| | | setrefreshToken(data.refresh) |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | |
| | | getInfo({ commit, state }) { |
| | | return new Promise((resolve, reject) => { |
| | | getInfo(state.token).then(response => { |
| | | const { data } = response |
| | | |
| | | const { data, message } = response |
| | | console.log(response) |
| | | if (response.code === 10010) { |
| | | resolve(message) |
| | | } |
| | | if (!data) { |
| | | return reject('Verification failed, please Login again.') |
| | | } |
| | | |
| | | const { name, avatar } = data |
| | | const { name, avatar, authority } = data |
| | | |
| | | commit('SET_NAME', name) |
| | | commit('SET_AVATAR', avatar) |
| | | commit('SET_AUTHORITY', authority) |
| | | resolve(data) |
| | | }).catch(error => { |
| | | reject(error) |
| | |
| | | |
| | | // user logout |
| | | logout({ commit, state }) { |
| | | console.log('退出登录') |
| | | return new Promise((resolve, reject) => { |
| | | logout(state.token).then(() => { |
| | | for (const key in state) { |
| | | state[key] = '' |
| | | } |
| | | removeToken() // must remove token first |
| | | removerefreshToken() |
| | | resetRouter() |
| | | commit('RESET_STATE') |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | // logout(state.token).then(() => { |
| | | // removeToken() // must remove token first |
| | | // removerefreshToken() |
| | | // resetRouter() |
| | | // commit('RESET_STATE') |
| | | // resolve() |
| | | // }).catch(error => { |
| | | // reject(error) |
| | | // }) |
| | | }) |
| | | }, |
| | | |
| | |
| | | commit('RESET_STATE') |
| | | resolve() |
| | | }) |
| | | }, |
| | | |
| | | // flushed Token |
| | | flushedToken({ commit }, newTokens) { |
| | | console.log('刷新token') |
| | | commit('SET_TOKEN', newTokens.token) |
| | | commit('SET_REFRESH', newTokens.refresh) |
| | | }, |
| | | |
| | | tideLogin({ commit }, code) { |
| | | return new Promise((resolve, reject) => { |
| | | tideLogin(code).then(response => { |
| | | const { data } = response |
| | | console.log(data) |
| | | commit('SET_TOKEN', data.token) |
| | | commit('SET_REFRESH', data.refresh) |
| | | setToken(data.token) |
| | | setrefreshToken(data.refresh) |
| | | resolve() |
| | | }).catch(error => { |
| | | reject(error) |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | |