重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要为大家展示了“小程序如何封装wx.request请求并创建接口管理文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“小程序如何封装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'?'post':'get', // 判断请求类型,除了值等于'post'外,其余值均视作get data, header: { 'content-type': 'application/json' }, success(res) { params.success&¶ms.success(res.data) }, fail(err) { params.fail&¶ms.fail(err) } }) } }
代码很简单,需要说的是在逻辑代码中只需要传递params,而url和method在接口文件中传递,方便统一管理
创建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
以上是“小程序如何封装wx.request请求并创建接口管理文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。