更新记录
0.8.1-beta(2024-02-27) 下载此版本
更新README.md
中的错误
0.8.0-beta(2024-02-27) 下载此版本
项目开发过程中发现以前使用的大佬的 uni-app 移植版 Axios 方案不是很好用了,所以自己花了 28 个小时造了个新轮子。
-
支持多文件上传。
-
支持 FromData 。
-
支持绝大部分 Axios.js 的特性。
-
支持非 uni-app 项目,使用体验基本一致。
-
从只能 uploadFile 和不能
Content-Type: multipart/form-data
的苦海中解脱。 -
需要各位大佬积极帮忙测试,反馈与 Axios 表现不一致的地方。后面有时间上传 GitHub 一起维护。
-
已有示例工程但未优化,暂时不放出。
-
HBuilderX和cli的最低兼容版本是瞎写的。
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
× | × | √ | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
Vue Axios HTTP
Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js,Vue Axios HTTP 成功将其移植到 uni-app 并制作成同时兼容 Vue 2 、Vue 3 的 Vue 插件。 Axios 使用简单,包尺寸小且提供了易于扩展的接口。
使用方式
1. 安装 Vue Axios HTTP
从 NPM 仓库安装
即将支持
从 DCloud 插件市场 仓库安装
- 从 DCloud 插件市场搜索:
Vue Axios HTTP
。 - 下载插件并导入 HBuilderX
2. 将 Vue Axios HTTP 导入项目
普通 Vue 项目
- Vue 2
import VueAxiosHTTP from "vue-axios-http";
import Vue from "vue";
const axiosConfigs = {
baseURL: "https://example.com/",
};
Vue.use(VueAxiosHTTP, axiosConfigs);
- Vue 3
import VueAxiosHTTP from "vue-axios-http";
import { createSSRApp } from "vue";
const axiosConfigs = {
baseURL: "https://example.com/",
};
export function createApp() {
const app = createSSRApp(App);
app.use(VueAxiosHTTP, axiosConfigs);
return {
app,
};
}
uni-app
在 main.js
引入。
import App from "./App";
import VueAxiosHTTP from "./uni_modules/axios-http";
const axiosConfigs = {
baseURL: "https://example.com/",
};
// #ifndef VUE3
import Vue from "vue";
import "./uni.promisify.adaptor";
Vue.config.productionTip = false;
App.mpType = "app";
Vue.use(VueAxiosHTTP, axiosConfigs);
const app = new Vue({
...App,
});
app.$mount();
// #endif
// #ifdef VUE3
import { createSSRApp } from "vue";
export function createApp() {
const app = createSSRApp(App);
app.use(VueAxiosHTTP, axiosConfigs);
return {
app,
};
}
// #endif
Nuxt.js
即将支持。
3. 在项目中使用 Vue Axios HTTP
在 Vue 2 与 Vue 3 的 选项式 API 中使用
const request1: Promise = this.$axios(config);
const request2: Promise = this.$axios.get(config);
const request3: Promise = this.$axios.get(url, data);
const request3: Promise = this.$axios.get(url, data, config);
const request4: Promise = this.$axios.post(config);
const request5: Promise = this.$axios.post(url, data);
const request6: Promise = this.$axios.post(url, data, config);
// 更多用法见 Axios 官方文档。
Vue 3 的 组合式 API 中使用
即将支持。