App.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <script>
  2. import { isLoggedIn, getUserInfo } from '@/utils/auth.js'
  3. export default {
  4. globalData: {
  5. isLoggedIn: false,
  6. userInfo: null
  7. },
  8. onLaunch: function() {
  9. console.log('酒谷APP启动')
  10. // 延迟执行初始化,确保App实例完全就绪
  11. this.$nextTick(() => {
  12. this.initApp()
  13. })
  14. },
  15. onShow: function() {
  16. console.log('App Show')
  17. // 延迟执行状态检查
  18. this.$nextTick(() => {
  19. this.checkLoginStatus()
  20. })
  21. },
  22. onHide: function() {
  23. console.log('App Hide')
  24. },
  25. methods: {
  26. // 初始化应用
  27. initApp() {
  28. // 检查登录状态
  29. this.checkLoginStatus()
  30. // 设置全局用户信息
  31. this.setGlobalUserInfo()
  32. // 检查首次启动
  33. this.checkFirstLaunch()
  34. },
  35. // 检查登录状态
  36. checkLoginStatus() {
  37. const loggedIn = isLoggedIn()
  38. // 直接使用this而不是getApp()
  39. this.globalData.isLoggedIn = loggedIn
  40. if (loggedIn) {
  41. console.log('用户已登录')
  42. } else {
  43. console.log('用户未登录')
  44. }
  45. },
  46. // 设置全局用户信息
  47. setGlobalUserInfo() {
  48. const userInfo = getUserInfo()
  49. // 直接使用this而不是getApp()
  50. this.globalData.userInfo = userInfo
  51. },
  52. // 检查首次启动(移除登录提示)
  53. checkFirstLaunch() {
  54. const isFirstLaunch = uni.getStorageSync('isFirstLaunch')
  55. // 标记首次启动,但不显示登录提示
  56. if (!isFirstLaunch) {
  57. console.log('首次启动APP')
  58. uni.setStorageSync('isFirstLaunch', true)
  59. }
  60. }
  61. }
  62. }
  63. </script>
  64. <style lang="scss">
  65. /*每个页面公共css */
  66. @import '@/uni_modules/uni-scss/index.scss';
  67. /* #ifndef APP-NVUE */
  68. @import '@/static/customicons.css';
  69. // 设置整个项目的背景色
  70. page {
  71. background-color: #f5f5f5;
  72. }
  73. /* #endif */
  74. .example-info {
  75. font-size: 14px;
  76. color: #333;
  77. padding: 10px;
  78. }
  79. </style>