|
|
2c86219c82
|
feat: Alipay 安全加固 + 切换手机网站支付 (wap.pay)
Deploy Backend / deploy (push) Has been cancelled
- Phase 1: 移除 Git 中 ALIPAY 密钥,改用 EnvironmentFile
所有 4 个 deploy 模板删除 ALIPAY_* 内联 Environment,改为指向 .env
check_service_file() 不再要求 ALIPAY_APP_ID 在 Environment 中
init_env() 生成模板添加 EnvironmentFile 行
- Phase 2: 切换到手机网站支付 (alipay.trade.wap.pay)
payment.rs: product_code QUICK_WAP_PAY, method alipay.trade.wap.pay
用户从手机浏览器访问时自动唤起支付宝 APP
- Phase 3: 服务器 .env 文件创建
所有环境 .env 文件已通过 SSH 创建(600 权限)
dev 使用沙箱网关 (openapi-sandbox.dl.alipaydev.com)
prod 使用正式网关 (openapi.alipay.com)
- 生产部署完成(blue→green 双环境同步)
密钥安全: 不再存在于任何 Git 跟踪文件中
|
2026-07-20 14:52:39 +08:00 |
|
|
|
4c5c879583
|
fix: static_files 添加 txt 的 Content-Type 映射
|
2026-07-20 09:36:00 +08:00 |
|
|
|
70bb63be8d
|
feat: 添加 robots.txt(屏蔽爬虫索引 API/支付)
|
2026-07-20 09:33:36 +08:00 |
|
|
|
1a359f8d84
|
fix: 日志输出从文件改为 stdout(journald 可见),紧凑格式,去掉 tracing-appender
|
2026-07-20 09:24:12 +08:00 |
|
|
|
941a8e5350
|
fix: insert_weather_data 配额查询使用已重命名的 membership_expires_at 列
|
2026-07-19 09:52:35 +08:00 |
|
|
|
79a07a882a
|
fix: 🔴 Refresh token 泄露 JWT_SECRET — 改用随机 UUID 替代 base64(secret)
Deploy Backend / deploy (push) Has been cancelled
|
2026-07-17 20:23:35 +08:00 |
|
|
|
5a5953f21f
|
chore: 网页端名称统一改为小明计算助手
Deploy Backend / deploy (push) Has been cancelled
|
2026-07-17 13:33:20 +08:00 |
|
|
|
917d69c171
|
feat: Graceful shutdown (10s);backup 格式兼容 .dump.gz;容器连接监控
Deploy Backend / deploy (push) Has been cancelled
|
2026-07-15 11:05:11 +08:00 |
|
|
|
a47502f07e
|
perf: 合并 insert_weather_data N+1 查询为单次;添加 Docker 内存限制和磁盘告警
Deploy Backend / deploy (push) Has been cancelled
|
2026-07-15 10:52:24 +08:00 |
|
|
|
38ee5ccbc6
|
feat: 所有页面添加ICP备案号 浙ICP备2026052792号
Deploy Backend / deploy (push) Has been cancelled
|
2026-07-13 17:30:06 +08:00 |
|
|
|
178008496e
|
优化: Keep-Alive/rate-limiter/dead-code清理 + deploy.sh蓝绿自动检测 + 压测文档
|
2026-07-03 19:45:57 +08:00 |
|
|
|
6d066c8e82
|
fix: 取消订单错误提示区分已支付/已取消状态+支付确认提示优化
|
2026-06-17 13:32:01 +08:00 |
|
|
|
fb224c829f
|
fix: 成功页sync-order轮询传JWT-实时确认支付状态
|
2026-06-17 10:39:33 +08:00 |
|
|
|
b220368544
|
fix: 退款回调同步使用手动表单解析避免GBK编码问题
|
2026-06-15 13:24:38 +08:00 |
|
|
|
ac49ccb552
|
fix: Alipay回调手动解析表单支持GBK/GB2312编码回退
|
2026-06-15 11:17:43 +08:00 |
|
|
|
43c349919d
|
fix: 防止用户误取消已付款订单-回调重新激活+2分钟内禁止取消+成功页30s超时提示
|
2026-06-15 10:37:28 +08:00 |
|
|
|
e672f00b66
|
fix: 支付确认TOCTOU竞态(AND status=pending)+定时器补充过期订单清理
|
2026-06-10 14:11:47 +08:00 |
|
|
|
2aea682098
|
fix: reqwest Client添加10s超时防止登录请求挂起阻塞worker
|
2026-06-09 15:44:48 +08:00 |
|
|
|
caf3c7cc61
|
fix: 支付后增加会员时长验证(verify_membership_after_payment)防止ELSE静默错误
|
2026-06-07 16:34:30 +08:00 |
|
|
|
b806d0c7e0
|
feat: 支付成功页轮询确认+升级页onShow自动同步pending订单
|
2026-06-07 10:24:52 +08:00 |
|
|
|
f8bee8f8b4
|
fix: 后台定时清理refresh_token+清理payment.rs死代码
|
2026-06-05 22:35:02 +08:00 |
|
|
|
955e8d9501
|
chore: 受影响的3位测试用户补偿91天会员+发送感谢通知
|
2026-06-05 22:25:37 +08:00 |
|
|
|
ef05d4fed6
|
fix: 续费页按钮文案按用户状态区分(续费/开通)
|
2026-06-02 13:21:05 +08:00 |
|
|
|
12437975f3
|
feat: 网页续费页UI大改-横向卡片布局+续费文案+响应式优化
|
2026-06-02 13:19:22 +08:00 |
|
|
|
f7f8a1e03f
|
fix: 全站文案统一为环境计算助手
|
2026-06-02 13:16:42 +08:00 |
|
|
|
173bd25d74
|
fix: 网页端支付页响应式设计-紧凑布局+手机端适配
|
2026-06-02 13:13:55 +08:00 |
|
|
|
ebf2fcc383
|
fix: 网页端已付费用户显示续费套餐(原只显示会员信息无套餐)
|
2026-06-02 13:11:43 +08:00 |
|
|
|
62386052c8
|
fix: 首页文案大气稳定度判定→环境计算助手
|
2026-06-02 13:08:44 +08:00 |
|
|
|
0db36dd0f0
|
fix: 二维码改用静态文件(static/QR.jpg)代替损坏的内联base64
|
2026-06-02 13:06:32 +08:00 |
|
|
|
c27c86d764
|
feat: 首页添加微信小程序二维码+fix: switch-env.sh容器内路径
|
2026-06-02 13:04:12 +08:00 |
|
|
|
832a2003f5
|
fix: 绿色环境(:4434)启用HTTPS-代码硬编码端口列表+配置路径修正
|
2026-06-02 12:16:27 +08:00 |
|
|
|
2c0bdf18ce
|
fix: Mock支付增加MOCK_PAY_KEY密钥验证(规则:支付宝优先>启用开关>请求头签名)
|
2026-06-02 12:08:05 +08:00 |
|
|
|
5d6be08f32
|
fix: 修复2个支付安全漏洞-未经认证的payment_success确认+未禁用mock_confirm
|
2026-06-02 11:46:26 +08:00 |
|
|
|
bcd9bc81e4
|
fix: 创建订单前查重-防止同一用户同一套餐重复pending订单
|
2026-06-02 11:38:23 +08:00 |
|
|
|
2470f4265b
|
feat: 添加会员订阅检查脚本 check-members.sh
|
2026-06-02 10:34:09 +08:00 |
|
|
|
6893fcb5d9
|
feat: 根页面改为小程序介绍页(响应式设计)
|
2026-05-31 23:22:59 +08:00 |
|
|
|
49b32a8b2d
|
fix: 添加季卡/半年卡HTML卡片+原价删除线显示
|
2026-05-27 09:30:54 +08:00 |
|
|
|
55259a96a6
|
fix: 套餐定价更新+新增季卡/半年卡+SQL interval适配
|
2026-05-27 09:18:20 +08:00 |
|
|
|
d20c785d38
|
refactor: 移除会员过期通知(check_member_expired)
|
2026-05-26 15:29:52 +08:00 |
|
|
|
667231520d
|
feat: 自动通知-支付成功+到期前7天提醒+已过期通知
|
2026-05-26 15:28:11 +08:00 |
|
|
|
8d7e9d8ca1
|
fix: notifications查询type列别名与sqlx rename冲突导致500
|
2026-05-26 15:08:57 +08:00 |
|
|
|
640f57b6da
|
feat: 通知系统(notifications表+CRUD接口+管理员接口)
|
2026-05-26 15:02:49 +08:00 |
|
|
|
80434047df
|
fix: 支付页面文案-检测额度→存储空间,无限次→无限制
|
2026-05-26 10:35:54 +08:00 |
|
|
|
c9c9cc04de
|
refactor: config.rs去掉TOML文件加载,统一走systemd Environment
|
2026-05-25 16:39:46 +08:00 |
|
|
|
da4af50b45
|
fix: mock_login支持X-Mock-Key请求头鉴权 + deploy自动配置随机密钥
|
2026-05-25 16:27:01 +08:00 |
|
|
|
722ab837d0
|
refactor: is_paid→is_member, paid_expires_at→membership_expires_at 全局重命名
|
2026-05-25 15:33:31 +08:00 |
|
|
|
94ad9ba190
|
fix: payment_page支持resume参数复用已有待支付订单
|
2026-05-25 14:59:33 +08:00 |
|
|
|
ae46e0b0fc
|
fix: sync-order仅查询状态不确认订单(防止误激活)
|
2026-05-25 14:50:43 +08:00 |
|
|
|
d5f87d3d85
|
fix: rsa2_sign后备逻辑改为from_pkcs8_der(支持裸Base64私钥)
|
2026-05-25 14:13:32 +08:00 |
|
|
|
e6e04979dc
|
fix: get_user_quota 返回 was_paid 字段
|
2026-05-25 13:45:55 +08:00 |
|