Commit Graph

3 Commits

Author SHA1 Message Date
becomer 2f93e24a39 fix: 适配南昌理工学院自研 CAS→IAP 混合登录(学校ID匹配,独立于通用IAP/CAS逻辑)
ci/woodpecker/tag/build Pipeline was successful
该校登录链路与标准金智 IAP/Apereo CAS 均不同:
- /portal/login → /iap/login 页面实际转发到学校自研 CAS(my.nut.edu.cn/cas/login),
  表单为 username/password/authcode/execution/_eventId 风格
- 登录成功后 302 回跳 /iap/loginSuccess?sessionToken=xxx&ticket=ST-... 建立 IAP 会话
- 密码加密特殊:先反转,明文块按小端 16-bit digit 装配后直接 m^e mod n
  (无 PKCS#1 填充),公钥由 /cas/v2/getPubKey 动态获取,hex 空格分隔
- 每次登录均需图形验证码(/cas/kaptcha),OCR 识别失败自动重试最多3次

新增 nut_login.go 专用实现,CpdailyLogin 按 school.ID 匹配路由,不动通用 IAP/CAS 代码。
2026-08-30 22:03:09 +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 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