封装uni.request
config/site.js
const URL_PREFIX = 'https://**.**.**/api/v1/';
module.exports = {
URL_PREFIX,
CACHE_TOKEN: 'cache_token',
CACHE_USERINFO: 'cache_userinfo',
}
until/request.js
const SiteConfig = require("../config/site")
const myRequest = (options) => {
return new Promise((resolve, reject) => {
let CACHE_TOKEN = uni.getStorageSync(SiteConfig.CACHE_TOKEN);
let header_tmp = CACHE_TOKEN == "" ? {} : {
"Authorization": "Bearer " + CACHE_TOKEN
};
uni.request({
url: SiteConfig.URL_PREFIX + options.url,
method: options.method || 'GET',
data: options.data || {},
header: header_tmp,
success: (res) => {
if (res.statusCode !== 200 && res.statusCode !== 201) {
return uni.showToast({
icon: "error",
title: "网络错误,请检查"
})
};
resolve(res)
},
fail: (err) => {
return uni.showToast({
icon: "error",
title: "请求接口失败"
})
reject(err)
},
})
})
}
module.exports = myRequest;
用例 try-catch
async getBannerList() {
try {
let url = `banner/bypos`;
let res = await myRequest({
url,
method: 'get',
data: {
id: "62a6f7e1e30a2c5a126f93e3"
}
});
console.log("获取轮播图", res.data)
let {
banners
} = res.data.data.info
banners.forEach((item) => {
this.bannerList.push(item.imageUrl)
})
} catch (e) {
console.log(e)
}
},