examTeamApp/App.vue

186 lines
5.0 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script>
let platform = ""
export default {
data() {
return {}
},
onLaunch: function() {
let that = this
// 返回的是apk包信息
// #ifdef APP-PLUS
uni.getSystemInfo({
success(e) {
platform = e.platform
that.$store.commit('changePhoneInfo', {
platform: e.platform
})
console.log("getSystemInfo", e.platform)
}
})
if (platform === 'ios') { // ios首次安装没有网络
uni.onNetworkStatusChange(function(res) {
if (res.isConnected == true) {
that.handleCityList()
that.handleCooperationUrl()
uni.reLaunch({
url: '/pageTwo/login/login'
})
console.log("有网络连接", res.isConnected)
}
});
}
that.checkForUpdates()
// #endif
// #ifndef APP-PLUS
that.handleCityList()
that.handleCooperationUrl()
// #endif
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
// #ifdef APP-PLUS
uni.offNetworkStatusChange(function(res) {
console.log("取消网络监听")
})
// #endif
},
methods: {
// 版本信息监测
checkForUpdates() {
let that = this
plus.runtime.getProperty(plus.runtime.appid, function(info) {
uni.setStorageSync('VERSION', info.version)
that.$store.commit('changePhoneInfo', {
info: info
})
console.log("当前应用版本号", info)
that.handleCityList()
that.handleCooperationUrl()
that.handleoginversion(info)
})
},
// 版本信息
handleoginversion(info) {
let that = this
that.$model.getloginversion({}).then(res => {
console.log("是否登录及版本号", res)
that.handleCancelUpdate(res.code)
// #ifdef APP-PLUS
let currentVersion = info.version;
let latestVersion = res.data.version
that.$store.commit('changePhoneInfo', {
versionUrl: res.data
})
// 比对版本号
let version = that.$tools.compareVersions(currentVersion, latestVersion)
if (version == -1) { // 0版本号相通1第一个版本号大于第二个版本号-1第一个版本号小于第二个版本号
uni.showModal({
title: '发现新版本',
content: '检查到新版本' + res.data.version + ',是否更新?',
success: (modalRes) => {
if (modalRes.confirm) { //确定更新
if (platform === 'android') { //安卓更新
uni.setStorageSync('VERSION', res.data.version)
let showLoading = plus.nativeUI.showWaiting('正在下载')
const dtask = uni.downloadFile({
url: res.data.url,
success: (downloadRes) => {
if (downloadRes.statusCode === 200) {
plus.nativeUI.closeWaiting()
.runtime.install(downloadRes
.tempFilePath, {
force: true
},
function() {
plus.runtime.restart();
console.log(
'install success...'
);
},
function(e) {
console.error(
'install fail...');
});
}
},
fail: () => {
uni.showToast({
title: '更新失败',
icon: 'none'
});
}
});
dtask.onProgressUpdate((res) => {
showLoading.setTitle(" 正在下载" + res.progress +
"% ");
console.log('下载进度' + res.progress + '%');
});
} else { //ios跳转
plus.runtime.launchApplication({
action: `itms-apps://itunes.apple.com/cn/app/id6654906497?mt=8`
})
}
} else {
// that.$tools.msg("稍后可在'关于我们'内更新程序!")
}
}
});
}
// #endif
})
},
// 取消更新
handleCancelUpdate(code) {
let that = this
if (code == 0) {
uni.reLaunch({
url: "/pages/home/home?type=1"
})
} else {
setTimeout(() => {
uni.reLaunch({
url: '/pageTwo/login/login'
})
}, 500);
}
},
// 地区
handleCityList() {
let that = this
that.$model.getGradeList({}).then((res) => {
console.log("|全部地区", res.data)
if (res.code != 0) return
that.$store.commit('changeCityList', res.data.area_list)
that.$store.commit('changeGradeList', res.data.grade_list)
that.$store.commit('changeIdentityList', res.data.identity_list)
})
},
// 合作服务
handleCooperationUrl() {
let that = this
that.$model.getCooperationUrl({}).then((res) => {
console.log("合作服务", res.data)
if (res.code != 0) return
this.$store.commit("changeCooperationUrl", res.data);
})
},
}
}
</script>
<style lang="scss">
/*每个页面公共css */
/* #ifndef APP-NVUE */
@import "/uni.scss";
@import "/scss/common.scss";
@import "/scss/iconfont.css";
@import "/scss/iconfont-weapp-icon.css";
/* #endif*/
</style>