100 lines
1.7 KiB
Markdown
100 lines
1.7 KiB
Markdown
|
## 安装
|
|||
|
|
|||
|
```bash
|
|||
|
npm install @escook/request-miniprogram
|
|||
|
```
|
|||
|
|
|||
|
## 导入
|
|||
|
|
|||
|
```js
|
|||
|
// 按需导入 $http 对象
|
|||
|
import { $http } from '@escook/request-miniprogram'
|
|||
|
|
|||
|
// 将按需导入的 $http 挂载到 wx 顶级对象之上,方便全局调用
|
|||
|
wx.$http = $http
|
|||
|
|
|||
|
// 在 uni-app 项目中,可以把 $http 挂载到 uni 顶级对象之上,方便全局调用
|
|||
|
uni.$http = $http
|
|||
|
```
|
|||
|
|
|||
|
## 使用
|
|||
|
|
|||
|
### 支持的请求方法
|
|||
|
|
|||
|
```js
|
|||
|
// 发起 GET 请求,data 是可选的参数对象
|
|||
|
$http.get(url, data?)
|
|||
|
|
|||
|
// 发起 POST 请求,data 是可选的参数对象
|
|||
|
$http.post(url, data?)
|
|||
|
|
|||
|
// 发起 PUT 请求,data 是可选的参数对象
|
|||
|
$http.put(url, data?)
|
|||
|
|
|||
|
// 发起 DELETE 请求,data 是可选的参数对象
|
|||
|
$http.delete(url, data?)
|
|||
|
```
|
|||
|
|
|||
|
### 配置请求根路径
|
|||
|
|
|||
|
```js
|
|||
|
$http.baseUrl = 'https://www.example.com'
|
|||
|
```
|
|||
|
|
|||
|
### 请求拦截器
|
|||
|
|
|||
|
```js
|
|||
|
// 请求开始之前做一些事情
|
|||
|
$http.beforeRequest = function (options) {
|
|||
|
// do somethimg...
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
例 1,展示 loading 效果:
|
|||
|
|
|||
|
```js
|
|||
|
// 请求开始之前做一些事情
|
|||
|
$http.beforeRequest = function (options) {
|
|||
|
wx.showLoading({
|
|||
|
title: '数据加载中...',
|
|||
|
})
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
例 2,自定义 header 请求头:
|
|||
|
|
|||
|
```js
|
|||
|
// 请求开始之前做一些事情
|
|||
|
$http.beforeRequest = function (options) {
|
|||
|
if (options.url.indexOf('/home/catitems') !== -1) {
|
|||
|
options.header = {
|
|||
|
'X-Test': 'AAA',
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 响应拦截器
|
|||
|
|
|||
|
```js
|
|||
|
// 请求完成之后做一些事情
|
|||
|
$http.afterRequest = function () {
|
|||
|
// do something...
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
例如,隐藏 loading 效果:
|
|||
|
|
|||
|
```js
|
|||
|
// 请求完成之后做一些事情
|
|||
|
$http.afterRequest = function () {
|
|||
|
wx.hideLoading()
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
## 开源协议
|
|||
|
|
|||
|
![MIT](https://img.shields.io/badge/License-MIT-blue)
|
|||
|
|
|||
|
**enjoy!**
|