ZYC-mobile/App.vue
2025-05-22 16:24:05 +08:00

137 lines
4.1 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>
import store from '@/store';
export default {
//监听路由变化,实现路由拦截,实现全局路由守卫
// watch: {
// $route(to, from) {
// let token = uni.getStorageSync('token')
// // vuex存储token
// uni.$u.vuex('vuex_token', token);
// if (to.path === '/pages/tabBar/scene/index' && (token == '' || token == null)) {
// uni.showModal({
// title: "提示",
// content: '该功能需要登陆后使用,是否前往登录?',
// success: function(res) {
// if (res.confirm) {
// console.log('用户点击确定');
// self.$router.push('/pages/login/index');
// } else if (res.cancel) {
// console.log('用户点击取消');
// }
// }
// })
// // 如果需要登录验证且未登录,则跳转到登录页
// }
// if (to.path === '/pagesA/scene/alert/index' && (token == '' || token == null)) {
// // 如果需要登录验证且未登录,则跳转到登录页
// this.$router.push('/pages/login/index');
// }
// if (to.path === '/pagesA/scene/alert/index' && (token == '' || token == null)) {
// // 如果需要登录验证且未登录,则跳转到登录页
// this.$router.push('/pages/login/index');
// }
// }
// },
onLaunch: function () {
console.log('App Launch');
//判断用户是否首次打开
var isFirstOpen = uni.getStorageSync('isFirstOpen');
// 如果isFirstOpen不存在说明是首次打开系统
if (!isFirstOpen) {
// 执行首次打开系统的逻辑,比如显示弹窗
uni.reLaunch({
url: '/pagesB/login/firstOpen'
});
}
//else {
// // 如果不是首次打开系统,直接跳转到登录页
// uni.reLaunch({
// url: '/pages/login/index'
// });
// // uni.setStorageSync('isFirstOpen', false);
// }
},
onShow: function () {
this.$watch('$route', (to, from) => {
this.checkLoginStatus(to);
});
console.log('App Show');
// #ifndef H5 || APP-PLUS
//判断当前微信版本是否支持版本更新
if (uni.canIUse('getUpdateManager')) {
const updateManager = uni.getUpdateManager();
// 请求完新版本信息的回调
updateManager.onCheckForUpdate(function (res) {
if (res.hasUpdate) {
updateManager.onUpdateReady(function () {
uni.showModal({
title: '更新提示',
content: '新版本已经准备好,是否重启应用?',
success: function (res) {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
if (res.confirm) {
updateManager.applyUpdate()
}
}
})
});
// 新的版本下载失败
updateManager.onUpdateFailed(function () {
uni.showModal({
title: '已经有新版本了哟~',
content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
})
})
}
})
} else {
// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
uni.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
// #endif
},
methods: {
checkLoginStatus (route) {
let token = uni.getStorageSync('token');
if ((route.path === '/pages/tabBar/scene/index' || route.path === '/pages/tabBar/alert/index') && (token ==
'' || token == null)) {
uni.showModal({
content: '该功能需要登录后才可使用,是否去登录?',
cancelText: "取消",
confirmText: "确定",
success: (res) => {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/pagesB/login/waitLogin'
});
} else if (res.cancel) {
// uni.switchTab({
// url: '/pages/tabBar/home/index'
// })
console.log('用户点击取消');
}
}
});
}
}
},
onHide: function () {
console.log('App Hide');
}
};
</script>
<style lang="scss">
@import '@/uni_modules/uview-ui/index.scss';
</style>