app.js
2.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*
* @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