.env定义环境
- 在目录中定义env.js文件定义api环境 如下: http/env.js
module.exports = {
develop: {
baseUrl: 'https://developers.com/h5',
},
trial: {
baseUrl: 'https://developers.com/h5-trial',
},
release: {
baseUrl: 'https://developers.com/h5-release',
},
}
封装request请求
- 在http文件夹下封装request请求 如下: http/request.js
module.exports = {
request: function (url, data = {}, method = 'GET') {
let fullUrl = `${baseUrl}${url}`;
wx.showLoading({
title: '加载中',
})
return new Promise((resolve, reject) => {
wx.request({
url: fullUrl,
method,
data,
header: {
'Content-type': 'application/json'
},
success(res) {
if (res.statusCode === 200) {
resolve(res.data)
wx.hideLoading()
} else {
wx.showToast({
title: '请求失败',
icon: 'error'
})
reject(res);
}
},
fail(error) {
wx.showToast({
title: '请求失败',
icon: 'error'
})
reject(error);
}
})
})
},
}
- 这样就完成了 request的封装,接下来就是请求调用了
- 如果此处有更多的statusCode需要处理,只需要在判断中进行或者switch写就可以了
定义项目的请求分类文件和使用方法 http/index.js
const { request } = require('../http/request');
module.exports = {
api_userLogin: (params) => request('/wx/code', {
...params
})
- 如此请求就定义完整了,如果请求过多,可以将请求分类存放,如用户信息相关,业务相关等。
使用
const { api_userLogin } = require("../../http/index");
getUserInfo(options) {
var params = { code }
return api_userLogin(params)
}
- 好了,到这里就都结束了,希望可以帮助到大家,有问题的地方也请大家多多指正!
That was awesome, bro, but better to support retry token
尽管还没看懂,先赞一个