From 8fb7f8d1e928dac059d3540d6cdd62ce507df32a Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Fri, 5 May 2023 01:14:51 +0800 Subject: [PATCH 1/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dxhr=E7=9A=84data?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E9=97=AE=E9=A2=98&=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=9F=BA=E4=BA=8Eaxios=E7=9A=84adapters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .changeset/config.json | 7 +- .github/workflows/release.yml | 21 ++++ .npmrc | 1 + package.json | 1 + packages/adapters/axios/index.ts | 41 ++++++++ packages/adapters/index.ts | 1 + packages/adapters/package.json | 3 +- packages/adapters/uni-uploadFile/index.ts | 3 +- packages/adapters/xhr/index.ts | 7 +- packages/core/types/core.ts | 2 +- packages/shared/data.ts | 107 ++++++++++++++++++- packages/shared/utils.ts | 2 +- pnpm-lock.yaml | 122 +++++++++++++++++++++- 13 files changed, 307 insertions(+), 11 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 packages/adapters/axios/index.ts diff --git a/.changeset/config.json b/.changeset/config.json index d9d5734..3415108 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,6 +1,11 @@ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": "@changesets/cli/changelog", + "changelog": [ + "@changesets/changelog-github", + { + "repo": "calandnong/applet-request" + } + ], "commit": false, "fixed": [], "linked": [], diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f47e07b --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,21 @@ +name: Release +on: + push: + tags: + - 'v*' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v3 + with: + node-version: 16.x + + - run: npx changelogithub + env: + GITHUB_TOKEN: ${{ secrets.TOKEN }} \ No newline at end of file diff --git a/.npmrc b/.npmrc index b6f27f1..4429184 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ +registry = "https://registry.npmjs.org/" engine-strict=true diff --git a/package.json b/package.json index a112f04..4d2b222 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "@applet-request/eslint-config-ts": "workspace:*", "@applet-request/meta-data": "workspace:*", "@applet-request/shared": "workspace:*", + "@changesets/changelog-github": "^0.4.8", "@changesets/cli": "^2.26.1", "@commitlint/cli": "^17.5.1", "@commitlint/config-conventional": "^17.4.4", diff --git a/packages/adapters/axios/index.ts b/packages/adapters/axios/index.ts new file mode 100644 index 0000000..b4c28d6 --- /dev/null +++ b/packages/adapters/axios/index.ts @@ -0,0 +1,41 @@ +import { Adapter } from '@applet-request/core'; +import type { + RequestContext, + MiddlewareNext, + RequestConfig, +} from '@applet-request/core'; +import { BaseException, isHttpSuccess } from '@applet-request/shared'; +import type { AxiosRequestConfig, AxiosResponse } from 'axios'; +import AxiosStatic from 'axios'; + +const request = AxiosStatic.create(); + +export type AxiosOtherConfig = Omit; + +export type AxiosConfig = RequestConfig; + +/** + * axios的请求适配器 + */ +export class AxiosAdapter extends Adapter< +AxiosConfig, +Data, +AxiosResponse +> { + async request(context: RequestContext, next: MiddlewareNext): Promise { + await next(); + return request({ + ...context.request.config, + url: context.request.apiURL, + data: context.request.data, + params: context.request.params, + }).then((res) => { + if (isHttpSuccess(res.status)) { + context.response.data = res.data; + context.response.raw = res; + return res; + } + return Promise.reject(new BaseException('系统繁忙,请重试!', res)); + }); + } +} diff --git a/packages/adapters/index.ts b/packages/adapters/index.ts index 14f0eb1..d6a166f 100644 --- a/packages/adapters/index.ts +++ b/packages/adapters/index.ts @@ -2,3 +2,4 @@ export * from './uni-request'; export * from './uni-uploadFile'; export * from './uni-downloadFile'; export * from './xhr'; +export * from './axios'; diff --git a/packages/adapters/package.json b/packages/adapters/package.json index 15b0d3a..3e330cd 100644 --- a/packages/adapters/package.json +++ b/packages/adapters/package.json @@ -24,6 +24,7 @@ }, "dependencies": { "@applet-request/core": "workspace:*", - "@applet-request/shared": "workspace:*" + "@applet-request/shared": "workspace:*", + "axios": "^1.4.0" } } diff --git a/packages/adapters/uni-uploadFile/index.ts b/packages/adapters/uni-uploadFile/index.ts index fd6cf7f..8613c43 100644 --- a/packages/adapters/uni-uploadFile/index.ts +++ b/packages/adapters/uni-uploadFile/index.ts @@ -4,7 +4,7 @@ import type { RequestContext, MiddlewareNext, RequestConfig } from '@applet-requ /** * uni.downloadFile的其他请求配置 */ -export type UniUploadFileOtherConfig = Omit; +export type UniUploadFileOtherConfig = Omit; /** * uni.downloadFile的请求配置 @@ -32,6 +32,7 @@ export class UniUploadFileAdaptor extends Adapter< uni.uploadFile({ ...context.request.config, url: context.request.apiURL, + formData: context.request.data, success(res) { context.response.data = res.data as Data; context.response.raw = res; diff --git a/packages/adapters/xhr/index.ts b/packages/adapters/xhr/index.ts index 7be1200..6666a19 100644 --- a/packages/adapters/xhr/index.ts +++ b/packages/adapters/xhr/index.ts @@ -160,7 +160,7 @@ XHROtherConfig, } // 设置自定义请求头 - function isFormData(val: any): val is FormData { + function isFormData(val: unknown): val is FormData { return typeof val !== 'undefined' && val instanceof FormData; } @@ -225,13 +225,16 @@ XHROtherConfig, // configureRequest(); + // 转换data + const finalData = transformRequest(data, header); + // 监听回调 addEvents(); // 设置自定义请求头 processHeaders(); - xhr.send(transformRequest(data) as Document | XMLHttpRequestBodyInit | null | undefined); + xhr.send(finalData as Document | XMLHttpRequestBodyInit | null | undefined); }); } } diff --git a/packages/core/types/core.ts b/packages/core/types/core.ts index dc26353..9bf4116 100644 --- a/packages/core/types/core.ts +++ b/packages/core/types/core.ts @@ -35,7 +35,7 @@ export interface TransformRequestConfig extends RequestConfig { */ baseURL: string; /** - * 请求方法未拼接的url + * 请求方法已拼接的url */ apiURL: string; } diff --git a/packages/shared/data.ts b/packages/shared/data.ts index 19a55cb..c3072b4 100644 --- a/packages/shared/data.ts +++ b/packages/shared/data.ts @@ -1,8 +1,109 @@ +import type { Stream } from 'stream'; import { isPlainObject } from './utils'; -export function transformRequest(data: Data) { - if (isPlainObject(data)) { - return JSON.stringify(data); +const { toString } = Object.prototype; + +const kindOf = (cache => (thing: unknown) => { + const str = toString.call(thing); + return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); +})(Object.create(null)); + +const kindOfTest = (type: string) => { + type = type.toLowerCase(); + return (thing: unknown) => kindOf(thing) === type; +}; + +const isArrayBuffer = kindOfTest('ArrayBuffer'); + +const typeOfTest = (type: string) => (thing: unknown) => typeof thing === type; + +const isFunction = typeOfTest('function'); + +const isUndefined = typeOfTest('undefined'); + +function isBuffer(val: unknown) { + return val !== null && !isUndefined(val) && (val as object).constructor !== null && !isUndefined((val as object).constructor) + && isFunction(((val as Buffer).constructor as BufferConstructor).isBuffer) && ((val as Buffer).constructor as BufferConstructor).isBuffer(val); +} + +const isObject = (thing: unknown) => thing !== null && typeof thing === 'object'; + +const isStream = (val: unknown) => isObject(val) && isFunction((val as Stream).pipe); + +const isFile = kindOfTest('File'); + +const isBlob = kindOfTest('Blob'); + +const isString = typeOfTest('string'); + +function isArrayBufferView(val: unknown): val is ArrayBufferView { + let result: boolean; + if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) { + result = ArrayBuffer.isView(val); + } + else { + result = Boolean((val) && ((val as Buffer).buffer) && (isArrayBuffer((val as Buffer).buffer))); + } + return result; +} + +const trim = (str: string) => str.trim + ? str.trim() + : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); + +const isURLSearchParams = kindOfTest('URLSearchParams'); + +const isFormData = (data: unknown) => { + return data instanceof FormData; +}; + +function stringifySafely(rawValue: unknown, parser?: (data: unknown) => unknown, encoder?: (data: unknown) => string) { + if (isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue as string); + return trim(String(rawValue)); + } + catch (e: unknown) { + if ((e as Error).name !== 'SyntaxError') { + throw e; + } + } } + + return (encoder || JSON.stringify)(rawValue); +} + +export function transformRequest(data: unknown, headers: Record) { + const contentType = headers['Content-Type']; + const hasJSONContentType = contentType.indexOf('application/json') > -1; + + const isObjectPayload = isObject(data); + + if (!isPlainObject(data)) { + return data; + } + + if ( + isFormData(data) + || isArrayBuffer(data) + || isBuffer(data) + || isStream(data) + || isFile(data) + || isBlob(data) + ) { + return data; + } + if (isArrayBufferView(data)) { + return data.buffer; + } + if (isURLSearchParams(data)) { + headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; + return data.toString(); + } + + if (isObjectPayload || hasJSONContentType) { + return stringifySafely(data); + } + return data; } diff --git a/packages/shared/utils.ts b/packages/shared/utils.ts index 9bd63fc..23df0e3 100644 --- a/packages/shared/utils.ts +++ b/packages/shared/utils.ts @@ -1,5 +1,5 @@ const toString = Object.prototype.toString; -export function isPlainObject(val: any): val is Object { +export function isPlainObject(val: unknown): val is Object { return toString.call(val) === '[object Object]'; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88982d4..4940aba 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ importers: '@applet-request/eslint-config-ts': workspace:* '@applet-request/meta-data': workspace:* '@applet-request/shared': workspace:* + '@changesets/changelog-github': ^0.4.8 '@changesets/cli': ^2.26.1 '@commitlint/cli': ^17.5.1 '@commitlint/config-conventional': ^17.4.4 @@ -48,6 +49,7 @@ importers: '@applet-request/eslint-config-ts': link:packages/eslint-config-ts '@applet-request/meta-data': link:packages/meta-data '@applet-request/shared': link:packages/shared + '@changesets/changelog-github': 0.4.8 '@changesets/cli': 2.26.1 '@commitlint/cli': 17.5.1 '@commitlint/config-conventional': 17.4.4 @@ -84,16 +86,18 @@ importers: specifiers: '@applet-request/core': workspace:* '@applet-request/shared': workspace:* + axios: ^1.4.0 dependencies: '@applet-request/core': link:../core '@applet-request/shared': link:../shared + axios: 1.4.0 packages/api-mock: specifiers: {} packages/core: specifiers: - '@applet-request/shared': workspace:^0.1.6 + '@applet-request/shared': workspace:* dependencies: '@applet-request/shared': link:../shared @@ -186,6 +190,16 @@ packages: '@changesets/types': 5.2.1 dev: true + /@changesets/changelog-github/0.4.8: + resolution: {integrity: sha512-jR1DHibkMAb5v/8ym77E4AMNWZKB5NPzw5a5Wtqm1JepAuIF+hrKp2u04NKM14oBZhHglkCfrla9uq8ORnK/dw==} + dependencies: + '@changesets/get-github-info': 0.5.2 + '@changesets/types': 5.2.1 + dotenv: 8.6.0 + transitivePeerDependencies: + - encoding + dev: true + /@changesets/cli/2.26.1: resolution: {integrity: sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ==} hasBin: true @@ -253,6 +267,15 @@ packages: semver: 5.7.1 dev: true + /@changesets/get-github-info/0.5.2: + resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} + dependencies: + dataloader: 1.4.0 + node-fetch: 2.6.9 + transitivePeerDependencies: + - encoding + dev: true + /@changesets/get-release-plan/3.0.16: resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} dependencies: @@ -1482,10 +1505,24 @@ packages: engines: {node: '>=8'} dev: true + /asynckit/0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: false + /available-typed-arrays/1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} + /axios/1.4.0: + resolution: {integrity: sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==} + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1684,6 +1721,13 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true + /combined-stream/1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: false + /commander/10.0.0: resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} engines: {node: '>=14'} @@ -1813,6 +1857,10 @@ packages: engines: {node: '>=8'} dev: true + /dataloader/1.4.0: + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} + dev: true + /debug/3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -1879,6 +1927,11 @@ packages: has-property-descriptors: 1.0.0 object-keys: 1.1.1 + /delayed-stream/1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: false + /detect-indent/6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -1919,6 +1972,11 @@ packages: is-obj: 2.0.0 dev: true + /dotenv/8.6.0: + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} + dev: true + /eastasianwidth/0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true @@ -2555,11 +2613,30 @@ packages: /flatted/3.2.7: resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + /follow-redirects/1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + /for-each/0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + /form-data/4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + /fs-extra/11.1.1: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} @@ -3408,6 +3485,18 @@ packages: braces: 3.0.2 picomatch: 2.3.1 + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + /mimic-fn/2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -3484,6 +3573,18 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + /node-fetch/2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + /normalize-package-data/2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -3787,6 +3888,10 @@ packages: react-is: 17.0.2 dev: true + /proxy-from-env/1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + /pseudomap/1.0.2: resolution: {integrity: sha1-8FKijacOYYkX7wqKw0wa5aaChrM=} dev: true @@ -4390,6 +4495,10 @@ packages: engines: {node: '>=6'} dev: true + /tr46/0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true + /trim-newlines/3.0.1: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} @@ -4704,6 +4813,17 @@ packages: defaults: 1.0.4 dev: true + /webidl-conversions/3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true + + /whatwg-url/5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + /which-boxed-primitive/1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: From 2cb81fa654ba0a6f87595768158cc39519fa10de Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Fri, 5 May 2023 01:18:36 +0800 Subject: [PATCH 2/9] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/adapters/CHANGELOG.md | 10 ++++++++++ packages/adapters/package.json | 2 +- packages/api-mock/CHANGELOG.md | 6 ++++++ packages/api-mock/package.json | 2 +- packages/core/CHANGELOG.md | 9 +++++++++ packages/core/package.json | 2 +- packages/eslint-config-ts/CHANGELOG.md | 6 ++++++ packages/eslint-config-ts/package.json | 2 +- packages/meta-data/CHANGELOG.md | 6 ++++++ packages/meta-data/package.json | 2 +- packages/shared/CHANGELOG.md | 6 ++++++ packages/shared/package.json | 2 +- 12 files changed, 49 insertions(+), 6 deletions(-) diff --git a/packages/adapters/CHANGELOG.md b/packages/adapters/CHANGELOG.md index adb998c..dfad499 100644 --- a/packages/adapters/CHANGELOG.md +++ b/packages/adapters/CHANGELOG.md @@ -1,5 +1,15 @@ # @applet-request/adapters +## 0.1.9 + +### Patch Changes + +- fix: 修复 xhr 的转换 data 问题&增加 axios 的版本 + +- Updated dependencies []: + - @applet-request/core@0.1.9 + - @applet-request/shared@0.1.9 + ## 0.1.8 ### Patch Changes diff --git a/packages/adapters/package.json b/packages/adapters/package.json index 3e330cd..d79bc7d 100644 --- a/packages/adapters/package.json +++ b/packages/adapters/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/adapters", - "version": "0.1.8", + "version": "0.1.9", "description": "", "files": [ "dist" diff --git a/packages/api-mock/CHANGELOG.md b/packages/api-mock/CHANGELOG.md index d2ab126..7b8df00 100644 --- a/packages/api-mock/CHANGELOG.md +++ b/packages/api-mock/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/api-mock +## 1.0.10 + +### Patch Changes + +- fix: 修复 xhr 的转换 data 问题&增加 axios 的版本 + ## 1.0.9 ### Patch Changes diff --git a/packages/api-mock/package.json b/packages/api-mock/package.json index ea9879e..031db48 100644 --- a/packages/api-mock/package.json +++ b/packages/api-mock/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/api-mock", - "version": "1.0.9", + "version": "1.0.10", "description": "", "files": [ "dist" diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index e806e2a..6b9012e 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,14 @@ # @applet-request/core +## 0.1.9 + +### Patch Changes + +- fix: 修复 xhr 的转换 data 问题&增加 axios 的版本 + +- Updated dependencies []: + - @applet-request/shared@0.1.9 + ## 0.1.8 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index c9293d4..8a2bebf 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/core", - "version": "0.1.8", + "version": "0.1.9", "description": "", "files": [ "dist" diff --git a/packages/eslint-config-ts/CHANGELOG.md b/packages/eslint-config-ts/CHANGELOG.md index 4cebbba..aa18f39 100644 --- a/packages/eslint-config-ts/CHANGELOG.md +++ b/packages/eslint-config-ts/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/eslint-config-ts +## 0.1.9 + +### Patch Changes + +- fix: 修复 xhr 的转换 data 问题&增加 axios 的版本 + ## 0.1.8 ### Patch Changes diff --git a/packages/eslint-config-ts/package.json b/packages/eslint-config-ts/package.json index 8bc6a14..300d133 100644 --- a/packages/eslint-config-ts/package.json +++ b/packages/eslint-config-ts/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/eslint-config-ts", - "version": "0.1.8", + "version": "0.1.9", "description": "", "author": "coder_pig", "license": "MIT", diff --git a/packages/meta-data/CHANGELOG.md b/packages/meta-data/CHANGELOG.md index 5b92eab..a36011a 100644 --- a/packages/meta-data/CHANGELOG.md +++ b/packages/meta-data/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/meta-data +## 0.1.10 + +### Patch Changes + +- fix: 修复 xhr 的转换 data 问题&增加 axios 的版本 + ## 0.1.9 ### Patch Changes diff --git a/packages/meta-data/package.json b/packages/meta-data/package.json index acc429e..f835c16 100644 --- a/packages/meta-data/package.json +++ b/packages/meta-data/package.json @@ -1,7 +1,7 @@ { "name": "@applet-request/meta-data", "private": true, - "version": "0.1.9", + "version": "0.1.10", "description": "", "scripts": {}, "keywords": [], diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md index 1788c65..9463dba 100644 --- a/packages/shared/CHANGELOG.md +++ b/packages/shared/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/shared +## 0.1.9 + +### Patch Changes + +- fix: 修复 xhr 的转换 data 问题&增加 axios 的版本 + ## 0.1.8 ### Patch Changes diff --git a/packages/shared/package.json b/packages/shared/package.json index 0100d39..ece0d18 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/shared", - "version": "0.1.8", + "version": "0.1.9", "description": "", "files": [ "dist" From 725e19e14fb6d0ad6fd6596f054b1f16a99c8ecc Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Fri, 5 May 2023 01:21:02 +0800 Subject: [PATCH 3/9] =?UTF-8?q?feat:=20=E4=BF=AE=E5=A4=8Daxios=E5=8F=82?= =?UTF-8?q?=E4=B8=8E=E7=BC=96=E8=AF=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/meta-data/meta-data.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/meta-data/meta-data.ts b/packages/meta-data/meta-data.ts index 799c124..a83a96a 100644 --- a/packages/meta-data/meta-data.ts +++ b/packages/meta-data/meta-data.ts @@ -22,6 +22,9 @@ export const PACKAGES: PackageManifest[] = [ name: 'adapters', displayName: 'Adapters Collection', description: 'The collection of adapters for applet-request', + external: [ + 'axios', + ], }, { name: 'api-mock', From 713aa27c43a2ed4bf83277cd447b5a787cf12b2b Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Fri, 5 May 2023 01:21:55 +0800 Subject: [PATCH 4/9] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/adapters/CHANGELOG.md | 10 ++++++++++ packages/adapters/package.json | 2 +- packages/api-mock/CHANGELOG.md | 6 ++++++ packages/api-mock/package.json | 2 +- packages/core/CHANGELOG.md | 9 +++++++++ packages/core/package.json | 2 +- packages/eslint-config-ts/CHANGELOG.md | 6 ++++++ packages/eslint-config-ts/package.json | 2 +- packages/meta-data/CHANGELOG.md | 6 ++++++ packages/meta-data/package.json | 2 +- packages/shared/CHANGELOG.md | 6 ++++++ packages/shared/package.json | 2 +- 12 files changed, 49 insertions(+), 6 deletions(-) diff --git a/packages/adapters/CHANGELOG.md b/packages/adapters/CHANGELOG.md index dfad499..178700d 100644 --- a/packages/adapters/CHANGELOG.md +++ b/packages/adapters/CHANGELOG.md @@ -1,5 +1,15 @@ # @applet-request/adapters +## 0.1.10 + +### Patch Changes + +- fix: 修复 axios 依赖问题 + +- Updated dependencies []: + - @applet-request/shared@0.1.10 + - @applet-request/core@0.1.10 + ## 0.1.9 ### Patch Changes diff --git a/packages/adapters/package.json b/packages/adapters/package.json index d79bc7d..732885b 100644 --- a/packages/adapters/package.json +++ b/packages/adapters/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/adapters", - "version": "0.1.9", + "version": "0.1.10", "description": "", "files": [ "dist" diff --git a/packages/api-mock/CHANGELOG.md b/packages/api-mock/CHANGELOG.md index 7b8df00..d9d5af2 100644 --- a/packages/api-mock/CHANGELOG.md +++ b/packages/api-mock/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/api-mock +## 1.0.11 + +### Patch Changes + +- fix: 修复 axios 依赖问题 + ## 1.0.10 ### Patch Changes diff --git a/packages/api-mock/package.json b/packages/api-mock/package.json index 031db48..a4af2f5 100644 --- a/packages/api-mock/package.json +++ b/packages/api-mock/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/api-mock", - "version": "1.0.10", + "version": "1.0.11", "description": "", "files": [ "dist" diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index 6b9012e..6389ed5 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,14 @@ # @applet-request/core +## 0.1.10 + +### Patch Changes + +- fix: 修复 axios 依赖问题 + +- Updated dependencies []: + - @applet-request/shared@0.1.10 + ## 0.1.9 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 8a2bebf..f9052f2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/core", - "version": "0.1.9", + "version": "0.1.10", "description": "", "files": [ "dist" diff --git a/packages/eslint-config-ts/CHANGELOG.md b/packages/eslint-config-ts/CHANGELOG.md index aa18f39..27b1904 100644 --- a/packages/eslint-config-ts/CHANGELOG.md +++ b/packages/eslint-config-ts/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/eslint-config-ts +## 0.1.10 + +### Patch Changes + +- fix: 修复 axios 依赖问题 + ## 0.1.9 ### Patch Changes diff --git a/packages/eslint-config-ts/package.json b/packages/eslint-config-ts/package.json index 300d133..fed8f5b 100644 --- a/packages/eslint-config-ts/package.json +++ b/packages/eslint-config-ts/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/eslint-config-ts", - "version": "0.1.9", + "version": "0.1.10", "description": "", "author": "coder_pig", "license": "MIT", diff --git a/packages/meta-data/CHANGELOG.md b/packages/meta-data/CHANGELOG.md index a36011a..688f491 100644 --- a/packages/meta-data/CHANGELOG.md +++ b/packages/meta-data/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/meta-data +## 0.1.11 + +### Patch Changes + +- fix: 修复 axios 依赖问题 + ## 0.1.10 ### Patch Changes diff --git a/packages/meta-data/package.json b/packages/meta-data/package.json index f835c16..583e01c 100644 --- a/packages/meta-data/package.json +++ b/packages/meta-data/package.json @@ -1,7 +1,7 @@ { "name": "@applet-request/meta-data", "private": true, - "version": "0.1.10", + "version": "0.1.11", "description": "", "scripts": {}, "keywords": [], diff --git a/packages/shared/CHANGELOG.md b/packages/shared/CHANGELOG.md index 9463dba..5297590 100644 --- a/packages/shared/CHANGELOG.md +++ b/packages/shared/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/shared +## 0.1.10 + +### Patch Changes + +- fix: 修复 axios 依赖问题 + ## 0.1.9 ### Patch Changes diff --git a/packages/shared/package.json b/packages/shared/package.json index ece0d18..f181bc8 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/shared", - "version": "0.1.9", + "version": "0.1.10", "description": "", "files": [ "dist" From 1706c275947817ae24224706f1cefb0c7fad6acd Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Fri, 5 May 2023 01:37:14 +0800 Subject: [PATCH 5/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Daxios=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=B1=BB=E5=9E=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/adapters/axios/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/adapters/axios/index.ts b/packages/adapters/axios/index.ts index b4c28d6..c57e92d 100644 --- a/packages/adapters/axios/index.ts +++ b/packages/adapters/axios/index.ts @@ -18,11 +18,11 @@ export type AxiosConfig = RequestConfig; * axios的请求适配器 */ export class AxiosAdapter extends Adapter< -AxiosConfig, +AxiosOtherConfig, Data, AxiosResponse > { - async request(context: RequestContext, next: MiddlewareNext): Promise { + async request(context: RequestContext, next: MiddlewareNext): Promise { await next(); return request({ ...context.request.config, From eb502824ed190eb0d20b01d394a388394c4345a1 Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Fri, 5 May 2023 01:38:51 +0800 Subject: [PATCH 6/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Daxios=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=B1=BB=E5=9E=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/adapters/CHANGELOG.md | 6 ++++++ packages/adapters/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/adapters/CHANGELOG.md b/packages/adapters/CHANGELOG.md index 178700d..816ad75 100644 --- a/packages/adapters/CHANGELOG.md +++ b/packages/adapters/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/adapters +## 0.1.11 + +### Patch Changes + +- fix: 修复 axios 配置类型问题 + ## 0.1.10 ### Patch Changes diff --git a/packages/adapters/package.json b/packages/adapters/package.json index 732885b..27faca8 100644 --- a/packages/adapters/package.json +++ b/packages/adapters/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/adapters", - "version": "0.1.10", + "version": "0.1.11", "description": "", "files": [ "dist" From c1539d74b8ec1dd28ea3236be6fa2acb8c5c9aba Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Mon, 8 May 2023 20:50:55 +0800 Subject: [PATCH 7/9] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Daxios=E7=9A=84para?= =?UTF-8?q?ms=E9=87=8D=E5=A4=8D=E9=97=AE=E9=A2=98&=E4=BF=AE=E5=A4=8Dreques?= =?UTF-8?q?t=E7=B1=BB=E5=9E=8B=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/adapters/axios/index.ts | 10 +++++++++- packages/adapters/uni-request/index.ts | 15 ++++++++++++--- packages/adapters/uni-uploadFile/index.ts | 4 ++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/packages/adapters/axios/index.ts b/packages/adapters/axios/index.ts index c57e92d..4c26e79 100644 --- a/packages/adapters/axios/index.ts +++ b/packages/adapters/axios/index.ts @@ -8,10 +8,19 @@ import { BaseException, isHttpSuccess } from '@applet-request/shared'; import type { AxiosRequestConfig, AxiosResponse } from 'axios'; import AxiosStatic from 'axios'; +/** + * 请求单例 + */ const request = AxiosStatic.create(); +/** + * axios的其他请求配置 + */ export type AxiosOtherConfig = Omit; +/** + * axios的请求配置 + */ export type AxiosConfig = RequestConfig; /** @@ -28,7 +37,6 @@ AxiosResponse ...context.request.config, url: context.request.apiURL, data: context.request.data, - params: context.request.params, }).then((res) => { if (isHttpSuccess(res.status)) { context.response.data = res.data; diff --git a/packages/adapters/uni-request/index.ts b/packages/adapters/uni-request/index.ts index 4330acb..3f9d72f 100644 --- a/packages/adapters/uni-request/index.ts +++ b/packages/adapters/uni-request/index.ts @@ -2,19 +2,28 @@ import { Adapter } from '@applet-request/core'; import type { RequestContext, MiddlewareNext, + RequestConfig, } from '@applet-request/core'; -export type UniRequestConfig = Omit; +/** + * uni.request的其他请求配置 + */ +export type UniRequestOtherConfig = Omit; + +/** + * uni.request的请求配置 + */ +export type UniRequestConfig = RequestConfig; /** * uni.request的请求适配器 */ export class UniRequestAdapter extends Adapter< -UniRequestConfig, +UniRequestOtherConfig, Data, UniApp.RequestSuccessCallbackResult > { - async request(context: RequestContext, next: MiddlewareNext): Promise { + async request(context: RequestContext, next: MiddlewareNext): Promise { await next(); return new Promise((resolve, reject) => { uni.request({ diff --git a/packages/adapters/uni-uploadFile/index.ts b/packages/adapters/uni-uploadFile/index.ts index 8613c43..9f11090 100644 --- a/packages/adapters/uni-uploadFile/index.ts +++ b/packages/adapters/uni-uploadFile/index.ts @@ -2,12 +2,12 @@ import { Adapter } from '@applet-request/core'; import type { RequestContext, MiddlewareNext, RequestConfig } from '@applet-request/core'; /** - * uni.downloadFile的其他请求配置 + * uni.uploadFile的其他请求配置 */ export type UniUploadFileOtherConfig = Omit; /** - * uni.downloadFile的请求配置 + * uni.uploadFile的请求配置 */ export type UniUploadFileConfig = RequestConfig; From d4807d97b6630124527484c40a0f74e97cc7ad28 Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Mon, 8 May 2023 20:56:01 +0800 Subject: [PATCH 8/9] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/adapters/CHANGELOG.md | 6 ++++++ packages/adapters/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/adapters/CHANGELOG.md b/packages/adapters/CHANGELOG.md index 816ad75..8040fdc 100644 --- a/packages/adapters/CHANGELOG.md +++ b/packages/adapters/CHANGELOG.md @@ -1,5 +1,11 @@ # @applet-request/adapters +## 0.1.12 + +### Patch Changes + +- fix: 修复 axios 的 params 重复问题&修复 request 类型问题 + ## 0.1.11 ### Patch Changes diff --git a/packages/adapters/package.json b/packages/adapters/package.json index 27faca8..ee38e27 100644 --- a/packages/adapters/package.json +++ b/packages/adapters/package.json @@ -1,6 +1,6 @@ { "name": "@applet-request/adapters", - "version": "0.1.11", + "version": "0.1.12", "description": "", "files": [ "dist" From 5026b8c52b53a39256d5b74c079ad7333b843911 Mon Sep 17 00:00:00 2001 From: calnong <2441415772@qq.com> Date: Sun, 14 May 2023 20:50:25 +0800 Subject: [PATCH 9/9] =?UTF-8?q?feat:=20core=E9=83=A8=E5=88=86=E5=B0=86@app?= =?UTF-8?q?let-request/shared=E4=BD=9C=E4=B8=BAexternal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/meta-data/meta-data.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/meta-data/meta-data.ts b/packages/meta-data/meta-data.ts index a83a96a..8354706 100644 --- a/packages/meta-data/meta-data.ts +++ b/packages/meta-data/meta-data.ts @@ -8,6 +8,9 @@ export const PACKAGES: PackageManifest[] = [ name: 'core', displayName: 'Applet Request Core', description: 'The core logical library of applet-request', + external: [ + '@applet-request/shared', + ], }, { name: 'shared',