Files
ccdi/docs/plans/2026-03-06-theme-light-default.md

305 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 默认主题修改为浅色模式 - 实施计划
> **For Claude:** REQUIRED SUB-SKILL: Use superpowers:executing-plans to implement this plan task-by-task.
**目标:** 将前端默认主题从深色模式改为浅色模式,新用户首次访问时看到浅色侧边栏
**架构:** 修改 `settings.js` 中的默认配置Vuex store 会自动读取该配置并应用到界面
**技术栈:** Vue.js 2.6, Vuex 3.6, Element UI 2.15
---
## Task 1: 修改默认主题配置
**文件:**
- Modify: `ruoyi-ui/src/settings.js:10`(修改第 10 行)
### Step 1: 读取当前配置文件
**操作:** 使用 Read 工具读取文件
```
Read: ruoyi-ui/src/settings.js
```
**预期结果:** 看到第 10 行为 `sideTheme: 'theme-dark',`
### Step 2: 修改默认主题为浅色模式
**操作:** 使用 Edit 工具修改配置
```javascript
// 修改 ruoyi-ui/src/settings.js 第 10 行
// 修改前:
sideTheme: 'theme-dark',
// 修改后:
sideTheme: 'theme-light',
```
**完整代码:**
```javascript
module.exports = {
/**
* 网页标题
*/
title: process.env.VUE_APP_TITLE,
/**
* 侧边栏主题 深色主题theme-dark浅色主题theme-light
*/
sideTheme: 'theme-light',
/**
* 系统布局配置
*/
showSettings: true,
/**
* 菜单导航模式 1、纯左侧 2、混合左侧+顶部) 3、纯顶部
*/
navType: 1,
/**
* 是否显示 tagsView
*/
tagsView: true,
/**
* 显示页签图标
*/
tagsIcon: false,
/**
* 是否固定头部
*/
fixedHeader: true,
/**
* 是否显示logo
*/
sidebarLogo: true,
/**
* 是否显示动态标题
*/
dynamicTitle: false,
/**
* 是否显示底部版权
*/
footerVisible: false,
/**
* 底部版权文本内容
*/
footerContent: 'Copyright © 2018-2026 RuoYi. All Rights Reserved.'
}
```
### Step 3: 提交代码变更
**命令:**
```bash
git add ruoyi-ui/src/settings.js
git commit -m "feat: 将默认主题修改为浅色模式
- 修改 settings.js 中 sideTheme 默认值从 'theme-dark' 改为 'theme-light'
- 新用户首次访问时将看到浅色模式侧边栏
- 老用户的自定义设置不受影响localStorage 优先)"
```
**预期结果:** Git 提交成功
---
## Task 2: 手动测试验证
**说明:** 此任务需要手动在浏览器中测试,无法自动化
### Step 1: 启动前端开发服务器
**命令:**
```bash
cd ruoyi-ui
npm run dev
```
**预期结果:** 前端服务启动在 http://localhost:80
### Step 2: 测试新用户体验
**操作步骤:**
1. 打开浏览器开发者工具F12
2. 进入 Application/应用 标签
3. 在左侧找到 Local Storage
4. 删除所有 `layout-setting` 相关的存储项
5. 刷新页面Ctrl+F5 强制刷新)
**预期结果:**
- 侧边栏为浅色模式(白色背景,深色文字)
- 侧边栏 Logo 区域为浅色
- 菜单项为深色文字
### Step 3: 测试老用户体验(深色模式)
**操作步骤:**
1. 打开浏览器开发者工具F12
2. 进入 Application/应用 标签
3. 在 Local Storage 中添加/修改 `layout-setting`
```json
{
"sideTheme": "theme-dark",
"theme": "#409EFF"
}
```
4. 刷新页面Ctrl+F5 强制刷新)
**预期结果:**
- 侧边栏为深色模式(深色背景,浅色文字)
- 老用户的设置被保留
### Step 4: 测试主题切换功能
**操作步骤:**
1. 登录系统
2. 点击右上角设置图标(齿轮图标)
3. 在右侧抽屉中找到"主题风格设置"
4. 点击深色模式图标
5. 观察侧边栏变化
**预期结果:**
- 侧边栏立即切换为深色模式
- 菜单颜色变为浅色文字
### Step 5: 测试主题保存功能
**操作步骤:**
1. 在设置抽屉中切换为深色模式
2. 点击底部的"保存配置"按钮
3. 等待提示"正在保存到本地"
4. 刷新页面F5
**预期结果:**
- 刷新后侧边栏仍为深色模式
- localStorage 中保存了 `layout-setting` 数据
### Step 6: 测试主题重置功能
**操作步骤:**
1. 在设置抽屉中切换为深色模式并保存
2. 点击底部的"重置配置"按钮
3. 等待页面自动刷新
**预期结果:**
- 页面自动刷新
- 侧边栏恢复为浅色模式(默认值)
- localStorage 中的 `layout-setting` 被清除
---
## Task 3: 更新项目文档(可选)
**文件:**
- Modify: `CLAUDE.md` 或 `README.md`(如果有主题相关的说明)
### Step 1: 更新 CLAUDE.md 中的主题说明
**操作:** 检查 CLAUDE.md 中是否有关于默认主题的说明,如果有则更新
**修改位置:** 如果文档中提到"默认深色模式",需要更新为"默认浅色模式"
### Step 2: 提交文档更新
**命令:**
```bash
git add CLAUDE.md
git commit -m "docs: 更新文档中的默认主题说明"
```
---
## 验收清单
在完成所有任务后,请验证以下内容:
- [ ] `ruoyi-ui/src/settings.js` 中 `sideTheme` 值为 `'theme-light'`
- [ ] 新用户首次访问看到浅色模式侧边栏
- [ ] 老用户的深色模式设置被保留
- [ ] 主题切换功能正常(深色 ↔ 浅色)
- [ ] 主题保存功能正常(保存到 localStorage
- [ ] 主题重置功能正常(恢复为浅色模式)
- [ ] 浏览器控制台无错误信息
- [ ] 代码已提交到 Git
---
## 回滚方案
如果发现问题需要回滚:
### 回滚步骤
**命令:**
```bash
git revert <commit-hash>
```
或手动修改 `ruoyi-ui/src/settings.js`:
```javascript
sideTheme: 'theme-dark', // 改回深色模式
```
然后重新构建:
```bash
cd ruoyi-ui
npm run build:prod
```
---
## 部署说明
### 开发环境
无需额外操作,修改后自动生效(热更新)
### 生产环境
1. 构建前端:
```bash
cd ruoyi-ui
npm run build:prod
```
2. 部署 `ruoyi-ui/dist/` 目录到生产服务器
3. 用户刷新浏览器即可看到效果
**注意:**
- 不需要重启后端服务
- 不需要清理数据库
- 不需要用户做任何操作
---
## 相关文件
- `ruoyi-ui/src/settings.js` - 默认配置文件(本次修改)
- `ruoyi-ui/src/store/modules/settings.js` - Vuex 状态管理(无需修改)
- `ruoyi-ui/src/layout/components/Settings/index.vue` - 设置界面(无需修改)
- `docs/plans/2026-03-06-theme-light-default-design.md` - 设计文档