自己在开发微信小程序时,要根据体验版和正式版填入不同的请求地址host,所以特意写了一个简单的判断方法,并加入到封装好的一个统一http请求中
getApp().globalData 是在app.js里面保存了一个公共对象 globalData ,你登录后获取的token或者cookie等字段都可以保存进去
// 判断当前微信运行环境 develop开发版 trial体验版 release正式版
const env = __wxConfig.envVersion
// 接口的host地址,区分体验版和正式版
const host = env === 'release' ? 'https://aaa.aaa.com' : 'https://bbb.bbb.com'
// 封装请求体,简化了function的写法
const request = {
// 构造promise的get方法,把后端的请求结果resolve出去
get(url, data, head) {
// 如果你的后端接口有统一要求,则把header写在这里
const header = {
'content-type': 'application/x-www-form-urlencoded',
'cookie': getApp().globalData.cookie,
'token': getApp().globalData.token,
}
return new Promise((resolve, reject) => {
wx.request({
method: 'get',
url: host + url,
data: data,
header: head ? head : header,
success: (res) => {
// 调用接口成功
resolve(res)
},
fail: (err) => {
// 调用接口失败
reject(err)
}
})
})
},
// 构造promise的post方法,把后端的请求结果resolve出去
post(url, data, head) {
const header = {
'content-type': 'application/x-www-form-urlencoded',
'cookie': getApp().globalData.cookie,
'token': getApp().globalData.token,
}
return new Promise((resolve, reject) => {
wx.request({
method: 'post',
url: host + url,
data: data,
header: head ? head : header,
success: (res) => {
// 调用接口成功
resolve(res)
},
fail: (err) => {
// 调用接口失败
reject(err)
}
})
})
},
}
export default request
然后新建一个js文件作为api请求,引入这个公用文件即可
// 引入上边创建的js文件
import http from '../utils/http.js'
// 请求样例
export function getDate(data) {
const url = 'aaa.htm'
return http.post(url, data)
}
最后在你的具体业务页面内,引入这个请求
// 引入上边创建的js内的 getDate 方法
import { getDate } from '../api/aaa.js'
//使用getData方法
getData({ yourParams: '' }).then(res => { console.log(res) })