Skip to content

统一审批#

功能介绍#

统一审批由三个部分组成:

  • 审批动作
  • 审批请求
  • 审批系统

ArkID核心(审批动作,审批请求,审批系统插件基类):#

  1. 创建审批动作: 指定需要审批的API接口, 以及负责审批该API调用的审批系统

  2. 监控API调用: API调用发生的时候,做如下处理:

    • 如果API调用没有创建对应的审批请求,API调用中断,创建审批请求,通过CREATE_APPROVE_REQUEST事件发送到对应的审批系统中。
    • 如果API调用已经创建对应的审批请求:

      • 审批请求审批系统未处理,API调用中断
      • 审批请求审批系统拒绝,API调用中断
      • 审批请求审批系统同意,API调用继续执行
  3. 审批系统插件基类

    • 插件基类见arkid.core.extension.approve_system.ApproveSystemExtension
    • 监听CREATE_APPROVE_REQUEST事件,定义抽象函数create_approve_request, 第三方插件系统可以实现此方法,将审批请求发送到第三方系统中处理
    • 创建两个接口分别用于处理审批请求通过和拒绝的逻辑:

      • 同意审批请求接口

        • path:/approve_requests/{{request_id}}/pass/
        • method: PUT
        • 处理函数:pass_approve_request_handler
        • 需要实现抽象方法: pass_approve_request
      • 拒绝审批请求接口

        • path:/approve_requests/{{request_id}}/deny/'
        • method: PUT
        • 处理函数:deny_approve_request_handler
        • 需要实现抽象方法: deny_approve_request
  4. ArkID系统默认审批系统

第三方审批系统插件可以参考系统自带默认审批系统插件逻辑, 默认审批系统见extension_root.com_longgui_approve_system_arkid.ApproveSystemArkIDExtension

评论