Commit f1ea56408a3e1721f256b8a82941a405918f33c2

Authored by ww
1 parent fbd3f411

fix(request): 请求权限验证失败问题

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