Skip to main content

openlark_analytics/common/
mod.rs

1//! 通用数据模型
2
3use serde::{Deserialize, Serialize};
4
5/// 搜索结果
6#[derive(Debug, Clone, Serialize, Deserialize)]
7pub struct SearchResult {
8    /// 结果 ID
9    pub id: String,
10    /// 结果标题
11    pub title: String,
12    /// 结果摘要
13    pub summary: Option<String>,
14    /// 结果类型
15    pub result_type: String,
16    /// 相关度分数
17    pub score: f64,
18}
19
20/// 搜索统计
21#[derive(Debug, Clone, Serialize, Deserialize)]
22pub struct SearchStats {
23    /// 总结果数
24    pub total: u32,
25    /// 查询时间(毫秒)
26    pub query_time_ms: u32,
27    /// 搜索的页面数
28    pub page_count: u32,
29}
30
31#[cfg(test)]
32#[allow(unused_imports)]
33mod tests {
34
35    #[test]
36    fn test_serialization_roundtrip() {
37        // 基础序列化测试
38        let json = r#"{"test": "value"}"#;
39        assert!(serde_json::from_str::<serde_json::Value>(json).is_ok());
40    }
41
42    #[test]
43    fn test_deserialization_from_json() {
44        // 基础反序列化测试
45        let json = r#"{"field": "data"}"#;
46        let value: serde_json::Value = serde_json::from_str(json).expect("JSON 反序列化失败");
47        assert_eq!(value["field"], "data");
48    }
49}