open_lark/service/cloud_docs/
mod.rs

1//! 云文档(Cloud Docs)服务
2//!
3//! 提供飞书云文档的完整功能集,支持云空间、知识库、文档、电子表格、
4//! 多维表格、画板、权限管理、评论系统等企业级文档协作能力。
5//!
6//! # 核心功能
7//!
8//! ## 云空间管理
9//! - 📁 云盘文件存储管理
10//! - 🔍 文件搜索和检索
11//! - 📊 文件版本控制
12//! - 🔗 文件分享和链接
13//! - 📈 存储空间统计
14//!
15//! ## 知识库管理
16//! - 📚 知识库创建和管理
17//! - 📝 知识文档编写发布
18//! - 🔍 知识内容搜索
19//! - 👥 知识协作和共享
20//! - 📊 知识使用统计
21//!
22//! ## 文档编辑
23//! - 📝 富文本文档创建编辑
24//! - 🎨 文档格式样式设置
25//! - 👥 多人实时协作编辑
26//! - 💬 文档评论和讨论
27//! - 📱 跨平台同步支持
28//!
29//! ## 电子表格
30//! - 📊 表格数据管理操作
31//! - 📈 图表可视化展示
32//! - 🔢 公式计算和函数
33//! - 🔄 数据导入导出
34//! - 👥 协作编辑和分享
35//!
36//! ## 多维表格
37//! - 🗃️ 结构化数据管理
38//! - 🔍 多维度数据筛选
39//! - 📊 数据统计和分析
40//! - 🔗 数据关联和引用
41//! - 📋 表单数据收集
42//!
43//! ## 画板协作
44//! - 🎨 创意画板绘制设计
45//! - 🧩 模板和组件库
46//! - 👥 团队协作创作
47//! - 💡 头脑风暴和规划
48//! - 📱 多设备同步支持
49//!
50//! ## 权限管理
51//! - 🔐 细粒度权限控制
52//! - 👥 用户角色管理
53//! - 🔗 外部链接权限
54//! - 📊 权限审计日志
55//! - 🛡️ 数据安全保护
56//!
57//! ## 评论系统
58//! - 💬 文档评论和回复
59//! - 🎯 精确位置评论
60//! - 🔔 评论通知提醒
61//! - 📊 评论统计分析
62//! - 🔄 评论状态管理
63//!
64//! ## 智能助手
65//! - 🤖 AI写作辅助支持
66//! - 📝 智能内容生成
67//! - 🔍 智能信息检索
68//! - 📊 文档质量分析
69//! - 💡 创作建议推荐
70//!
71//! # 使用示例
72//!
73//! ```rust
74//! use open_lark::prelude::*;
75//!
76//! let client = LarkClient::builder("app_id", "app_secret")
77//!     .with_app_type(AppType::SelfBuild)
78//!     .build();
79//!
80//! // 获取云文档服务
81//! let cloud_docs = &client.cloud_docs;
82//!
83//! // 云空间操作
84//! // let file_request = CreateFileRequest::builder()
85//! //     .name("项目计划书.docx")
86//! //     .parent_token("folder_123")
87//! //     .file_type("docx")
88//! //     .build();
89//! // let file = cloud_docs.drive.v1.file.create(file_request, None).await?;
90//!
91//! // 创建知识库
92//! // let wiki_request = CreateWikiRequest::builder()
93//! //     .name("产品知识库")
94//! //     .description("产品相关文档和资料")
95//! //     .build();
96//! // let wiki = cloud_docs.wiki.v2.space.create(wiki_request, None).await?;
97//!
98//! // 操作文档
99//! // let docx_request = CreateDocumentRequest::builder()
100//! //     .title("会议纪要")
101//! //     .folder_token("folder_456")
102//! //     .build();
103//! // let document = cloud_docs.docx.v1.document.create(docx_request, None).await?;
104//!
105//! // 操作电子表格
106//! // let sheets_request = CreateSpreadsheetRequest::builder()
107//! //     .title("销售数据")
108//! //     .folder_token("folder_789")
109//! //     .build();
110//! // let spreadsheet = cloud_docs.sheets.v3.spreadsheet.create(sheets_request, None).await?;
111//!
112//! // 操作多维表格
113//! // let bitable_request = CreateBitableRequest::builder()
114//! //     .name("项目管理表")
115//! //     .folder_token("folder_abc")
116//! //     .build();
117//! // let bitable = cloud_docs.bitable.v1.app.create(bitable_request, None).await?;
118//! ```
119//!
120//! # 协作特性
121//!
122//! - 👥 多人实时协作编辑
123//! - 💬 全面的评论讨论系统
124//! - 📱 跨平台设备同步
125//! - 🔔 智能通知提醒
126//! - 📊 协作数据分析
127//!
128//! # 企业应用
129//!
130//! - 📋 文档管理和归档
131//! - 👥 团队知识共享
132//! - 📊 数据分析和报告
133//! - 🎨 创意设计协作
134//! - 📈 项目管理和跟踪
135
136use crate::core::config::Config;
137use std::sync::Arc;
138
139// 子模块声明
140pub mod assistant;
141pub mod bitable;
142pub mod board;
143pub mod comments;
144pub mod docx;
145pub mod drive;
146pub mod permission;
147pub mod sheets;
148pub mod wiki;
149
150// 重新导出服务类型
151pub use assistant::AssistantService;
152pub use bitable::BitableService;
153pub use board::BoardService;
154pub use comments::CommentsService;
155pub use docx::DocxService;
156pub use drive::DriveService;
157pub use permission::PermissionService;
158pub use sheets::SheetsService;
159pub use wiki::WikiService;
160
161/// 云文档服务聚合器
162///
163/// 提供统一的云文档相关功能访问接口,包括:
164/// - 云空间 (drive)
165/// - 知识库 (wiki)  
166/// - 文档 (docx)
167/// - 电子表格 (sheets)
168/// - 多维表格 (bitable)
169/// - 画板 (board)
170/// - 权限 (permission)
171/// - 评论 (comments)
172/// - 云文档助手 (assistant)
173pub struct CloudDocsService {
174    pub drive: DriveService,
175    pub wiki: WikiService,
176    pub docx: DocxService,
177    pub sheets: SheetsService,
178    pub bitable: BitableService,
179    pub board: BoardService,
180    pub permission: PermissionService,
181    pub comments: CommentsService,
182    pub assistant: AssistantService,
183}
184
185impl CloudDocsService {
186    pub fn new(config: Arc<Config>) -> Self {
187        Self {
188            drive: DriveService::new(Arc::clone(&config)),
189            wiki: WikiService::new(Arc::clone(&config)),
190            docx: DocxService::new(Arc::clone(&config)),
191            sheets: SheetsService::new(Arc::clone(&config)),
192            bitable: BitableService::new(Arc::clone(&config)),
193            board: BoardService::new(Arc::clone(&config)),
194            permission: PermissionService::new(Arc::clone(&config)),
195            comments: CommentsService::new(Arc::clone(&config)),
196            assistant: AssistantService::new(Arc::clone(&config)),
197        }
198    }
199}