Files
wechat_wc/src/app.tsx
T
broccoli acd3c1c2e1 fix(ui): 首屏背景提前设置 + 页面淡入过渡
- App 首帧前同步主题窗口背景,减少深浅色下系统底色闪烁
- 页面根容器增加 0.24s 淡入动画,Tab 切换/进入更平滑
2026-08-18 23:25:47 +08:00

37 lines
1.1 KiB
TypeScript

import { Component, PropsWithChildren } from 'react'
import { ThemeProvider } from './context/ThemeContext'
import { getTheme, resolveTheme } from './utils/store'
import { applyPageBackground } from './utils/themeBackground'
import { setSessionRefreshHandler } from './utils/request'
import { refreshSession, ensureSessionFresh } from './utils/session'
import './app.scss'
class App extends Component<PropsWithChildren> {
componentWillMount() {
// 首帧前先把原生窗口背景切成当前主题,避免深色/浅色下先闪系统默认色
applyPageBackground(resolveTheme(getTheme()))
}
componentDidMount() {
// 启动最早时机同步页面背景,避免自定义导航区在深色模式下闪白
applyPageBackground(resolveTheme(getTheme()))
// 全局 401 自动续登 + 启动时主动校验登录态
setSessionRefreshHandler(refreshSession)
ensureSessionFresh()
}
componentDidShow() {}
componentDidHide() {}
render() {
return (
<ThemeProvider>
{this.props.children}
</ThemeProvider>
)
}
}
export default App