Commit f1ea56408a3e1721f256b8a82941a405918f33c2

Authored by ww
1 parent fbd3f411

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

@@ -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 }