script_engine 模块

逻辑编程(脚本/规则引擎)模块——脚本表 CRUD + 执行/校验接口。

功能

  • script_engine 脚本表 CRUDcreate_script / update_script / delete_script / get_script / list_scripts
  • execute_script:按 id 或按 content+script_type 校验后执行
  • validate_script_api:仅校验(语法 + 受限语法),不落库不执行
  • 脚本类型:0=Python受限命名空间禁 import/类/λ/async/await/对象方法调用),1=SQL仅只读 SELECT/SHOW/DESCRIBE/EXPLAIN禁写语句/多语句)

数据表

script_engineid(str32 PK)、script_name(str100 not null)、script_type(str32 default '0')、content(text not null)、description(str255)、status(str32 default '1')、created_at、updated_at 索引idx_script_name、idx_script_type 编码script_type→appcodes_kv(parentid='script_type')status→appcodes_kv(parentid='script_status')

安装(挂载到宿主应用)

  1. pip install .(或加入宿主 build.sh 模块安装循环)
  2. 宿主应用 app/{app}.pyfrom script_engine.init import load_script_engine + load_script_engine()init() 内)
  3. scripts/load_path.py 注册 RBAC显式路径无通配符
  4. build.sh 四步:安装 xls2ddl → models→DDL → json→CRUD UI → 链接 wwwroot

集成

  • 取库名统一 ServerEnv().get_module_dbname('script_engine').py/ get_module_dbname('script_engine').dspy禁止硬编码 DBNAME
  • REST 接口wwwroot/api/*.dspyscript_create / script_update / script_delete / script_get / script_list / script_execute / execute_script / script_validate / validate_script
  • 返回统一 {code, message, field, detail}code=0 成功;分页 data.list / data.total

依赖

无业务依赖;依赖基础包 sqlor / ahserver / appPublic。

Description
No description provided
Readme 37 KiB