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)
}
Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