Skip to content

小程序-05 路由封装

一、路由封装

  1. 在app.js入口文件写请求地址;
js
App({
    globalData: {
        currentEnv: 'prod', //当前环境
        host: '',
        hostServe: {},
        authorization: '', // token
    },
    onLaunch: function () {
        this.globalData.host = this.globalData.hostServe[this.globalData.currentEnv]
    }
})
  1. 创建util/common.js文件,里面写封装路由的方法
js
const APP = getApp() // 获取全局方法
export const GET_DATA = (url, opt) => {
    let origin; // 接口域名
    let URL; // http请求地址
    let contentType = opt.contentType || 'application/json'; // 接口请求类型
    let authorization = APP.globalData.authorization;
    let data = opt.data || '' // 请求数据
    let method = opt.method || 'GET'
    if(method.toUpperCase() === 'POST'){
        data = JSON.stringify(data)
    }
    let fnSuccess = opt.success || undefined;
    // token的命名根据自己项目来定
    let accessToken = wx.getStorageSync('access_token') || ''
    wx.request({
        url: URL,
        method,
        header: {
            'Content-Type': contentType,
            'Authorization': authorization,
            'time': Date.now().toString(), //Long型时间戳
            'token': accessToken, // 统一用户token
        },
        data,
        dataType: 'json',
        success: (res) => {
            if(!res.data) return
            // 以下做拦截的请求, 当需要成功时则调用 fnSuccess && fnSuccess(res.data) 将data返回
            ...
        },
        fail: function(res) {
            wx.showToast({
                title: '网络错误, 请稍后再试',
                duration: 1500
            })
        }
    })
}

Released under the MIT License.