10 Commits
Author SHA1 Message Date
chenxing abccca4397 feat(admin): 站点设置页三处体验修复 + 主题参数横排色卡 + 新皮肤 mock
build / build (push) Successful in 2m19s
用户验收反馈三处:
1. 左侧锚点导航不固定——根因 .base-wrap-main .main-container 的 legacy
   overflow:hidden 使 sticky 相对不滚动的隐藏滚动盒定位失效(实测滚动 600px
   导航 top=-387);本页运行时改写为 visible、离开还原,修复后滚动 800px
   导航稳定停在 top:72px。窄屏(≤1080)导航转横排胶囊。
2. 皮肤颜色参数竖排长蛇(真实主题 12 个色参数 = 12 行)——ThemeParamForm
   重排:color 参数转 150px 起步 auto-fill 色卡网格(宽屏一行 4~5 张,
   色卡含取色器+名称+HEX),select/image/text 转两列行式;非法值红框提示。
3. 「换肤/改参数保存后门户立即生效」提示框样式突兀且与按钮拥挤——移除
   皮肤区内联 form-hint,并入卡片 footer 的 card-hint(与基本信息卡一致)。
整页配套:分区卡 10px 圆角+柔和阴影+品牌竖条标题、锚点导航品牌指示条、
footer hint 自适应换行。
mock THEMES 补 poly-blue/agri-forest/jade-normal 三套新皮肤条目。
vitest 147/147 绿;vite build 通过。
2026-09-20 02:42:07 +08:00
chenxing e5a9506228 chore(mock): 粉/紫两包下线后 mock 主题改指 academic-navy/campus-azure
build / build (push) Successful in 2m19s
后端删除 cherry-bloom/violet-iris,改以学院蓝为基座的学府藏蓝/青蓝校园两包接管;
mock 主题清单同步换名换标题换色(cssVar 用各皮肤私有前缀 --an-*/--cz-*),
院系子站种子站点 theme 一并改指,避免管理端主题选择器出现已不存在的皮肤。
2026-09-19 20:22:09 +08:00
chenxing be19ed066a fix(walkthrough): menuRoute 识别 /sch/{code} 壳路径免回退告警;栏目弹窗按钮 type=link 改 text;mock 补 cherry-bloom/violet-iris 主题
build / build (push) Successful in 2m20s
2026-09-19 17:47:51 +08:00
chenxing a05b0ded55 feat(svcitem): 事项库+办事大厅 R2 前端三页,并复用富文本组件消除双份实现
build / build (push) Successful in 3m14s
落地(依据《事项库与办事大厅详细设计 v1》§7)
- 路由:办事事项 modId=21 / 服务字典 modId=22 + 子站镜像(/sch/{code}/site/{siteCode}/svc/*)
  + 3 条 legacyRedirect 旧链兼容;SchoolLayout 菜单图标兜底
- ServiceItemList:三维筛选/关键字/分页/发布下架删除/跳转编辑
- ServiceItemEdit:三段富文本 + 封面 + 指南附件上传回显(attList)+「我要办理外链」提示
  + 部门选择器不可达时提示"可留空保存"
- ServiceDictManage:object/category 双 Tab,被引用键编辑锁定 + 删除引用守护提示
- api/类型:SvcItemApi/SvcDictApi 与 types/cms.ts 契约补齐;站点设置补 svc_hall_base 键

审计修复(docs/18)
- D3 接线:列表页新增 ServiceItemSortModal 拖拽排序(顺序源 selList,保存按下标重排 sort_no)
  与「同步部门名」按钮,此前后端 sort/syncDeptName 已备但前端无入口
- 附件场景拆分:封面与三个富文本编辑器改传 scene=svc_item_asset,指南附件保持 svc_item
  (内容资产由后端按内容派生归属,不再依赖前端收集上传 id——删除只写不读的 uploadedIds 记账)
- 部门组树:SvcDeptVo 增 children,前端 flattenDepts 缩进扁平化(后端改嵌套下发,交互不变)
- RichTextEditor 补 articleId/slateMinHeight prop 并去掉死状态 editorLoading;
  ArticleEdit 改为复用该组件(正文区最小高度按原口径传入,观感不变),消除双份 wangEditor 实现

测试与 mock
- mock 补 /api/svc/** 全量桩(事项分页/字典/部门树/排序/同步部门名/附件回显 + 站点 1、2 示例数据),
  dev:mock 下三页可用(实测 curl 各项响应正确)
- cms.spec 补 save/syncDeptName/selList/dict save+delete 契约;siteRouter.spec 补事项三条路由
  modId 与子站镜像 resolve 断言;新增 RichTextEditor.spec 5 例(上传参数三键/成功 emit/失败不 emit/工具栏排除项)
- vitest 127 用例全绿 + vite build 通过
2026-09-11 14:14:02 +08:00
chenxing 6ee9ab5684 feat(site-layer): 学校站点分层方案C落地(docs/13)+栏目管理增强+管理端三修复+首页视觉升级管理端+审计复检T1~T5(docs/15)整合批次-URL站点段/site/{siteCode}无component镜像层(去name防重名,router-view跳过推进渲染)+身份条SiteSwitcher自绘(徽章#577afb/#ff9900+分组下拉✓+path次级列+Esc/外点收起)+URL唯一事实源syncSiteFromRoute(非法/跨校/主站码当子站段告警打回同页主站,localStorage降级刷新首帧兜底)+菜单剥段高亮stripSiteSeg/withSiteSeg补段+menuRoute镜像层防重影+跳转收敛adminPathOf(工作台进入/全部站点总览/站点管理行进入管理纯URL切站);栏目管理-上级栏目可选可改(禁选自身及后代防成环)+批量添加BatchAddCategory(行序写排序号单行失败不中断)+单页wangEditor富文本预览字数分区+categoryIds契约前端/types/mock三处统一+SchoolLayout高度链.layout-wrap修复+ArticleListPanel fixed模式;管理端三修复-皮肤预览Modal全屏(ThemePreviewFrame可选fill prop)+SiteManage补themeUnregistered声明+长图文编辑器随内容增高;管理端视觉升级配套-SiteConfigForm 12新键+BannerManage gallery展示位切换+栏目homeStyle下拉+PortalPreview侧栏同步;审计复检-新增siteRouter.spec真实路由集成7用例(镜像层matched3层/守卫子站码定向主站前缀/越权回工作台/旧链带id重定向)+sitePath空白容错+siteLayer持久化round-trip与身份条次级入口(docs/15);vitest 99/99+build通过+S1~S10 GUI走查全过
build / build (push) Successful in 2m43s
2026-09-10 11:11:23 +08:00
chenxing 9ba4cb135a feat(theme): 皮肤包管理收敛平台级+命名表单-新顶层路由/theme-manage(meta.superOnly守卫+页面watch双兜底),ThemeManage升级全屏页复用新抽WorkbenchHeader(工作台同款深色顶栏backTo=/workbench),工作台超管工具行加皮肤包管理按钮,删SiteManage兜底按钮,旧/theme重定向新页;上传/添加皮肤包改表单弹窗(zip+显示名/描述;添加=源包+标识名+命名一步),内置包可改显示名/描述(无参数区+恢复默认名称);openEdit未注册主题保留原值并告警(themeEdit util,不再静默归一default);mock删modId=7菜单节点;SiteWizard预览内容源v-model对齐path语义(W4遗留);vitest 62/62+build通过
build / build (push) Successful in 2m17s
2026-09-08 20:25:57 +08:00
chenxing d8ac455428 feat(W1): 皮肤包管理页-卡片网格+上传/派生/编辑/删除,ThemeApi五方法,路由/入口/mock modId=7,ThemeVo增source/inUseCount/editable/usedBySiteNames,T-W1-21..24 绿56/56
build / build (push) Successful in 2m16s
2026-09-08 15:14:10 +08:00
chenxing dedd4a6a3a feat(W4): 站点path全链路-portalUrlOf/previewPortalUrl纯函数,站点列/向导地址预览/预览frame sitePath,store携带path,mock嵌套路由,T-W4-16..18 绿51/51 2026-09-08 15:14:10 +08:00
chenxing 2a077aa917 chore(收尾): mock 数据同步 B2 引用模型-附件 refType 场景引用/page unusedCount/upload scene 白名单 2026-09-08 15:14:09 +08:00
chenxing a3a75c3680 init local code 2026-09-07 09:11:37 +08:00