common/api目录下创建两个js文件 { apiList.js,api.js }
API列表
javascript
// common/api/apiList.js
const BASE_URL = 'https://api.example.com'; // 定义 API 的基础域名
const apiList = {
getData: BASE_URL + '/data',
postData: BASE_URL + '/postData',
// 其他接口路径...
};
module.exports = apiList;
请求封装
javascript
// common/api/api.js
const apiList = require('./apiList.js');
const request = (url, method, data) => {
return new Promise((resolve, reject) => {
wx.request({
url: apiList[url], // 使用apiList中的接口路径
method: method,
data: data,
header: {
'content-type': 'application/json'
},
success(res) {
resolve(res.data);
},
fail(err) {
reject(err);
}
})
})
}
module.exports = {
request: request
};
使用
javascript
// 在需要发送请求的页面或组件中引入api.js
const api = require('../../common/api/api.js');
// 使用封装的请求函数,传入对应的apiList中的接口名称即可
api.request('getData', 'GET', { key: value }).then(res => {
console.log(res);
// 请求成功的处理逻辑
}).catch(err => {
console.log(err);
// 请求失败的处理逻辑
});
封装完毕 !
每次发起请求时带上 Code
javascript
const apiList = require('./apiList.js');
// 定义一个函数来获取用户的code
const getUserCode = () => {
return new Promise((resolve, reject) => {
wx.login({
success: function (res) {
if (res.code) {
resolve(res.code);
} else {
reject('获取用户code失败');
}
},
fail: function (err) {
reject(err);
}
});
});
};
// 修改网络请求函数,在调用时获取用户的code并携带在请求的header中
const request = (url, method, data) => {
return getUserCode().then(code => {
return new Promise((resolve, reject) => {
wx.request({
url: apiList[url], // 使用apiList中的接口路径
method: method,
data: data,
header: {
'content-type': 'application/json',
'X-WX-Code': code // 将code添加到请求的header中
},
success(res) {
resolve(res.data);
},
fail(err) {
reject(err);
}
})
});
});
};
module.exports = {
request: request
};