From 8a1f2cee9444e6974ee72dc9c61821cdcedcfe16 Mon Sep 17 00:00:00 2001 From: matresnan <1358168412@qq.com> Date: Wed, 20 Aug 2025 09:36:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0Projects=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BD=93=E5=B9=B6=E4=BC=98=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=80=BB=E8=BE=91=E5=8F=8A=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加Projects结构体并优化get_all_project方法以使用新结构体收集项目名称 - 将项目获取成功时的HTTP状态码从404修改为200。 --- src/db.rs | 18 ++++++++++++------ src/main.rs | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/db.rs b/src/db.rs index 28ec1b3..83ae2fa 100644 --- a/src/db.rs +++ b/src/db.rs @@ -17,6 +17,11 @@ pub struct Authorize { pub insert_time: String, } +#[derive(Debug, WeldsModel)] +pub struct Projects { + pub project: String, +} + /// 包装类,内部持有 SQLite 连接 pub struct Db { client: SqliteClient, @@ -189,17 +194,18 @@ impl Db { pub async fn get_all_project( &self, ) -> Result, Box> { - let result = Authorize::select(|a| a.project) + let rows = Authorize::all() + .select(|a| a.project) .group_by(|a| a.project) .run(&self.client) .await?; - let rows: Vec = result.collect_into()?; - let projects: Vec = Vec::new(); - for row in rows { - println!("{row:?}"); + // 用Projects结构体来收集查询到的结果 + let result: Vec = rows.collect_into()?; + let mut projects:Vec = Vec::new(); + for row in result { + projects.push(row.project); } - Ok(projects) } } diff --git a/src/main.rs b/src/main.rs index 72c16e6..e3dc003 100644 --- a/src/main.rs +++ b/src/main.rs @@ -224,7 +224,7 @@ async fn get_projects( ( StatusCode::OK, Json(ProjectResponse { - code: 404, + code: 200, projects: projects, }), )