hookehuyr

docs: 重构更新记录文档结构,迁移详细内容到 CHANGELOG

- 将 README.md 中的详细功能更新记录替换为指向 CHANGELOG.md 的链接
- 重构 CHANGELOG.md,采用更清晰的按日期分组结构,优化可读性
- 将历史更新内容从 README 移至专门的变更日志文件,保持主文档简洁
...@@ -5,179 +5,232 @@ All notable changes to this project will be documented in this file. ...@@ -5,179 +5,232 @@ All notable changes to this project will be documented in this file.
5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), 5 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). 6 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7 7
8 +---
9 +
8 ## [Unreleased] 10 ## [Unreleased]
9 11
10 ### Added 12 ### Added
11 13
12 #### API Generator Skill (OpenAPI 文档自动生成) 14 #### API Generator Skill (OpenAPI 文档自动生成)
13 -- **新增从 OpenAPI 文档自动生成 API 代码功能**: 支持完整的 OpenAPI 3.0.1 规范 15 +- 从 OpenAPI 文档自动生成 API 代码功能,支持完整的 OpenAPI 3.0.1 规范
14 -- **新增 API 变更检测**: 自动检测新增、修改、删除的接口,识别破坏性变更 16 +- API 变更检测:自动检测新增、修改、删除的接口,识别破坏性变更
15 -- **新增增量更新机制**: 智能备份和基线管理,避免误报 17 +- 增量更新机制:智能备份和基线管理,避免误报
16 -- **新增 `api:generate` 和 `api:diff` 命令**: 简化 API 生成和变更对比流程 18 +- `api:generate``api:diff` 命令:简化 API 生成和变更对比流程
17 -- **新增完整文档模板和示例**: 包含 GET/POST 请求和响应结构示例 19 +- 完整文档模板和示例:包含 GET/POST 请求和响应结构示例
18 -- **新增依赖**: `js-yaml@4.1.1` 20 +- 新增依赖:`js-yaml@4.1.1`
21 +
22 +---
23 +
24 +## [2026-01-29]
25 +
26 +### Added
27 +
28 +#### 代码质量工具链
29 +- ESLint + Prettier 代码规范配置
30 +- Husky + lint-staged Git Hooks 自动化检查
31 +- 完整的 E2E 测试认证方案
32 +
33 +#### 文档优化
34 +- 将 AI 辅助开发工作流文档从 ideas 移至 done 目录
35 +- 添加 AI 辅助开发工作流优化方案文档
36 +- 重组文档目录结构,分类整理所有文档
37 +
38 +---
39 +
40 +## [2026-01-28]
41 +
42 +### Added
43 +
44 +#### 欢迎页功能 (Welcome Page)
45 +- 首次访问欢迎页 (`/welcome`),用户首次打开应用时自动展示
46 +- VideoBackground 组件:全屏视频背景,支持自动播放、循环播放、移动端优化
47 +- WelcomeContent 组件:欢迎页内容区域,采用水平布局展示 3 个功能入口
48 +- WelcomeEntryItem 组件:可复用的功能入口卡片组件
49 +- 功能入口配置化管理 (`welcomeEntries`),支持内部路由和外部链接
50 +- 首次访问检测:基于 localStorage 的标志位和路由守卫(仅访问 /welcome 时触发)
51 +- 调试工具:开发环境下提供 `window.resetWelcomeFlag()``window.showWelcome()`
52 +- 环境变量:`VITE_WELCOME_PAGE_ENABLED`(功能开关)、`VITE_WELCOME_VIDEO_URL`(视频 URL)
53 +
54 +#### 资源上传
55 +- 通用七牛云上传工具 `scripts/upload-to-qiniu.sh`,支持单文件和批量上传
56 +- 上传欢迎页背景视频:17.57MB 星空宇宙主题视频
57 +- 上传欢迎页图标:33.53KB 功能入口图标
19 58
20 ### Changed 59 ### Changed
21 60
22 #### 欢迎页布局和样式优化 61 #### 欢迎页布局和样式优化
23 -- **添加标题图片**: 新增"美乐爱觉"标题图片,复用召回页设计资源 62 +- 添加"美乐爱觉"标题图片,复用召回页设计资源
24 -- **调整布局方式**: 从环绕式布局改为水平排列,3个功能入口在一行显示 63 +- 调整布局方式:从环绕式布局改为水平排列,3 个功能入口在一行显示
25 -- **优化尺寸**: 图标尺寸调整为 5rem,文字大小调整为 0.95rem 64 +- 优化尺寸:图标尺寸调整为 5rem,文字大小调整为 0.95rem
26 -- **改进对称性**: 使用 `justify-content: space-between` 确保左右边距一致 65 +- 改进对称性:使用 `justify-content: space-between` 确保左右边距一致
27 -- **优化位置**: 布局更靠底部,padding-bottom 设置为 3rem 66 +- 优化位置:布局更靠底部,padding-bottom 设置为 3rem
28 -- **修复标题位置**: 标题固定在顶部,功能入口通过 `margin-top: auto` 推到底部
29 67
30 #### 欢迎页访问逻辑优化 68 #### 欢迎页访问逻辑优化
31 -- **调整首次访问检测逻辑**: 不再自动拦截所有页面跳转到欢迎页 69 +- 调整首次访问检测逻辑:不再自动拦截所有页面跳转到欢迎页
32 -- **优化用户体验**: 访问根目录 `/` 时不会跳转到欢迎页 70 +- 访问根目录 `/` 时不会跳转到欢迎页
33 -- **精准拦截**: 只有直接访问 `/welcome` 时才判断是否首次访问 71 +- 只有直接访问 `/welcome` 时才判断是否首次访问
34 - - 如果首次访问:显示欢迎页并标记已访问
35 - - 如果已访问过:直接跳转到首页
36 72
37 -## [2026-01-29] 73 +---
74 +
75 +## [2026-01-27]
76 +
77 +### Changed
78 +
79 +#### TypeScript 类型优化
80 +-`vue` 重新导出 Slot 和 Slots 类型,解决类型导入问题
81 +
82 +---
83 +
84 +## [2026-01-26]
38 85
39 ### Added 86 ### Added
40 87
41 -#### API Generator Skill (OpenAPI 文档自动生成) 88 +#### 打卡系统增强
42 -- **新增从 OpenAPI 文档自动生成 API 代码功能**: 支持完整的 OpenAPI 3.0.1 规范 89 +- **打卡草稿缓存功能** (`useCheckinDraft`):防止数据丢失,自动保存和恢复
43 -- **新增 API 变更检测**: 自动检测新增、修改、删除的接口,识别破坏性变更 90 +- **多附件功能**:支持文本、图片、视频、音频混合上传与显示
44 -- **新增增量更新机制**: 智能备份和基线管理,避免误报 91 +- **打卡卡片优化** (CheckinCard):
45 -- **新增 `api:generate` 和 `api:diff` 命令**: 简化 API 生成和变更对比流程 92 + - 长文本折叠功能
46 -- **新增完整文档模板和示例**: 包含 GET/POST 请求和响应结构示例 93 + - 多附件 Tab 切换
47 -- **新增依赖**: `js-yaml@4.1.1` 94 + - 移除 `van-tabs``animated``swipeable` 属性
95 +- **草稿恢复时的作业有效性校验**:作业失效时自动清理草稿
96 +- **优化附件预览和编辑回填逻辑**
97 +- **基于 `useCheckin` 的通用提交流程**
48 98
49 -## [2026-01-28] 99 +#### 教师端功能
100 +- 老师置顶与取消置顶打卡的 API 接口
101 +
102 +### Changed
103 +
104 +#### 用户体验优化
105 +- 移除文本输入框的字符限制与字数显示
106 +- 为 CDN 图片添加压缩参数以优化加载性能
107 +- 优化选中日期时切换按钮的显示样式和文本
108 +
109 +### Fixed
110 +
111 +- 修复多类型附件提交时的错误提示信息
112 +- 修复提交任务时接口兼容性问题
113 +- 修复音频上传格式校验逻辑
114 +- 修复视频封面缺失时的背景显示问题
115 +
116 +---
117 +
118 +## [2026-01-25]
119 +
120 +### Changed
121 +
122 +#### Git 配置优化
123 +- 忽略开发工具与文档目录(.claude, .cursor, .specify, .trae, .github, docs)
124 +- 从 .gitignore 中移除 docs 目录
125 +
126 +---
127 +
128 +## [2026-01-24]
50 129
51 ### Added 130 ### Added
52 131
53 -#### 欢迎页功能 (Welcome Page) 132 +#### CDN 图片优化
54 -- **新增欢迎页首次访问功能**: 用户首次打开应用时自动展示欢迎页,提供核心功能入口 133 +-`cdn.ipadbiz.cn` 域名的图片自动添加压缩参数
55 -- **新增 VideoBackground 组件**: 全屏视频背景,支持自动播放、循环播放、移动端优化
56 -- **新增 WelcomeContent 组件**: 欢迎页内容区域,采用不对称布局展示3个功能入口
57 -- **新增 WelcomeEntryItem 组件**: 可复用的功能入口卡片组件
58 -- **新增 welcomeEntries 配置**: 功能入口配置化管理,支持内部路由和外部链接
59 -- **新增首次访问检测**: 基于 localStorage 的首次访问标志位和路由守卫(仅访问 /welcome 时触发)
60 -- **新增调试工具**: 开发环境下提供 `window.resetWelcomeFlag()``window.showWelcome()` 调试函数
61 -- **新增环境变量**:
62 - - `VITE_WELCOME_PAGE_ENABLED`: 控制欢迎页功能开关
63 - - `VITE_WELCOME_VIDEO_URL`: 欢迎页背景视频 URL
64 134
65 -#### 资源上传 135 +### Changed
66 -- **新增通用七牛云上传工具**: `scripts/upload-to-qiniu.sh`,支持单文件和批量上传 136 +
67 -- **上传欢迎页背景视频**: 17.57MB 星空宇宙主题视频 (https://cdn.ipadbiz.cn/mlaj/video/welcome-bg.mp4) 137 +#### 架构优化
68 -- **上传欢迎页图标**: 33.53KB 功能入口图标 (https://cdn.ipadbiz.cn/mlaj/images/welcome_btn_1.png) 138 +- 移除独立的媒体打卡页面以简化路由结构
139 +- 移除遗留布局目录 (`/src/layouts`) 并更新相关文档
140 +- 重构组件目录结构,将 UI 组件按功能分类到对应子目录
141 +
142 +### Fixed
143 +
144 +- 限制视频上传格式并添加 MOV 格式提示
145 +- 修复音频上传格式校验逻辑并移除未使用的 Divider 组件
146 +
147 +---
148 +
149 +## [2026-01-23]
150 +
151 +### Added
152 +
153 +#### 打卡系统增强
154 +- **多类型文件混合上传与显示**:同时支持文本、图片、视频、音频
155 +- **打卡滚动恢复功能**:改善用户体验,返回页面时恢复滚动位置
156 +- **清空选中日期功能**:优化日期切换按钮显示
157 +
158 +#### 文件上传
159 +- 扩展支持的音频格式列表
160 +
161 +### Fixed
162 +
163 +- 修复海报生成在 iOS 微信中失败和封面空白问题
164 +- 修复提交评价时为空内容添加提示
165 +- 修复折叠日历组件在隐藏头部时按钮显示异常
166 +- 修复视频封面缺失时的背景显示问题
167 +
168 +---
169 +
170 +## [2026-01-22]
171 +
172 +### Added
173 +
174 +#### 课程学习体验优化
175 +- 课程详情页和课程学习页的滚动位置同步功能
176 +- 课程目录滚动位置记忆功能
177 +- 动态文件大小限制功能
178 +
179 +### Changed
180 +
181 +#### 组件重构
182 +- 重构组件目录结构,将 UI 组件按功能分类到对应子目录
183 +
184 +### Fixed
185 +
186 +- 修复打卡页面日期选择和加载逻辑问题
187 +- 修复打卡详情页附件类型标签显示问题
188 +- 修复签到小作业 ID 未传递的问题
189 +- 修复课程大纲打卡互动数据初始化问题
190 +- 优化课程详情页空白状态和分隔线显示逻辑
191 +- 完成任务后更新选中项的状态
192 +
193 +---
194 +
195 +## [2026-01-21]
196 +
197 +### Added
198 +
199 +#### 附件管理
200 +- 动态文件大小限制功能
201 +- 附件类型显示工具函数
202 +
203 +### Fixed
204 +
205 +- 修复打卡详情页附件类型标签显示问题
206 +- 修复签到小作业 ID 未传递的问题
207 +- 修复课程大纲打卡互动数据初始化问题
208 +
209 +---
210 +
211 +## [2026-01-20]
69 212
70 ### Changed 213 ### Changed
71 214
72 -#### 路由配置 215 +#### 视频播放器重构
73 -- **新增欢迎页路由**: `/welcome` 路由,无需登录即可访问 216 +- 重构视频播放器逻辑,拆分功能模块
74 -- **优化路由守卫**: 在 `router/index.js` 中添加首次访问检测逻辑 217 +- 移除网络速度显示覆盖层注释代码
75 - 218 +
76 -#### 环境配置 219 +### Fixed
77 -- **更新 .env.development**: 添加欢迎页相关环境变量 220 +
78 -- **更新 .env.production**: 添加欢迎页相关环境变量 221 +- 修复视频播放器条件渲染和清晰度插件问题
79 - 222 +- 改进视频播放器重试逻辑并优化错误处理样式
80 -### Features 223 +
81 - 224 +---
82 -#### 欢迎页核心特性 225 +
83 -- **视频背景**: 循环播放星空宇宙主题视频,自动生成封面图 226 +## 历史功能更新(2025 及更早)
84 -- **首次访问检测**: 基于 localStorage,仅访问 `/welcome` 时判断是否首次展示 227 +
85 - - 首次访问欢迎页:显示欢迎页内容 228 +详细的早期功能更新已迁移到各业务模块文档:
86 - - 再次访问欢迎页:自动跳转到首页 229 +
87 -- **功能入口**: 3个核心功能入口(课程中心、活动中心、个人中心) 230 +- [打卡与作业系统](./docs/tasks/done/暂存用户打卡信息.md)
88 -- **不对称布局**: 打破完美对称,更自然的视觉效果 231 +- [课程系统](./docs/architecture/ARCHITECTURE.md#2-课程系统-courses)
89 -- **浮动动画**: 入口图标带有上下浮动动画效果 232 +- [用户与认证](./docs/architecture/ARCHITECTURE.md#1-用户与认证-user--auth)
90 -- **外部链接支持**: 活动中心支持外链跳转到小程序
91 -
92 -#### 技术亮点
93 -- **七牛云视频处理**: 自动生成封面图 `?vframe/jpg/offset/0.001`
94 -- **移动端优化**: 视频元素添加 `playsinline``webkit-playsinline``x5-video-player-type` 等属性
95 -- **降级方案**: 视频加载失败时显示静态背景图
96 -- **配置化管理**: 功能入口列表可通过配置文件轻松修改
97 -
98 -### Technical Details
99 -
100 -#### 文件结构
101 -```
102 -src/
103 -├── components/
104 -│ ├── effects/
105 -│ │ └── VideoBackground.vue # 视频背景组件
106 -│ └── welcome/
107 -│ ├── WelcomeContent.vue # 欢迎页内容组件
108 -│ └── WelcomeEntryItem.vue # 功能入口项组件
109 -├── config/
110 -│ └── welcomeEntries.js # 功能入口配置
111 -├── router/
112 -│ ├── index.js # 路由守卫(首次访问检测)
113 -│ ├── guards.js # 访问标志管理
114 -│ └── routes.js # 路由配置
115 -└── views/
116 - └── welcome/
117 - └── WelcomePage.vue # 欢迎页视图
118 -```
119 -
120 -#### 功能入口配置
121 -```javascript
122 -export const welcomeEntries = [
123 - {
124 - id: 'courses',
125 - title: '课程中心',
126 - icon: 'https://cdn.ipadbiz.cn/mlaj/images/welcome_btn_1.png',
127 - route: '/courses',
128 - priority: 1
129 - },
130 - {
131 - id: 'activity',
132 - title: '活动中心',
133 - icon: 'https://cdn.ipadbiz.cn/mlaj/images/welcome_btn_1.png',
134 - route: '/activity',
135 - priority: 2,
136 - isExternal: true,
137 - externalUrl: 'https://wxm.behalo.cc/pages/activity/activity?token=&user_id='
138 - },
139 - {
140 - id: 'profile',
141 - title: '个人中心',
142 - icon: 'https://cdn.ipadbiz.cn/mlaj/images/welcome_btn_1.png',
143 - route: '/profile',
144 - priority: 3
145 - }
146 -]
147 -```
148 -
149 -### Development
150 -
151 -#### 调试工具
152 -```javascript
153 -// 开发环境全局函数
154 -window.resetWelcomeFlag() // 重置首次访问标志
155 -window.showWelcome() // 直接跳转到欢迎页
156 -
157 -// URL 参数方式
158 -?reset_welcome=true // 重置并刷新
159 -```
160 -
161 -#### 测试清单
162 -- [x] 首次访问自动跳转到欢迎页
163 -- [x] 非首次访问直接进入首页
164 -- [x] 视频背景正常播放
165 -- [x] 3个功能入口正常跳转
166 -- [x] 活动中心外链正常打开
167 -- [x] 调试工具正常工作
168 -- [x] 移动端视频正常播放
169 -- [x] 布局响应式正常
170 -
171 -### Documentation
172 -
173 -#### 新增文档
174 -- `docs/plan/26.1.28-欢迎页开发计划/plan.md` - 详细实现计划
175 -- `docs/plan/26.1.28-欢迎页开发计划/brainstorm.md` - 头脑风暴与设计探索
176 -- `docs/plan/26.1.28-欢迎页开发计划/README.md` - 快速开始指南
177 -
178 -#### 工具脚本
179 -- `scripts/upload-to-qiniu.sh` - 通用七牛云上传工具
180 233
181 --- 234 ---
182 235
183 -*Last updated: 2026-01-28* 236 +*Last updated: 2026-01-29*
......
...@@ -194,29 +194,7 @@ src/ ...@@ -194,29 +194,7 @@ src/
194 194
195 ## 🎉 功能更新记录 195 ## 🎉 功能更新记录
196 196
197 -### 最新更新 (2026-01) 197 +详细的功能更新历史请查看:[CHANGELOG.md](./CHANGELOG.md)
198 -
199 -**欢迎页功能** ✨ (2026-01-28):
200 -
201 -- 首次访问欢迎页 (`/welcome`):星空宇宙主题视频背景
202 -- 首次访问检测:localStorage 标志位 + 路由守卫拦截
203 -- 水平布局功能入口:课程、活动、个人中心(带浮动动画)
204 -- 环境变量控制:`VITE_WELCOME_PAGE_ENABLED` 开关
205 -- 详细文档:[docs/tasks/done/26.1.28-欢迎页开发计划/](./docs/tasks/done/26.1.28-欢迎页开发计划/)
206 -
207 -**打卡系统增强** 📝 (2026-01):
208 -
209 -- 打卡详情页重构 (`/checkin/detail`):统一文本、媒体上传和计数打卡入口
210 -- 新增草稿缓存功能 (`useCheckinDraft`):防止数据丢失,自动保存和恢复
211 -- 打卡卡片优化 (CheckinCard):长文本折叠、多附件 Tab 切换
212 -- 草稿恢复时的作业有效性校验:作业失效时自动清理
213 -- 优化附件预览和编辑回填逻辑
214 -- 实现基于 `useCheckin` 的通用提交流程
215 -- 完整文档:[docs/tasks/done/暂存用户打卡信息.md](./docs/tasks/done/暂存用户打卡信息.md)
216 -
217 -**历史功能更新**:
218 -
219 -详细记录已迁移到:[/docs/CHANGELOG.md](./docs/CHANGELOG.md)
220 198
221 ## /src/components 目录下组件 199 ## /src/components 目录下组件
222 200
......