123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <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()
- _this.downloadAppFileByBrowser();
- }
- }
- });
- } else {
- uni.showModal({
- title: '版本发布更新',
- content: '发现新版本,是否继续消耗流量进行更新?',
- confirmText: '更新',
- confirmColor: '#EE8F57',
- success: res => {
- if (res.confirm) {
- // _this.downloadAppFile()
- _this.downloadAppFileByBrowser();
- }
- }
- });
- }
- }
- });
- }
- }
- });
- },
- /**
- * 通过参数设置获取最新下载链接
- */
- 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();
- // }
- // });
- // #ifdef APP-PLUS
- const dtask = plus.downloader.createDownload(_this.downloadUrl, { force: true }, function(d, status) {
- // 下载完成
- if (status == 200) {
- var path = d.filename; //文件安装路径
- plus.runtime.install(
- path,
- {},
- function() {
- plus.nativeUI.closeWaiting(); //关闭系统等待对话框
- if (name == 'wgt') {
- console.log('安装wgt文件成功!');
- } else {
- console.log('安装apk文件成功!');
- }
- plus.nativeUI.alert('安装成功!', function() {
- plus.runtime.restart();
- });
- },
- function(e) {
- plus.nativeUI.closeWaiting(); //关闭系统等待对话框
- if (name == 'wgt') {
- console.log('安装wgt文件失败[' + e.code + ']:' + e.message);
- plus.nativeUI.alert('安装wgt文件失败[' + e.code + ']:' + e.message);
- } else {
- console.log('安装apk文件失败[' + e.code + ']:' + e.message);
- plus.nativeUI.alert('安装apk文件失败[' + e.code + ']:' + e.message);
- }
- }
- );
- } else {
- alert('下载失败:' + status);
- }
- });
- // #endif
- },
- /**
- * 下载app通过浏览器
- */
- downloadAppFileByBrowser() {
- // #ifdef APP-PLUS
- plus.runtime.openURL(this.downloadUrl);
- // #endif
- }
- },
- onHide: function() {
- console.log('App Hide');
- }
- };
- </script>
- <style lang="scss">
- /*每个页面公共css */
- @import '@/uni_modules/uview-ui/index.scss';
- </style>
|