Skip to content

👑[Enhancement] #71

Description

@KumiKo2007

🥰 需求描述(Description)

先把“主题”拆成两层。第一层是配色模式,保留 light / dark / system,再加一个 custom。第二层是外观包,包含背景图、遮罩、不透明度、模糊、缩放方式、强调色。
上传图片不要存数据库,存到应用数据目录里,数据库只存相对路径、尺寸、hash、更新时间。这样备份、迁移、清理都更稳。
现有 user 单表已经装着设置了,直接加字段最顺手。你现在的设置 DTO 在 E:\chengxu\ReinaManager\src-tauri\src\database\dto.rs,实体在 E:\chengxu\ReinaManager\src-tauri\src\entity\user.rs,扩展空间很够。
前端做一个全局背景层,放在最顶层 layout 下面,所有页面共用。背景图上面叠一层可调暗度的遮罩,保证库页、详情页、统计页都能看清。
设置页加一个“外观”区块,至少包含:上传图片、预览、移除、填充方式、模糊、遮罩强度、应用到浅色/深色/全部模式。
后面再补“主题包”机制。主题包可以是一个 JSON 清单 + 图片资源目录,像 Heroic / Playnite 那样让用户导入导出。

🧐 解决方案(Solution)

梳理现有主题入口、设置存储、数据库字段,确认现在的 light / dark / system 入口和落库位置。
定义新主题模型,拆成 配色模式、背景图、遮罩、模糊、缩放方式 这几项。
扩展后端设置结构和数据库迁移,把主题配置正式写进现有 settings 体系。
实现图片上传、复制到应用数据目录、删除、路径清理和格式校验。
在前端加全局主题渲染层,让背景图覆盖到整个应用,但不影响正文可读性。
做主题设置 UI,支持预览、切换、重置,并保留现在的明暗主题切换。
做跨平台和可用性验证,重点看 Windows / Linux、深色 / 浅色、无图 / 大图、低对比度场景。

Additional context/其他信息

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions