NEZ-1350 fix:当用户另外开启标签时,不用再次登陆

This commit is contained in:
zhangyu
2021-11-26 18:47:00 +08:00
parent 8a4e97ed09
commit 38d012dfb3
14 changed files with 37 additions and 22 deletions

View File

@@ -26,7 +26,7 @@ export default {
this.$axios.defaults.baseURL = result.body.baseUrl this.$axios.defaults.baseURL = result.body.baseUrl
const version = result.body.version const version = result.body.version
if (version !== localStorage.getItem('nz-version')) { if (version !== localStorage.getItem('nz-version')) {
sessionStorage.clear() localStorage.clear()
localStorage.clear() localStorage.clear()
localStorage.setItem('nz-version', version) localStorage.setItem('nz-version', version)
herfSpiltArr[2] = herfSpiltArr[2] + '?t=' + new Date().getTime() herfSpiltArr[2] = herfSpiltArr[2] + '?t=' + new Date().getTime()

View File

@@ -194,7 +194,7 @@ export default {
}) })
this.term.open(terminalContainer) this.term.open(terminalContainer)
this.term.focus() this.term.focus()
const token = sessionStorage.getItem('nz-token') const token = localStorage.getItem('nz-token')
let baseUrl = JSON.parse(JSON.stringify(this.$axios.defaults.baseURL)) let baseUrl = JSON.parse(JSON.stringify(this.$axios.defaults.baseURL))
const protocol = window.location.protocol.indexOf('https') > -1 ? 'wss' : 'ws' const protocol = window.location.protocol.indexOf('https') > -1 ? 'wss' : 'ws'
if (baseUrl.startsWith('/')) { if (baseUrl.startsWith('/')) {

View File

@@ -99,7 +99,7 @@ export default {
}) })
this.terminal.open(document.getElementById(this.obj.uuid)) this.terminal.open(document.getElementById(this.obj.uuid))
const token = sessionStorage.getItem('nz-token') const token = localStorage.getItem('nz-token')
let baseUrl = this.$axios.defaults.baseURL let baseUrl = this.$axios.defaults.baseURL
if (baseUrl.startsWith('/')) { if (baseUrl.startsWith('/')) {
baseUrl = 'ws://' + window.location.host + baseUrl baseUrl = 'ws://' + window.location.host + baseUrl

View File

@@ -167,7 +167,7 @@ export default {
localStorage.setItem('nz-language-list', JSON.stringify(langList)) localStorage.setItem('nz-language-list', JSON.stringify(langList))
} }
}) })
sessionStorage.setItem('nz-token', res.data.authToken) localStorage.setItem('nz-token', res.data.authToken)
if (res.data.authFlag === 1) { if (res.data.authFlag === 1) {
if (res.data.authBind === 0) { if (res.data.authBind === 0) {
this.verifyShow = true this.verifyShow = true
@@ -189,7 +189,7 @@ export default {
}) })
} }
} else { } else {
sessionStorage.setItem('nz-username', this.loginData.username) localStorage.setItem('nz-username', this.loginData.username)
localStorage.setItem('nz-username', this.loginData.username) localStorage.setItem('nz-username', this.loginData.username)
localStorage.setItem('nz-prometheus-federation-enabled', res.data.prometheusFederationEnabled) localStorage.setItem('nz-prometheus-federation-enabled', res.data.prometheusFederationEnabled)
localStorage.setItem('nz-language', this.lang) localStorage.setItem('nz-language', this.lang)
@@ -210,7 +210,7 @@ export default {
} }
this.$post('/mfa/verify', params).then(res => { this.$post('/mfa/verify', params).then(res => {
if (res.code === 200) { if (res.code === 200) {
sessionStorage.setItem('nz-username', this.loginData.username) localStorage.setItem('nz-username', this.loginData.username)
localStorage.setItem('nz-username', this.loginData.username) localStorage.setItem('nz-username', this.loginData.username)
localStorage.setItem('nz-prometheus-federation-enabled', res.data.prometheusFederationEnabled) localStorage.setItem('nz-prometheus-federation-enabled', res.data.prometheusFederationEnabled)
localStorage.setItem('nz-language', this.lang) localStorage.setItem('nz-language', this.lang)

View File

@@ -168,7 +168,7 @@ export default {
initEvent () { initEvent () {
bus.$on('login', () => { bus.$on('login', () => {
this.username = sessionStorage.getItem('nz-username') this.username = localStorage.getItem('nz-username')
// this.refreshLang() // this.refreshLang()
}) })
if (window.history && window.history.pushState) { if (window.history && window.history.pushState) {
@@ -181,14 +181,20 @@ export default {
}, },
shrink () { shrink () {
this.$store.commit('isShrink') this.$store.commit('isShrink')
},
testUser () {
if (this.username != localStorage.getItem('nz-username')) {
window.location.reload()
}
} }
}, },
mounted () { mounted () {
this.$i18n.locale = this.language this.$i18n.locale = this.language
if (sessionStorage.getItem('nz-token')) { if (localStorage.getItem('nz-token')) {
this.initEvent() this.initEvent()
this.getLinkData() this.getLinkData()
} }
window.addEventListener('visibilitychange', this.testUser)
}, },
computed: { computed: {
linkData () { linkData () {

View File

@@ -190,7 +190,7 @@ export default {
toDownloadAgent: function () { toDownloadAgent: function () {
this.getAllDc() this.getAllDc()
this.showAgentDownload = true this.showAgentDownload = true
this.token = sessionStorage.getItem('nz-token') this.token = localStorage.getItem('nz-token')
axios.get('/healthy').then(response => { axios.get('/healthy').then(response => {
const url = response.request.responseURL const url = response.request.responseURL
this.ipAddr = url.split('/healthy')[0] this.ipAddr = url.split('/healthy')[0]

View File

@@ -63,7 +63,7 @@ export default {
newPin: '', newPin: '',
confirmPin: '' confirmPin: ''
}, },
sysUser: sessionStorage.getItem('nz-username'), sysUser: localStorage.getItem('nz-username'),
rules: { rules: {
pin: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], pin: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }],
newPin: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, { validator: validatePass, trigger: 'blur' }], newPin: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, { validator: validatePass, trigger: 'blur' }],
@@ -73,7 +73,7 @@ export default {
} }
}, },
created () { created () {
this.user.username = this.curUser && this.curUser != '' ? this.curUser : sessionStorage.getItem('nz-username') this.user.username = this.curUser && this.curUser != '' ? this.curUser : localStorage.getItem('nz-username')
}, },
methods: { methods: {
dialogOpened: function () { dialogOpened: function () {

View File

@@ -60,7 +60,7 @@ export default {
url: 'sys/log', url: 'sys/log',
tableId: 'operationLogTable', // 需要分页的table的id用于记录每页数量, tableId: 'operationLogTable', // 需要分页的table的id用于记录每页数量,
mainTableHeight: this.$tableHeight.profile, mainTableHeight: this.$tableHeight.profile,
username: sessionStorage.getItem('nz-username'), username: localStorage.getItem('nz-username'),
layout: [], layout: [],
searchMsg: { // 给搜索框子组件传递的信息 searchMsg: { // 给搜索框子组件传递的信息
searchLabelList: [ searchLabelList: [

View File

@@ -151,7 +151,7 @@ export default {
}, },
data () { data () {
return { return {
username: sessionStorage.getItem('nz-username'), username: localStorage.getItem('nz-username'),
mfaEnable: localStorage.getItem('nz-mfa-enable'), mfaEnable: localStorage.getItem('nz-mfa-enable'),
authBindShow: false, authBindShow: false,
fileShow: false, fileShow: false,

View File

@@ -249,7 +249,7 @@ export default {
queryTypeInfos () { queryTypeInfos () {
this.noStyleSuggestions = {} this.noStyleSuggestions = {}
if (this.historyParam && this.historyParam.useHistory) { if (this.historyParam && this.historyParam.useHistory) {
const username = sessionStorage.getItem('nz-username') const username = localStorage.getItem('nz-username')
const historyJson = localStorage.getItem(this.historyParam.key) const historyJson = localStorage.getItem(this.historyParam.key)
if (historyJson && historyJson !== 'undefined') { if (historyJson && historyJson !== 'undefined') {
const historyObj = JSON.parse(historyJson) const historyObj = JSON.parse(historyJson)

View File

@@ -809,7 +809,7 @@ export default {
const expressions = this.expressions.filter(item => { const expressions = this.expressions.filter(item => {
return item && item != '' return item && item != ''
}) })
const username = sessionStorage.getItem('nz-username') const username = localStorage.getItem('nz-username')
if (historyJson && historyJson != 'undefined' && historyJson != '') { if (historyJson && historyJson != 'undefined' && historyJson != '') {
const historyObj = JSON.parse(historyJson) const historyObj = JSON.parse(historyJson)
let history = historyObj[username] let history = historyObj[username]

View File

@@ -1,7 +1,7 @@
import axios from 'axios' import axios from 'axios'
axios.interceptors.request.use(config => { axios.interceptors.request.use(config => {
const token = sessionStorage.getItem('nz-token') const token = localStorage.getItem('nz-token')
if (token) { if (token) {
config.headers.Authorization = token // 请求头token config.headers.Authorization = token // 请求头token
} }

View File

@@ -20,7 +20,16 @@ router.beforeEach((to, from, next) => {
if (res.inited === 0) { if (res.inited === 0) {
next({ path: '/setup' }) next({ path: '/setup' })
} else { } else {
next() if (localStorage.getItem('nz-token')) {
next({
path: 'overview',
query: {
t: +new Date()
}
})
} else {
next()
}
} }
} }
}) })
@@ -33,7 +42,7 @@ router.beforeEach((to, from, next) => {
}) })
} }
}) })
} else if (sessionStorage.getItem('nz-token')) { } else if (localStorage.getItem('nz-token')) {
const i18nRequest = new Promise(resolve => { const i18nRequest = new Promise(resolve => {
// 从localStorage加载i18n // 从localStorage加载i18n
if (!store.getters.i18nIsReady) { if (!store.getters.i18nIsReady) {
@@ -57,7 +66,7 @@ router.beforeEach((to, from, next) => {
const permissionRequest = new Promise(resolve => { const permissionRequest = new Promise(resolve => {
if (store.getters.menuList.length === 0) { if (store.getters.menuList.length === 0) {
Vue.http.get(configUrl).then(config => { Vue.http.get(configUrl).then(config => {
post(config.body.baseUrl + 'sys/user/permissions', { token: sessionStorage.getItem('nz-token') }).then(res => { post(config.body.baseUrl + 'sys/user/permissions', { token: localStorage.getItem('nz-token') }).then(res => {
store.commit('setMenuList', sortByOrderNum(res.data.menus)) store.commit('setMenuList', sortByOrderNum(res.data.menus))
store.commit('setButtonList', res.data.buttons) store.commit('setButtonList', res.data.buttons)
store.commit('setRoleList', res.data.roles) store.commit('setRoleList', res.data.roles)

View File

@@ -46,7 +46,7 @@ const user = {
}, },
actions: { actions: {
loginSuccess (store, res) { loginSuccess (store, res) {
sessionStorage.setItem('nz-token', res.data.token) localStorage.setItem('nz-token', res.data.token)
localStorage.setItem('nz-sys-name', res.data.systemName) localStorage.setItem('nz-sys-name', res.data.systemName)
if (res.systemLogo) { if (res.systemLogo) {
localStorage.setItem('nz-sys-logo', res.data.systemLogo) localStorage.setItem('nz-sys-logo', res.data.systemLogo)
@@ -84,9 +84,9 @@ const user = {
}) })
}, },
logoutSuccess (store, res) { logoutSuccess (store, res) {
sessionStorage.removeItem('nz-username')
localStorage.removeItem('nz-username') localStorage.removeItem('nz-username')
sessionStorage.removeItem('nz-token') localStorage.removeItem('nz-username')
localStorage.removeItem('nz-token')
} }
} }
} }