pwindy  
在完成任务的同时,还需要不断“复盘”,不论你多么的忙,都需要留下时间思考,可以思考哪些地方做的好,哪些地方我们可以改进,应该如何改进,注重总结才是王道

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)
        })

 

posted on 2022-06-14 10:30  pwindy  阅读(210)  评论(0)    收藏  举报