Expand description
§OpenLark 工作流模块
OpenLark SDK 的工作流模块,提供飞书任务、审批和看板 API 的完整访问。
Communication / Workflow helper 分层边界见 docs/communication-workflow-helper-boundaries.md。
§功能特性
- 任务管理: 创建、更新、删除、查询待办事项
- 审批流程: 审批定义、审批实例管理,以及高频审批任务 helper
- 看板管理: 看板创建、任务卡片管理
- 协作支持: 添加执行者、关注者、提醒
- 版本支持: 支持 task v1/v2,以及 approval v4 helper 场景
§使用示例
use openlark_workflow::{
ApprovalTaskAction, ApprovalTaskQuery, WorkflowService, WorkflowTaskListQuery,
WorkflowTaskMutation,
};
use openlark_core::config::Config;
let config = Config::builder()
.app_id("your_app_id")
.app_secret("your_app_secret")
.build();
let workflow_service = WorkflowService::new(config);
// 列取任务清单中的任务
let tasks = workflow_service
.list_tasks_all(WorkflowTaskListQuery::for_tasklist("tasklist_guid"))
.await?;
// 更新任务
let result = workflow_service
.mutate_task(
"task_guid",
WorkflowTaskMutation::new()
.summary("完成项目文档")
.priority(3),
)
.await?;
// 处理待审批任务
let approval_tasks = workflow_service
.query_approval_tasks(
ApprovalTaskQuery::new("ou_example_user", "1")
.user_id_type("open_id")
.status("Todo"),
)
.await?;
if let Some(task) = approval_tasks.first() {
let _ = workflow_service
.approve_task(
ApprovalTaskAction::new(
task.approval_code.clone(),
task.instance_code.clone(),
"ou_example_user",
task.task_id.clone(),
)
.user_id_type("open_id")
.comment("同意"),
)
.await?;
}Modules§
- board
- 白板/看板模块。 看板模块
- common
- 工作流通用工具、端点与模型。
- prelude
- 常用工作流类型预导出模块。 工作流模块预导入 - 包含任务与审批 helper 的常用类型和配置
- v1
- 任务 v1 API 模块。 任务 v1 入口模块
- v2
- 任务 v2 API 模块。 任务 v2 入口模块
Macros§
- api_url
- 标准化API端点URL生成辅助宏
Structs§
- Approval
Task Action - 审批任务操作 helper。
- Approval
Task Query - 审批任务查询 helper。
- Workflow
Service - WorkflowService:工作流服务的统一入口
- Workflow
Task List Query - 任务列表查询 helper。
- Workflow
Task Mutation - 任务变更 helper。
Constants§
- VERSION
- 工作流模块版本信息
Type Aliases§
- Workflow
Client - 工作流服务客户端类型别名(统一命名为
XxxClient)。