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