8 Commits
Author SHA1 Message Date
kevin 588b63a15b 新增底部导航链接配置与 Favicon 上传
- nav_links 增加 position(header/footer,迁移 v11),后台“导航链接”拆为头部/底部两张卡片,页脚链接支持多语言、新窗口与点分隔,删除硬编码的关于我们等链接
- site_settings 增加 favicon(迁移 v12),新增 PUT/DELETE /api/site/favicon,支持 ICO/PNG/SVG 等且不裁剪,引用计数与 Logo 一致自动管理
- 文件服务识别 SVG 并允许内联,统一附加 CSP(default-src 'none'; sandbox)防止存储型 XSS;Logo 维持仅栅格
- 前端 SiteInfoForm 增加 Favicon 上传/清空/预览,App.vue 动态更新 link rel=icon,三语文案补齐
- 补充位置与 Favicon 的接口/引用计数/安全头测试,重新生成 Swagger 文档
2026-09-21 23:23:11 +08:00
kevin 4449250e97 新增头部导航链接配置与多语言支持
- 迁移 v10 新增 nav_links 与 nav_link_translations 两张表,文案按语言存储
- 公开 GET /api/nav-links 返回启用链接(按 sort/id 排序);管理员可增删改查与启停
- URL 仅允许站内路径、http(s) 与 mailto,拒绝 javascript: 等危险协议;译文替换与校验
- 前端删除写死的“主页”按钮,头部按当前语言渲染动态链接,新窗口加 rel=noopener noreferrer
- 后台管理页新增“头部导航链接”卡片(三语文案、URL、打开方式、排序、状态),改动即时生效
- 补充 nav 接口与迁移测试、三语文案,重新生成 Swagger 文档
2026-09-21 21:26:30 +08:00
kevin 6949b12af0 增加文件表与文件操作记录表
- files 表:相对路径、MIME、扩展名、大小、sha256 唯一(秒传)、引用计数、上传者、存储后端、元数据等
- file_operations 表:create/download/rename/move/delete 五种操作,含文件快照、操作人快照与 IP
- 迁移 v8、v9;补充 hash 唯一约束与操作日志读写测试
2026-09-21 20:28:34 +08:00
kevin 926ad91943 新增站点信息表与后台管理页面
- 新增 site_settings 单行表(迁移 v7),保存网站名称、Logo 图片地址与页脚版权文案
- 新增 GET /api/site(公开)与 PUT /api/site(仅管理员),空值回退前端默认展示
- 前端头部、登录注册页、浏览器标题与页脚接入站点信息,Pinia store 启动时加载
- 新增 /admin/site 后台管理页面,头像下拉仅管理员显示“后台管理”,路由加 requiresAdmin 守卫
- 补充站点接口、迁移与权限测试,重新生成 Swagger 文档
2026-09-21 16:17:28 +08:00
kevin 1fec77e81f 新增个人中心页面与用户资料自助修改接口
- 新增 GET/PUT /api/me:登录用户可查看并修改自己的 nickname/gender/birthday,空串清空、缺省保持不变,生日校验格式与未来日期
- users 表新增 gender/birthday 字段(迁移 v6)及 model.Date 日期类型,管理员用户接口同步支持
- 前端新增 /profile 个人中心页面、头像下拉入口与登录守卫,保存后同步会话用户信息
- 静态服务对未命中的无扩展名路径回退 index.html,避免刷新前端路由 404
- 重新生成 Swagger 文档,补充 /api/me 与资料字段相关测试
2026-09-21 16:05:23 +08:00
kevin 2858d3c0f7 接口响应与文档文案全部改为英文
- 错误响应、健康检查等运行时文案改为英文
- 种子数据英文化,新增迁移 v5 更新存量内置数据(不覆盖手工修改)
- Swagger 注释与 docs/ 文档全英文化
- 补充英文文案断言与 v5 迁移测试
2026-09-20 02:13:17 +08:00
kevin 62f02f8a39 增加用户与用户组模块及初始管理员
- users/user_groups 模型与 CRUD 接口,组成员关系手动维护(规避 GORM 零值主键问题)
- 迁移 v2~v4:用户组、用户表、初始 admin 用户
- 初始密码随机生成,仅终端打印一次并写入 data/admin_password.txt
2026-09-19 17:10:54 +08:00
kevin 45c24a4bd3 增加数据库模块 2026-09-19 16:02:30 +08:00