Showing
1 changed file
with
4 additions
and
3 deletions
@@ -79,14 +79,14 @@ export class VAxios { | @@ -79,14 +79,14 @@ export class VAxios { | ||
79 | */ | 79 | */ |
80 | private refreshTokenBeforeReq(doRefreshTokenApi: () => Promise<unknown>): Promise<unknown> { | 80 | private refreshTokenBeforeReq(doRefreshTokenApi: () => Promise<unknown>): Promise<unknown> { |
81 | // 创建一个未完成的promise,把改变状态的resolve方法交给请求token结束后执行 | 81 | // 创建一个未完成的promise,把改变状态的resolve方法交给请求token结束后执行 |
82 | - const promise = new Promise((resolve) => { | 82 | + const promise = new Promise((resolve) => { |
83 | // 等待队列放的是一个回调函数,来延迟resolve的执行,以此控制promise状态的改变 | 83 | // 等待队列放的是一个回调函数,来延迟resolve的执行,以此控制promise状态的改变 |
84 | this.waitingQueue.push(() => resolve(null)); | 84 | this.waitingQueue.push(() => resolve(null)); |
85 | }); | 85 | }); |
86 | if (!this.refreshing) { | 86 | if (!this.refreshing) { |
87 | this.refreshing = true; | 87 | this.refreshing = true; |
88 | // 模拟请求刷新Token接口,当接口返回数据时执行then方法 TODO 添加catch捕获异常 | 88 | // 模拟请求刷新Token接口,当接口返回数据时执行then方法 TODO 添加catch捕获异常 |
89 | - doRefreshTokenApi().then(() => { | 89 | + doRefreshTokenApi().then(() => { |
90 | this.refreshing = false; | 90 | this.refreshing = false; |
91 | this.waitingQueue.forEach((cb) => cb()); | 91 | this.waitingQueue.forEach((cb) => cb()); |
92 | this.waitingQueue.length = 0; | 92 | this.waitingQueue.length = 0; |
@@ -118,7 +118,8 @@ export class VAxios { | @@ -118,7 +118,8 @@ export class VAxios { | ||
118 | if (userStore && userStore.jwtToken) { | 118 | if (userStore && userStore.jwtToken) { |
119 | try { | 119 | try { |
120 | const res = jwt_decode(userStore.jwtToken) as JwtModel; | 120 | const res = jwt_decode(userStore.jwtToken) as JwtModel; |
121 | - const currentTime = new Date().getTime() / 1000; | 121 | + console.log(res) |
122 | + const currentTime = (new Date().getTime() - (config.timeout || 0)) / 1000; | ||
122 | if (currentTime >= res.exp && this.isNeedTokenURL(config.url!)) { | 123 | if (currentTime >= res.exp && this.isNeedTokenURL(config.url!)) { |
123 | await this.refreshTokenBeforeReq(userStore.doRefresh); | 124 | await this.refreshTokenBeforeReq(userStore.doRefresh); |
124 | } | 125 | } |