Commit Graph

10 Commits

Author SHA1 Message Date
becomer 097aed6f40 fix: 收紧管理端越权, 全量CDK/代理列表/公告管理/系统设置仅超管
ci/woodpecker/tag/build Pipeline was successful
实测发现任意代理 token 可访问 /admin/all-cdks、/admin/all-agents、
/agent/list 查看全站数据,并可创建全站强制弹窗公告、篡改系统计费与
SMTP 配置。为这些接口补充 AdminOnly 中间件;公告收取仍走
/my-announcements,代理自管理功能(自有CDK/下级代理)不受影响。
2026-09-03 15:28:43 +08:00
becomer a75d57f309 feat: CDK分页/禁用恢复/生成结果复制 + 引导v2四步并延迟公告查询
ci/woodpecker/tag/build Pipeline was successful
- CDK列表服务端分页(状态筛选/关键字/汇总统计),修复admin全量列表Preload缺失关联问题
- CDK禁用/恢复接口(代理限自己、admin全部),用户管理补充每页条数选择
- 生成CDK后弹窗展示全部CDK并支持复制全部/单个
- 新手引导新增第4步(邀请好友赚积分),引导升级v2机制:所有现有用户重新走一次
- 公告强制弹窗延迟到引导完成后查询,避免弹窗冲突;移除路由调试请求
2026-09-03 15:18:49 +08:00
becomer fc3bfe09f4 feat: 验证码走Redis防刷 + 新用户首次登录三步引导
ci/woodpecker/tag/build Pipeline was successful
- 验证码存储迁移 Redis(TTL 5 分钟自动过期,不再内存无限增长),
  Redis 不可用时兜底内存存储,不影响登录可用性
- 验证码生成接口按客户端 IP 限频(10 秒/次,SetNX),移除每次
  打印验证码的调试日志,防止日志刷屏
- 登录响应新增 firstLogin 标记,新注册用户首次进入自动展示全屏
  三步新手引导:个人中心积分兑换次数→首页新建签到任务→执行任务
2026-09-03 15:11:10 +08:00
becomer b49ef238dd feat: 修复IAP登录错误识别/邮件通知/IP过滤
ci/woodpecker/tag/build Pipeline was successful
- IAP doLogin resultCode 兼容字符串枚举:FAIL_UPNOTMATCH→"用户名或密码不匹配"、
  CAPTCHA_NOTMATCH→"验证码错误",未知结果码记录响应日志便于诊断
- 学校无可用登录地址时返回友好提示(替代 "Get \"\"" 技术性报错)
- 待适配学校 IP 提取真实公网地址(过滤 X-Forwarded-For 链中 127.0.0.1/内网)
- 新增邮件服务:后台可配置 SMTP 与管理员邮箱;新待适配提交异步提醒管理员、
  适配完成异步通知学校全部联系邮箱;支持测试邮件发送
2026-09-03 13:09:42 +08:00
becomer edd4e90719 fix: 修复提交IP记录为反代网关地址 + 邀请码只读 + 待适配页展示已适配学校
ci/woodpecker/tag/build Pipeline was successful
- 后端:fiber 配置 TrustedProxies(172.22.0.0/16)+X-Forwarded-For,待适配学校提交记录真实客户端 IP
- 后端:pending-schools 列表 status=completed 时正确过滤已完成记录
- 前端:登录页邀请码由邀请链接自动带入,改为 disabled 不可编辑
- 前端:待适配学校页面顶部展示已适配学校列表,学校分组标注"已适配"徽标
2026-08-30 22:12:39 +08:00
becomer 6bad918dd8 fix: 签到照片上传 405 + 必填样式 + 选图立即上传保存
ci/woodpecker/tag/build Pipeline was successful
1. 405 根因:前端 saveTaskForm 用 PUT,后端只注册 POST 路由,
   Fiber 返回 405。前端改 POST,后端同时兼容 POST/PUT
2. isPhoto=1 时签到照片标记必填(后端 Required + 前端红星)
3. 图片直传 OBS 成功后立即保存表单,图片地址持久化到数据库,
   不再等手动点保存;上传过程失败给出 toast 提示(补 useMessage 引入)
2026-08-23 19:44:15 +08:00
becomer 43d2676b71 feat: 公告编辑功能、管理表格手机端横向滚动、admin/用户token隔离
ci/woodpecker/tag/build Pipeline was successful
2026-08-16 16:24:34 +08:00
becomer 63b002d074 feat: announcement system upgrade + user management
ci/woodpecker/tag/build Pipeline failed
ci/woodpecker/push/build Pipeline was successful
- Add Source/TargetUserID fields to announcements, support individual push
- Add status (active/disabled) and DisabledReason to SysUser
- Add admin user management API (list, detail, enable/disable)
- Add login disabled check with reason prompt
- Add system-generated invitation notifications
- Allow invite reward amount configurable via system settings
- Frontend: AdminUsers page, update AdminAnnouncements with target user support
2026-07-05 15:23:42 +08:00
becomer f495ad600b fix: align admin API routes with frontend and set admin rate to 0
ci/woodpecker/push/build Pipeline was successful
2026-07-03 16:27:35 +08:00
becomer 2e2c161770 feat: init cpdaily-xiaozhushou with blue-green deploy
- backed/: Go Fiber backend with cpdaily integration
- frondend/: Vue 3 + Vite frontend
- Dockerfile: multi-stage build (Node → Go → Alpine)
- deploy/docker-compose.yml: production compose file
- .woodpecker/build.yml: CI/CD with blue-green zero-downtime deploy
- /health endpoint for deployment health checks
- Port 8884/8885 blue-green swap via 1Panel OpenResty
2026-07-03 15:37:55 +08:00