You need to sign in or sign up before continuing.
hookehuyr

feat(config): 添加环境日志和用户状态打印功能

......@@ -63,6 +63,9 @@ export default defineConfig(async (merge) => {
data: `@import "@nutui/nutui-taro/dist/styles/variables.scss";`
},
mini: {
// 关闭开发环境的调试日志
enableSourceMap: false,
debugReact: false,
miniCssExtractPluginOption: {
ignoreOrder: true
},
......
......@@ -14,19 +14,63 @@ import { useUserStore } from '@/stores/user'
const App = createApp({
// 对应 onLaunch
async onLaunch(options) {
console.log('小程序启动', options)
// 获取用户 store
const userStore = useUserStore()
// 打印环境信息(第一部分:基本信息)
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('👤 用户状态: 检查中...')
console.log('====================================================\n')
console.log('小程序启动', options)
// 检查登录状态
// - 如果 is_openid=false,会自动调用 wx.login 授权
// - 如果授权后返回 user,说明已自动登录
// - 如果 is_login=false,会跳转到登录页
try {
await userStore.checkLoginStatus()
// 打印用户登录状态(在检查完成后)
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')
} catch (error) {
console.error('启动时检查登录状态失败:', error)
console.log('❌ 登录状态: 检查失败')
// 即使失败也继续,让用户可以正常使用小程序
}
},
......