更新记录
1.0.0(2025-09-05)
完整的三方APP服务
平台兼容性
uni-app(4.27)
Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
√ |
√ |
- |
- |
- |
- |
11.0 |
× |
× |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
the3appServer使用说明
案例
<template>
<view class="container">
<button @click="delectApp">删除app</button>
<progress :percent="downloadProgress" show-info stroke-width="10" />
<button @click="handleDownload">下载App</button>
<button @click="handleOpenApp">打开App</button>
</view>
</template>
<script setup>
import { ref } from "vue";
import {
startDownload,
registerDownloadReceiver,
unregisterDownloadReceiver,
uninstallApp,
openApp
} from "@/uni_modules/xz-the3appServer"
import { onLoad } from "@dcloudio/uni-app"
const downloadProgress = ref(0);
const args = {
packageName:"com.tencent.qqmusic"
}
onLoad(() => {
registerDownloadReceiver();
});
// 调用下载功能
function handleDownload() {
const apkUrl = "YOUR_APK_URL"; //替换成自己的下载链接
startDownload(apkUrl, (progress) => {
downloadProgress.value = progress;
console.log(`下载进度: ${progress}%`);
});
}
//卸载函数
const delectApp = () => {
// 检查应用是否存在
if (plus.runtime.isApplicationExist({ "pname": args.packageName })) {
// 尝试启动卸载
const isLaunched = uninstallApp(args.packageName);
if (isLaunched) {
console.log("卸载弹窗已成功启动,等待用户确认...");
plus.nativeUI.toast("请在弹窗中确认卸载");
} else {
plus.nativeUI.toast("无法启动卸载流程,可能包名错误或无权限");
}
} else {
// 应用不存在,直接提示
plus.nativeUI.toast("应用不存在,不可卸载");
console.log("应用不存在,不可卸载");
}
}
//打开函数
function handleOpenApp() {
openApp(args.packageName);
}
</script>
注意
- 以上代码为Vue3的例子,需要Vue2的自行转换以下就好了
- 需要自定义基座后才能使用
- 该插件仅在Android11及以上版本测试过