openlark_analytics/lib.rs
1//! # OpenLark 数据分析模块
2//!
3//! OpenLark SDK 的数据分析模块,提供飞书数据分析和搜索相关 API 的完整访问。
4//!
5//! ## 功能特性
6//!
7//! - **搜索服务**: 全文搜索、智能搜索、内容检索
8//! - **数据分析**: 数据报表、统计分析、趋势分析
9//!
10//! ## 模块组织
11//!
12//! 本模块按业务域(bizTag)组织:
13//! - `search` - 搜索服务相关 API (14 APIs)
14//!
15//! ## 使用示例
16//!
17//! ```rust,no_run
18//! use openlark_analytics::AnalyticsService;
19//! use openlark_core::prelude::Config;
20//!
21//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
22//! // 使用 builder 模式创建配置
23//! let config = Config::builder()
24//! .app_id("app_id")
25//! .app_secret("app_secret")
26//! .build();
27//!
28//! let analytics_service = AnalyticsService::new(config)?;
29//!
30//! // 获取搜索服务入口(当前 query/user 子路径会显式返回未接线错误)
31//! # #[cfg(all(feature = "search", feature = "v1"))]
32//! let _search_v2 = analytics_service.search().v2();
33//! # Ok(())
34//! # }
35//! ```
36
37#![allow(clippy::module_inception)]
38#![allow(missing_docs)]
39
40mod service;
41
42// 通用模块
43pub mod common;
44
45// 业务域模块
46#[cfg(feature = "search")]
47pub mod search;
48
49// Prelude 模块
50pub mod prelude;
51
52// 重新导出核心服务
53pub use service::AnalyticsService;
54
55/// 数据分析服务客户端类型别名(统一命名为 `XxxClient`)。
56pub type AnalyticsClient = AnalyticsService;
57pub use openlark_core::config::Config;
58
59/// 数据分析模块版本信息
60pub const VERSION: &str = env!("CARGO_PKG_VERSION");
61
62/// 数据分析服务配置别名
63pub type AnalyticsConfig = Config;
64
65#[cfg(test)]
66#[allow(unused_imports)]
67mod tests {
68 use super::*;
69
70 #[test]
71 fn test_version() {
72 assert_ne!(VERSION, "");
73 }
74
75 #[test]
76 fn test_module_composition() {
77 // 验证模块组织正确
78 assert_eq!(VERSION, env!("CARGO_PKG_VERSION"));
79 }
80}