diff --git a/nezha-fronted/src/App.vue b/nezha-fronted/src/App.vue index a0d76882b..620ebc993 100644 --- a/nezha-fronted/src/App.vue +++ b/nezha-fronted/src/App.vue @@ -26,7 +26,7 @@ export default { this.$axios.defaults.baseURL = result.body.baseUrl const version = result.body.version if (version !== localStorage.getItem('nz-version')) { - sessionStorage.clear() + localStorage.clear() localStorage.clear() localStorage.setItem('nz-version', version) herfSpiltArr[2] = herfSpiltArr[2] + '?t=' + new Date().getTime() diff --git a/nezha-fronted/src/components/cli/console.vue b/nezha-fronted/src/components/cli/console.vue index e2dfefe9f..f72838b7c 100644 --- a/nezha-fronted/src/components/cli/console.vue +++ b/nezha-fronted/src/components/cli/console.vue @@ -194,7 +194,7 @@ export default { }) this.term.open(terminalContainer) 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)) const protocol = window.location.protocol.indexOf('https') > -1 ? 'wss' : 'ws' if (baseUrl.startsWith('/')) { diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue index ae2d0b3a7..2c4dfc142 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/terminalLogMonitorTab.vue @@ -99,7 +99,7 @@ export default { }) 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 if (baseUrl.startsWith('/')) { baseUrl = 'ws://' + window.location.host + baseUrl diff --git a/nezha-fronted/src/components/common/login.vue b/nezha-fronted/src/components/common/login.vue index 889db0f6c..15fb14a23 100644 --- a/nezha-fronted/src/components/common/login.vue +++ b/nezha-fronted/src/components/common/login.vue @@ -167,7 +167,7 @@ export default { 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.authBind === 0) { this.verifyShow = true @@ -189,7 +189,7 @@ export default { }) } } 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-prometheus-federation-enabled', res.data.prometheusFederationEnabled) localStorage.setItem('nz-language', this.lang) @@ -210,7 +210,7 @@ export default { } this.$post('/mfa/verify', params).then(res => { 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-prometheus-federation-enabled', res.data.prometheusFederationEnabled) localStorage.setItem('nz-language', this.lang) diff --git a/nezha-fronted/src/components/layout/header.vue b/nezha-fronted/src/components/layout/header.vue index 726ec485e..a66ef0647 100644 --- a/nezha-fronted/src/components/layout/header.vue +++ b/nezha-fronted/src/components/layout/header.vue @@ -168,7 +168,7 @@ export default { initEvent () { bus.$on('login', () => { - this.username = sessionStorage.getItem('nz-username') + this.username = localStorage.getItem('nz-username') // this.refreshLang() }) if (window.history && window.history.pushState) { @@ -181,14 +181,20 @@ export default { }, shrink () { this.$store.commit('isShrink') + }, + testUser () { + if (this.username != localStorage.getItem('nz-username')) { + window.location.reload() + } } }, mounted () { this.$i18n.locale = this.language - if (sessionStorage.getItem('nz-token')) { + if (localStorage.getItem('nz-token')) { this.initEvent() this.getLinkData() } + window.addEventListener('visibilitychange', this.testUser) }, computed: { linkData () { diff --git a/nezha-fronted/src/components/page/config/agent.vue b/nezha-fronted/src/components/page/config/agent.vue index 05eaf4284..0ad7896c3 100644 --- a/nezha-fronted/src/components/page/config/agent.vue +++ b/nezha-fronted/src/components/page/config/agent.vue @@ -190,7 +190,7 @@ export default { toDownloadAgent: function () { this.getAllDc() this.showAgentDownload = true - this.token = sessionStorage.getItem('nz-token') + this.token = localStorage.getItem('nz-token') axios.get('/healthy').then(response => { const url = response.request.responseURL this.ipAddr = url.split('/healthy')[0] diff --git a/nezha-fronted/src/components/page/config/changePin.vue b/nezha-fronted/src/components/page/config/changePin.vue index ea8530fb6..a7694c6d8 100644 --- a/nezha-fronted/src/components/page/config/changePin.vue +++ b/nezha-fronted/src/components/page/config/changePin.vue @@ -63,7 +63,7 @@ export default { newPin: '', confirmPin: '' }, - sysUser: sessionStorage.getItem('nz-username'), + sysUser: localStorage.getItem('nz-username'), rules: { pin: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }], newPin: [{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, { validator: validatePass, trigger: 'blur' }], @@ -73,7 +73,7 @@ export default { } }, 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: { dialogOpened: function () { diff --git a/nezha-fronted/src/components/page/config/operationRecord.vue b/nezha-fronted/src/components/page/config/operationRecord.vue index b10cbd7d3..2254ab02d 100644 --- a/nezha-fronted/src/components/page/config/operationRecord.vue +++ b/nezha-fronted/src/components/page/config/operationRecord.vue @@ -60,7 +60,7 @@ export default { url: 'sys/log', tableId: 'operationLogTable', // 需要分页的table的id,用于记录每页数量, mainTableHeight: this.$tableHeight.profile, - username: sessionStorage.getItem('nz-username'), + username: localStorage.getItem('nz-username'), layout: [], searchMsg: { // 给搜索框子组件传递的信息 searchLabelList: [ diff --git a/nezha-fronted/src/components/page/config/profile.vue b/nezha-fronted/src/components/page/config/profile.vue index df583e174..606e6f25b 100644 --- a/nezha-fronted/src/components/page/config/profile.vue +++ b/nezha-fronted/src/components/page/config/profile.vue @@ -151,7 +151,7 @@ export default { }, data () { return { - username: sessionStorage.getItem('nz-username'), + username: localStorage.getItem('nz-username'), mfaEnable: localStorage.getItem('nz-mfa-enable'), authBindShow: false, fileShow: false, diff --git a/nezha-fronted/src/components/page/dashboard/explore/editor.vue b/nezha-fronted/src/components/page/dashboard/explore/editor.vue index 705e22814..c74fea88e 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/editor.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/editor.vue @@ -249,7 +249,7 @@ export default { queryTypeInfos () { this.noStyleSuggestions = {} 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) if (historyJson && historyJson !== 'undefined') { const historyObj = JSON.parse(historyJson) diff --git a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue index 0ec6f54c3..34b0fddd0 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue @@ -809,7 +809,7 @@ export default { const expressions = this.expressions.filter(item => { return item && item != '' }) - const username = sessionStorage.getItem('nz-username') + const username = localStorage.getItem('nz-username') if (historyJson && historyJson != 'undefined' && historyJson != '') { const historyObj = JSON.parse(historyJson) let history = historyObj[username] diff --git a/nezha-fronted/src/http.js b/nezha-fronted/src/http.js index eee5f2f6e..b9bf40742 100644 --- a/nezha-fronted/src/http.js +++ b/nezha-fronted/src/http.js @@ -1,7 +1,7 @@ import axios from 'axios' axios.interceptors.request.use(config => { - const token = sessionStorage.getItem('nz-token') + const token = localStorage.getItem('nz-token') if (token) { config.headers.Authorization = token // 请求头token } diff --git a/nezha-fronted/src/permission.js b/nezha-fronted/src/permission.js index 8effb545b..201a835a2 100644 --- a/nezha-fronted/src/permission.js +++ b/nezha-fronted/src/permission.js @@ -20,7 +20,16 @@ router.beforeEach((to, from, next) => { if (res.inited === 0) { next({ path: '/setup' }) } 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 => { // 从localStorage加载i18n if (!store.getters.i18nIsReady) { @@ -57,7 +66,7 @@ router.beforeEach((to, from, next) => { const permissionRequest = new Promise(resolve => { if (store.getters.menuList.length === 0) { 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('setButtonList', res.data.buttons) store.commit('setRoleList', res.data.roles) diff --git a/nezha-fronted/src/store/user.js b/nezha-fronted/src/store/user.js index 0cabd3dc4..5f83b36a3 100644 --- a/nezha-fronted/src/store/user.js +++ b/nezha-fronted/src/store/user.js @@ -46,7 +46,7 @@ const user = { }, actions: { 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) if (res.systemLogo) { localStorage.setItem('nz-sys-logo', res.data.systemLogo) @@ -84,9 +84,9 @@ const user = { }) }, logoutSuccess (store, res) { - sessionStorage.removeItem('nz-username') localStorage.removeItem('nz-username') - sessionStorage.removeItem('nz-token') + localStorage.removeItem('nz-username') + localStorage.removeItem('nz-token') } } }