import Taro from '@tarojs/taro' /** 实际生效主题对应的窗口/页面背景色 */ export function themePageColor(theme: 'light' | 'dark'): string { return theme === 'dark' ? '#000000' : '#ffffff' } /** * 同步窗口/页面背景到当前主题: * - 自定义导航区(状态栏下方、胶囊按钮区域)在 iOS 上由 backgroundColorTop 控制, * 仅设 backgroundColor 覆盖不到,因此需要同时设置三项 * - 下拉背景文字样式一并切换,避免深色模式下白字看不清 * * @param bgOverride 传入时使用该背景色(用于强制顶部深色的页面,如商品详情) */ export function applyPageBackground(theme: 'light' | 'dark', bgOverride?: string) { const bg = bgOverride ?? themePageColor(theme) Taro.setBackgroundColor({ backgroundColor: bg, backgroundColorTop: bg, backgroundColorBottom: bg }) Taro.setBackgroundTextStyle({ textStyle: theme === 'dark' ? 'light' : 'dark' }) }