uniapp 请求封装vlass
时间: 2023-08-12 10:04:15 浏览: 97
在UniApp中,可以使用Vue的插件机制来封装请求类。下面是一个简单的示例:
首先,创建一个request.js文件,用于封装请求类。在该文件中,可以使用axios或者uni.request等库来发送请求。
```javascript
import axios from 'axios';
class Request {
// 构造函数
constructor() {
this.baseURL = 'https://api.example.com'; // 请求的基础URL
this.timeout = 5000; // 超时时间
}
// 发送GET请求
get(url, params) {
return axios.get(url, {
baseURL: this.baseURL,
timeout: this.timeout,
params: params
});
}
// 发送POST请求
post(url, data) {
return axios.post(url, data, {
baseURL: this.baseURL,
timeout: this.timeout
});
}
// 发送PUT请求
put(url, data) {
return axios.put(url, data, {
baseURL: this.baseURL,
timeout: this.timeout
});
}
// 发送DELETE请求
delete(url, params) {
return axios.delete(url, {
baseURL: this.baseURL,
timeout: this.timeout,
params: params
});
}
}
export default new Request();
```
然后,在main.js中将该请求类注册为Vue插件:
```javascript
import Vue from 'vue';
import request from './request';
Vue.prototype.$request = request;
// 在组件中可以使用 this.$request 进行请求
```
现在,你可以在任何组件中使用`this.$request`来发送请求了。例如,在一个组件中发送GET请求:
```javascript
export default {
data() {
return {
userList: []
};
},
mounted() {
this.getUserList();
},
methods: {
getUserList() {
this.$request.get('/user/list')
.then(response => {
this.userList = response.data;
})
.catch(error => {
console.error(error);
});
}
}
};
```
这样,你就可以通过封装的请求类来发送请求,并且可以在不同的组件中复用。
阅读全文