我试用了以下方式封装Uni-request,但是接口并没有拿到数据,请帮我分析一下// 封装uni-request import uniRequest from 'uni-request'; let baseURL = "***"; function request(params) { let headerData = { 'content-type': 'application/json' } let method = params.method.toUpperCase(); //小写改为大写 let dataObj = null; let requestParam = null; if (method == "GET" ) { headerData = { 'content-type': 'application/json', } requestParam = params.param } else { requestParam = params.data } return new Promise((res,rej) =>{ uni.request({ url:baseURL + params.url, data: requestParam, method: method, header: headerData, success(data) { res(data) }, fail: (err) => { reject(err); console.log(err) }, }) }) } export default request; import request from '@/utils/request' export const getDept = (param) => { return request({ method:'get', url:'/***', param:param }) } getDept(param).then(res =>{ })
时间: 2024-01-24 14:01:59 浏览: 127
uni-app uni.request接口封装
根据你提供的代码,有可能是请求地址的问题。请检查你的接口地址是否正确并且能够正常访问。另外,你封装的请求函数中,GET 请求的参数应该是 params.params 而不是 params.param。建议你将代码中的 requestParam 改为 requestData,并且将请求参数写入到 dataObj 中,最后将 dataObj 作为 data 值传入 uni.request。修改后的代码如下:
```
import uniRequest from 'uni-request';
let baseURL = "***";
function request(params) {
let headerData = {
'content-type': 'application/json'
}
let method = params.method.toUpperCase(); //小写改为大写
let requestData = null;
let dataObj = {
param: params.param
};
if (method == "GET" ) {
headerData = {
'content-type': 'application/json',
}
requestData = dataObj;
} else {
requestData = params.data
}
return new Promise((res,rej) =>{
uni.request({
url:baseURL + params.url,
data: requestData,
method: method,
header: headerData,
success(data) {
res(data)
},
fail: (err) => {
reject(err);
console.log(err)
},
})
})
}
export default request;
import request from '@/utils/request'
export const getDept = (param) => {
return request({
method:'get',
url:'/***',
params: param
})
}
getDept(param).then(res =>{
console.log(res)
})
```
另外,你在使用 getDept 函数时,需要将 param 参数传入。你需要将 param 定义为一个对象,然后将其作为 getDept 的参数进行调用,如下所示:
```
const param = { deptId: 1 };
getDept(param).then(res =>{
console.log(res)
})
```
希望这些修改能够帮助你解决问题。
阅读全文