应用配置
一、相关配置
操作流程
- 在
src/global.config.ts中配置themeLocation,指定变量配置文件theme.json路径,例如:在 src 目录下新增theme.json,需要配置"themeLocation":"theme.json"。 - 在
src/theme.json中定义相关变量。 - 在
src/global.config.ts全局配置或src/routes.config.ts路由配置或src/pages/${pageId}/index.config.ts页面配置中以 @ 开头引用变量。
支持通过变量配置的一共有以下三大类:
全局配置
- 全局配置文件
src/global.config.ts下tuya.window对象:- navigationBarBackgroundColor
- navigationBarTextStyle
- backgroundColor
- backgroundTextStyle
- backgroundColorTop
- backgroundColorBottom
路由配置
- 路由配置文件
src/routes.config.ts下导出的tabBar对象:- color
- selectedColor
- backgroundColor
- borderStyle
- list
- iconPath
- selectedIconPath
页面配置
- 页面配置文件
src/pages/${pageId}/index.config.ts下导出的对象:详见 小程序页面-页面配置
- backgroundColor
- backgroundTextStyle
- navigationBarBackgroundColor
- navigationBarTextStyle
二、变量配置文件
theme.json 用于颜色主题相关的变量定义,需要先在 themeLocation 中配置 theme.json 的路径,否则无法读取变量配置。
配置文件须包含以下属性:
light 和 dark 下均可以 key: value 的方式定义变量名和值,例如:
完成定义后,可在全局配置或页面配置的相关属性中以 @ 开头引用,例如:
全局配置接入
src/global.config.ts
路由配置接入
src/routes.config.ts
页面配置接入
src/pages/home/index.config.ts
配置完成后,Ray 框架会自动根据系统主题,为小程序展示对应主题下的颜色。
三、获取当前系统主题
getSystemInfo 或 getSystemInfoSync 的返回结果中会包含 theme 属性,值为 light 或 dark。
四、监听主题切换事件
可通过 useAppEvent 监听主题切换事件,如下代码所示: