完善了token认证以及接口错误提示

pull/6/head
yzw 2022-12-09 10:40:16 +08:00
parent 08676f9968
commit b9a1d64a60
2 changed files with 27 additions and 27 deletions

View File

@ -2,14 +2,17 @@ import { login, logout, getInfo } from '@/api/user'
import { resetRouter } from '@/router' import { resetRouter } from '@/router'
const getDefaultState = () => { const getDefaultState = () => {
return {} return {
token: '',
id_card: ''
}
} }
const state = getDefaultState() const state = getDefaultState()
const mutations = { const mutations = {
RESET_STATE: (state) => { RESET_STATE: (state) => {
state = {} state = getDefaultState()
}, },
SET_TOKEN: (state, token) => { SET_TOKEN: (state, token) => {
state.token = token state.token = token
@ -27,10 +30,10 @@ const actions = {
login({ user_num: username.trim(), password: password }).then(response => { login({ user_num: username.trim(), password: password }).then(response => {
commit('SET_TOKEN', response.token) commit('SET_TOKEN', response.token)
commit('SET_ID_CARD', username) commit('SET_ID_CARD', username)
// 存储到本地 // 存储到本地 关闭页面后,自动登录的功能还在考虑
if (response.code == 0) { // if (response.code == 0) {
sessionStorage['zssr_token'] = response.token; // sessionStorage['zssr_token'] = response.token;
} // }
resolve() resolve()
}).catch(error => { }).catch(error => {
reject(error) reject(error)
@ -62,7 +65,6 @@ const actions = {
// user logout // user logout
logout({ commit, state }) { logout({ commit, state }) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
clearSession();
resetRouter(); resetRouter();
commit('RESET_STATE'); commit('RESET_STATE');
resolve(); resolve();

View File

@ -12,22 +12,21 @@ const service = axios.create({
// request interceptor // request interceptor
service.interceptors.request.use( service.interceptors.request.use(
// config => { config => {
// // do something before request is sent // do something before request is sent
if (store.getters.token) {
// if (store.getters.token) { // let each request carry token
// // let each request carry token // ['X-Token'] is a custom headers key
// // ['X-Token'] is a custom headers key // please modify it according to the actual situation
// // please modify it according to the actual situation config.headers['Zssr-Token'] = store.getters.token
// config.headers['X-Token'] = getToken() }
// } return config
// return config },
// }, error => {
// error => { // do something with request error
// // do something with request error console.log(error) // for debug
// console.log(error) // for debug return Promise.reject(error)
// return Promise.reject(error) }
// }
) )
// response interceptor // response interceptor
@ -42,6 +41,7 @@ service.interceptors.response.use(
* Here is just an example * Here is just an example
* You can also judge the status by HTTP Status Code * You can also judge the status by HTTP Status Code
*/ */
/* response => { /* response => {
const res = response.data const res = response.data
@ -83,21 +83,19 @@ service.interceptors.response.use(
response => { response => {
const res = response.data const res = response.data
return res; // 状态码
if (res.code !== 0) { if (res.code !== 0) {
Message({ Message({
message: res.msg || 'Error check your token or method', message: `${res.code}: ${res.msg}` || 'Error check your token or method',
type: 'error', type: 'error',
duration: 2 * 1000 duration: 2 * 1000
}) })
console.log(res.code)
return Promise.reject(new Error(res.msg || 'Error')) return Promise.reject(new Error(res.msg || 'Error'))
} else{ } else{
return res return res
} }
}, },
error => { error => {
console.log('err' + error)
Message({ Message({
message: error.message, message: error.message,
type: 'error', type: 'error',