# alipay-mini-program-request-options
**Repository Path**: changeden/alipay-mini-program-request-options
## Basic Information
- **Project Name**: alipay-mini-program-request-options
- **Description**: 基于[支付宝小程序请求Api](https://docs.alipay.com/mini/api/owycmh)的二次封装
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-12-05
- **Last Updated**: 2022-05-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# alipay-mini-program-request-options
> [网络请求]()基于[支付宝小程序网络请求Api](https://docs.alipay.com/mini/api/owycmh)的二次封装
> [文件上传]()基于[支付宝小程序文件上传Api](https://docs.alipay.com/mini/api/kmq4hc)的二次封装
## NPM
[



](https://www.npmjs.com/package/alipay-mini-program-request-options)
## Usage
### Http-Request 网络请求
```js
const { Methods, Options } = require("alipay-mini-program-request-options");
// 目前支付宝仅支持以下4种请求方式
const { GET, POST, PUT, DELETE } = Methods;
new Options(`请求URL`)
.setUrl(`更换请求URL`)
.setMethod(POST)
.setHeaders({
'content-type': 'application/json;charset=UTF-8'
})
.setTimeout(60000)
.setData({
keyword: 'test'
})
.request(function () {
console.log('completed')
})
.then(res => {
console.log(res);
})
.catch(err => {
console.error(err);
});
```
#### Constructor-Options 构造函数入参
|Name|Type|Require|Default Value|
| ------ | ------ | ------ | --- |
| url | String | false | undefined |
#### Methods 可用Api
|Name|Param name array|Param type array|Return|
| ------ | ------ | ------ | --- |
| setUrl | [url] | [String] | this |
| setMethod | [method] | [String] | this |
| setHeaders | [headers] | [Object] | this |
| setTimeout | [timeout] | [Integer] | this |
| setData | [data] | [Object] | this |
| request | [completeCallback] | [Function] | Promise |
### File-Upload 文件上传
```js
const { FileTypes, UploadOptions } = require("alipay-mini-program-request-options");
// 目前支付宝只支持图片、视频、音频3种文件类型
const { IMAGE, VIDEO, AUDIO } = FileTypes;
new UploadOptions(`请求URL`)
.setUrl(`更换请求URL`)
.setHeaders({})
// 添加上传文件
.setFile(`文件路径`, `文件名`, IMAGE)
// 单独设置文件路径
.setFilePath(`文件路径`)
// 单独设置文件名
.setFileName(`文件名`)
// 单独设置文件类型
.setFileType(IMAGE)
// 设置FormData
.setFormData({})
.upload(function () {
console.log('completed')
})
.then(res => {
console.log(res);
})
.catch(err => {
console.error(err);
});
```
#### Constructor-Options 构造函数入参
|Name|Type|Require|Default Value|
| ------ | ------ | ------ | --- |
| url | String | false | undefined |
#### Methods 可用Api
|Name|Param name array|Param type array|Return|
| ------ | ------ | ------ | --- |
| setUrl | [url] | [String] | this |
| setHeaders | [headers] | [Object] | this |
| setFile | [filePath, fileName, fileType] | [String, String, String] | this |
| setFilePath | [filePath] | [String] | this |
| setFileName | [fileName] | [String] | this |
| setFileType | [fileType] | [String] | this |
| setFormData | [formData] | [Object] | this |
| upload | [completeCallback] | [Function] | Promise |