小程序-05 路由封装
一、路由封装
- 在app.js入口文件写请求地址;
js
App({
globalData: {
currentEnv: 'prod', //当前环境
host: '',
hostServe: {},
authorization: '', // token
},
onLaunch: function () {
this.globalData.host = this.globalData.hostServe[this.globalData.currentEnv]
}
})
- 创建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
})
}
})
}