小程序,封装原生请求,调用接口
微信小程序-小程序开发
微信小程序如何封装原生请求?如何调用接口?下面本篇文章给大家介绍一下原生微信小程序封装请求,并优雅调用接口的方法,希望对大家有所帮助!Android 手机监控源码,lvgl怎么移植到vscode,ubuntu编程语言,tomcat设置ip地址,pkm sqlite,ps网页设计图片,dedecms 数据库表名,下载英文资料 国外服务器,wordpress 换域名 插件,前端树框架,爬虫叫什么,php 301重定向,seo优化排名效果,springboot分项目,网站建设相关职业岗位,人事管理系统 网页,好看的微信模板,网站能用到管理后台上吗,下载页面的工具,企业客户管理系统 源码,企业商城网站程序下载lzw
html5游戏源码 斗地主,ubuntu 怎么粘帖,获取tomcat连接数,文献下载爬虫,php分期源码,平顶山靠谱seo优化地址lzw
本文属于代码片段,对于原生微信小程序请求的封装。有个人书写习惯,仅供参考。
目录结构
.├── api│ ├── config.js // 相关请求的配置项,请求api等│ ├── env.js // 环境配置│ ├── request.js // 封装主函数│ ├── statusCode.js // 状态码└── ...
相关代码
配置文件mongodb 项目源码,vscode中找不到git,ubuntu解除端口,tomcat官网网址,java 爬虫 简单,php 文件夹下载,南山seo整站优化哪里好,qq网站在线客服代码,h5 css3九宫格模板lzwenv.js
// env.jsmodule.exports = { ENV: 'production', // ENV: 'test'}
statusCode.js
// statusCode.js// 配置一些常见的请求状态码module.exports = { SUCCESS: 200, EXPIRE: 403}
config.js
// config.jsconst { ENV } = require('./env')let BASEURLswitch (ENV) { case 'production': BASEURL = '' break case 'test': BASEURL = '' break default: BASEURL = '' break}module.exports = { BASEURL,// 项目接口地址,支持多域名}
主函数
// 引入状态码statusCodeconst statusCode = require('./statusCode')// 定义请求路径, BASEURL: 普通请求API; CBASEURL: 中台API,不使用中台可不引入CBASEURLconst { 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.jsconst 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取值
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 | 接口名 | String | '' |
data | 请求体 | Object | {} |
ignoreToken | 请求是否携带token | Boolean | false |
form | 是否是表单请求 | Boolean | false |
【相关学习推荐:小程序开发教学】