You need to sign in or sign up before continuing.
app.js 2.92 KB
/*
 * @Date: 2025-06-28 10:33:00
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2026-02-02 18:00:00
 * @FilePath: /manulife-weapp/src/app.js
 * @Description: 应用入口文件
 */
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import './utils/polyfill'
import './app.less'
import { useUserStore } from '@/stores/user'

const App = createApp({
  // 对应 onLaunch
  async onLaunch(options) {
    // 获取用户 store
    const userStore = useUserStore()

    console.log('小程序启动', options)

    // 检查登录状态
    // - 如果 is_openid=false,会自动调用 wx.login 授权
    // - 如果授权后返回 user,说明已自动登录
    // - 如果 is_login=false,会跳转到登录页
    try {
      await userStore.checkLoginStatus()
    } catch (error) {
      console.error('启动时检查登录状态失败:', error)
      // 即使失败也继续,让用户可以正常使用小程序
    }

    // 延迟打印环境信息和用户信息(确保在其他日志之后)
    setTimeout(() => {
      const env = process.env.NODE_ENV || 'unknown'
      const platform = process.env.TARO_ENV || 'unknown'

      console.log('\n==================== 环境信息 ====================')
      console.log(`📱 当前环境: ${env === 'development' ? '开发环境' : env === 'production' ? '生产环境' : env}`)
      console.log(`🔧 运行平台: ${platform === 'weapp' ? '微信小程序' : platform === 'h5' ? 'H5' : platform}`)
      console.log(`⏰ 启动时间: ${new Date().toLocaleString('zh-CN', { hour12: false })}`)

      // 打印当前页面路径
      try {
        const pages = getCurrentPages()
        if (pages.length > 0) {
          const currentPage = pages[pages.length - 1]
          console.log(`📄 当前页面: ${currentPage.route || 'app'}`)
        }
      } catch (err) {
        console.log('📄 当前页面: 无法获取')
      }

      // 打印会话信息
      try {
        const sessionid = wx.getStorageSync('sessionid')
        console.log(`🔐 会话状态: ${sessionid ? '已建立' : '未建立'}`)
      } catch (err) {
        console.log('🔐 会话状态: 无法获取')
      }

      // 打印用户登录状态
      console.log('\n==================== 用户信息 ====================')
      if (userStore.isLoggedIn && userStore.userInfo) {
        console.log(`✅ 登录状态: 已登录`)
        console.log(`👤 用户ID: ${userStore.userInfo.id || '未知'}`)
        console.log(`👤 用户名: ${userStore.userInfo.name || userStore.userInfo.nickname || '未知'}`)
        console.log(`📱 手机号: ${userStore.userInfo.phone || userStore.userInfo.mobile || '未绑定'}`)
      } else {
        console.log(`❌ 登录状态: 未登录`)
      }

      console.log('====================================================\n')
    }, 100)
  },

  onShow() {
    // 页面显示时的逻辑
  },
})

App.use(createPinia())

export default App