feat(payment): 重构网页端支付登录流程——小程序生成临时码、网页端扫码确认
- 后端新增 /api/web-login/code (生成临时登录码) 和 /api/web-login/confirm (确认登录) - 后端新增 /payment/login-status (GET, 轮询登录状态) - payment_index 页面完全重写:未登录时显示微信扫码登录入口;登录后显示套餐或会员信息 - 沙箱环境下 /payment 通过 mock-login 跳过真实微信认证,方便测试
This commit is contained in:
@@ -19,10 +19,11 @@ use db::create_pool;
|
||||
use handlers::{
|
||||
admin_get_user, admin_update_user_payment, add_favorite, alipay_notify, alipay_pay_page,
|
||||
create_order, delete_weather, generate_temp_token_handler, get_current_user_profile,
|
||||
get_favorites, get_user_quota, get_weather_brief, get_weather_details,
|
||||
get_favorites, get_user_quota, get_weather_brief, get_weather_details,
|
||||
health_check, login, mock_login, mock_confirm, payment_index, payment_page, payment_success,
|
||||
post_weather_data,
|
||||
refresh_token, remove_favorite, root, save_user_profile, serve_static_files,
|
||||
web_generate_login_code, web_login_confirm,
|
||||
};
|
||||
use models::AppState;
|
||||
|
||||
@@ -73,6 +74,8 @@ fn create_server_config(
|
||||
// API 接口
|
||||
.service(login) // #[post("/api/login")]
|
||||
.service(mock_login) // #[get("/api/mock-login")](沙箱测试用)
|
||||
.service(web_generate_login_code) // #[post("/api/web-login/code")](网页端微信登录)
|
||||
.service(web_login_confirm) // #[post("/api/web-login/confirm")](网页端登录确认)
|
||||
.service(refresh_token) // #[post("/api/refresh-token")](公开接口,无需认证)
|
||||
.service(get_weather_details) // #[get("/weather/details")](支持 JWT 或 temp_token,公开接口)
|
||||
.service(health_check) // #[get("/health")](公开接口,无需认证)
|
||||
|
||||
Reference in New Issue
Block a user