js原生小程序怎么封装请求优雅地调用接口
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,本篇内容介绍了"js原生小程序怎么封装请求优雅地调用接口"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成
千家信息网最后更新 2025年02月23日js原生小程序怎么封装请求优雅地调用接口
本篇内容介绍了"js原生小程序怎么封装请求优雅地调用接口"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
基于小程序原生request封装Promise风格的请求
避免多级回调(回调地狱)
对于网络请求错误统一处理分发
目录结构
.├── api│ ├── config.js // 相关请求的配置项,请求api等│ ├── env.js // 环境配置│ ├── request.js // 封装主函数│ ├── statusCode.js // 状态码└── ...
相关代码
配置文件
env.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,// 项目接口地址,支持多域名}
主函数
注意 64~68行是对token过期的处理,在调用登录的时候, 检查app.globalData中是否存在token,存在则不发起登录请求,token过期清空token,那么下一次请求的时候就会 重新发起登录请求从而会重新获取到新的token
// 引入状态码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取值
参数 | 说明 | 数据类型 | 默认值 |
---|---|---|---|
url | 接口名 | String | '' |
data | 请求体 | Object | {} |
ignoreToken | 请求是否携带token | Boolean | false |
form | 是否是表单请求 | Boolean | false |
"js原生小程序怎么封装请求优雅地调用接口"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
接口
封装
处理
统一
配置
函数
文件
状态
登录
程序
参数
错误
优雅
内容
时候
更多
目录
知识
结构
订单
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库什么是聚集索引
在云服务器开发程序
辽宁网络时间同步服务器虚拟主机
qqsmtp邮件服务器
阿里巴巴公司网络技术负责人
5g网络技术苹果
网络安全 禁令
数据库怎么收缩日志文件
选计算机网络技术的原因
广东安卓软件开发服务商
mit行人数据库
网络安全管理实施时间
中国博 硕士论文全文数据库
管理 流媒体服务器
如何保护个人隐私和网络安全
奥的斯tt服务器怎样保存数据
网络安全手抄报简单内容小雷
网络是把双刃剑 网络安全
吉林世纪风互联网科技有限
前端软件开发入门知识
新疆学习传达全国网络安全
广东东软学院网络技术
查询数据库是否带锁
变频器软件开发用什么操作系统
查看服务器ip连接命令
数据库笔试题及答案下载
表格数据库显示不全
维斯打印机服务器设置
数据库技术有哪些典型应用
网络安全教育幼儿知识