Commit Graph
28 Commits
Author SHA1 Message Date
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 067ade546f 后台管理支持上传与清空网站 Logo
- 新增 PUT /api/site/logo(multipart、仅图片,立即生效)与 DELETE /api/site/logo,均仅管理员可用
- Logo 文件引用计数自动管理:上传占用、替换/清空/切换外链释放旧文件;PUT /site 手填地址同样处理,挂载不存在的本地文件返回 400
- 抽出 file.IsImageUpload 供头像与 Logo 共用(按文件头探测图片)
- 后台管理 Logo 区保留外链输入,新增上传/清空按钮(无裁剪,校验类型与大小),三语文案补齐
- 补充引用计数、权限与校验测试并重新生成 Swagger 文档
2026-09-21 21:10:23 +08:00
kevin 9bf397064d 新增文件上传接口与用户头像裁剪上传
- 新增 storage 配置(存储目录、单文件大小上限),ConfigVersion 3→4 自动补全
- internal/file:上传(sha256 秒传去重)、删除(上传者或管理员,引用中 409)、公开查看;本地存储 + 操作日志 + 引用计数,仅安全类型内联防存储型 XSS
- internal/avatar:PUT/DELETE /api/me/avatar,自动管理头像文件引用与旧头像解绑
- 前端引入 vue-advanced-cropper,个人中心支持上传/更换/删除头像,裁剪输出 512×512 JPEG;http 请求支持 FormData
- 导出 auth.CurrentUser、新增 model.User.IsAdmin 与 testutil 多部件上传辅助,补充接口测试并重新生成 Swagger 文档
2026-09-21 20:50:19 +08:00
kevin 866368537c 增加后端开发规范文档
- 说明目录结构与依赖方向
- 重点说明 internal/utils 的使用:ClientIP 取值规则与可信代理配置、RemoteIP、RandomString、新增工具函数流程
- 约定接口响应、数据库迁移、测试与提交流程
2026-09-21 20:28:41 +08:00
kevin f440bb22b6 增加工具模块与可信代理配置
- internal/utils:ClientIP 按序枚举 CDN/代理头(含 RFC 7239 Forwarded),仅在可信代理来源时采信,否则回退直连 IP;RemoteIP 取直连地址;RandomString 生成安全随机串
- 新增 server.trusted_proxies 配置(IP/CIDR,ConfigVersion 2→3 自动补全),启动时同步应用到 gin 与 utils
- 初始管理员密码生成改用 utils.RandomString,原密码测试迁至 utils
2026-09-21 20:28:38 +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 84768e94ed Swagger 文档改为按权限分组
- @Tags 由功能维度改为 public/user/admin 权限维度
- main.go 增加全局 tag 声明与权限说明(需放在 @securitydefinitions 之前,否则会被解析器吞掉)
- 重新生成 docs/,公开 4 个、需登录 7 个、管理员 11 个接口
2026-09-21 16:24:19 +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 2d7f4a63fe 前端接入登录鉴权与会话状态 2026-09-20 02:38:24 +08:00
kevin 2858d3c0f7 接口响应与文档文案全部改为英文
- 错误响应、健康检查等运行时文案改为英文
- 种子数据英文化,新增迁移 v5 更新存量内置数据(不覆盖手工修改)
- Swagger 注释与 docs/ 文档全英文化
- 补充英文文案断言与 v5 迁移测试
2026-09-20 02:13:17 +08:00
kevin b683fb293e 增加注册登录与鉴权,并按功能拆分 internal 模块
- 新增 /api/auth/register、/api/auth/login,JWT 签发与 Bearer 鉴权中间件
- notes 需登录,users/user-groups 仅管理员;auth 配置项随版本 1→2 自动补全
- internal/api 仅保留路由装配,拆分为 auth/user/usergroup/note/httpx/testutil
- 同步更新 Swagger 文档与前端注册接口路径
2026-09-20 02:03:06 +08:00
kevin c17fa0dba2 增加登录注册页面并对接用户创建接口 2026-09-20 01:52:18 +08:00
kevin ac10a52fb9 暗色模式强制单色白点缀 2026-09-20 01:43:01 +08:00
kevin 919884748b 增加中/日/英多语言框架及页脚语言切换 2026-09-19 18:36:46 +08:00
kevin d1de2b69c1 精简主页布局并增加多主题切换 2026-09-19 18:31:11 +08:00
kevin d0c556c6a5 增加流媒体主页页面框架 2026-09-19 18:13:27 +08:00
kevin 8783182e49 前端接入 Tailwind CSS 并清理脚手架演示代码 2026-09-19 18:02:30 +08:00
kevin 30edfac1b5 增加 Swagger API 文档页面 2026-09-19 17:26:07 +08:00
kevin cd18cb8673 忽略运行产生的 unix socket 文件 2026-09-19 17:26:07 +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
kevin 6697240a8e 优化配置文件 2026-09-19 15:52:18 +08:00
kevin b2df923157 up 2026-09-17 16:18:28 +08:00
kevin 4541adaeef 增加配置文件 2026-09-17 12:50:54 +08:00
kevin 152bf2331a 修改应用名 2026-09-17 12:19:58 +08:00
kevin 56034783b5 run 2026-09-17 11:58:57 +08:00
kevin bef64b0cd0 init 2026-09-17 11:51:43 +08:00