1.定义请求链接公共部分
1.1.公共的app.js中定义commomurl
1.2.在util文件夹下面的https.js文件中去调用
1.3.使用
2.封装请求主体部分
const commondata = getApp()
let statusCode = {
'1': "网络出错",
"301": "永久重定向",
"401": "登录出错",
"403": "被禁止访问",
"404": "找不到",
"405": "错误请求方法",
"409": "冲突",
"413": "上传文件太大",
"500": "服务器错误"
}
// HTTP类 request函数:HTTP类的方法(类下面的函数称为方法)
class HTTP{
request(params){
if(!params.method){
params.method = "GET"
}
wx.request({
method: params.method,
url: commondata.commonurl + params.url,
data: params.data,
header: {
"content-type": "application/json",
"appkey": commondata.appkey
},
success: (res) => {
let code = res.statusCode.toString()
if( code.startsWith("2") ){
// 当状态码是2开头的情况
if(params.success){
params.success(res)
}
}else{
// 当状态码不是2开头的情况
this._showError(code)
}
},
fail: (err) => {
// 当断网的情况下,走fail函数
this._showError("1")
}
})
}
// 封装错误弹框类型
_showError(code){
wx.showToast({
"title": statusCode[code] ? statusCode[code] : statusCode[1],
"icon": "error",
"duration": 1500
})
}
}
export { HTTP }
3.在models模块中调用https.js
3.1.在模块models文件夹下面的classic.js中引入http.js
import { HTTP } from "../utils/https"
3.2.在classModel类里面定义getLatest方法
4.在页面或者组件中使用getLatest方法
4.1.在js文件中引入models模块的classic.js文件
import {
classModel
} from "../../models/classic"
4.2.初始化classModel
let classmodel = new classModel()
4.3.通过classmodel.getLatest方法来调用后台接口
let _this = this
classmodel.getLatest((res) => {
_this.setData({
pagedatas: res.data,
likestatus: res.data.like_status,
likenum: res.data.fav_nums
})
classmodel._tosetNewestIndexStotrage(res.data.index)
})