From a4f2f5bf6bfe138a892ffed198f5188bf2120c95 Mon Sep 17 00:00:00 2001 From: Milky0217 Date: Thu, 25 Sep 2025 15:10:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86struct=E4=BB=8Emain=E7=A7=BB=E5=8A=A8?= =?UTF-8?q?=E5=88=B0models?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 45 ++++----------------------------------------- src/models.rs | 38 +++++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 42 deletions(-) diff --git a/src/main.rs b/src/main.rs index 775c656..56ff5bc 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,53 +1,16 @@ use actix_web::{App, HttpResponse, HttpServer, Responder, Result, post, web}; use db::create_pool; use reqwest::Client; -use serde::{Deserialize, Serialize}; use sqlx::postgres::PgPool; mod db; mod models; use db::insert_weather_data; -use models::WeatherData; - -// 定义请求体结构 -#[derive(Debug, Deserialize)] -struct OpenIdRequest { - openid: String, -} - -// 定义成功响应结构 -#[derive(Debug, Serialize)] -struct UserIdResponse { - user_id: i32, -} - -// 微信登录请求结构 -#[derive(Debug, Deserialize)] -struct WeChatLoginRequest { - code: String, -} - -// 微信API响应结构 -#[derive(Debug, Deserialize)] -struct WeChatApiResponse { - openid: Option, - errcode: Option, - errmsg: Option, -} - -// 我们的API响应结构 -#[derive(Debug, Serialize)] -struct OpenIdResponse { - openid: String, -} - -#[derive(Debug, Serialize)] -struct ErrorResponse { - error: String, - errcode: Option, - errmsg: Option, -} +use models::{ + ErrorResponse, OpenIdRequest, OpenIdResponse, UserIdResponse, WeChatApiResponse, + WeChatLoginRequest, WeatherData, +}; // 新增:根据openid获取用户ID的端点 #[post("/getmyid")] diff --git a/src/models.rs b/src/models.rs index 7ea10da..7052bfe 100644 --- a/src/models.rs +++ b/src/models.rs @@ -1,7 +1,43 @@ use chrono::NaiveDate; use serde::{Deserialize, Serialize}; -use sqlx::FromRow; // 处理日期类型 +use sqlx::FromRow; +// 新增:API请求/响应结构体 +#[derive(Debug, Deserialize)] +pub struct OpenIdRequest { + pub openid: String, +} + +#[derive(Debug, Serialize)] +pub struct UserIdResponse { + pub user_id: i32, +} + +#[derive(Debug, Deserialize)] +pub struct WeChatLoginRequest { + pub code: String, +} + +#[derive(Debug, Deserialize)] +pub struct WeChatApiResponse { + pub openid: Option, + pub errcode: Option, + pub errmsg: Option, +} + +#[derive(Debug, Serialize)] +pub struct OpenIdResponse { + pub openid: String, +} + +#[derive(Debug, Serialize)] +pub struct ErrorResponse { + pub error: String, + pub errcode: Option, + pub errmsg: Option, +} + +// 天气数据结构体(已有) #[derive(Debug, Deserialize, Serialize)] pub struct WeatherData { #[serde(rename = "areaType")]