vue3+ts 封装uni.request
时间: 2023-11-26 15:05:36 浏览: 117
vue+ts下对axios的封装实现
在Vue3+TypeScript中封装uni.request可以提高代码的复用性和可维护性。以下是一个简单的封装示例:
1. 创建一个request.ts文件,导出一个request函数。
2. 在request函数中,使用uni.request方法发送请求,并返回一个Promise对象。
3. 在调用request函数时,传入请求的参数,例如url、method、data等。
4. 在需要发送请求的组件中,导入request函数,并调用它发送请求。
下面是一个简单的示例代码:
```
// request.ts
import { RequestParams } from '@/types/request';
export function request(params: RequestParams): Promise<any> {
return new Promise((resolve, reject) => {
uni.request({
url: params.url,
method: params.method || 'GET',
data: params.data || {},
header: params.header || {},
success: (res) => {
resolve(res.data);
},
fail: (err) => {
reject(err);
},
});
});
}
// index.vue
<template>
<div>{{ title }}</div>
</template>
<script lang="ts">
import { defineComponent } from 'vue';
import { request } from '@/utils/request';
export default defineComponent({
name: 'Index',
data() {
return {
title: 'Hello',
};
},
mounted() {
request({
url: '/userLogin/list',
method: 'GET',
})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
},
});
</script>
```
阅读全文