pipeline-app/app/pipeline_app.py
yumoqing 947b6d3abf feat(dingdingflow): 接入钉钉审批模块
- app/pipeline_app.py: load_dingdingflow(),置于 load_pipeline_service() 之前
  (后者的 dingtalk_approval 适配器依赖前者注册的 register_biz_handler)
- build.sh: 四处模块列表 + 8b DDL 循环加 dingdingflow(dda_* 表建到 pipeline 库)
- wwwroot/index.ui: 侧边栏加「钉钉审批」菜单(open_tab)
- i18n zh/en/jp/ko 补文案
2026-08-25 18:23:32 +08:00

88 lines
2.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
"""Pipeline Application - 产线管理独立应用"""
import os, sys, asyncio
app_dir = os.path.dirname(os.path.abspath(__file__))
root_dir = os.path.dirname(app_dir)
sys.path.insert(0, root_dir)
sys.path.insert(0, app_dir)
from ahserver.webapp import webapp
from ahserver.serverenv import ServerEnv
def get_module_dbname(mname):
"""All modules use the pipeline database."""
return 'pipeline'
def init():
from bricks_for_python.init import load_pybricks
from rbac.init import load_rbac
from appbase.init import load_appbase
from pipeline_core.init import load_pipeline_core
from pipeline_ops.init import load_pipeline_ops
from pipeline_dist.init import load_pipeline_dist
try:
from pipeline_service.init import load_pipeline_service
except ImportError:
def load_pipeline_service(): pass
try:
from pipeline_sdlc.adapter import load_sdlc_adapter
except ImportError:
def load_sdlc_adapter(): pass
try:
from app_audit.init import load_app_audit
except ImportError:
def load_app_audit(): pass
from showcase.init import load_showcase
from tenant.init import load_tenant
from ktv_adapter import load_ktv_adapter
from global_func import set_globalvariable
import office_proxy # 注册 /office/* 转发函数(univer-office Node 服务代理)
try:
from smssend import load_smssend
except ImportError:
def load_smssend(): pass
# uapi:外部 API 网关(rag 模块依赖它调 vdb/reranker/ner/graph)
try:
from uapi.init import load_uapi
except ImportError:
def load_uapi(): pass
# rag:知识库(向量检索 + 图谱),表名统一 rag_ 前缀,与产线业务表不冲突
try:
from rag.init import init_rag_module
except ImportError:
def init_rag_module(): pass
# dingdingflow:钉钉审批(表名 dda_ 前缀)。必须早于 pipeline_service,
# 后者的 dingtalk_approval 适配器要用它注册的 register_biz_handler
try:
from dingdingflow.init import load_dingdingflow
except ImportError:
def load_dingdingflow(): pass
set_globalvariable()
ServerEnv().get_module_dbname = get_module_dbname
load_pybricks()
load_appbase()
load_rbac()
load_pipeline_core()
load_pipeline_ops()
load_pipeline_dist()
load_dingdingflow() # 先于 pipeline_service:其钉钉审批适配器依赖 register_biz_handler
load_pipeline_service()
load_sdlc_adapter()
load_app_audit()
load_showcase()
load_tenant()
load_ktv_adapter()
load_smssend()
load_uapi() # 必须在 rag 之前:rag 通过 uapi 调 vdb/reranker/ner/graph
init_rag_module()
# Permission cache warms up on first request
if __name__ == '__main__':
webapp(init)