You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
109 lines
2.4 KiB
109 lines
2.4 KiB
<template>
|
|
<van-popup class="upgrade" :show="show" @click-overlay="back">
|
|
<view class="upgrade-box d-flex flex-col overflow-hidden">
|
|
<view class="overflow-scroll p-md flex-fill">
|
|
<view>version:{{ detail.version }}</view>
|
|
<view v-html="detail.update_log"></view>
|
|
</view>
|
|
|
|
<view class="d-flex justify-center p-y-md" v-if="load">
|
|
<van-circle
|
|
:value="progress"
|
|
color="#ce5b67"
|
|
:rate="100"
|
|
size="40"
|
|
:text="progress + '%'"
|
|
/>
|
|
|
|
</view>
|
|
<view
|
|
v-else-if="detail.url"
|
|
class="fn-center p-md bg-theme-1 color-plain"
|
|
@click="toUp"
|
|
>
|
|
升级
|
|
</view>
|
|
</view>
|
|
</van-popup>
|
|
</template>
|
|
<script>
|
|
import upgrade from "@/plugins/upgrade.js";
|
|
import app from "app.js";
|
|
export default {
|
|
data() {
|
|
return {
|
|
detail: {
|
|
is_must: 1,
|
|
},
|
|
progress: 0,
|
|
load: false,
|
|
show: false,
|
|
};
|
|
},
|
|
created() {
|
|
this.show = true;
|
|
upgrade.isUpdate((data) => {
|
|
this.show = true;
|
|
if (upgrade.osName() == "Android") {
|
|
this.detail = data.android;
|
|
} else if (upgrade.osName() == "iOS") {
|
|
this.detail = data.ios;
|
|
}
|
|
});
|
|
},
|
|
methods: {
|
|
async toUp() {
|
|
if (upgrade.osName() == "Android") {
|
|
let path = await upgrade.downloadFile({
|
|
url: this.detail.url,
|
|
before: () => {
|
|
this.load = true;
|
|
this.progress = 0;
|
|
},
|
|
update: (e) => {
|
|
this.progress = e;
|
|
},
|
|
after() {
|
|
this.load = false;
|
|
},
|
|
});
|
|
upgrade.install(path);
|
|
} else if (upgrade.osName() == "iOS") {
|
|
// upgrade.install(this.detail.url);
|
|
window.open(app.down, "_blank ");
|
|
}
|
|
},
|
|
back() {
|
|
if (this.detail.is_must != 1) {
|
|
uni.reLaunch({
|
|
url: "/",
|
|
});
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
/deep/ uni-canvas{
|
|
width: 90rpx;
|
|
height: 90rpx;
|
|
}
|
|
/deep/ .uni-cover-view{
|
|
font-size: 24rpx;
|
|
}
|
|
.upgrade {
|
|
/deep/ .van-popup {
|
|
background-color: transparent !important;
|
|
}
|
|
}
|
|
.upgrade-box {
|
|
width: 275px;
|
|
height: 350px;
|
|
background: #fff url("../../assets/img/shengji.png") no-repeat center top;
|
|
background-size: 100% auto;
|
|
box-sizing: border-box;
|
|
border-radius: 23px;
|
|
padding-top: 125px;
|
|
overflow: hidden;
|
|
}
|
|
</style>
|