
微信小程序请求及封装请求方式
创建配置文件:在
发布日期:2021-05-15 00:41:04
浏览次数:26
分类:精选文章
本文共 1863 字,大约阅读时间需要 6 分钟。
微信小程序请求实现与封装指南
一、小程序网络请求实现
微信小程序发起网络请求需使用 wx.request
方法。以下是使用示例:
wx.request({ url: 'test.php', // 示例接口地址 data: { x: '', y: '' }, header: { 'content-type': 'application/json' }, success(res) { console.log(res.data); }});
请求错误处理
当小程序请求出现以下错误时,需在小程序后台进行相应设置:
勾选不校验合法域名:在详情页面勾选后,允许请求接口域名不校验。
域名配置:上线前需将域名预先添加至小程序后台,并确保协议为 https
。
二、小程序请求封装
为了统一管理接口,建议对接口进行封装处理:
http
文件夹下创建 env.js
,配置不同环境的接口地址:module.exports = { dev: { baseUrl: 'http://localhost:3000' }, test: { baseUrl: 'http://www.test.com' }, prod: { baseUrl: 'https://api.it120.cc' }};
- 封装请求逻辑:在
request.js
中实现wx.request
的二次封装: - 业务接口封装:在
api.js
中按业务需求封装具体接口:
const { baseUrl } = require('./env.js').prod;const subDomain = 'xxx';module.exports = { request(url, method, data, isSubDomain) { wx.showLoading({ title: '加载中' }); const _url = `${baseUrl}/${isSubDomain ? subDomain : ''}${url}`; wx.request({ url: _url, data, method, header: { 'content-type': 'application/x-www-form-urlencoded' }, success(res) { const { code } = res.data; if (code === 0) { resolve(res.data); wx.hideLoading(); } else { wx.showToast({ title: '数据错误' }); } }, fail() { reject('接口错误'); } }); }};
const { request } = require('./request.js');module.exports = { getBanner() { return request('', 'GET', {}, true); }, getGoodsList() { return request('goods/list', 'GET', {}, true); }, addGoodsFav(goodsId, token) { return request('goods/favor', 'POST', { goodsId, token }, true); }};
使用说明
在需要使用的 JS 文件中引入接口:
const { getBanner } = require('../../http/api.js');onShow(() => { getBanner().then(res => { console.log(res); });});
以上方法可帮助开发者高效管理小程序接口,提升维护效率。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年05月02日 21时40分53秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
IDEA-@Slf4j和log标签&@Data(Lombok)无效
2019-03-13
Utils-verifyType 验证数据类型,是否允许转型
2019-03-13
Thymeleaf 生成下标,索引,使用Stat变量
2019-03-13
全局变量初始化顺序的不确定性引发的bug
2019-03-13
用std容器做接口参数应注意的问题
2019-03-13
【C++11】std::function和std::bind
2019-03-13
java基础避坑(二)——基础数据类型short
2019-03-13
Hyper ledger Caliper官方文档【中文版】
2019-03-13
ERC1155多合一代币开发教程【Solidity合约】
2019-03-13
超过250个以太坊开发工具【2021最新】
2019-03-13
以太坊NFT通证制作工具【EIP-721/1155】
2019-03-13
EOS交易离线签名PHP代码
2019-03-13
RTX2080 Super与RTX2080 的区别
2019-03-13