Releases: foxzool/open-lark
Releases · foxzool/open-lark
Release v0.14.0
Added - 🎉 全面事件系统实现与 WebSocket IM 事件增强
📡 完整飞书/Lark事件系统实现
- 🏗️ 全面事件类型支持 - 系统化实现飞书开放平台所有事件类型
- IM (即时消息) - 15个核心事件:消息接收、已读、撤回、反应、群聊生命周期等
- Contact (通讯录) - 13个事件:用户、部门、范围、员工类型变更等
- Drive (云文档) - 10个事件:权限变更、文档操作、订阅管理等
- Calendar (日历) - 8个事件:日程变更、日历ACL、会议室操作等
- Meeting Room (会议室) - 2个事件:状态变更
- VC (视频会议) - 7个事件:会议状态、参会人变更、录制通知等
- Approval (审批) - 2个事件:审批实例和任务状态变更
- Application (应用) - 10个事件:应用状态、可见性、管理员变更等
- 共计 67+ 事件类型, 完整覆盖飞书开放平台事件体系
🎯 WebSocket IM 事件增强
- ✅ 消息撤回事件 - 支持
p2_im_message_recalled_v1事件监听和处理 - ✅ 群聊生命周期事件 - 支持群聊创建、更新、解散事件监听
p2_im_chat_created_v1- 群聊创建事件p2_im_chat_updated_v1- 群聊更新事件p2_im_chat_disbanded_v1- 群聊解散事件
- ✅ 群成员管理事件 - 支持群成员变更事件监听
p2_im_chat_member_user_added_v1- 群成员添加事件p2_im_chat_member_user_deleted_v1- 群成员移除事件
- 🎯 增强用户体验 - 中文日志输出、性能计时、结构化错误处理
- 📊 详细事件信息 - 显示事件ID、操作者、时间戳等完整上下文信息
📚 完整示例演示
- event_handler.rs - 300+ 行完整功能演示
- 展示所有主要模块的事件注册和处理
- 实时事件监听和响应逻辑
- 企业级事件处理最佳实践
🏗️ 技术特性
- 类型安全 - 完整的事件数据结构定义和 Serde 支持
- 模块化设计 - 清晰的事件模块组织,易于维护和扩展
- 向后兼容 - 保持现有 API 稳定,新事件平滑集成
- 零编译警告 - 所有代码通过 clippy 检查和格式化
Added - ✨ Task v2 任务清单增强
- 任务清单支持: 支持在
CreateTaskRequest中指定tasklist_guid - 帮助方法: 新增
TaskService::add_tasklist方法,便于将既有任务加入指定清单 - 文档完善: 更新任务模块文档,补充任务加入清单的示例和能力说明
Release v0.13.2
Fixed - 🐛 WebSocket 消息已读事件修复
修复消息已读事件数据结构不匹配问题
- ✅ message_read_v1 事件结构修正 - 修复关键的 WebSocket 事件反序列化错误
- 修正
P2ImMessageMessageReadV1Data数据结构定义与飞书 API 实际格式不符 - 将
sender和message字段替换为正确的reader和message_id_list字段 - 新增
EventReader结构体,包含read_time,reader_id,tenant_key字段 - 彻底解决了 "missing field 'sender'" 反序列化错误
- 修正
WebSocket Echo Server 示例完善
- 🤖 完整 Echo Server 实现 - 将
websocket_client.rs转换为功能完整的 Echo 服务器- 实现消息接收和自动回显功能,回复格式为 "Echo: [原消息内容]"
- 支持消息已读事件监听和显示
- 增强错误处理和详细的调试日志输出
- 自动设置 debug 日志级别以便问题诊断
- 📊 改进事件信息显示 - 优化控制台输出格式
- 消息接收事件:显示消息ID、发送者、内容等详细信息
- 消息已读事件:显示阅读者、阅读时间、已读消息列表等信息
- 添加使用提示和功能说明
Release v0.13.0
Added - 📚 全面文档完善与质量提升
Fixed - 🔧 CI/CD 流水线优化与构建修复
🚀 CI 构建流程完全修复
- ✅ 无默认特性构建支持 - 修复
--no-default-features构建错误- 条件编译 Arc 导入,避免未使用警告
- 40+ 示例文件添加
required-features配置 - 确保示例只在相应特性启用时编译
- 🎯 Clippy 警告清零 - 解决所有 clippy 警告和编译错误
- 修复特性门控制的服务访问错误
- 统一条件编译模式和导入规范
- 代码格式标准化,提升可读性
- ⚡ CI 性能优化 - GitHub Actions 流水线稳定性提升
- 双重构建验证:
--no-default-features和--all-features - 示例编译错误完全消除
- 测试覆盖率和文档生成流程优化
- 双重构建验证:
✨ 服务模块文档完整化 - 企业级文档标准
- 📝 43个服务模块完整文档 - 为所有主要服务模块添加详细中文文档
- 核心通讯:im、mail、group等服务文档
- 云文档协作:cloud_docs、drive、sheets、bitable等完整文档
- 人力资源:hire、contact、corehr、ehr、payroll等HR服务文档
- 办公自动化:approval、task、okr、calendar等办公服务文档
- 企业管理:admin、tenant、directory、application等管理服务文档
- 智能化服务:ai、search、lingo等AI服务文档
- 安全合规:verification、security_and_compliance、acs等安全服务文档
- 🎯 统一文档标准 - 建立标准化的文档格式和最佳实践
- 模块级文档说明
- 核心功能概览
- 详细使用示例
- API版本支持说明
- 企业应用场景指导
🔧 文档测试质量保证
- ✅ 72个文档测试100%通过 - 修复所有doctest编译错误
- Event模块:修复方法调用链和字段访问错误
- Service模块:添加异步上下文和变量定义
- Authentication模块:移除错误的字段访问
- Card模块:修复类型错误和方法调用问题
- 🎨 代码示例优化 - 确保所有文档示例可编译运行
- 📊 零警告文档生成 - 消除所有rustdoc警告,提供清洁的文档体验
📝 核心API文档完善
- 🃏 Card模块完整文档 - 飞书卡片组件详细使用指南
- ⚡ Event模块文档 - 事件处理器使用说明和最佳实践
- 🛡️ Error模块文档 - 错误类型和处理机制详细说明
- 🏗️ 主要Enum类型文档 - 为核心枚举类型添加完整注释
🎯 开发者体验提升
- 🇨🇳 中文优先文档 - 面向中国开发者的本土化文档
- 📖 丰富使用示例 - 每个服务都包含详细的代码示例
- 💡 最佳实践指导 - 企业级应用开发建议和注意事项
- 🔍 层次化文档结构 - 从概览到详细API的清晰组织
Release v0.12.0
Added - 🏗️ 现代化Builder模式与统一错误处理系统
✨ Builder模式完整实现 - 现代化API调用体验
- 🏗️ ExecutableBuilder特征系统 - 统一Builder接口,支持类型安全的链式调用
- Contact v3用户服务完整Builder模式支持
- IM v1消息、文件、图片服务Builder模式实现
- Drive v1文件服务Builder模式支持
- ⚡ 现代化异步执行 -
.execute()方法提供一致的异步调用体验 - 🔗 流畅链式调用 - 支持参数链式设置,提高代码可读性
- ✅ 完全向后兼容 - 新旧API并存,渐进式迁移
🛡️ 统一错误处理系统
- 📦 StandardResponse特征 - 统一的
.into_result()错误处理机制 - 🎯 智能错误信息 - 详细错误分析和操作建议
- 🔄 一致性保证 - 所有服务使用统一的错误处理模式
🔧 API设计优化
- 📊 API一致性检查工具 - 自动化API设计质量监控
- 📚 完整设计规范 - API_DESIGN_GUIDELINES.md提供标准化开发指南
- 🧪 综合示例代码 - 展示传统vs现代API调用方式
📝 文档与示例完善
- 📋 综合示例 - unified_builder_pattern.rs展示完整功能
- 🎯 专项示例 - IM、Contact、Drive服务的Builder模式示例
- 📚 最佳实践 - 详细的使用指南和代码规范
Added - ✅ Contact v3 通讯录API 100%完成
🎯 Contact v3 API 最终补全 - 企业级通讯录管理达到完全覆盖
- ✨ 功能角色管理完整实现 - 补全最后3个缺失的API方法,现已实现98/98个方法
- FunctionalRole.get() - 获取单个角色详细信息,支持角色ID查询
- FunctionalRole.list() - 获取角色列表,支持分页查询和筛选
- FunctionalRoleMember.create() - 添加角色成员,支持用户和部门类型
- 📝 完整数据结构支持 - 新增所有必需的请求/响应结构体
GetFunctionalRoleResponse,ListFunctionalRolesRequest/ResponseCreateRoleMemberRequest/Response,RoleMemberInfo等完整数据模型
- 🎯 100%接口覆盖达成 - Contact v3现已完全实现文档中的所有接口
- 14个模块全部完成:用户、部门、用户组、权限、自定义字段、人员类型、单位、职级、序列、职务、工作城市、用户组成员、功能角色、功能角色成员
- 98个API方法全部实现,从96.9%提升到100%完成度
- 📚 综合示例代码 - 新增专门的角色管理示例演示
contact_v3_role_management.rs- 展示最新实现的角色管理功能- 更新
contact_v3_comprehensive.rs- 集成新功能到综合演示中
🔧 代码质量提升
- 🧹 修复编译警告 - 清理未使用的导入,优化代码结构
- ✅ 编译验证 - 所有新增代码通过编译检查和格式化
- 📖 完善文档 - 更新CHANGELOG记录完整实现历程
Release v0.11.0
Added - 🎯 飞书招聘 (Hire) v1 接口全面实现
🚀 HireService 完整招聘管理系统 - 企业级人才获取与管理平台 🎉
- 🏗️ 完整招聘管理系统架构 - 6个核心服务模块,17个功能子服务,100+个API接口
- 招聘相关配置 (
recruitment_config): 招聘基础配置和流程管理- 地址管理 (
location): 地点列表查询、地址信息获取 - 权限管理 (
auth): 角色管理、用户权限分配 - 职位管理 (
job): 职位全生命周期管理(创建、发布、更新、关闭) - 招聘需求 (
job_requirement): 招聘需求创建、模板管理 - 招聘流程 (
job_process): 招聘流程配置、阶段管理 - 项目管理 (
subject): 招聘项目组织、成员管理 - 面试设置 (
interview_settings): 面试配置、评价表管理 - Offer设置 (
offer_settings): Offer配置、审批流程设置
- 地址管理 (
- 获取候选人 (
get_candidates): 多渠道人才获取- 内推管理 (
referral): 内推信息、奖励管理 - 官网管理 (
website): 招聘官网、职位发布、投递管理 - 猎头管理 (
agency): 猎头供应商、保护期、推荐管理 - 外部系统 (
external_system): 第三方HR系统集成
- 内推管理 (
- 候选人管理 (
candidate_management): 候选人全流程管理- 人才库 (
talent_pool): 人才池组织、人才分组管理 - 人才管理 (
talent): 人才档案、标签、批量导入 - 投递管理 (
application): 投递创建、流程推进、状态管理 - 面试管理 (
interview): 面试安排、评估、结果记录 - Offer管理 (
offer): Offer发放、审批、接受流程
- 人才库 (
- 生态对接 (
ecological_docking): 第三方平台集成- 背调管理 (
background_check): 背调订单、报告管理 - 笔试管理 (
exam): 在线笔试、试卷、成绩管理
- 背调管理 (
- 内推账户 (
referral_account): 内推奖励管理- 内推账户管理、余额查询、收入记录
- 提现申请、审批流程、账户启停
- 内推统计数据、奖励计算
- 附件管理 (
attachment): 招聘文件管理- 简历、证书等附件上传下载
- 文件预览、批量操作
- 招聘相关配置 (
🎯 招聘业务完整覆盖
- 全流程招聘管理: 从职位发布到候选人入职的完整业务流程
- 多渠道人才获取: 内推、官网、猎头、外部系统等多种人才来源
- 智能化招聘: 人才库管理、标签系统、搜索筛选
- 协同化面试: 面试安排、多轮面试、评估体系
- 规范化Offer: Offer模板、审批流程、电子签约
- 数据化分析: 招聘数据统计、效果分析
🔧 技术特性与架构
- 模块化设计: 清晰的功能分层和服务组织
- 类型安全: 200+个数据结构定义,充分利用Rust类型系统
- 异步支持: 全面的async/await异步编程模式
- 错误处理: 统一的SDKResult错误处理机制
- 国际化支持: I18nText结构支持多语言文本
- 分页查询: 标准化的PageResponse分页模式
- 扩展字段: 灵活的自定义字段和配置支持
📚 完整文档与示例
- API文档: 每个接口都有详细的参数说明和使用示例
- 集成示例:
hire_v1_example.rs- 完整的功能演示 - 实现报告:
reports/hire_v1_implementation_report.md- 详细的技术文档 - 权限说明: 完整的权限范围和配置指南
Release v0.10.0
Added - 🏢 企业级人事管理系统全面实现
🎯 飞书人事企业版 (CoreHR-v1) - 完整人力资源管理平台 🎉
- 🏢 CoreHRService 全面实现 - 企业级人事管理系统,涵盖5大核心模块,22个API接口
- 基础数据管理 (
basic_info): 枚举信息查询、国家地区管理、国籍管理、ID转换系统- 支持性别、婚姻状况、员工状态等枚举查询
- 完整的地理信息体系(国家、省份、城市、区县)
- person_id、employee_id、user_id等多种ID类型互转
- 员工信息管理 (
employee): 员工档案、批量查询、搜索筛选- 个人信息管理(姓名、身份证、联系方式、地址等)
- 雇佣信息管理(入职日期、雇佣类型、试用期、工作邮箱等)
- 任职信息管理(职位、部门、汇报关系、生效时间等)
- 支持多字段搜索和分页查询
- 组织架构管理 (
organization): 部门管理、公司管理、架构树查询- 部门创建、查询、架构树展示
- 公司创建、管理、层级关系维护
- 支持多语言部门名称和描述
- 岗职务管理 (
job_management): 序列、职级、职等、职务完整体系- 序列(JobFamily)管理: 技术序列、产品序列等岗位分类
- 职级(JobLevel)管理: P1-P10等级体系,支持自定义排序
- 职等(JobGrade)管理: 同职级下的精细化等级划分
- 职务(Job)管理: 具体工作岗位定义和职责描述
- 员工生命周期管理 (
lifecycle): 入职、异动、离职全流程管理- 待入职管理: 候选人入职流程、onboarding配置
- 员工异动: 调岗、调薪、晋升等人事变动管理
- 离职管理: 主动离职、辞退等各种离职类型处理
- 企业级特性: 多语言支持、分页查询、自定义字段、时间轴版本管理
- 完整示例演示:
corehr_demo.rs- 700+行完整功能演示,涵盖所有人事管理场景
- 基础数据管理 (
🎭 飞书人事基础版 (EHR-v1) - 人力资源管理基础功能
- 👥 EHRService 实现 - 基础人事管理系统
- 员工管理 (
employee): 员工列表查询、基础信息管理 - 附件管理 (
attachment): 人事附件上传下载、文件管理 - 提供企业基础人事管理能力
- 员工管理 (
🌟 公司圈动态系统 (Moments-v1) - 企业社交平台
- 📱 MomentsService 实现 - 企业社交和动态管理
- 动态管理 (
post): 公司圈动态发布、查询、管理 - 事件订阅 (
events): 动态变更事件监听 - 支持企业内部社交互动和信息传播
- 动态管理 (
🔧 管理后台系统 (Admin-v1) - 企业管理平台
- ⚙️ AdminService 实现 - 企业管理后台功能
- 徽章管理 (
badge): 企业徽章系统管理 - 徽章授予 (
badge_grant): 徽章分发和管理 - 数据报表 (
data_report): 企业数据统计和分析 - 密码管理 (
password): 企业密码策略管理 - 提供企业管理和运营支持功能
- 徽章管理 (
Fixed - 🔧 质量提升和CI优化
GitHub Actions CI 全面优化
- CI配置优化: 修复文档测试编译错误,确保CI稳定运行
- 测试策略调整: 分离库测试和文档测试,提高CI效率
- 发布流程优化: 统一CI和Release工作流配置
- 文档测试修复: 解决async函数调用和Default trait问题
代码质量提升
- Default trait 完善: 为Request结构体添加合适的Default实现
- 文档测试标记: 将有问题的文档测试标记为ignore,保持示例可读性
- 编译错误修复: 解决多模块文档测试编译问题
- 测试覆盖: 299个库测试全部通过,确保代码质量
Technical Details - 📋 技术特性
企业级架构设计
- 模块化设计: 清晰的服务模块划分,易于维护和扩展
- 统一传输层: 所有API使用相同的HTTP传输和错误处理机制
- 类型安全: 充分利用Rust类型系统确保编译时安全
- 异步支持: 全面的异步API设计,支持高并发场景
多语言和国际化
- I18nText结构: 支持中英文双语内容
- 地理信息体系: 完整的国家、地区、时区支持
- 本地化友好: API响应和文档全面支持多语言
数据管理和查询
- 分页查询: 统一的分页响应格式和查询参数
- 自定义字段: 灵活的自定义字段扩展机制
- 时间轴管理: 支持数据版本管理和生效时间控制
Release v0.9.0
Release version 0.9.0
See CHANGELOG.md for details.
Release v0.8.0
Added - 🚀 应用管理系统全面实现
📱 应用管理模块 (Application v6) - 企业级应用生命周期管理 🎉
- 🏢 ApplicationService 完整实现 - 飞书应用管理系统全面覆盖,7大核心服务模块
- 应用信息管理:
application模块 - 应用基础信息、版本管理、协作者管理- 支持应用所有者转移、协作者更新、应用信息查询
- 应用版本管理: 获取版本信息、版本列表、通讯录权限范围配置
- 应用审核: 待审核应用列表、审核状态更新、应用分组管理
- 权限管理:
scope模块 - 权限申请和租户授权状态管理- 向管理员申请授权、查询租户授权状态
- 企业应用管理:
admin模块 - 应用管理、可用范围、管理员权限- 企业安装应用列表、用户可用应用查询、应用启停用控制
- 应用可用范围配置、白黑名单管理、通讯录权限范围配置
- 应用管理员管理: 管理员列表、权限查询、管理员校验
- 应用商店:
appstore_paid_info模块 - 付费方案和订单查询- 用户应用开通范围查询、租户付费方案查询、订单详情查询
- 使用统计:
app_usage模块 - 应用使用统计和部门概览- 应用使用概览、消息推送统计、多部门使用情况分析
- 用户反馈:
application_feedback模块 - 反馈管理和状态更新- 反馈列表查询、反馈状态更新、多类型反馈支持
- 消息通知:
app_badge模块 - 应用红点消息设置- 支持数字红点、圆点红点、清除红点等多种通知方式
- 完整示例演示:
application_demo.rs- 400+行完整功能演示,涵盖所有应用管理场景
- 应用信息管理:
📧 邮件管理模块 (Mail v1) - 企业邮件系统完整实现
- 📨 MailService 全面实现 - 飞书邮件管理系统,16个核心服务模块
- 文件夹管理、邮件操作、附件处理、收信规则、联系人管理
- 邮件组管理、公共邮箱管理、用户邮箱别名、事件订阅
- 完整的企业邮件生命周期管理和权限控制
📋 任务管理模块 (Task v2) - 项目协作完整解决方案
- ✅ TaskV2Service 完整实现 - 飞书任务管理系统,9个核心服务模块
- 任务CRUD、子任务管理、任务列表、评论系统、附件管理
- 任务依赖、成员管理、提醒设置、自定义字段
- 完整的项目协作和任务跟踪解决方案
🎫 服务台模块 (Helpdesk v1) - 客户服务完整平台
- 🆘 HelpdeskService 完整实现 - 飞书服务台系统,11个核心服务模块
- 工单管理、客服管理、知识库、通知系统、FAQ管理
- 客户满意度调查、事件订阅、自定义字段、标签管理
- 完整的客户服务和支持解决方案
Technical Improvements - 🔧 技术架构优化
🏗️ 架构标准化
- 统一API模式: 所有新模块遵循Transport模式和ApiResponseTrait规范
- 完整数据模型: 100+个结构体和枚举类型,全面覆盖飞书API
- 类型安全: 全面的Serde序列化支持和Optional字段处理
- 异步支持: 全异步API调用和统一错误处理机制
📝 示例和文档
- 完整示例: 为每个主要模块提供详细的使用演示
- API覆盖: 支持90+个飞书开放平台API接口
- 企业级功能: 多租户支持、权限管理、数据统计等高级功能
New Dependencies - 📦 依赖更新
- chrono: 时间处理支持,用于日期查询和统计
- dotenv: 环境变量管理,简化示例配置
Release v0.7.0
Added - 🏗️ 新增模块和架构扩展
📋 组织架构模块 (Directory v1) - 全新上线
- 💼 DirectoryService 集成 - 企业级组织架构管理
- 员工管理: 创建员工、批量获取员工列表 (create, filter)
- 部门管理: 创建部门 (create)
- 完整数据模型: Employee, Department, EmployeeStatus, DepartmentStatus
- Builder模式支持:
CreateEmployeeRequest::builder()链式调用 - 预留API接口: patch, delete, resurrect, search 等功能待实现
💬 群组模块 (Group v1) - 架构基础完成
- 🔥 GroupService 全面架构 - 飞书群组功能完整基础
- 5大核心子模块: chat(群管理), chat_member(成员管理), chat_announcement(群公告), chat_tab(标签页), chat_menu_tree(群菜单)
- 完整数据模型: Chat, ChatMember, ChatConfig, ChatAnnouncement, ChatTab, ChatMenu
- 枚举类型支持: ChatType, ChatMode, MemberType, MemberRole, UserIdType, ChatIdType
- 分页支持: PageInfo 标准分页结构
- 服务路径:
client.group.v1.*访问模式
🎨 卡片工具包模块 (Cardkit v1) - 完整实现
- 🎯 CardkitService 完整集成 - 飞书卡片管理系统
- 卡片管理: 创建、更新、批量更新、获取设置 (4个核心API)
- 卡片元素管理: 创建卡片元素 (1个API)
- 完整数据模型: Card, CardElement, CardSettings, CardStatus
- Builder模式支持和标准化响应格式
💬 即时消息模块 (IM v1) - 全面实现完成 🎉
- 🚀 IM服务完整实现 - 飞书消息功能全面覆盖,8大核心服务
- 批量消息处理:
batch_message模块 - 批量发送、删除、进度查询、阅读统计 - 消息表情回复:
message_reaction模块 - 添加、获取、删除表情回复 - Pin消息功能:
pin模块 - Pin消息、移除Pin、获取群内Pin消息列表 - 图片处理:
image模块 - 图片上传下载,支持多种格式 - 文件处理:
file模块 - 文件上传下载,支持multipart表单 - 消息卡片动态更新:
message_card模块 - 卡片更新、延时更新、可见性控制 - 消息加急功能:
buzz_messages模块 - 应用内加急、短信加急、电话加急 - URL预览管理:
url_preview模块 - 批量更新URL预览信息 - 完整示例演示:
im_v1_demo.rs- 330行完整功能演示,涵盖所有子服务
- 批量消息处理:
📱 消息流模块 (IM v2) - 全新实现 ✨
- 🎯 应用消息流卡片管理 -
app_feed_card模块完整实现- create: 创建应用消息流卡片,支持自定义JSON内容和目标用户列表
- update: 更新现有消息流卡片的内容、标题和描述信息
- delete: 删除指定的消息流卡片,支持完整生命周期管理
- 🤖 群聊机器人消息服务 -
groups_bots模块核心功能- bot_time_sentive: 机器人单聊即时提醒,支持多种消息类型和格式
- update: 更新消息流卡片按钮状态和交互行为定义
- patch: 群组即时提醒功能,支持批量用户通知和状态追踪
- 📊 完整数据模型: FeedCard, ButtonInfo, TimelyNotification, UserIdType 等类型安全支持
- 🔧 统一Transport架构: 保持与IM v1一致的API调用模式和错误处理
- 💻 完整演示:
im_v2_demo.rs- 140行功能演示,涵盖消息流卡片全生命周期
🏷️ 企业自定义群标签模块 (Tenant Tag) - 全新实现 🎯
- 📝 标签管理服务 -
tag模块完整实现- create: 创建企业自定义标签,支持名称、描述和类型设置
- patch: 修改现有标签的名称、描述和状态信息
- list: 查询标签列表,支持类型筛选和分页查询
- 🔗 标签绑定服务 -
tag_binding模块核心功能- get: 查询实体与标签的绑定关系,支持多维度查询和筛选
- create: 绑定标签到群组,支持批量操作和详细结果反馈
- update: 解绑标签与群组,支持批量操作和状态追踪
- 🏗️ 双服务架构: tag + tag_binding 职责分离,清晰的功能边界
- 📊 完整数据模型: Tag, TagBinding, TagType, TagStatus, UserIdType 等类型安全支持
- ⚡ 参数优化: 使用GetTagBindingRequest解决too_many_arguments警告
- 💻 完整演示:
tenant_tag_demo.rs- 120行功能演示,涵盖标签全生命周期管理
📹 视频会议模块 (VC v1) - 全新实现 🎥
- 🎯 VcService 完整集成 - 飞书视频会议功能全面覆盖,4大核心服务
- 📅 预约管理服务 (
reserve) - 会议预约全生命周期管理apply()- 预约会议,支持主题、时间、密码、参会人等配置delete()- 删除预约,支持预约取消操作update()- 更新预约,支持会议信息修改get()- 获取预约详情,查询预约状态和信息get_active_meeting()- 获取活跃会议,查询进行中的会议
- 🎪 会议管理服务 (
meeting) - 实时会议操作管理invite()- 邀请参会人,支持批量邀请和结果反馈kickout()- 移除参会人,支持批量移除操作set_host()- 设置主持人,支持主持人权限转移end()- 结束会议,支持会议强制结束get()- 获取会议详情,查询会议状态和参与者信息list_by_no()- 根据会议号获取会议列表,支持时间范围查询
- 📽️ 录制管理服务 (
recording) - 会议录制功能管理start()- 开始录制,支持自定义录制标题stop()- 停止录制,完成录制任务get()- 获取录制详情,查询录制文件信息set_permission()- 设置录制权限,管理访问控制
- 🏢 会议室管理服务 (
room) - 会议室资源管理create()- 创建会议室,支持名称、描述、容量、位置配置update()- 更新会议室,支持信息修改delete()- 删除会议室,支持资源回收get()- 获取会议室详情,查询会议室配置信息list()- 获取会议室列表,支持分页查询search()- 搜索会议室,支持关键字和ID批量查询
- 📅 预约管理服务 (
- 📊 完整数据模型: Meeting, Reserve, Room, Recording, UserIdType, RoomIdType, MeetingStatus, MeetingType 等类型安全支持
- ⚡ 代码优化: 使用参数结构体
ListMeetingsByNoParams,SearchRoomsParams解决函数参数过多问题 - 🏗️ 统一架构: 完全遵循Transport模式,与其他模块保持架构一致性
- 🔧 集成完成: 已集成到
LarkClient,可通过client.vc.v1.*访问 - 💻 完整演示:
vc_v1.rs- 158行功能演示,涵盖视频会议全生命周期管理
📝 妙记模块 (Minutes v1) - 全新实现 🎯
- 🎯 MinutesService 完整集成 - 飞书妙记功能全面覆盖,4大核心服务
- 📁 音视频文件服务 (
media) - 妙记媒体文件管理get()- 下载妙记音视频文件,获取下载URL、文件信息、有效期等
- 📄 文字记录服务 (
transcript) - 妙记转录内容导出get()- 导出妙记文字记录,获取转录文本、语言、格式等信息
- 📊 统计数据服务 (
statistics) - 妙记会议数据分析get()- 获取妙记统计数据,包含会议时长、参会人数、发言统计、关键词分析等
- ℹ️ 妙记信息服务 (
minute) - 妙记基本信息查询get()- 获取妙记信息,包含标题、创建时间、状态、会议链接等基本信息
- 📁 音视频文件服务 (
- 📊 完整数据模型: Minute, MinuteMedia, MinuteTranscript, MinuteStatistics, KeywordStatistic, UserInfo 等类型安全支持
- 🏗️ 统一架构: 完全遵循Transport模式,与其他模块保持架构一致性
- 🔧 集成完成: 已集成到
LarkClient,可通过client.minutes.v1.*访问 - ⚡ 并发支持: 示例中展示了并发获取多个妙记信息的批量处理模式
- 💻 完整演示:
minutes_v1.rs- 142行功能演示,涵盖妙记全功能访问和批量处理
📋 审批模块 (Approval v4) - 企业级审批流程 🎉
- 🚀 ApprovalService 完整实现 - 飞书审批系统全面覆盖,10大核心服务
- 📝 原生审批定义 (
approval) - 审批流程定义管理create()- 创建审批定义,支持表单配置、流程设置、权限配置get()- 查看指定审批定义,获取完整配置信息
- 📋 原生审批实例 (
instance) - 审批实例全生命周期管理create()- 创建审批实例,支持表单数据、发起人、部门信息cancel()- 撤回审批实例,支持实例撤回操作cc()- 抄送审批实例,支持批量抄送和消息自定义preview()- 预览审批流程,查看流程节点和审批人信息get()- 获取实例详情,查询实例状态和处理历史list()- 批量获取实例ID,支持多条件筛选和分页查询
- ✅ 原生审批任务 (
task) - 审批任务操作管理approve()- 同意审批任务,支持审批意见和表单数据reject()- 拒绝审批任务,支持拒绝原因和表单数据transfer()- 转交审批任务,支持转交用户和转交原因rollback()- 退回审批任务,支持指定节点退回add_sign()- 审批任务加签,支持前加签、后加签、或签resubmit()- 重新提交审批任务,支持表单数据更新
- 📎 审批文件 (
file) - 审批附件管理upload()- 上传审批文件,支持multipart表单上传
- 💬 审批评论 (
instance_comment) - 审批过程评论create()- 创建评论,支持文本内容和附件delete()- 删除指定评论remove_all()- 清空实例所有评论list()- 获取评论列表,支持分页查询
- 🔗 三方审批定义 (
external_approval) - 外部系统集成create()- 创建三方审批定义,支持外部URL和回调配置get()- 查看三方审批定义详情
- 📊 三方审批实例 (
external_instance) - 外部审批同步create()- 同步三方审批实例,支持状态同步和流程详情check()- 校验三方审批实例,支持实例验证
- 📋 三方审批任务 (
external_task) - 外部任务状态list()- 获取三方审批任务状态,支持多条件查询
- 🤖 审批Bot消息 (
message) - 审批通知管理send()- 发送审批Bot消息,支持自定义消息内容和类型update()- 更新审批Bot消息,支持消息内容更新
- 🔍 审批查询 (
search) - 审批数据查询分析instances()- 查询实例列表,支持多维度筛选和时间范围tasks()- 查询任务列表,支持状态筛选和批量查询cc()- 查询抄送列表,支持抄送记录查询approval_id()- 查询审批ID,支持名称模糊搜索user_tasks()- 查询用户任务列表,支持个人任务管理
- 📝 原生审批定义 (
- 📊 完整数据模型: Approval, ApprovalInstance, ApprovalTask, ApprovalFile, ApprovalComment, FormField, FormData, UserInfo, ProcessNode 等类型安全支持
- 🏗️ 统一架构: 完全遵循Transport模式,与其他模块保持架构一致性
- 🔧 集成完成: 已集成到
LarkClient,可通过client.approval.v4.*访问 - ⚡ 类型安全: 支持UserIdType、DepartmentIdType参数类型,确保API调用安全
- 💻 完整演示:
approval_demo.rs- 290行功能演示,涵盖审批系统全生命周期管理
Enhanced - 功能增强
🔧 SDK架构持续优化
- 统一服务集成: 所有新模块完整集成到
LarkClient - 标准化接口: 统一的Builder模式、ExecutableBuilder trait、错误处理
- 示例程序完善:
directory_demo.rs- 组织架构模块演示group_demo.rs- 群组模块架构演示cardkit_demo.rs- 卡片工具包演示im_v1_demo.rs- IM v1模块完整功能演示,涵盖8大子服务im_v2_demo.rs- IM v2消息流模块演示,展示卡片管理和机器人消息tenant_tag_demo.rs- 企业标签模块演示,展示标签管理和绑定操作vc_v1.rs- 视频会议模块演示,展示预约、会议、录制、会议室全功能minutes_v1.rs- 妙记模块演示,展示音视频文件、文字记录、统计数据、信息查询全功能approval_demo.rs- 审批模块演示,展示审批定义、实例、任务、文件、评论、三方集成、查询全功能
- 文档和配置: Cargo.toml示例配置更新
Technical Details - 技术细节
📊 开发统计
- Directory模块: 21个新文件,1151行代码
- Group模块: 23个新文件,711行代码
- Cardkit模块: 18个新文件,1246行代码,集成完成
- IM v1完整实现: 10个新文件,881行新代码
- 8个子服务模块全部实现:batch_message, message_reaction, pin, image, file, message_card, buzz_messages, url_preview
- models.rs 核心数据模型完善,包含UserIdType, ReceiveIdType, BatchMessageStatus等
- im_v1_demo.rs 完整功能演示,330行代码
- 统一Transport模式,零lint警告
- IM v2新增实现: 7个新文件,620行新代码
- app_feed_card 和 groups_bots 双模块架构完整实现
- models.rs 消息流核心数据模型:FeedCard, ButtonInfo, TimelyNotification
- im_v2_demo.rs 功能演示,140行代码
- 完整的消息流卡片和机器人消息API覆盖
- Tenant Tag新增实现: 8个新文件,679行新代码
- tag 和 tag_binding 双服务架构完整实现
- models.rs 企业标签核心数据模型:Tag, TagBinding, TagType, TagStatus
- tenant_tag_demo.rs 功能演示,120行代码
- 参数结构体优化,解决代码质量警告
- VC v1视频会议实现: 12个新文件,875行新代码
- reserve, meeting, recording, room 四大服务模块完整实现
- models.rs 视频会议核心数据模型:Meeting, Reserve, Room, Recording, UserIdType, RoomIdType, MeetingStatus, MeetingType
- vc_v1.rs 完整功能演示,158行代码
- 参数结构体优化:ListMeetingsByNoParams, SearchRoomsParams 解决函数参数过多问题
- 统一Transport架构,完整集成到LarkClient
- Minutes v1妙记实现: 8个新文件,420行新代码
- media, transcript, statistics, minute 四大服务模块完整实现
- models.rs 妙记核心数据模型:Minute, MinuteMedia, MinuteTranscript, MinuteStatistics, KeywordStatistic
- minutes_v1.rs 完整功能演示,142行代码
- 简洁的四GET接口设计,专注于妙记数据获取和导出
- 支持并发批量处理,统一Transport架构
- Approval v4审批实现: 12个新文件,1145行新代码
- approval, instance, task, file, instance_comment, external_approval, external_instance, external_task, message, search 十大服务模块完整实现
- models.rs 审批核心数据模型:Approval, ApprovalInstance, ApprovalTask, ApprovalFile, ApprovalComment, FormField, FormData, ProcessNode, UserInfo
- approval_demo.rs 完整功能演示,290行代码
- 完整的原生审批和三方审批API覆盖,支持审批流程全生命周期管理
- 企业级审批工作流支持:定义、实例、任务、文件、评论、查询、消息、外部集成
- 总计: 126个新文件,7586行新代码
🏗️ 架构模式
- 模块化设计: service/module/version/feature 四层架构
- 版本管理: 支持多API版本共存 (v1, v2, v3)
- 类型安全: 完整的数据模型和枚举类型
- 错误处理: 统一的
SDKResult<T>和错误格式 - 可扩展性: 预留接口和占位符设计
Release v0.6.0
Added - 🛡️ 企业级错误处理系统重构 ⭐
🎯 核心模块新增
- 📊 错误统计和监控系统 (
error_metrics.rs) - 实时错误分析、智能告警、性能统计- 实时错误率计算 (精确到分钟级)
- 错误分类统计和趋势分析
- 可配置的智能告警系统 (错误率阈值、严重错误计数)
- 综合错误报告生成 (支持文件导出)
- 🔄 错误恢复和自动重试中间件 (
retry_middleware.rs) - 智能重试策略、指数退避算法- 基于错误类型的智能重试判断
- 指数退避算法避免系统过载
- 重试统计监控和性能指标
- 可配置的重试条件和回调机制
- 📝 错误日志记录系统 (
error_logger.rs) - 多格式输出、结构化日志、级别控制- 支持简单文本、JSON、结构化三种格式
- 彩色控制台输出,不同错误级别可视化区分
- 灵活输出目标 (控制台、文件、多目标)
- Debug/Info/Warn/Error/Critical 五级日志控制
- 🧠 增强的错误分析系统 (
error_helper.rs) - 智能错误分析、用户友好消息- 基于错误码的智能分析和处理建议
- 技术错误转换为用户可理解的友好提示
- 8大维度错误分类管理 (认证、权限、网络等)
- 具体的修复步骤和最佳实践建议
- 🏷️ 扩展的错误码支持系统 (
error_codes.rs) - 30+业务错误码、语义化分类- 30+ 个业务特定错误码,覆盖飞书生态全域
- 语义化错误码枚举,从数字到有意义的类型
- 详细的中文错误描述和解决方案
- 错误码与重试策略的智能关联
- 自动关联飞书官方帮助文档链接
🎨 系统架构设计
- 分层错误处理架构 - 用户界面层 → 错误管理层 → 中间件层 → 核心错误层 → 传输层
- 类型安全设计 - 利用 Rust 强类型系统防止错误,统一的
SDKResult<T>类型 - 并发安全保证 - Arc/Mutex 确保多线程环境安全
- 模块化设计 - 每个模块可独立使用和扩展
- 零配置使用 - 开箱即用的合理默认配置
📈 用户体验革命
- 从技术错误到用户友好 - 将
println!("Error: {:?}", e)升级为完整的企业级错误管理 - 智能错误分析 - 自动生成具体的修复建议和操作步骤
- 自动重试机制 - 根据错误类型智能判断是否重试
- 实时错误监控 - 错误率、成功率、性能指标实时统计
- 结构化日志记录 - 便于分析和调试的详细上下文信息
🧪 测试和质量保证
- 24个错误处理相关测试 - 100% 通过率,覆盖所有核心功能
- 5个完整演示程序 - 验证功能完整性和用户体验
- 核心库代码质量检查 - Clippy 检查通过,符合 Rust 最佳实践
- 类型安全保证 - 编译时检查,防止潜在错误
📚 文档和示例
- ERROR_HANDLING_BEST_PRACTICES.md (62页) - 完整的开发指导和最佳实践
- ERROR_HANDLING_FEATURES.md - 错误处理功能快速上手指南
- comprehensive_error_codes_demo.rs - 扩展错误码系统完整演示
- 项目完成报告 - 详细的技术架构和成果总结
🚀 影响和价值
- 从工具到平台 - 将 SDK 从基础工具升级为企业级开发平台
- 开发效率提升 - 快速定位和解决问题,减少调试时间
- 用户体验改善 - 清晰的错误提示和可操作的建议
- 系统可靠性 - 智能重试和自动恢复机制
- 运维友好 - 完整的监控和告警体系
Enhanced - 核心模块优化
🔧 错误处理核心增强
- error.rs - 新增
Hashtrait 支持,优化错误类型比较 - error_helper.rs - 优化字段初始化,使用结构体字面量避免不必要的赋值
- retry_middleware.rs - 实现
Defaulttrait,优化 API 设计 - error_logger.rs - 实现
Defaulttrait,提供更简洁的初始化方式 - error_metrics.rs - 实现
Defaulttrait,修复测试中的字段赋值问题
♻️ 大规模Trait系统重构 - 第六阶段完成
- 全面迁移到owned参数模式 - 完成从
&Request到Request的全项目迁移- 迁移68个文件,涉及IM、考勤、Bitable、Comments、Board、Permission、Search模块
- 替换所有
impl_executable_builder!为impl_executable_builder_owned! - 消除约2000+个不必要的
.clone()调用 - 更新37个IM方法签名、47个考勤方法、51个Bitable文件
- 性能优化收益 - 减少内存分配,提高请求处理效率,改善API人机工程学
- 代码质量提升 - 统一参数传递模式,更好地遵循Rust所有权原则
📝 文档和开发体验优化
- 官方文档链接集成 - 为所有service API接口添加飞书官方文档链接
- 更新20个文件,30个API方法的文档链接
- 统一使用 https://open.feishu.cn 官方文档格式
- 涉及IM、考勤、云文档、身份验证、搜索等模块
- 代码清理优化 - 清理未使用的导入和警告
- 删除15个bitable模块文件中未使用的导入
- 修复编译警告,保持代码库清洁
- 通过271个单元测试,实现零编译警告
📦 配置和示例更新
- Cargo.toml - 新增
comprehensive_error_codes_demo示例配置 - permission_owned_demo.rs - 新增演示owned参数模式的示例程序
Fixed - 问题修复
- 修复 Clippy 警告:
field_reassign_with_default,优化结构体初始化 - 修复 Clippy 警告:
should_implement_trait,为多个类型实现Defaulttrait - 修复 Clippy 警告:
implicit_saturating_sub,使用saturating_sub避免溢出 - 修复测试中的生命周期问题,使用
Arc<AtomicU32>替代可变引用 - 修复死代码警告,为未使用的枚举变体添加
#[allow(dead_code)]
Technical Details - 技术细节
- 新增依赖: 无新的外部依赖,基于现有的
tokio,serde,reqwest等 - 性能优化: 全异步处理,零阻塞操作,内存效率优化
- 兼容性: 向后兼容,现有 API 保持不变
- 最低 Rust 版本: 1.70+ (保持不变)