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);
| },
| },
| };
|
|