128 lines
4.0 KiB
Vue
128 lines
4.0 KiB
Vue
|
<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: '/pages/login/index'
|
|||
|
});
|
|||
|
} else if (res.cancel) {
|
|||
|
console.log('用户点击取消');
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
},
|
|||
|
onHide: function() {
|
|||
|
console.log('App Hide');
|
|||
|
}
|
|||
|
};
|
|||
|
</script>
|
|||
|
|
|||
|
<style lang="scss">
|
|||
|
@import '@/uni_modules/uview-ui/index.scss';
|
|||
|
</style>
|