将struct从main移动到models
This commit is contained in:
45
src/main.rs
45
src/main.rs
@@ -1,53 +1,16 @@
|
|||||||
use actix_web::{App, HttpResponse, HttpServer, Responder, Result, post, web};
|
use actix_web::{App, HttpResponse, HttpServer, Responder, Result, post, web};
|
||||||
use db::create_pool;
|
use db::create_pool;
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
use sqlx::postgres::PgPool;
|
use sqlx::postgres::PgPool;
|
||||||
|
|
||||||
mod db;
|
mod db;
|
||||||
mod models;
|
mod models;
|
||||||
|
|
||||||
use db::insert_weather_data;
|
use db::insert_weather_data;
|
||||||
use models::WeatherData;
|
use models::{
|
||||||
|
ErrorResponse, OpenIdRequest, OpenIdResponse, UserIdResponse, WeChatApiResponse,
|
||||||
// 定义请求体结构
|
WeChatLoginRequest, 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>,
|
|
||||||
}
|
|
||||||
|
|
||||||
// 新增:根据openid获取用户ID的端点
|
// 新增:根据openid获取用户ID的端点
|
||||||
#[post("/getmyid")]
|
#[post("/getmyid")]
|
||||||
|
|||||||
@@ -1,7 +1,43 @@
|
|||||||
use chrono::NaiveDate;
|
use chrono::NaiveDate;
|
||||||
use serde::{Deserialize, Serialize};
|
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)]
|
#[derive(Debug, Deserialize, Serialize)]
|
||||||
pub struct WeatherData {
|
pub struct WeatherData {
|
||||||
#[serde(rename = "areaType")]
|
#[serde(rename = "areaType")]
|
||||||
|
|||||||
Reference in New Issue
Block a user