docs: 重构更新记录文档结构,迁移详细内容到 CHANGELOG
- 将 README.md 中的详细功能更新记录替换为指向 CHANGELOG.md 的链接 - 重构 CHANGELOG.md,采用更清晰的按日期分组结构,优化可读性 - 将历史更新内容从 README 移至专门的变更日志文件,保持主文档简洁
Showing
2 changed files
with
204 additions
and
173 deletions
| ... | @@ -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 | ... | ... |
-
Please register or login to post a comment