将struct从main移动到models

This commit is contained in:
2025-09-25 15:10:03 +08:00
parent 5c269328ee
commit a4f2f5bf6b
2 changed files with 41 additions and 42 deletions

View File

@@ -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<String>,
errcode: Option<i32>,
errmsg: Option<String>,
}
// 我们的API响应结构
#[derive(Debug, Serialize)]
struct OpenIdResponse {
openid: String,
}
#[derive(Debug, Serialize)]
struct ErrorResponse {
error: String,
errcode: Option<i32>,
errmsg: Option<String>,
}
use models::{
ErrorResponse, OpenIdRequest, OpenIdResponse, UserIdResponse, WeChatApiResponse,
WeChatLoginRequest, WeatherData,
};
// 新增根据openid获取用户ID的端点
#[post("/getmyid")]

View File

@@ -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<String>,
pub errcode: Option<i32>,
pub errmsg: Option<String>,
}
#[derive(Debug, Serialize)]
pub struct OpenIdResponse {
pub openid: String,
}
#[derive(Debug, Serialize)]
pub struct ErrorResponse {
pub error: String,
pub errcode: Option<i32>,
pub errmsg: Option<String>,
}
// 天气数据结构体(已有)
#[derive(Debug, Deserialize, Serialize)]
pub struct WeatherData {
#[serde(rename = "areaType")]