becomer
|
4a80382b60
|
fix: 全局时间统一北京时间(Asia/Shanghai), 修复记录与展示偏移8小时
ci/woodpecker/tag/build Pipeline was successful
根因: 运行容器默认 UTC 且后端未设时区, time.Now()/gorm 时间戳/DSN
loc=Local/手动 Format 全部按 UTC, 导致展示为"美国时间"、月度与每日
边界错位。修复:
- main.go 在 database.Init 前固定 time.Local=Asia/Shanghai
(DSN loc=Local 随之一致, 一处生效覆盖全部业务点)
- pending_school.go 今日判断改北京时间当日0点(原 Truncate 按UTC午夜偏移8h)
- Dockerfile/build.yml/compose 加 TZ=Asia/Shanghai 双保险
配套: 存量 datetime 列已 +8h 迁移(备份 /root/cpdaily-backup-pre-tz-*.sql)
|
2026-09-03 21:06:59 +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
|
165be6d472
|
feat: 用户管理列表增加设备码列 + 登录失败工单增加联系邮箱(国内知名邮箱白名单下拉)
ci/woodpecker/tag/build Pipeline was successful
- 用户管理表格新增设备码列(未绑定显示占位),后端列表接口返回 mobileCode/mobileType
- 登录失败提交工单新增联系邮箱字段:前缀输入 + 国内知名邮箱后缀下拉选择,
后端白名单校验(仅qq/126/163/foxmail等15个国内邮箱),适配完成后用于联系用户
- 待适配学校管理页新增联系邮箱列
|
2026-08-16 16:52:21 +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 |
|