为了让代码整洁 我们需要对request这个函数进行二次封装,为了就是不需要每次输入url以及appkey
在目录下新建一个config.js的文件,用来装配置项,把我们所需要封装的内容
// 需要导出 所以需要用到export关键字
export const config = {
api_base_url:'http://bl.7yue.pro/v1/'
appkey:sdfsfsgf
}
接下来新建一个until的目录,里面新建一个http.js的文件夹进行request的封装
微信截图_20181107172239.png
import {config} from '../config.js'
class HTTP{
request(params){
if(!params.method){
params.method = 'GET'
}
wx.request({
url:config.api_base_url + params.url,
method:params.method,
data:params.data,
header:{
'content-type':'application/json',
'appkey':config.appkey
},
success:(res) =>{
let code = res.statusCode.toString(), //状态码的类型为number
if(code.startWidth('2')){
params.success && params.success(res.data) //把成功调用的结果返回去给classic,如果params.success为空,则不执行回调
}
else{
wx.showToast({
title:'失败',
icon:'none',
duration:'1500' //错误过多少秒之后消失
})
}// 服务器异常
},
fail:(err) =>{
wx.showToast({
title:'失败',
icon:'none',
duration:'1500' //错误过多少秒之后消失
})
} // API调用失败
})
}
}
export {HTTP}
接着在pages页面下的classic.js文件中导入我们封装好的类
import {HTTP} from '../../util/http.js'
// 因为是一个类方法,所以需要实例化一下对象
let http = new HTTP()
onLoad: function (options){
http.requset({
url:'classic/latest',
success:(res)=>{
console.log(res)
}
})
}
网友评论