App.vue 924 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <template>
  2. <a-locale-provider :locale="locale">
  3. <div id="app">
  4. <router-view/>
  5. </div>
  6. </a-locale-provider>
  7. </template>
  8. <script>
  9. import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
  10. import { AppDeviceEnquire } from '@/utils/mixin'
  11. export default {
  12. mixins: [AppDeviceEnquire],
  13. data () {
  14. return {
  15. locale: zhCN
  16. }
  17. },
  18. created () {
  19. // 在页面加载时读取sessionStorage
  20. if (sessionStorage.getItem('store')) {
  21. const data = JSON.parse(sessionStorage.getItem('store'))
  22. sessionStorage.setItem('Access-Token', data.user.token)
  23. this.$store.replaceState(Object.assign({}, this.$store.state, data))
  24. }
  25. // 在页面刷新时将store保存到sessionStorage里
  26. window.addEventListener('beforeunload', () => {
  27. sessionStorage.setItem('store', JSON.stringify(this.$store.state))
  28. })
  29. }
  30. }
  31. </script>
  32. <style>
  33. #app {
  34. height: 100%;
  35. }
  36. </style>