This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
cyber-narrator-cn-ui/src/App.vue
2022-10-07 21:04:08 +08:00

47 lines
1.2 KiB
Vue

<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
import { storageKey } from '@/utils/constants'
export default {
name: 'App',
mounted () {
// 浏览器控制按钮前进后退触发函数
window.addEventListener('popstate', this.popstate, false)
},
unmounted () {
window.removeEventListener('popstate', this.popstate, false)
},
methods: {
popstate () {
const historyJSON = sessionStorage.getItem(storageKey.history)
if (history) {
const history = JSON.parse(historyJSON)
if (history.index > -1) {
history.index--
} else {
history.index = history.history.length - 3
}
sessionStorage.setItem(storageKey.history, JSON.stringify(history))
this.$router.push({
path: history.history[history.index].path,
query: history.history[history.index].query
})
}
}
},
setup () {
// 处理刷新后 $dayJs的时区变为默认的问题
const timezone = localStorage.getItem(storageKey.sysTimezone) || ''
if (timezone) {
window.$dayJs.tz.setDefault(timezone)
} else {
window.$dayJs.tz.setDefault()
}
}
}
</script>