<script>
	import {
		wxLogin,
		getUserInfo
	} from './util/index'


	export default {
		onLaunch: function() {
			console.log('App Launch')
			// 注意：语言初始化已移至 main.js，确保每次 reLaunch 都能正确加载新语言
		},
		onShow: async function() {
			console.log('========================================')
			console.log('=== App onShow 被调用 ===')
			console.log('时间戳:', new Date().toLocaleTimeString())
			
			// 检查启动路径，如果设置了启动路径则跳转
			try {
				const launchPath = uni.getStorageSync('launchPath')
				if (launchPath) {
					console.log('检测到启动路径:', launchPath)
					// 获取当前页面栈
					const pages = getCurrentPages()
					const currentPage = pages[pages.length - 1]
					const currentRoute = currentPage ? ('/' + currentPage.route) : ''
					
					// 规范化路径格式进行比较
					const normalizedLaunchPath = launchPath.replace(/\.html$/, '')
					
					// 只要当前不在目标页面，就进行一次跳转
					// 下单流程不会受影响，因为在下单离开设备详情页时不会写入 launchPath
					if (currentRoute !== normalizedLaunchPath) {
						console.log('当前页面:', currentRoute, '目标页面:', normalizedLaunchPath)
						// 清除启动路径标记（在跳转前清除，避免重复触发）
						uni.removeStorageSync('launchPath')
						// 使用 reLaunch 跳转到启动路径（首页）
						uni.reLaunch({
							url: normalizedLaunchPath,
							success: () => {
								console.log('成功跳转到启动路径（reLaunch）')
							},
							fail: (reLaunchErr) => {
								console.error('跳转到启动路径失败:', reLaunchErr)
							}
						})
					} else {
						// 如果已经在目标页面，清除启动路径标记
						console.log('当前已在目标页面，清除启动路径标记')
						uni.removeStorageSync('launchPath')
					}
				}
			} catch (e) {
				console.error('App onShow - 启动路径检查失败:', e)
			}
			
			// 检查并更新语言（uni.reLaunch 会触发 onShow）
			try {
				const savedLang = uni.getStorageSync('language')
				if(savedLang){
					uni.removeStorageSync('language');
				}
				console.log('App onShow - 缓存中的语言:', savedLang)
				
				// 获取当前 i18n 实例并检查语言
				if (this.$i18n) {
					const currentLocale = this.$i18n.locale
					console.log('App onShow - 当前 i18n locale:', currentLocale)
					
					if (savedLang && savedLang !== currentLocale) {
						console.log('=== App onShow 检测到语言变化 ===')
						console.log('旧语言:', currentLocale)
						console.log('新语言:', savedLang)
						
						// 强制更新语言
						this.$i18n.locale = savedLang
						console.log('App onShow - 语言已更新为:', this.$i18n.locale)
						console.log('App onShow - 测试翻译:', this.$t('common.loading'))
					}
				}
			} catch (e) {
				console.error('App onShow - 语言检查失败:', e)
			}
			
			console.log('========================================')
		},
		onHide: function() {
			console.log('App Hide')
		},
		methods: {
			// 保留方法但不调用
			async autoLogin() {
				try {
					const loginResult = await wxLogin()
					// await getUserInfo()
				} catch (error) {
					console.error('自动登录失败:', error)
				}
			},
			async getUserInfoData() {
				try {
					await getUserInfo()
				} catch (error) {
					console.error('获取用户信息失败:', error)
					// 获取用户信息失败的处理逻辑
				}
			}
		}
	}
</script>

<style lang="scss">
	@import "@climblee/uv-ui/index.scss"

	/*每个页面公共css */
</style>