123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- <script>
- import {
- config
- } from '@/common/config.js';
- export default {
- data() {
- return {
- downloadUrl: ''
- }
- },
- onLaunch: function() {
- console.log('App Launch')
- },
- onShow: function() {
- console.log('App Show')
- this.getDownloadUrl();
- },
- methods: {
- /**
- * 通过参数设置获取最新版本信息
- */
- getVersion() {
- const _this = this
- uni.$u.api.getParameterApi({
- key: 'parking.operation.version'
- }).then(res => {
- if (res.code === 200) {
- if (res.msg !== config.version) {
- uni.getNetworkType({
- success: function (res) {
- if (res.networkType === 'wifi') {
- uni.showModal({
- title: '版本发布更新',
- content: '发现新版本且您使用的是无限网络,是否进行更新?',
- confirmText: '更新',
- confirmColor: '#EE8F57',
- success: (res) => {
- if (res.confirm) {
- _this.downloadAppFile()
- }
- }
- })
- } else {
- uni.showModal({
- title: '版本发布更新',
- content: '发现新版本,是否继续消耗流量进行更新?',
- confirmText: '更新',
- confirmColor: '#EE8F57',
- success: (res) => {
- if (res.confirm) {
- _this.downloadAppFile()
- }
- }
- })
- }
- }
- });
- }
- }
- })
- },
- /**
- * 通过参数设置获取最新下载链接
- */
- getDownloadUrl() {
- uni.$u.api.getParameterApi({
- key: 'parking.operation.package'
- }).then(res => {
- if (res.code === 200) {
- this.downloadUrl = res?.msg
- this.getVersion();
- }
- })
- },
- /**
- * 下载文件
- */
- downloadAppFile() {
- const _this = this
- uni.showLoading({
- mask: true,
- title: '下载中...'
- })
- let downloadTask = uni.downloadFile({ // 执行下载
- url: _this.downloadUrl,
- success: downloadResult => {
- // 下载成功
- if (downloadResult.statusCode === 200) {
- uni.showModal({
- title: '',
- content: '下载成功,确定现在安装吗?',
- confirmText: '安装',
- confirmColor: '#EE8F57',
- success: function(res) {
- if (res.confirm) {
- plus.runtime.install( // 安装
- downloadResult.tempFilePath, {
- force: true
- },
- function() {
- plus.runtime.restart();
- uni.navigateBack()
- },
- function(e) {
- utils.showToast('安装失败');
- }
- );
- }
- }
- });
- }
- },
- complete: (res) => {
- uni.hideLoading();
- }
- });
- downloadTask.onProgressUpdate((res) => {
- if (res.progress === 100) {
- uni.hideLoading();
- }
- });
- }
- },
- onHide: function() {
- console.log('App Hide')
- },
- }
- </script>
- <style lang="scss">
- /*每个页面公共css */
- @import "@/uni_modules/uview-ui/index.scss";
- </style>
|