JuHua-app/App.vue

128 lines
4.0 KiB
Vue
Raw Normal View History

2024-12-09 14:16:57 +08:00
<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||MP-WEIXIN
//判断当前微信版本是否支持版本更新
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({
title: this.$tt('common.tips'),
content: this.$tt('common.loginTips'),
cancelText: "取消",
confirmText: "确定",
success: (res) => {
if (res.confirm) {
console.log('用户点击确定');
uni.navigateTo({
url: '/pagesB/login/waitLogin'
});
} else if (res.cancel) {
console.log('用户点击取消');
}
}
});
}
}
},
onHide: function() {
console.log('App Hide');
}
};
</script>
<style lang="scss">
@import '@/uni_modules/uview-ui/index.scss';
</style>