闲来无事写了一个小demo,简单封装了一下unapp的请求
export function request(params) {
const methodsMap = ['get', 'post', 'put', 'patch', 'delete', 'update']//可自定义methods规则
const {url,method,data,config} = params;
let errorMessage = ""
switch (true) {
case url === "": errorMessage = "url不能为空";break;
case methodsMap.indexOf(method) === -1:errorMessage = "method错误";break;
}
if(errorMessage!="") throw(errorMessage)
const baseURL = "http://localhost:1888"
return new Promise((resolve, rejects) => {
uni.request({
url: baseURL + url,
header: {
authorization: ""
},
method:method,
data:data,
config:config,
success(res) {
if(res.data.code!==200)rejects(res.data)
resolve(res.data)
},
fail(res) {
rejects(res.data)
}
})
})
}
request函数返回一个promise,请求接口可以这样写
export function getList(data) {
return request({
url: "/user/list",
method: 'get',
data
})
}
在代码中直接使用就ok
import {getList} from "../../utils/request.js"
try{
const res = await getList({length:10})
console.log(res);
}catch(e){
console.log(e.message);
}