uni.request(OBJECT)为uni-app发起网络请求的方法。一般的uni.request示例如下:
// 请求
uni.request({
url: 'https://www.example.com/request', //仅为示例,并非真实接口地址。
data: {
text: 'uni.request'
},
success: (res) => {
console.log(res.data);
}
});
接下来对uni.request进行二次封装
在项目目录下新建一个util文件夹,里面新建api.js文件
// api.js
const BASE_URL = 'http://localhost:8080'
export const myRequest = (options)=>{
return new Promise((resolve,reject)=>{
uni.request({
url:BASE_URL + options.url,
method:options.method || 'GET',
data:options.data || {},
success:(res)=>{
if(res.data.status !==0){
return uni.showToast({
title:'获取数据失败'
})
}
resolve(res)
},
fail:(err)=>{
uni.showToast({
title:'请求失败'
})
reject(err)
}
})
})
}
挂载到全局,在main.js里面
// 挂载到原型上
import {myRequest} from './util/api.js'
Vue.prototype.$myRequest = myRequest
使用:
// An highlighted block
async getData () {
const res = await this.$myRequest({
url:'/api/getData'
})
console.log(res)
}