183 lines
4.9 KiB
Vue
183 lines
4.9 KiB
Vue
<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
|
||
// #ifdef MP-WEIXIN
|
||
// 版本更新
|
||
that.handleCityList()
|
||
that.handleCooperationUrl()
|
||
that.updataWeiXin()
|
||
// #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||APP
|
||
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)
|
||
uni.navigateTo({
|
||
url: "/pageTwo/my/about"
|
||
})
|
||
} 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);
|
||
})
|
||
},
|
||
// 微信小程序更新
|
||
updataWeiXin() {
|
||
let that = this
|
||
const updateManager = uni.getUpdateManager()
|
||
// 请求完新版本信息的回调
|
||
updateManager.onCheckForUpdate(function(res) {
|
||
// console.log("是否有新版本", res.hasUpdate)
|
||
})
|
||
updateManager.onUpdateReady(function() {
|
||
uni.showModal({
|
||
title: '更新提示',
|
||
content: '新版本已经准备好,是否重启应用?',
|
||
success: function(res) {
|
||
if (res.confirm) {
|
||
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
|
||
updateManager.applyUpdate()
|
||
}
|
||
}
|
||
})
|
||
})
|
||
updateManager.onUpdateFailed(function() {
|
||
uni.showModal({
|
||
title: '新版本更新失败',
|
||
content: '请退出并移除小程序,重新打开...',
|
||
})
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</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> |