.微信小程序如何封装原生请求?如何调用接口?下面本篇文章给大家介绍一下原生微信小程序封装请求,并优雅调用接口的方法,希望对大家有所帮助!
目录结构
├── api
│ ├── config.js // 相关请求的配置项,请求api等
│ ├── env.js // 环境配置
│ ├── request.js // 封装主函数
│ ├── statusCode.js // 状态码
└── ...
相关代码
配置文件
env.js
// env.js
module.exports = {
ENV: 'production',
// ENV: 'test'
}
statusCode.js
// statusCode.js
// 配置一些常见的请求状态码
module.exports = {
SUCCESS: 200,
EXPIRE: 403
}
config.js
// config.js
const { ENV } = require('./env')
let BASEURL
switch (ENV) {
case 'production':
BASEURL = ''
break
case 'test':
BASEURL = ''
break
default:
BASEURL = ''
break
}
module.exports = {
BASEURL,// 项目接口地址,支持多域名
}
主函数
注意 64~68行是对token过期的处理,在调用登录的时候, 检查app.globalData中是否存在token,存在则不发起登录请求,token过期清空token,那么下一次请求的时候就会 重新发起登录请求从而会重新获取到新的token
// 引入状态码statusCode
const statusCode = require('./statusCode')
// 定义请求路径, BASEURL: 普通请求API; CBASEURL: 中台API,不使用中台可不引入CBASEURL
const { BASEURL } = require('./config')
// 定义默认参数
const defaultOptions = {
data: {},
ignoreToken: false,
form: false,
}
/**
* 发送请求
* @params
* method: 请求方式: POST/GET
* url: 请求路径
* data:
使用方法
新建文件
新建api文件(此处以订单接口为例), 新建api/index.js(接口分发统一处理,防止接口写到同一个文件下过于冗长)
目录结构如下:
.
├── api
│ ├── config.js // 相关请求的配置项,请求api等
│ ├── index.js // 统一处理入口
│ ├── order.js // 订单接口
│ ├── request.js // 封装主函数
│ ├── statusCode.js // 状态码
└── ...
引入request
// order.js
const request = require('./request')
module.exports = {
// data可以传入 url, data, ignoreToken, form, cToken
apiName (data) {
let url = 'apiUrl'
return request.post({ url, data })
}
}
统一分发接口
const orderApi = require("./order")
module.exports = {
orderApi
}
页面引用
const { orderApi } = require('dir/path/api/index')
...
1. `Promise.then()`链式调用
func () {
orderApi.apiName(params).then(res => {
// do Something
}).catch(err => {
// do Something
})
}
2. `async/await` 调用
async func () {
try {
let res = await orderApi.apiName(params)
// do Something
} catch (err) {
// do Something
}
}
options取值
参数 |
说明 |
数据类型 |
默认值 |
url |
接口名 |
|
|
data |
请求体 |
|
|
ignoreToken |
请求是否携带token |
|
|
form |
是否是表单请求 |
|
|
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: Android 自定义view中根据状态修改drawable图片
原文地址:Android 自定义view中根据状态修改drawable图片 – Stars-One的杂货小窝 本文涉及知识点: Android里的selector图片使用 底部导航栏的使用 自定义view的步骤了解 建议有以上基础有助于帮助你理解本篇文章……