使用Promise封装uni.request请求
在项目下创建https文件夹
其中baseUrl.js存放的是基础路径
const baseUrl = 'https://xxx.xxx.xx.com';
const imgUrl ='https://xxxx.xxxx.com';
export {
baseUrl,// 基础路径地址
imgUrl,//图片查看地址
};
request.js
import {
baseUrl
} from './baseUrl.js'
export function httpRequest(data) {
return new Promise((resolve, reject) => {
uni.request({
url: baseUrl + data.url, //由基础路径和接口地址
method: data.method || "GET", //请求的方式必须大写
data: data.data || {}, //参数
header: data.header || {
'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8',
},
// 成功使用resolve
success: (res) => {
let data = res.data
if (data.state== 200) {
resolve(data)
} else {//这里可以根据自己需求去进行判断
uni.showModal({
content: data.message,//后台报错信息
success: function (res) {
if (res.confirm) {
console.log('用户点击确定');
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
},
//失败调用reject,
fail: (error) => {
// 失败做处理
reject(error)
}
});
})
}
接下来就需要在httpApi中引用
import {
httpRequest
} from "./request.js"
export function getData(data) {
return httpRequest({
url: '/*******/******',//接口路径
method: 'POST',
header: {
'Content-Type': 'application/json',
},
data:data
});
}
在项目中引用
//按需引入
import {
getData,
} from "@/https/httpApi.js"
methods: {
get(){
let data ={
orderId:this.orderId //请求参数
}
getData(data).then(res=>{})
}
}