feat: 新增支付页面接口,为接入支付宝做准备

- GET /payment: 套餐选择页(无需认证,外部浏览器打开)
- GET /payment/page: 支付引导页(需 JWT,创建订单)
- GET /payment/pay: 支付宝电脑网站支付占位页(需 JWT)
- AppState 新增支付宝配置字段(可选)
- afterbody.js: PDF下载增加状态提示和重试按钮
This commit is contained in:
2026-04-23 10:48:31 +08:00
parent fe0e831210
commit 8c9552fbfc
7 changed files with 575 additions and 12 deletions

View File

@@ -17,11 +17,11 @@ use auth::jwt_middleware;
use config::AppConfig;
use db::create_pool;
use handlers::{
admin_get_user, admin_update_user_payment, add_favorite, create_order,
delete_weather, generate_temp_token_handler, get_current_user_profile,
admin_get_user, admin_update_user_payment, add_favorite, alipay_trade_page_pay,
create_order, delete_weather, generate_temp_token_handler, get_current_user_profile,
get_favorites, get_user_quota, get_weather_brief, get_weather_details,
health_check, login, mock_confirm, post_weather_data, refresh_token,
remove_favorite, root, save_user_profile, serve_static_files,
health_check, login, mock_confirm, payment_index, payment_page, post_weather_data,
refresh_token, remove_favorite, root, save_user_profile, serve_static_files,
};
use models::AppState;
@@ -61,6 +61,10 @@ fn create_server_config(
.app_data(web::Data::new(app_state))
// 根路径(无需认证)
.service(root) // #[get("/")] - 返回服务信息
// 支付页面(无需认证,外部浏览器访问)
.service(payment_index) // GET /payment — 套餐选择页
.service(payment_page) // GET /payment/page需 JWT
.service(alipay_trade_page_pay) // GET /payment/pay需 JWT
// 静态文件(无需认证)
.service(web::resource("/static/{tail:.*}").route(web::get().to(serve_static_files)))
// API 接口