23 Commits
Author SHA1 Message Date
TermiNexus 51d6e220ee perf(core): 构建产物静态资源改 72h 强缓存
- _serve_file 识别 Vite 内容 hash 文件名(-<hash>.<ext>,hash 段须含大写或数字)

- hash 产物: public, max-age=259200, immutable(72h,路径随版本变化不影响新版本生效)

- 非 hash 的传统资源保持 1h/24h,index.html 仍 no-cache
2026-09-29 11:32:35 +08:00
TermiNexus 5236821c97 fix(core): 子域未命中时不再回退站点根 HTML,修复部署空窗期串台
- _resolve_file 原先在专属目录未命中时回退 TempLate/<path>,deploy 删除

  index.html 的窗口期内 gerp.gvsds.com 会命中根目录 index.html(www/GVSite)

- 改为:专属目录已落盘时仅放行 assets/ 与 pages/ 共享前缀,其余不回退

- 目录未落盘的别名子域(nav/history)沿用旧回退,避免误伤
2026-09-28 18:03:13 +08:00
TermiNexus 9cb0d8e186 refactor(core): 文档系列目录查询收敛进 DocManager
core/views.py 的 GetSerieDirectory 分支改用 DocManager.GetSerie / 新增的 ListDocumentsBySerie,移除视图内局部 import 与裸 ORM;doc/manager.py 新增 ListDocumentsBySerie(DocSerieUUID) 查询集方法。

注:core/views.py 同时携带此前工作区已有的 Viper/Venom 子域登记(SUBDOMAIN_CONFIG 两条),随本文件一并提交。
2026-09-14 06:47:38 +08:00
TermiNexus 94f515ac29 fix(doc): GetDoc 识别完整 HTML 文档为 html 格式
- 内容以 <!DOCTYPE/html 开头且标为 markdown 时按 html 返回,避免 marked 拆坏内嵌 </style> 污染站点样式(配合前端 @layer 隔离)
- TempLate 同步 GVSite 最新构建产物
2026-08-22 04:21:00 +08:00
TermiNexus ec43c4dfe6 feat(auth): User.DefaultRoleUUID 默认登录角色(登录自动激活)
- core.User 新增 DefaultRoleUUID(UUIDField 可空)+ 手写迁移 0004
- _SetCurrentRoleCookie 登录/注册优先激活默认角色(须持有且启用),否则回退首个角色
- GetUserRoles 返回 IsDefault 标记;新增 SetDefaultRole 接口(空 RoleUUID=清除默认)
2026-08-22 01:23:34 +08:00
TermiNexus b1ccb9e0e1 fix(auth): simplejwt blacklist 适配非 auth User;部署 old2/old3 子域与 SPA fallback
- tokens.py 全局 patch RefreshToken.for_user:不写 OutstandingToken、UserUUID 转 str,
  修复登录 500(OutstandingToken.user 必须为 auth.User 实例);settings/urls 移除 token_blacklist
- core/views 新增 old2/old3 子域配置(走 _base 模板渲染),SPA fallback 支持 /index.html,
  .html 重定向排除目录请求,修复 invite 子域 302 错跳
