chenxing
|
5da6f7ee5d
|
fix(W3): 预览资产代理前缀拼 request.getContextPath(/yschcms 下 CSS 404 裸 HTML),T-W3-01..04 全绿+全量 264/264
|
2026-09-08 10:51:52 +08:00 |
|
chenxing
|
19e414ee81
|
feat(B3): custom_css 站点级自定义样式-服务端黑名单强校验+5主题head内联直出
- validateConfigJson 增 custom_css 分支:≤10240字符;黑名单忽略大小写拒 </style/<script/@import/expression(
- 快照/渲染链路(model customCss)与 themeVarsCss 同构注入;缓存失效复用既有 SiteContentChangedEvent
- 5 套主题 head.html 于 main.css 与微调变量之后 th:utext 直出(安全性完全依赖服务端先行)
- SiteServiceIT+6 例(含 expression 红线项与 10240 边界);PortalSsrIT+3 例(渲染/head内/顺序/缓存失效)
- mvn -o test 258 例全绿(B3 状态,不含 B4 红测)
|
2026-09-07 20:14:23 +08:00 |
|
chenxing
|
b4822a7f38
|
feat(B2): 附件引用模型-cms_attachment 增 ref_type/ref_id,消灭孤儿误报
- 实体/双 SQL 加列+idx_att_ref;upload 增 scene 白名单(banner/link/site)
- AttachmentService 新增 markUsed/release/markSiteConfigUsed(webUrl 反查,幂等)
- 未使用=articleId 与 refType 均空;page 返回 unusedCount(前后端同步改名无兼容别名)
- Banner/Link 保存先解引用再回写(换图旧图回未使用);Site 配置 logo/favicon 引用回写(@Lazy 解循环依赖)
- 新增13例(Attachment6/Banner3/Link2/Site2)+既有语义断言更新;mvn -o test 全绿
|
2026-09-07 19:40:14 +08:00 |
|
chenxing
|
52676f592a
|
feat(B1): 建站权限拆分-校级可建/编辑本院系子站,顶层站仍仅超管
- SiteService.save 入口换 requireSiteSavePermission 私有方法(安全边界单点):
超管直通;无校级角色/顶层编辑/新建顶层/子站提升/跨校主站/伪造schId 全拒
- SiteServiceIT 新增10例(方案7例+伪造schId/跨校接管/同校改挂3个边界)
- mvn -o test 236/236 全绿(基线226+10)
|
2026-09-07 19:21:18 +08:00 |
|
chenxing
|
99cd26b3d2
|
init local code
|
2026-09-07 09:09:39 +08:00 |
|