Skip to content

Commit d44b33f

Browse files
committed
🧹 chore: 修复examples中的clippy警告
- 修复未使用变量警告(添加下划线前缀) - 移除未使用的导入 - 删除死代码和未使用的结构体 - 修复不必要的return语句 - 优化数组声明(vec\![] -> []) - 添加#[allow(dead_code)]注解 所有clippy警告已清理,代码质量提升
1 parent f51b551 commit d44b33f

10 files changed

+30
-212
lines changed

examples/api/data_processing_with_enhanced_builder.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212

1313
use chrono::{DateTime, Duration, Utc};
1414
use open_lark::prelude::*;
15-
use std::collections::HashMap;
1615

1716
#[tokio::main]
1817
async fn main() -> Result<(), Box<dyn std::error::Error>> {
@@ -23,7 +22,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
2322
let app_secret = std::env::var("APP_SECRET").expect("请设置 APP_SECRET 环境变量");
2423

2524
// 创建Lark客户端
26-
let client = LarkClient::builder(&app_id, &app_secret)
25+
let _client = LarkClient::builder(&app_id, &app_secret)
2726
.with_app_type(AppType::SelfBuild)
2827
.with_enable_token_cache(true)
2928
.build();
@@ -46,8 +45,8 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
4645
println!("{}", "-".repeat(60));
4746

4847
// 假设已有 spreadsheet_token 和 sheet_id
49-
let spreadsheet_token = "mock_spreadsheet_token";
50-
let sheet_id = "mock_sheet_id";
48+
let _spreadsheet_token = "mock_spreadsheet_token";
49+
let _sheet_id = "mock_sheet_id";
5150

5251
// 1.1 批量写入数据
5352
println!("\n📝 批量写入销售数据:");
@@ -362,9 +361,9 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
362361
// 辅助函数:生成示例销售数据
363362
fn generate_sample_sales_data() -> Vec<SalesRecord> {
364363
let mut records = Vec::new();
365-
let sales_people = vec!["张三", "李四", "王五", "赵六", "陈七"];
366-
let products = vec!["软件许可", "技术支持", "培训服务", "定制开发", "云服务"];
367-
let statuses = vec!["待确认", "已确认", "已发货", "已完成"];
364+
let sales_people = ["张三", "李四", "王五", "赵六", "陈七"];
365+
let products = ["软件许可", "技术支持", "培训服务", "定制开发", "云服务"];
366+
let statuses = ["待确认", "已确认", "已发货", "已完成"];
368367

369368
let mut rng = rand::thread_rng();
370369
use rand::Rng;
@@ -394,6 +393,7 @@ fn generate_sample_sales_data() -> Vec<SalesRecord> {
394393
}
395394

396395
#[derive(Debug, Clone)]
396+
#[allow(dead_code)]
397397
struct SalesRecord {
398398
id: String,
399399
date: DateTime<Utc>,
@@ -406,11 +406,13 @@ struct SalesRecord {
406406
}
407407

408408
// 模拟的辅助函数
409+
#[allow(dead_code)]
409410
fn generate_sales_chart(_data: &[SalesRecord]) -> Vec<u8> {
410411
// 实际实现中,这里会生成真实的图表图片
411412
vec![0u8; 1024] // 模拟图片数据
412413
}
413414

415+
#[allow(dead_code)]
414416
fn build_sales_report_card(_analysis: &()) -> serde_json::Value {
415417
// 实际实现中,这里会构建真实的报告卡片
416418
serde_json::json!({

examples/api/drive_builder_execute_demo.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
1111
let app_secret = env::var("APP_SECRET").expect("APP_SECRET not found in environment");
1212

1313
// 初始化客户端
14-
let client = LarkClient::builder(&app_id, &app_secret).build();
14+
let _client = LarkClient::builder(&app_id, &app_secret).build();
1515

1616
// 演示使用Builder模式的execute方法
1717
println!("🚀 演示Drive服务Builder的execute方法");
1818

1919
// 1. 演示媒体文件上传请求构建
2020
println!("\n📁 构建媒体文件上传请求...");
21-
let upload_request =
21+
let _upload_request =
2222
open_lark::service::cloud_docs::drive::v1::media::UploadMediaRequest::builder()
2323
.file_name("test.jpg")
2424
.parent_token("your_parent_token")
@@ -40,7 +40,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
4040

4141
// 2. 演示权限设置请求构建
4242
println!("\n🔐 构建权限设置请求...");
43-
let permission_request =
43+
let _permission_request =
4444
open_lark::service::cloud_docs::drive::v1::permissions::GetPermissionRequest::builder()
4545
.token("your_file_token")
4646
.r#type("doc")
@@ -50,7 +50,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
5050

5151
// 3. 演示文件夹创建请求构建
5252
println!("\n📂 构建文件夹创建请求...");
53-
let folder_request =
53+
let _folder_request =
5454
open_lark::service::cloud_docs::drive::v2::explorer::CreateFolderRequest::builder()
5555
.name("新建文件夹")
5656
.folder_token("parent_folder_token")
@@ -60,7 +60,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
6060

6161
// 4. 演示文件夹列表请求构建
6262
println!("\n📋 构建文件夹列表请求...");
63-
let list_request =
63+
let _list_request =
6464
open_lark::service::cloud_docs::drive::v2::explorer::ListFolderRequest::builder()
6565
.folder_token("folder_token")
6666
.page_size(50)

examples/api/enterprise_scenario_with_enhanced_builder.rs

Lines changed: 2 additions & 186 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
// APP_SECRET=your_app_secret
1212

1313
use open_lark::prelude::*;
14-
use std::collections::HashMap;
1514

1615
#[tokio::main]
1716
async fn main() -> Result<(), Box<dyn std::error::Error>> {
@@ -22,7 +21,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
2221
let app_secret = std::env::var("APP_SECRET").expect("请设置 APP_SECRET 环境变量");
2322

2423
// 创建Lark客户端
25-
let client = LarkClient::builder(&app_id, &app_secret)
24+
let _client = LarkClient::builder(&app_id, &app_secret)
2625
.with_app_type(AppType::SelfBuild)
2726
.with_enable_token_cache(true)
2827
.build();
@@ -293,195 +292,12 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
293292
Ok(())
294293
}
295294

296-
// 辅助函数:创建卡片消息构建器
297-
struct CardMessageBuilder {
298-
config: Option<Config>,
299-
header: Option<Header>,
300-
elements: Vec<serde_json::Value>,
301-
}
302-
303-
impl CardMessageBuilder {
304-
fn new() -> Self {
305-
Self {
306-
config: None,
307-
header: None,
308-
elements: Vec::new(),
309-
}
310-
}
311-
312-
fn config(mut self, config: Config) -> Self {
313-
self.config = Some(config);
314-
self
315-
}
316-
317-
fn header(mut self, header: Header) -> Self {
318-
self.header = Some(header);
319-
self
320-
}
321-
322-
fn element(mut self, element: impl serde::Serialize) -> Self {
323-
if let Ok(json) = serde_json::to_value(element) {
324-
self.elements.push(json);
325-
}
326-
self
327-
}
328-
329-
fn build(self) -> serde_json::Value {
330-
let mut card = serde_json::json!({});
331-
332-
if let Some(config) = self.config {
333-
card["config"] = serde_json::to_value(config).unwrap();
334-
}
335-
336-
if let Some(header) = self.header {
337-
card["header"] = serde_json::to_value(header).unwrap();
338-
}
339-
340-
if !self.elements.is_empty() {
341-
card["elements"] = serde_json::Value::Array(self.elements);
342-
}
343-
344-
serde_json::json!({ "card": card })
345-
}
346-
}
347-
348-
#[derive(serde::Serialize)]
349-
struct Config {
350-
wide_screen_mode: bool,
351-
enable_forward: bool,
352-
}
353-
354-
impl Config {
355-
fn new(wide_screen_mode: bool, enable_forward: bool) -> Self {
356-
Self {
357-
wide_screen_mode,
358-
enable_forward,
359-
}
360-
}
361-
}
362-
363-
#[derive(serde::Serialize)]
364-
struct Header {
365-
title: PlainText,
366-
template: Option<TemplateColor>,
367-
}
368-
369-
impl Header {
370-
fn new(title: impl ToString) -> Self {
371-
Self {
372-
title: PlainText {
373-
tag: "plain_text".to_string(),
374-
content: title.to_string(),
375-
},
376-
template: None,
377-
}
378-
}
379-
380-
fn template(mut self, color: TemplateColor) -> Self {
381-
self.template = Some(color);
382-
self
383-
}
384-
}
385-
386-
#[derive(serde::Serialize)]
387-
struct PlainText {
388-
tag: String,
389-
content: String,
390-
}
391-
392-
#[derive(serde::Serialize)]
393-
#[serde(rename_all = "lowercase")]
394-
enum TemplateColor {
395-
Blue,
396-
Wathet,
397-
Turquoise,
398-
Green,
399-
Yellow,
400-
Orange,
401-
Red,
402-
Carmine,
403-
Violet,
404-
Purple,
405-
Indigo,
406-
Grey,
407-
}
408-
409-
#[derive(serde::Serialize)]
410-
struct DivElement {
411-
tag: String,
412-
text: Option<PlainText>,
413-
extra: Option<Button>,
414-
}
415-
416-
impl DivElement {
417-
fn new() -> Self {
418-
Self {
419-
tag: "div".to_string(),
420-
text: None,
421-
extra: None,
422-
}
423-
}
424-
425-
fn text(mut self, content: impl ToString) -> Self {
426-
self.text = Some(PlainText {
427-
tag: "plain_text".to_string(),
428-
content: content.to_string(),
429-
});
430-
self
431-
}
432-
433-
fn extra(mut self, button: Button) -> Self {
434-
self.extra = Some(button);
435-
self
436-
}
437-
}
438-
439-
#[derive(serde::Serialize)]
440-
struct Button {
441-
tag: String,
442-
text: PlainText,
443-
url: Option<String>,
444-
#[serde(rename = "type")]
445-
type_: Option<ButtonType>,
446-
}
447-
448-
impl Button {
449-
fn new(text: impl ToString) -> Self {
450-
Self {
451-
tag: "button".to_string(),
452-
text: PlainText {
453-
tag: "plain_text".to_string(),
454-
content: text.to_string(),
455-
},
456-
url: None,
457-
type_: None,
458-
}
459-
}
460-
461-
fn url(mut self, url: impl ToString) -> Self {
462-
self.url = Some(url.to_string());
463-
self
464-
}
465-
466-
fn type_(mut self, button_type: ButtonType) -> Self {
467-
self.type_ = Some(button_type);
468-
self
469-
}
470-
}
471-
472-
#[derive(serde::Serialize)]
473-
#[serde(rename_all = "lowercase")]
474-
enum ButtonType {
475-
Default,
476-
Primary,
477-
Danger,
478-
}
479-
480295
// 模拟权限枚举(实际会从SDK导入)
481296
#[derive(Debug, Clone, Copy)]
482297
enum Permission {
483298
FullAccess,
484299
Edit,
485300
Comment,
301+
#[allow(dead_code)]
486302
View,
487303
}

examples/api/multi_service_integration_enhanced.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
2121
let app_secret = std::env::var("APP_SECRET").expect("请设置 APP_SECRET 环境变量");
2222

2323
// 创建Lark客户端
24-
let client = LarkClient::builder(&app_id, &app_secret)
24+
let _client = LarkClient::builder(&app_id, &app_secret)
2525
.with_app_type(AppType::SelfBuild)
2626
.with_enable_token_cache(true)
2727
.build();
@@ -535,6 +535,7 @@ struct TeamMember {
535535
user_id: String,
536536
role: String,
537537
name: String,
538+
#[allow(dead_code)]
538539
email: String,
539540
}
540541

examples/api/simple_error_demo.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@ use tokio::time::sleep;
1515

1616
use open_lark::core::{
1717
error::LarkAPIError,
18-
error_codes::LarkErrorCode,
19-
error_helper::{ErrorContext, ErrorHelper},
20-
error_logger::{ErrorLogger, LogLevel, LoggerBuilder},
18+
error_helper::ErrorHelper,
19+
error_logger::{LogLevel, LoggerBuilder},
2120
error_metrics::{ErrorMonitor, MonitorConfig},
2221
};
2322

examples/core/create_sheet.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -407,8 +407,8 @@ fn format_cell_value(value: &serde_json::Value) -> String {
407407
/// 演示更复杂的表格操作(供参考)
408408
#[allow(dead_code)]
409409
async fn advanced_spreadsheet_operations(
410-
client: &LarkClient,
411-
spreadsheet_token: &str,
410+
_client: &LarkClient,
411+
_spreadsheet_token: &str,
412412
) -> Result<(), Box<dyn std::error::Error>> {
413413
println!("\n🔧 高级表格操作演示...");
414414

examples/core/download_file.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,14 @@ async fn get_target_file(client: &LarkClient) -> Result<String, Box<dyn std::err
9797
// 选择第一个文件进行演示
9898
let first_file = downloadable_files[0];
9999
println!("🎯 自动选择第一个文件进行下载演示: {}", first_file.name);
100-
return Ok(first_file.token.clone());
100+
Ok(first_file.token.clone())
101101
} else {
102-
return Err("无法获取文件列表".into());
102+
Err("无法获取文件列表".into())
103103
}
104104
}
105105
Err(e) => {
106106
println!("❌ 获取文件列表失败: {:?}", e);
107-
return Err("请通过 FILE_TOKEN 环境变量指定要下载的文件".into());
107+
Err("请通过 FILE_TOKEN 环境变量指定要下载的文件".into())
108108
}
109109
}
110110
}

examples/core/list_folder.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ async fn get_target_folder(client: &LarkClient) -> Result<String, Box<dyn std::e
6060
println!("✅ 根文件夹获取成功: {}", data.token);
6161
Ok(data.token.clone())
6262
} else {
63-
return Err("无法获取根文件夹信息".into());
63+
Err("无法获取根文件夹信息".into())
6464
}
6565
}
6666
Err(e) => {
6767
println!("❌ 获取根文件夹失败: {:?}", e);
68-
return Err(e.into());
68+
Err(e.into())
6969
}
7070
}
7171
}

0 commit comments

Comments
 (0)