# feishuApproveService **Repository Path**: zevinw/feishu-approve-service ## Basic Information - **Project Name**: feishuApproveService - **Description**: 飞书审批流对接 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-07-24 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: feishu ## README # 飞书工作流自动触发服务 ## 项目介绍 这是一个用于自动化触发飞书审批流程的服务,支持审批流程的触发、回调处理、状态查询以及业务逻辑执行功能。该项目主要用于简化与飞书审批流程的集成,便于快速构建基于审批流程的自动化业务处理。 ## 技术栈 - **.NET 6** - **ASP.NET Core** - **HttpClient** - **AutoMapper** - **Json Serializer** - **Docker** ## 项目结构 - **Controllers**: 提供 RESTful API 接口,用于触发审批、处理回调、查询状态和执行审批后的业务逻辑。 - **Models**: 包含请求、响应和数据模型。 - **Services**: 实现与飞书 API 的交互逻辑和核心业务逻辑。 - **Filters**: 包含日志记录过滤器。 - **Dynamics**: 提供动态对象序列化与反序列化功能。 - **Mappings**: 配置对象映射。 - **Config**: 包含配置文件如 `appsettings.json` 和 `FeishuModels.cs`。 ## 配置说明 在 `appsettings.json` 中配置以下内容: - **FeishuConfig**: 包括 `AppId`, `AppSecret`, `BaseUrl`, `WorkflowCallbackUrl`。 - **ServiceConfig**: 包括 `ApiBaseUrl` 和 `ApiKey`。 ## 使用说明 ### 1. 触发飞书审批流程 发送 POST 请求到 `/api/workflow/trigger`,携带审批请求参数: ```json { "ApprovalCode": "审批模板编码", "OperatorId": "操作人ID", "ApproverUserIds": { "节点ID": ["审批人ID列表"] }, "FormData": { "表单字段名": "值" } } ``` ### 2. 配置飞书回调 在飞书后台配置回调地址为 `/api/workflow/callback`,用于接收审批状态变更事件。 ### 3. 查询审批流程状态 发送 GET 请求到 `/api/workflow/status/{instanceId}`,查询审批实例的状态。 ### 4. 手动执行审批通过后的业务逻辑 发送 POST 请求到 `/api/workflow/execute-action/{instanceId}`,手动触发审批通过后的业务逻辑。 ## 业务流程 1. 触发审批流程。 2. 飞书回调通知审批状态变更。 3. 查询审批状态。 4. 审批通过后执行业务逻辑。 ## 部署说明 ### 环境要求 - .NET 6 SDK - Docker(可选) ### 构建与运行 #### 本地运行 1. **进入项目目录**: ```bash cd FeishuWorkflowService ``` 2. **还原依赖包**: ```bash dotnet restore ``` 3. **构建项目**: ```bash dotnet build ``` 4. **运行项目**: ```bash dotnet run ``` #### Docker 部署 1. **构建 Docker 镜像**: ```bash docker build -t feishu-workflow-service . ``` 2. **运行 Docker 容器**: ```bash docker run -d -p 8080:80 feishu-workflow-service ``` ## 注意事项 - 确保 `appsettings.json` 中的配置正确。 - 飞书回调地址需配置为公网可访问地址。 - 审批模板编码和节点 ID 需与飞书后台一致。