开发小程序,封装有一个简单易用wx.request请求还是很必要的,可以省去大量的维护成本!闲话不多说,直接撸代码。
流程
- 创建http.js文件,封装wx.request
- 创建api.js文件,统一管理所有接口
- 在index.js中调用接口
创建http.js文件,封装wx.request
在utils中创建http.js文件,封装http,代码如下:
module.exports = { http(url, method, params) { let token = 'token' // 获取token,自行获取token和签名,token和签名表示每个接口都要发送的数据 let sign = 'sign' // 获取签名 let data = { token, sign } if(params.data){ // 在这里判断一下data是否存在,params表示前端需要传递的数据,params是一个对象,有三组键值对,data:表示请求要发送的数据,success:成功的回调,fail:失败的回调,这三个字段可缺可无,其余字段会忽略 for (let key in params.data) { // 在这里判断传过来的参数值为null,就删除这个属性 if (params.data[key] == null || params.data[key] == 'null') { delete params.data[key] } } data = {...data,...params.data} } wx.request({ url:'https://www.apiopen.top'+url, // 就是拼接上前缀,此接口域名是开放接口,可访问 method:method=='post'"color: #ff0000">创建api.js文件,统一管理所有接口
在utils下创建api.js文件,作为接口管理文件,代码如下:
// 在这里面定义所有接口,一个文件管理所有接口,易于维护 import {http} from './http'; // 引入刚刚封装好的http模块,import属于ES6的语法,微信开发者工具必须打开ES6转ES5选项 function femaleNameApi(params){ // 请求随机古诗词接口 http('/femaleNameApi','get',params) // 接口请求的路由地址以及请求方法在此处传递 } // 每一个接口定义一个函数,然后暴露出去,供逻辑代码调用 function novelApi(params){ // 小说推荐接口 http('/novelApi','get',params) } export default { // 暴露接口 femaleNameApi, novelApi }用api.js文件统一管理的好处就是,当接口更新后修改很方便,不需要看逻辑代码,也不用关心有几处调用了此接口,直接在app.js中修改响应就行了,接口统一管理是非常有必要的
在index.js中调用接口
调用方式,代码如下
import http from '../utils/api' // 引入api接口管理文件 Page({ data: { femaleList:[] }, onLoad: function () { http.femaleNameApi({ // 调用接口,传入参数 data:{ page:1 }, success:res=>{ console.log('接口请求成功',res) this.setData({ femaleList:res.data }) }, fail:err=>{ console.log(err) } }) } })参数传入说明:
- 为了和微信的API接口调用方式看起来一致,故采用了微信API的这种调用方式
- 传递一个对象,对象有三组键值对,data:表示要发送的数据,success:成功回调,fail:失败回调
- 三个键值对均可传可不传,其余值会忽略,基本和微信API调用方式一致,减少了强迫症的烦恼
小程序代码片段放在github上了,欢迎issue
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- 谭咏麟《20世纪中华歌坛名人百集珍藏版》[WAV+CUE][1G]
- 炉石传说40轮盘术最新卡组代码在哪找 标准40轮盘术卡组代码分享
- 炉石传说亲王贼怎么玩 2024亲王贼最新卡组代码分享
- 炉石传说30.6.2补丁后有什么卡组 30.6.2最强卡组最新推荐
- 模拟之声慢刻CD《蔡琴名曲回顾遇听》[原抓WAV+CUE]
- BruceLiu-WAVES(MusicbySatie)(2024)2CD[24Bit-96kHz]FLAC
- KonstantinKrimmel-MythosSchubertLoewe(2024)[24Bit-96kHz]FLAC
- 2024雷蛇高校挑战赛 嘤式分解助力收官之战
- 海信发布110吋世俱杯官方定制AI电视 引领智能观赛
- 海信发布27英寸显示器大圣G5 Pro:采用自研超解析芯片、友达原厂模组
- 蔡琴《机遇》1:1母盘直刻日本头版[WAV分轨][1.1G]
- 陈百强《与你几分钟的约会》XRCD+SHMCD限量编号版[低速原抓WAV+CUE][994M]
- 陈洁丽《监听王NO.1 》示范级发烧天碟[WAV+分轨][1.1G]
- 单色凌.2014-小岁月太着急【海蝶】【WAV+CUE】
- 陈淑桦.1988-抱紧我HOLD.ME.NOW【EMI百代】【WAV+CUE】