1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| import { validatenull } from '@/utils/validate'
| import { getStore } from '@/utils/store.js'
|
| export default {
| data() {
| return {
| //刷新token锁
| refreshLock: false,
| //刷新token的时间
| refreshTime: '',
| }
| },
| created() {
| //实时检测刷新token
| //this.refreshToken();
| },
| methods: {
| //实时检测刷新token
| refreshToken() {
| this.refreshTime = setInterval(() => {
| const token =
| getStore({
| name: 'token',
| debug: true,
| }) || {}
| let date1 = this.$dayjs(token.datetime)
| let date2 = this.$dayjs()
| const date = date2.diff(date1, 'seconds')
| if (validatenull(date)) return
| if (date >= this.website.tokenTime && !this.refreshLock) {
| this.refreshLock = true
| this.$store
| .dispatch('RefreshToken')
| .then(() => {
| this.refreshLock = false
| })
| .catch(err => {
| console.log(err)
| this.refreshLock = false
| })
| }
| }, 1000)
| },
| },
| }
|
|