fix: E2E 测试发现的 10 项 BUG 修复 — 全栈验证通过

P0 修复:
- 侧边栏路由不稳定: Content 区域添加 key={currentPath} 强制重渲染
- 轮播图缩略图不显示: BannerManage 导入 resolveMediaUrl + 反斜杠转正斜杠
- 超长名称导致 500: patient_handler 添加 name.len() > 255 校验
- 迁移 m20260515_000146: version 乐观锁 version+1 修复

P1 修复:
- 排班路由被冻结: routeConfig.ts 移除 /health/schedules 的 frozen 标记
- 轮播图 Switch 切换无效: 切换前先 GET 最新 version 避免乐观锁冲突
- thumbnail_url 反斜杠: media_service 存储时统一 replace('\', '/')

P2 修复:
- 预约类型 follow_up 未映射: APPOINTMENT_TYPE_MAP 补充 '随访'
- 日期选择器未汉化: DatePicker.RangePicker 添加中文 placeholder
- 轮播图 title 必填校验: banner_handler 添加空标题拒绝
- 文章分类重名: article_category_service 添加同名检查
This commit is contained in:
iven
2026-05-15 21:13:49 +08:00
parent 41515e5bec
commit d44c6167b1
10 changed files with 38 additions and 8 deletions

View File

@@ -30,7 +30,7 @@ impl MigrationTrait for Migration {
for &(path, perm) in menu_perms {
db.execute_unprepared(&format!(
"UPDATE menus SET permission = '{perm}', updated_at = NOW() \
"UPDATE menus SET permission = '{perm}', updated_at = NOW(), version = version + 1 \
WHERE path = '{path}' AND deleted_at IS NULL AND (permission IS NULL OR permission = '')"
))
.await?;
@@ -57,7 +57,7 @@ impl MigrationTrait for Migration {
for &path in paths {
db.execute_unprepared(&format!(
"UPDATE menus SET permission = NULL, updated_at = NOW() \
"UPDATE menus SET permission = NULL, updated_at = NOW(), version = version + 1 \
WHERE path = '{path}' AND deleted_at IS NULL"
))
.await?;