diff --git a/README.md b/README.md index 02a2f0d..fe90903 100644 --- a/README.md +++ b/README.md @@ -17,11 +17,13 @@ $ yarn add axios-miniprogram $ npm i axios-miniprogram ``` +[原生小程序也可以直接下载源码包](https://github.com/zjx0905/axios-miniprogram/releases) + ## 简介 为小程序平台量身定制的轻量级请求库,请求配置以微信小程序作为标准,其他平台兼容实现。 -- 支持 微信小程序、支付宝小程序、百度小程序、字节跳动小程序、QQ 小程序、uniapp。 +- 支持 微信小程序、支付宝小程序、百度小程序、字节跳动小程序、QQ 小程序、钉钉小程序、京东小程序、uniapp。 - 支持 `Typescript`,健全的类型系统,智能的 `IDE` 提示。 - 支持 `Promise`。 - 支持 拦截器。 @@ -31,3 +33,5 @@ $ npm i axios-miniprogram - 支持 自定义转换数据。 - 支持 自定义错误处理。 - 支持 自定义平台适配器 + +[有问题欢迎反馈](https://github.com/zjx0905/axios-miniprogram/issues) diff --git a/docs/config/download.md b/docs/config/download.md index 38b050e..99b7c81 100644 --- a/docs/config/download.md +++ b/docs/config/download.md @@ -2,7 +2,9 @@ ## 发送下载请求 -可以从服务端下载文件本地,只有 get 请求才生效 +可以从服务端下载文件到本地 + +- 只有 get 请求才生效 ```typescript axios @@ -10,7 +12,7 @@ axios '/file', { // 指定文件下载后存储的路径 (本地路径),选填 - filePath: '', + filePath: '/file', }, { download: true, diff --git a/docs/config/upload.md b/docs/config/upload.md index b9d7ce1..7979569 100644 --- a/docs/config/upload.md +++ b/docs/config/upload.md @@ -2,14 +2,16 @@ ## 发送上传请求 -可以上传文件到服务端,只有 post 请求才生效 +可以上传文件到服务端 + +- 只有 post 请求才生效 ```typescript axios.post( '/file', { // 文件名称,必填 - name: 'image.png', + name: 'file', // 文件路径,必填 filePath: '/file/image.png', // 可以传入更多自定义字段,这些自定义字段最终会以 formData 的形式发送给服务端 (前提是平台支持) diff --git a/package.json b/package.json index 0e97cc6..c5271bb 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,12 @@ "axios", "miniprogram", "request", - "promise" + "promise", + "alipay", + "uni-app", + "wechat", + "fetch", + "network" ], "author": "zjx0905 <954270063@qq.com>", "bugs": { diff --git a/src/axios.ts b/src/axios.ts index 3fabcb9..dfba2eb 100644 --- a/src/axios.ts +++ b/src/axios.ts @@ -76,13 +76,13 @@ function createInstance(defaults: AxiosRequestConfig): AxiosInstance { const instance = new Axios(defaults); function axios( - url: AxiosRequestConfig | string, - config?: AxiosRequestConfig, + urlOrConfig: string | AxiosRequestConfig, + config: AxiosRequestConfig = {}, ): Promise> { - if (isString(url)) { - config = Object.assign({}, config, { url }); + if (isString(urlOrConfig)) { + config.url = urlOrConfig; } else { - config = url; + config = urlOrConfig; } return instance.request(config); @@ -92,8 +92,8 @@ function createInstance(defaults: AxiosRequestConfig): AxiosInstance { Object.setPrototypeOf( axios, Object.assign(Object.getPrototypeOf(instance), { - // axios.fork 内部调用了 instance 的私有方法,无法直接访问私有方法 - // axios.fork 调用时 this 重新指向 instance + // axios.fork 内部调用了 instance 的私有方法,但是无法直接访问私有方法程序抛出导致异常 + // axios.fork 调用时 this 重新指向 instance,解决此问题 fork: instance.fork.bind(instance), }), );