开发小程序,封装有一个简单易用
wx.request
请求仍是很必要的,能够省去大量的维护成本!闲话很少说,直接撸代码。javascript
流程前端
http.js
文件,封装wx.request
api.js
文件,统一管理全部接口index.js
中调用接口http.js
文件,封装wx.request
在utils
中建立http.js
文件,封装http
,代码以下:java
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
在接口文件中传递,方便统一管理git
api.js
文件,统一管理全部接口在utils
下建立api.js
文件,做为接口管理文件,代码以下:github
// 在这里面定义全部接口,一个文件管理全部接口,易于维护
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
中修改响应就好了,接口统一管理是很是有必要的json
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
第一次在掘金上发文章,还请诸位前辈多多指教!微信
小程序代码片断放在github上了,欢迎issue
微信开发