更换jwtToken 为Bearer

This commit is contained in:
不做码农
2021-12-03 17:42:44 +08:00
parent c6a523834c
commit 42dc24b6b8
13 changed files with 216 additions and 142 deletions

View File

@@ -1,11 +1,17 @@
import router from './router'
import store from './store'
import { Message } from 'element-ui'
import {
Message
} from 'element-ui'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
import { getToken } from '@/utils/auth'
import {
getToken
} from '@/utils/auth'
NProgress.configure({ showSpinner: false })
NProgress.configure({
showSpinner: false
})
const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/demo']
@@ -17,7 +23,9 @@ router.beforeEach((to, from, next) => {
if (hasToken) {
/* has token*/
if (to.path === '/login') {
next({ path: '/' })
next({
path: '/'
})
NProgress.done()
} else {
if (store.getters.roles.length === 0) {
@@ -27,21 +35,28 @@ router.beforeEach((to, from, next) => {
//console.log('拉取userInfo', JSON.stringify(res))
// 拉取user_info
const roles = res.data.roles
store.dispatch('GenerateRoutes', { roles }).then(accessRoutes => {
store.dispatch('GenerateRoutes', {
roles
}).then(accessRoutes => {
// 测试 默认静态页面
// store.dispatch('permission/generateRoutes', { roles }).then(accessRoutes => {
// 根据roles权限生成可访问的路由表
router.addRoutes(accessRoutes) // 动态添加可访问路由表
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
next({
...to,
replace: true
}) // hack方法 确保addRoutes已完成
})
next()
}).catch(err => {
console.error(err)
//这部不能少,否则会出现死循环
store.dispatch('FedLogOut').then(() => {
Message.error(err)
next({ path: '/' })
Message.error(err != undefined ? err : '登录失败')
next({
path: '/'
})
})
next(`/login?redirect=${to.path}`)
})

View File

@@ -1,7 +1,12 @@
import axios from 'axios'
import { MessageBox, Message } from 'element-ui'
import {
MessageBox,
Message
} from 'element-ui'
import store from '@/store'
import { getToken } from '@/utils/auth'
import {
getToken
} from '@/utils/auth'
// import errorCode from '@/utils/errorCode'
// 解决后端跨域获取不到cookie问题
@@ -18,15 +23,9 @@ const service = axios.create({
// request拦截器
service.interceptors.request.use(config => {
// 是否需要设置 token
// const isToken = (config.headers || {}).isToken === false
// if (getToken() && !isToken) {
// config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
// }
// return config
// console.log(store.getters)
if (getToken()) {
//将token放到请求头发送给服务器,将tokenkey放在请求头中
config.headers.Token = getToken();
config.headers['Authorization'] = 'Bearer ' + getToken();
} else {
// console.log(config)
}
@@ -38,50 +37,47 @@ service.interceptors.request.use(config => {
// 响应拦截器
service.interceptors.response.use(res => {
if (res.status !== 200) {
Promise.reject('network error');
return;
}
// 未设置状态码则默认成功状态
const code = res.data.code;
const msg = res.data.msg;
if (code == 401) {
MessageBox.confirm('登录状态已过期,请重新登录', '系统提示', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
if (res.status !== 200) {
Promise.reject('network error');
return;
}
).then(() => {
store.dispatch('LogOut').then(() => {
location.href = '/index';
})
})
// 未设置状态码则默认成功状态
const code = res.data.code;
const msg = res.data.msg;
return Promise.reject()
}
else if (code == 0 || code == 110 || code == 101 || code == 403 || code == 500) {
Message({
message: msg,
type: 'error'
})
return Promise.reject()
}
else {
//返回标准 code/msg/data字段
return res.data;
}
},
if (code == 401) {
MessageBox.confirm('登录状态已过期,请重新登录', '系统提示', {
confirmButtonText: '重新登录',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
store.dispatch('LogOut').then(() => {
location.href = '/index';
})
})
return Promise.reject()
} else if (code == 0 || code == 110 || code == 101 || code == 403 || code == 500) {
Message({
message: msg,
type: 'error'
})
return Promise.reject()
} else {
//返回标准 code/msg/data字段
return res.data;
}
},
error => {
console.log('err' + error)
let { message } = error;
let {
message
} = error;
if (message == "Network Error") {
message = "后端接口连接异常";
}
else if (message.includes("timeout")) {
} else if (message.includes("timeout")) {
message = "系统接口请求超时";
}
else if (message.includes("Request failed with status code")) {
} else if (message.includes("Request failed with status code")) {
message = "系统接口" + message.substr(message.length - 3) + "异常";
}
Message({
@@ -129,10 +125,10 @@ export function post(url, params) {
}
/**
* 提交表单
* @param {*} url
* @param {*} data
*/
* 提交表单
* @param {*} url
* @param {*} data
*/
export function postForm(url, data, config) {
return new Promise((resolve, reject) => {
axios.post(url, data, config).then(res => {

View File

@@ -14,7 +14,7 @@ export function downLoadZip(str, filename) {
method: 'get',
url: str,
responseType: 'blob',
headers: { 'Token': getToken() }
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
resolveBlob(res, mimeMap.zip)
})
@@ -25,7 +25,7 @@ export function downLoadExcel(str, filename) {
method: 'get',
url: url,
responseType: 'blob',
headers: { 'Token': getToken() }
headers: { 'Authorization': 'Bearer ' + getToken() }
}).then(res => {
resolveExcel(res, filename)
})

View File

@@ -273,7 +273,7 @@ export default {
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: getToken() },
headers: { Authorization: 'Bearer ' + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "system/user/importData",
},

View File

@@ -9,7 +9,7 @@
<el-input v-model="form.subject"></el-input>
</el-form-item>
<el-form-item label="邮件内容" prop="content">
<editor v-model="form.content" :min-height="192" />
<editor v-model="form.content" :min-height="192" />
</el-form-item>
<el-form-item label="附件">
@@ -37,7 +37,7 @@ export default {
fileUrl: "",
},
headers: {
Token: "",
Authorization: "Bearer " + getToken(),
},
uploadActionUrl: process.env.VUE_APP_BASE_API + "upload/SaveFile",
rules: {
@@ -55,7 +55,6 @@ export default {
};
},
mounted() {
this.headers.Token = getToken();
},
methods: {
// 表单重置
@@ -106,7 +105,7 @@ export default {
loading.close();
}, 5000);
} else {
console.log('未通过')
console.log("未通过");
//校验不通过
return false;
}