- TempLate/index.html 同步 GVSite 最新构建产物(含头像下拉复用 GERP 组件)
2026-08-22 01:06:55 +08:00
TermiNexus a208dbb02a chore(tools): 根目录散落工具脚本归位 tools/ 目录
- find/listdir/r/sound/SendWX 及 WARN.mp3 移入 tools/(sound.py 相对路径同目录保持可用)
- Version 死代码(import 自增 VER)归档 tools/Version
- Main.py(生产入口候选)与 TODO 保留根目录待确认
2026-08-13 18:15:30 +08:00
TermiNexus 221c5d9e9d fix(security): 移除 core.User 默认密码哈希后门,异常堆栈改 logging 落盘
- UserPassword 默认值改为空串(防默认口令,须经注册/重置流程设置)
- exception_handler print→logging(日志可审计)
- ip_filter 默认 disabled 语义注释(生产需显式配置并挂载)
2026-08-13 17:55:55 +08:00
TermiNexus 71c8ea8ae5 fix(community): SUBDOMAIN_CONFIG 注册 discuss/community/comm 子域(dir='' root_is_index)——discuss.gvsds.com 等根路径直达 GVSite SPA 社区 2026-08-13 10:22:14 +08:00
TermiNexus 6c7664ae6e feat(sve): 注册 sve.gvsds.org 子域托管 TempLate/SVE,重构 SveID 编解码并兼容存量 CVSS 数据
- core/views.py 注册 sve 子域 -> SVE 目录
- sve/views.py:SveID 按 0x0YYYYNNNNN(5 字节 hex)编解码,兼容补零/文本存量形态;SveCvss 兼容小写键 score/severity/vector
- 删除 TempLate/Org 原生 SVE 页面
- .gitignore 排除 /SVE/ 与 /TempLate/SVE/
2026-08-11 16:28:52 +08:00
TermiNexus d4558fbacb feat(doc): Document 系列表重设计(可空系列 UUID + DocFormat 双格式)与 doc 子域动态 API,删除旧静态阅读页 2026-08-09 01:50:24 +08:00
TermiNexus f6b057bc19 "refactor(core): 用户公司/部门归属改走 gvsdsdk 管理器
- User.GetCompanies 委托 CompanyManager.GetCompaniesForUser
- User.GetDepartments 委托 DepartmentManager.GetDepartmentsForUser
- set_person_in_charge 部门校验走 DepartmentManager.GetDepartmentByUUID"
2026-08-07 15:57:45 +08:00
TermiNexus cc6d417f37 "refactor(views): delegate tenant review, 2FA, account & RBAC to gvsdsdk
- tenant_review uses TenantManager
- twofa uses AuthManager (fixes SEcretKey field typo bug)
- account uses AuthManager activation/email flows
- form_api RBAC uses RoleManager.CheckTablePermission
- order_flow permission lookup uses GetPermissionByCode
- core.User.HasPermission delegates HasUserPermission"
2026-08-07 04:40:16 +08:00
TermiNexus 411ead3ca1 "refactor(api): 角色/权限操作改用 gvsdsdk RoleManager 服务层
- ugm 角色切换校验、gerp 权限分配/移除改用 HasRole/AssignPermission/RemovePermission
- form_service 默认角色绑定与成员重复校验改用 HasRole/AssignRole
- User.GetRoles / 角色群发改用 GetRolesForUser/GetUsersForRole
- 消除 8 处裸操作表样板,统一走 gvsdsdk 服务层"
2026-08-07 01:08:33 +08:00
TermiNexus a355a1ecfc 修复了 ORM 直接编辑区域的表格高度,实现了工单卡片化和 Saga 模式管理页同后端修正 2026-08-06 18:01:05 +08:00
TermiNexus 926cb93fbf 基本已能进入生产环境 2026-08-05 23:32:49 +08:00
TermiNexus 132d7d88ab 配合 GERP 和 GVSite 做了相关的前后端处理 2026-08-04 17:18:00 +08:00
TermiNexus d23f61c2f8 移动了旧 GERP 到 backup 文件夹 2026-08-02 22:15:54 +08:00
TermiNexus 358e9933e5 将 GVSDSDK 作为单独的项目处理 2026-08-02 19:35:34 +08:00
TermiNexus fd591a0c94 修正了大量谬误,增加了《我的世界》相关服务功能等 2026-07-30 00:02:19 +08:00
TermiNexus e5e4e67784 修复了一些问题,升级了 gvsdsdk 2026-07-04 21:50:35 +08:00
TermiNexus a77df5da0f 修复了一些问题 2026-06-25 17:56:08 +08:00
TermiNexus 04f7349a1e 首次上传 2026-06-16 11:55:14 +08:00