import { PropsWithChildren } from 'react' import { useLaunch } from '@tarojs/taro' import Taro from '@tarojs/taro' import { userStore } from './store' import { getCustomerByOpenId } from './api/customer' import './app.scss' function App({ children }: PropsWithChildren) { useLaunch(() => { console.log('台球馆小程序启动') // 先从本地缓存恢复用户信息(快速) try { const savedUserInfo = Taro.getStorageSync('userInfo') if (savedUserInfo) { userStore.setUserInfo(savedUserInfo) } } catch (error) { console.warn('初始化用户信息失败:', error) } // 后台静默刷新(获取最新余额等信息),不阻塞启动 const openId = userStore.userInfo?.wxOpenId || Taro.getStorageSync('openId') if (openId) { getCustomerByOpenId(openId) .then(res => { if (res.data) { userStore.setUserInfoFromWechat(res.data) } }) .catch(e => console.warn('启动刷新用户信息失败:', e)) } }) return children } export default App