|
@@ -1,5 +1,5 @@
|
|
|
<template>
|
|
|
- <view class="upgrade-popup">
|
|
|
+ <view class="upgrade-popup" v-if="isModalShow">
|
|
|
<image class="header-bg" src="@/static/images/common/oa-upgrade.png" mode="widthFix"></image>
|
|
|
<view
|
|
|
class="iconfont ucicon-oa-upgrade header-bg"
|
|
@@ -54,7 +54,7 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="upgrade-show"></view>
|
|
|
+ <view class="upgrade-show" v-if="isModalShow"></view>
|
|
|
</template>
|
|
|
<script setup>
|
|
|
import { onReady, onLoad, onShow, onNavigationBarButtonTap, onPullDownRefresh, onReachBottom } from "@dcloudio/uni-app";
|
|
@@ -64,25 +64,21 @@ import { downloadApp, installApp } from "@/utils/upgrade.js";
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
const props = defineProps({
|
|
|
- //弹窗数据
|
|
|
- modalArray: {
|
|
|
- type: Object,
|
|
|
- default: {},
|
|
|
- },
|
|
|
//主题颜色
|
|
|
themesColor: {
|
|
|
type: String,
|
|
|
default: "#3f99ff",
|
|
|
},
|
|
|
});
|
|
|
-const emits = defineEmits(["closeModal"]);
|
|
|
-const { modalArra, themesColor } = toRefs(props);
|
|
|
+const emits = defineEmits([]);
|
|
|
+const { themesColor } = toRefs(props);
|
|
|
|
|
|
const checkInfo = reactive({
|
|
|
+ isModalShow: false, //是否打开弹窗
|
|
|
isForceUpdate: false, //是否强制更新
|
|
|
- versionName: props.modalArray.buildVersion, //版本名称
|
|
|
- versionDesc: props.modalArray.buildUpdateDescription.replace(/\\n/, "\n"), //更新说明
|
|
|
- downloadUrl: props.modalArray.downloadURL, //APP下载链接
|
|
|
+ versionName: undefined, //版本名称
|
|
|
+ versionDesc: undefined, //更新说明
|
|
|
+ downloadUrl: undefined, //APP下载链接
|
|
|
isDownloadFinish: false, //是否下载完成
|
|
|
hasProgress: false, //是否能显示进度条
|
|
|
currentPercent: 0, //当前下载百分比
|
|
@@ -90,7 +86,7 @@ const checkInfo = reactive({
|
|
|
newFileName: "", //下载后app本地路径名称
|
|
|
});
|
|
|
|
|
|
-const { modalTitle, modalContent, isForceUpdate, versionName, versionDesc, downloadUrl, isDownloadFinish, hasProgress, currentPercent, isStartDownload, newFileName } = toRefs(checkInfo);
|
|
|
+const { isModalShow, isForceUpdate, versionName, versionDesc, downloadUrl, isDownloadFinish, hasProgress, currentPercent, isStartDownload, newFileName } = toRefs(checkInfo);
|
|
|
|
|
|
//设置进度条样式,实时更新进度位置
|
|
|
const setProStyle = computed(() => {
|
|
@@ -143,17 +139,30 @@ function handleInstallApp() {
|
|
|
if (isDownloadFinish.value && newFileName.value) {
|
|
|
installApp(newFileName.value, () => {
|
|
|
//安装成功,关闭升级弹窗
|
|
|
- emits("closeModal", false);
|
|
|
+ isModalShow.value = false;
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/** 打开弹窗 */
|
|
|
+function openUpgrade(e) {
|
|
|
+ isModalShow.value = true;
|
|
|
+
|
|
|
+ versionName.value = e.modalArray.buildVersion;
|
|
|
+ versionDesc.value = e.modalArray.buildUpdateDescription.replace(/\\n/, "\n");
|
|
|
+ downloadUrl.value = e.modalArray.downloadURL;
|
|
|
+}
|
|
|
+
|
|
|
/** 取消按钮 */
|
|
|
function handleCancel() {
|
|
|
- emits("closeModal", false);
|
|
|
+ isModalShow.value = false;
|
|
|
}
|
|
|
|
|
|
onLoad((option) => {});
|
|
|
+
|
|
|
+defineExpose({
|
|
|
+ openUpgrade,
|
|
|
+});
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|