SCSAI agent 开发指南

# SCSAI agent 开发指南

1. SCSAI 系统架构概述

1.1 核心组件

  • Sciot 对象:SCSAI 系统的核心全局对象,提供所有 SCSAI 功能接口
  • IOM (agent Object Model):SCSAI 对象模型,用于对象操作
  • Soap 通信:与 SCSAI 服务器的通信协议
  • AML (SCSAI Markup Language):SCSAI 对象操作语言

1.2 系统初始化流程

``

  1. SCSAIFileLoader.js - 按依赖顺序加载所有 SCSAI 核心 JS 文件
  2. SCSAICoreWrapper.js - 封装核心依赖加载逻辑
  3. RealSCSAIWrapper.js - 创建 sciot 对象和初始化环境
  4. 配置服务器连接
  5. 用户登录
  6. 初始化主窗口信息
  7. 加载元数据和系统配置

`

1.3 SCSAI基础JS文件加载机制与核心文件分析

#### 1.3.1 核心加载器:SCSAIFileLoader

文件路径:src/core/SCSAIFileLoader.js

功能:

  • 按正确的依赖顺序加载所有SCSAI基础JS文件
  • 使用传统script标签加载,避免ES模块导入冲突
  • 支持顺序加载和并行加载
  • 提供加载状态跟踪和错误处理

#### 1.3.2 核心基础JS文件列表

以下是按加载顺序排列的关键SCSAI基础JS文件:

| 加载顺序 | 文件路径 | 功能描述 |

|----------|----------|----------|

| 1-5 | enumerations.js | 定义SCSAI系统枚举 |

| 6-10 | core/Xml.js | XML处理核心库 |

| 11-15 | core/Soap.js | SOAP通信协议实现 |

| 16-20 | core/aml.js | AML(SCSAI标记语言)解析 |

| 21-25 | core/SessionSoap.js | 会话管理SOAP通信 |

| 26-30 | core/utils.js | 核心工具函数 |

| 31-35 | core/XmlToJson.js | XML到JSON转换 |

| 36-40 | core/sciot_object.js | 创建全局sciot对象 |

| 41-45 | core/iom.js | IOM(agent Object Model)实现 |

| 46-50 | sciot_item_methods.js | 物品操作方法 |

| 51-55 | sciot_itemtype_methods.js | 物品类型操作方法 |

| 56-60 | sciot_ui_methods.js | UI操作方法 |

| 61-65 | sciot_workflow_methods.js | 工作流操作方法 |

#### 1.3.3 关键文件详细说明

##### 1.3.3.1 core/sciot_object.js - 全局sciot对象创建

核心功能:

  • 创建全局window.sciot对象
  • 定义sciot对象的基本属性和方法
  • 初始化sciot组件和服务
  • 提供与SCSAI服务器通信的基础框架

##### 1.3.3.2 core/Soap.js - SOAP通信

核心功能:

  • 实现SOAP协议通信
  • 处理与SCSAI服务器的请求/响应
  • 管理会话和认证
  • 提供AML查询执行接口

##### 1.3.3.3 core/aml.js - AML解析与生成

核心功能:

  • AML(SCSAI Markup Language)解析
  • AML查询生成
  • XML/AML数据处理
  • 提供物品操作的AML模板

#### 1.3.4 加载机制

##### 1.3.4.1 加载流程

  1. 应用启动时,SCSAIFileLoader被初始化
  2. 调用loadAllFiles()按顺序加载所有文件
  3. 每个文件通过
🤖
🎁