Browse Source

不同项目同时登陆时,会导致token失效

master
han\hanst 3 months ago
parent
commit
8b42573adb
  1. 2
      src/App.vue
  2. 6
      src/router/index.js
  3. 18
      src/utils/httpRequest.js
  4. 2
      src/utils/index.js
  5. 2
      src/views/common/login.vue
  6. 2
      src/views/modules/common/excelUpload.vue
  7. 2
      src/views/modules/common/file-list-view.vue
  8. 2
      src/views/modules/common/file-list.vue
  9. 2
      src/views/modules/common/file-upload.vue
  10. 2
      src/views/modules/common/upload.vue
  11. 2
      src/views/modules/oss/oss-upload.vue
  12. 2
      src/views/modules/oss/oss.vue

2
src/App.vue

@ -58,7 +58,7 @@
const pageActive = sessionStorage.getItem('page_active') const pageActive = sessionStorage.getItem('page_active')
// 100msfalse退 - rqrq // 100msfalse退 - rqrq
if (pageActive === 'false') { if (pageActive === 'false') {
const token = this.$cookie.get('token')
const token = this.$cookie.get('token_wms')
if (token && token.trim()) { if (token && token.trim()) {
// 使 sendBeacon 退 - rqrq // 使 sendBeacon 退 - rqrq
const url = this.$http.adornUrl('/sys/logout') const url = this.$http.adornUrl('/sys/logout')

6
src/router/index.js

@ -52,7 +52,7 @@ const mainRoutes = {
{ path: '/customer_report_show', component: _import('modules/report/customer_report_show'), name: 'report', meta: { title: '自定义报表展示' } },//2022-04-20 自定义报表路径 { path: '/customer_report_show', component: _import('modules/report/customer_report_show'), name: 'report', meta: { title: '自定义报表展示' } },//2022-04-20 自定义报表路径
], ],
beforeEnter (to, from, next) { beforeEnter (to, from, next) {
let token = Vue.cookie.get('token')
let token = Vue.cookie.get('token_wms')
if (!token || !/\S/.test(token)) { if (!token || !/\S/.test(token)) {
clearLoginInfo() clearLoginInfo()
next({ name: 'login' }) next({ name: 'login' })
@ -72,14 +72,14 @@ const router = new Router({
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
// 检查登录状态(除了登录页和404页) // 检查登录状态(除了登录页和404页)
if (to.name !== 'login' && to.name !== '404' && !to.path.startsWith('/dashboard-')) { if (to.name !== 'login' && to.name !== '404' && !to.path.startsWith('/dashboard-')) {
let token = Vue.cookie.get('token')
let token = Vue.cookie.get('token_wms')
if (!token || !/\S/.test(token)) { if (!token || !/\S/.test(token)) {
clearLoginInfo() clearLoginInfo()
next({ name: 'login' }) next({ name: 'login' })
return return
} }
} }
// 添加动态(菜单)路由 // 添加动态(菜单)路由
// 1. 已经添加 or 全局路由, 直接访问 // 1. 已经添加 or 全局路由, 直接访问
// 2. 获取菜单列表, 添加并保存本地存储 // 2. 获取菜单列表, 添加并保存本地存储

18
src/utils/httpRequest.js

@ -19,7 +19,7 @@ const http = axios.create({
* 请求拦截 * 请求拦截
*/ */
http.interceptors.request.use(config => { http.interceptors.request.use(config => {
config.headers['token'] =Vue.cookie.get('token') // 请求头带上token
config.headers['token'] =Vue.cookie.get('token_wms') // 请求头带上token
return config return config
}, error => { }, error => {
return Promise.reject(error) return Promise.reject(error)
@ -44,7 +44,7 @@ http.interceptors.response.use(response => {
router.push({ name: 'login' }) router.push({ name: 'login' })
return Promise.reject(error) return Promise.reject(error)
} }
// 检查响应体中的code字段 // 检查响应体中的code字段
if (error.response.data && error.response.data.code === 401) { if (error.response.data && error.response.data.code === 401) {
clearLoginInfo() clearLoginInfo()
@ -55,7 +55,7 @@ http.interceptors.response.use(response => {
// 请求已发出但没有收到响应(网络错误) // 请求已发出但没有收到响应(网络错误)
console.error('网络请求失败:', error.message) console.error('网络请求失败:', error.message)
} }
return Promise.reject(error) return Promise.reject(error)
}) })
@ -113,7 +113,7 @@ const instance = axios.create({
* 请求拦截 * 请求拦截
*/ */
instance.interceptors.request.use(config => { instance.interceptors.request.use(config => {
config.headers['token'] =Vue.cookie.get('token') // 请求头带上token
config.headers['token'] =Vue.cookie.get('token_wms') // 请求头带上token
return config return config
}, error => { }, error => {
return Promise.reject(error) return Promise.reject(error)
@ -138,7 +138,7 @@ instance.interceptors.response.use(response => {
router.push({ name: 'login' }) router.push({ name: 'login' })
return Promise.reject(error) return Promise.reject(error)
} }
// 检查响应体中的code字段 // 检查响应体中的code字段
if (error.response.data && error.response.data.code === 401) { if (error.response.data && error.response.data.code === 401) {
clearLoginInfo() clearLoginInfo()
@ -149,7 +149,7 @@ instance.interceptors.response.use(response => {
// 请求已发出但没有收到响应(网络错误) // 请求已发出但没有收到响应(网络错误)
console.error('网络请求失败:', error.message) console.error('网络请求失败:', error.message)
} }
return Promise.reject(error) return Promise.reject(error)
}) })
@ -169,7 +169,7 @@ const instance2 = axios.create({
* 请求拦截 * 请求拦截
*/ */
instance2.interceptors.request.use(config => { instance2.interceptors.request.use(config => {
config.headers['token'] = Vue.cookie.get('token') // 请求头带上token
config.headers['token'] = Vue.cookie.get('token_wms') // 请求头带上token
return config return config
}, error => { }, error => {
return Promise.reject(error) return Promise.reject(error)
@ -194,7 +194,7 @@ instance2.interceptors.response.use(response => {
router.push({name: 'login'}) router.push({name: 'login'})
return Promise.reject(error) return Promise.reject(error)
} }
// 检查响应体中的code字段(blob响应需要特殊处理) // 检查响应体中的code字段(blob响应需要特殊处理)
if (error.response.data) { if (error.response.data) {
// 尝试读取blob中的JSON数据 // 尝试读取blob中的JSON数据
@ -218,7 +218,7 @@ instance2.interceptors.response.use(response => {
// 请求已发出但没有收到响应(网络错误) // 请求已发出但没有收到响应(网络错误)
console.error('网络请求失败:', error.message) console.error('网络请求失败:', error.message)
} }
return Promise.reject(error) return Promise.reject(error)
}) })

2
src/utils/index.js

@ -52,7 +52,7 @@ export function treeDataTranslate (data, id = 'id', pid = 'parentId') {
* 清除登录信息 * 清除登录信息
*/ */
export function clearLoginInfo () { export function clearLoginInfo () {
Vue.cookie.delete('token')
Vue.cookie.delete('token_wms')
store.commit('resetStore') store.commit('resetStore')
router.options.isAddDynamicMenuRoutes = false router.options.isAddDynamicMenuRoutes = false
} }

2
src/views/common/login.vue

@ -147,7 +147,7 @@
}).then(({data}) => { }).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
// Cookie8token - rqrq // Cookie8token - rqrq
this.$cookie.set('token', data.token, { expires: '8h' })
this.$cookie.set('token_wms', data.token, { expires: '8h' })
this.$router.replace({ name: 'home' }) this.$router.replace({ name: 'home' })
this.$i18n.locale=data.language this.$i18n.locale=data.language
localStorage.setItem('locale', data.language) localStorage.setItem('locale', data.language)

2
src/views/modules/common/excelUpload.vue

@ -26,7 +26,7 @@
}, },
methods: { methods: {
init (id) { init (id) {
this.url = this.$http.adornUrl(`/file/excel/upload?token=${this.$cookie.get('token')}`)
this.url = this.$http.adornUrl(`/file/excel/upload?token=${this.$cookie.get('token_wms')}`)
this.visible = true this.visible = true
}, },
// //

2
src/views/modules/common/file-list-view.vue

@ -134,7 +134,7 @@ export default {
responseType: 'blob', responseType: 'blob',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': Vue.cookie.get('token')
'token': Vue.cookie.get('token_wms')
} }
}).then(({data}) => { }).then(({data}) => {
// //

2
src/views/modules/common/file-list.vue

@ -150,7 +150,7 @@ export default {
responseType: 'blob', responseType: 'blob',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': Vue.cookie.get('token')
'token': Vue.cookie.get('token_wms')
} }
}).then(({data}) => { }).then(({data}) => {
// //

2
src/views/modules/common/file-upload.vue

@ -43,7 +43,7 @@ export default {
}, },
methods: { methods: {
init(val) { init(val) {
this.url = this.$http.adornUrl(`/ftp/file/upload?token=${this.$cookie.get('token')}&folder=` + this.folder)
this.url = this.$http.adornUrl(`/ftp/file/upload?token=${this.$cookie.get('token_wms')}&folder=` + this.folder)
this.visible = true this.visible = true
this.fileMappingDto = val this.fileMappingDto = val
}, },

2
src/views/modules/common/upload.vue

@ -27,7 +27,7 @@
}, },
methods: { methods: {
init(id) { init(id) {
this.url = this.$http.adornUrl(`/ftp/file/upload?token=${this.$cookie.get('token')}&folder=` + this.folder)
this.url = this.$http.adornUrl(`/ftp/file/upload?token=${this.$cookie.get('token_wms')}&folder=` + this.folder)
this.visible = true this.visible = true
}, },
// //

2
src/views/modules/oss/oss-upload.vue

@ -33,7 +33,7 @@
}, },
methods: { methods: {
init (id) { init (id) {
this.url = this.$http.adornUrl(`/ftp/file/upload?token=${this.$cookie.get('token')}&folder=`+this.folder)
this.url = this.$http.adornUrl(`/ftp/file/upload?token=${this.$cookie.get('token_wms')}&folder=`+this.folder)
console.log(this.url) console.log(this.url)
this.visible = true this.visible = true
}, },

2
src/views/modules/oss/oss.vue

@ -291,7 +291,7 @@ export default {
responseType: 'blob', responseType: 'blob',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'token': Vue.cookie.get('token')
'token': Vue.cookie.get('token_wms')
} }
}).then(({data}) => { }).then(({data}) => {
// //

Loading…
Cancel
Save