complex-request
Advanced tools
+3
-0
| ### ToDo | ||
| - 刷新Token实现 | ||
| ### 0.6.2 | ||
| - 基于AI优化代码 | ||
| ### 0.6.1 | ||
@@ -5,0 +8,0 @@ - 稳定版 |
+2
-2
| { | ||
| "name": "complex-request", | ||
| "version": "0.6.1", | ||
| "version": "0.6.2", | ||
| "description": "a complex request", | ||
@@ -11,3 +11,3 @@ "main": "index.ts", | ||
| "dependencies": { | ||
| "complex-plugin": "4.8.1 - 4.8.99" | ||
| "complex-plugin": "4.8.2 - 4.8.99" | ||
| }, | ||
@@ -14,0 +14,0 @@ "devDependencies": { |
+21
-41
@@ -34,3 +34,3 @@ import { _Data, jsonToForm } from "complex-utils" | ||
| const defaultFormatUrlWithBaseUrl = function(this: BaseRequest, url: string) { | ||
| if (url.indexOf('https://') !== 0 && url.indexOf('http://') !== 0) { | ||
| if (!url.startsWith('https://') && !url.startsWith('http://')) { | ||
| // 当前URL不以http/https开始,则认为此URL需要添加默认前缀 | ||
@@ -64,3 +64,3 @@ url = this.baseUrl + url | ||
| abstract class BaseRequest<R = Record<PropertyKey, unknown>, L = Record<PropertyKey, unknown>> extends _Data{ | ||
| abstract class BaseRequest<R = Record<PropertyKey, unknown>, L = Record<PropertyKey, unknown>> extends _Data { | ||
| static $name = 'BaseRequest' | ||
@@ -211,13 +211,3 @@ static $formatConfig = { name: 'Request:BaseRequest', level: 5, recommend: false } | ||
| // 此处不应判断是否为重复操作 | ||
| return new Promise((resolve, reject) => { | ||
| this.rule.login('token').then(() => { | ||
| this._request(requestConfig, 'login').then(res => { | ||
| resolve(res) | ||
| }).catch(err => { | ||
| reject(err) | ||
| }) | ||
| }).catch(err => { | ||
| reject(err) | ||
| }) | ||
| }) | ||
| return this._handleTokenLogin(requestConfig) | ||
| } else { | ||
@@ -230,3 +220,13 @@ const msg = `${res.prop}对应的Token规则不存在!` | ||
| } | ||
| return this._handleRequest(requestConfig, trigger) | ||
| } | ||
| private _handleTokenLogin(requestConfig: RequestConfig<R, L>): Promise<responseType> { | ||
| return new Promise((resolve, reject) => { | ||
| this.rule.login('token').then(() => { | ||
| this._request(requestConfig, 'login').then(resolve).catch(reject) | ||
| }).catch(reject) | ||
| }) | ||
| } | ||
| private _handleRequest(requestConfig: RequestConfig<R, L>, trigger?: requestTrigger): Promise<responseType> { | ||
| return new Promise((resolve, reject) => { | ||
| this.$request(requestConfig, trigger).then(response => { | ||
@@ -247,10 +247,6 @@ if (requestConfig.responseParse && requestConfig.responseType === 'json') { | ||
| this.isRefreshing.then(() => { | ||
| this._request(requestConfig, 'refresh').then(res => { | ||
| this._request(requestConfig, 'refresh').then(resolve).catch(reject).finally(() => { | ||
| this.isRefreshing = undefined | ||
| resolve(res) | ||
| }).catch(err => { | ||
| this.isRefreshing = undefined | ||
| reject(err) | ||
| }) | ||
| }) | ||
| }).catch(reject) | ||
| } else if (trigger !== 'login') { | ||
@@ -261,12 +257,6 @@ if (!this.isLogining) { | ||
| this.isLogining.then(() => { | ||
| this._request(requestConfig, 'login').then(res => { | ||
| this._request(requestConfig, 'login').then(resolve).catch(reject).finally(() => { | ||
| this.isLogining = undefined | ||
| resolve(res) | ||
| }).catch(err => { | ||
| this.isLogining = undefined | ||
| reject(err) | ||
| }) | ||
| }).catch(err => { | ||
| reject(err) | ||
| }) | ||
| }).catch(reject) | ||
| } else { | ||
@@ -280,12 +270,6 @@ reject(finalResponse) | ||
| this.isLogining.then(() => { | ||
| this._request(requestConfig, 'login').then(res => { | ||
| this._request(requestConfig, 'login').then(resolve).catch(reject).finally(() => { | ||
| this.isLogining = undefined | ||
| resolve(res) | ||
| }).catch(err => { | ||
| this.isLogining = undefined | ||
| reject(err) | ||
| }) | ||
| }).catch(err => { | ||
| reject(err) | ||
| }) | ||
| }).catch(reject) | ||
| } else if (finalResponse.status === 'fail') { | ||
@@ -296,7 +280,3 @@ this._showFail(requestConfig.fail, 'server', finalResponse.msg) | ||
| } else { | ||
| resolve({ | ||
| status: 'success', | ||
| code: 'origin', | ||
| data: response | ||
| }) | ||
| resolve({ status: 'success', code: 'origin', data: response }) | ||
| } | ||
@@ -360,2 +340,2 @@ }).catch(error => { | ||
| export default BaseRequest | ||
| export default BaseRequest |
+3
-11
@@ -74,18 +74,10 @@ import { _Data } from "complex-utils" | ||
| if (tokenList) { | ||
| for (let i = 0; i < tokenList.length; i++) { | ||
| const tokenName = tokenList[i] | ||
| for (const tokenName of tokenList) { | ||
| const token = this.token[tokenName] | ||
| if (token) { | ||
| if (!token.$appendValue(requestConfig, tokenName)) { | ||
| return { | ||
| prop: tokenName, | ||
| token: true, | ||
| value: false | ||
| } | ||
| return { prop: tokenName, token: true, value: false } | ||
| } | ||
| } else { | ||
| return { | ||
| prop: tokenName, | ||
| token: false | ||
| } | ||
| return { prop: tokenName, token: false } | ||
| } | ||
@@ -92,0 +84,0 @@ } |
38202
-1.04%763
-3.42%