Commit Graph

63 Commits

Author SHA1 Message Date
ea705f0917 feat(auth): 添加沙箱测试用 mock_login 接口 (GET /api/mock-login) 2026-04-23 13:11:10 +08:00
502ae8babb fix(payment): payment_page支持URL参数传递JWT,payment_index页面跳转时携带JWT 2026-04-23 12:34:39 +08:00
e8286310ea feat(payment): 接入支付宝沙箱环境 (alipay.trade.page.pay) 2026-04-23 12:23:53 +08:00
8c9552fbfc feat: 新增支付页面接口,为接入支付宝做准备
- GET /payment: 套餐选择页(无需认证,外部浏览器打开)
- GET /payment/page: 支付引导页(需 JWT,创建订单)
- GET /payment/pay: 支付宝电脑网站支付占位页(需 JWT)
- AppState 新增支付宝配置字段(可选)
- afterbody.js: PDF下载增加状态提示和重试按钮
2026-04-23 10:48:31 +08:00
14c2ef25de fix(auth): /weather/details 端点自己验证 JWT(修复静默刷新后仍 401 问题)
问题:/weather/details 不在 jwt_middleware 保护范围内,导致即使前端发送 Authorization header,后端也不会验证 JWT。

修复:使用 HttpRequest 直接从 Authorization header 提取并验证 JWT,而非依赖 middleware 注入的 Claims。

验证:curl 测试确认 /weather/details?id=2 返回正确数据
2026-04-19 17:34:35 +08:00
e14c85436b feat(auth): 添加 Refresh Token 双 Token 机制
- 添加 /api/refresh-token 接口支持 Token 续期
- 登录接口返回 access_token 和 refresh_token
- 新增 refresh_tokens 表存储 refresh_token
- 部署脚本添加数据库备份和迁移功能
- deploy.sh 添加 4 项 API 测试
- 更新 AGENTS.md 文档
2026-04-19 16:01:41 +08:00
52991dcfd5 fix(api): 优化 /health 端点错误提示 2026-04-19 00:38:13 +08:00
9d452c4e75 feat: 统一前后端日志和错误处理 2026-04-19 00:14:22 +08:00
61b1174b30 fix: 统一字段命名为 camelCase 并修复详情 API
- models.rs: 将 inspectiontype/assignmentnumber 的 serde rename 改为
  inspectionType/assignmentNumber,与前端 TypeScript 接口保持一致
- models.rs: 为 WeatherDataBrief 添加 isFavorite 字段支持
- models.rs: WeatherData.is_favorite 添加 skip_deserializing 避免 POST
  请求解析失败,同时使用 default 处理数据库 NULL 值
- handlers/weather.rs: get_weather_details 支持 string 和 number 类型的
  id 参数解析
- IMPROVEMENTS.md: 新增第十三章记录本次对话经验(serde 配置、config
  路径解析、TOML 结构等)
2026-04-17 20:47:00 +08:00
bdbba2cd60 feat: 添加收藏功能 API
- models.rs: 添加 is_favorite 字段到 WeatherData 和 WeatherDataBrief
- db.rs: 添加 get_favorites_list 和 set_weather_favorite 函数
- handlers/favorites.rs: 新建收藏 API 处理器
- handlers/mod.rs: 导出 favorites 模块
- main.rs: 注册收藏 API 路由
2026-04-17 17:40:58 +08:00
562528a1f0 feat: implement payment order system (create-order, mock-confirm, get-quota) 2026-04-17 12:45:53 +08:00
ef47232b1e feat: 添加图片 Content-Type 支持 (png/jpg/gif/svg/webp) 2026-04-15 13:18:43 +08:00
a819a0db91 fix: 调整路由顺序,修复静态文件被JWT拦截的问题
- 将 /static/{tail:.*} 路由移到受保护 scope 之前
- 确保静态文件无需认证即可访问
2026-04-15 11:51:59 +08:00