📝 docs(tsl): restructure agent-facing reference

Rework TSL syntax, catalog, modules, and routing docs around deterministic agent lookup and generation.

Split large catalog pages into focused function fact pages, remove obsolete pending/verified/unavailable paths, and update consistency tests for the new structure.
This commit is contained in:
csh
2026-06-09 17:24:30 +08:00
parent 9c194170a1
commit 540b3c0a1b
192 changed files with 32929 additions and 13533 deletions
+224 -40
View File
@@ -1,54 +1,238 @@
# 平台函数
# 天软平台服务函数
这一页只负责函数定位:先按主题找到模块,再在页内搜索函数名。
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../index.md](../index.md)、[../../syntax/index.md](../../syntax/index.md)
## 候选函数索引说明
- 本页是候选函数索引,只说明函数名被归入当前模块。
- 候选名没有进入 verified 函数页前不能当成可调用事实。
- 生成代码前必须先查 [../verified/index.md](../verified/index.md);只从 verified 函数页读取参数类型。
## 使用方式
- 返回总目录:[catalog/index.md](index.md)
- 需要基础语法时回到 [../../syntax/index.md](../../syntax/index.md)
- 需要金融任务组织方式时回到 [../../finance/index.md](../../finance/index.md)
这一页描述天软平台服务、用户数据维护、自定义板块、平台执行信息和授权用户共享函数入口。生成函数调用时,只按函数条目中的参数表传参。
## 模块范围
- 说明:平台相关功能与系统接
- 主题数:4
- 函数数:19
- 说明:天软平台服务函数;包含用户数据、板块维护、平台执行信息和授权用户共享函数入
- 函数事实数:17
## 主题目录
## 自有数据维护函数
### 自有数据维护函数
运行边界:这些函数依赖平台用户数据维护能力;目标环境没有用户数据服务时,不要生成这些调用。
- `LoadTableEx`
- `LoadTable`
- `SaveTable`
- `TestTable`
- `SaveBk`
- `DeleteBk`
- `ListTable`
- `DeleteTable`
### `saveTable(table_name, data, stream_mode)`
### 自有数据维护函数 / UserDB
用途:把用户数据保存为平台用户数据表。
- `UserDataUpLoad`
- `HexToString`
- `TransFileName`
参数个数:2 或 3
返回值:整数;源文档示例中成功返回 `-1`
### 平台执行信息
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------- | ---- | ------------------ | ---------------------------------------------------------------- |
| 1 | `table_name` | 是 | 字符串 | 用户数据名称;可用 `目录\\表名` 保存到指定目录 |
| 2 | `data` | 是 | 任意值,通常为数组 | 要保存的用户数据 |
| 3 | `stream_mode` | 否 | 整数 | 流格式;`0` 表示原始流格式,`1` 表示新流格式;省略时使用默认格式 |
- `tsAppServer`
- `TsAppServerName`
- `SendToClient`
- `TS_ModuleInfo`
### `loadTable(table_name)`
### 用户和函数相关函数
用途:读取已保存的平台用户数据表。
- `User`
- `FunctionType`
- `FunctionName`
- `FunctionVer`
参数个数:1
返回值:已保存的数据值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------ | ---- | -------- | ----------------------------------------------- |
| 1 | `table_name` | 是 | 字符串 | 用户数据名称;读取目录下数据时使用 `目录\\表名` |
### `loadTableEx(table_name)`
用途:读取已保存的平台用户数据表。
参数个数:1
返回值:已保存的数据值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------ | ---- | -------- | ----------------------------------------------- |
| 1 | `table_name` | 是 | 字符串 | 用户数据名称;读取目录下数据时使用 `目录\\表名` |
生成规则:默认使用 `loadTable`;只有用户明确要求 `loadTableEx`,或项目已有代码使用 `loadTableEx` 时,才生成 `loadTableEx`
### `testTable(table_name)`
用途:检查指定平台用户数据表是否存在。
参数个数:1
返回值:整数;存在返回 `1`,不存在返回 `0`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------ | ---- | -------- | ------------------------------------------------------- |
| 1 | `table_name` | 是 | 字符串 | 要检查的用户数据名称;检查目录下数据时使用 `目录\\表名` |
### `listTable()`
用途:取得当前用户可见的平台用户数据表列表。
参数个数:0
返回值:数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `deleteTable(table_name)`
用途:删除已保存的平台用户数据表。
参数个数:1
返回值:整数;源文档示例中成功返回 `-1`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------ | ---- | -------- | ------------------------------------------------------- |
| 1 | `table_name` | 是 | 字符串 | 要删除的用户数据名称;删除目录下数据时使用 `目录\\表名` |
## 自定义板块维护函数
运行边界:这些函数会写入或删除当前用户的自定义板块。只有用户明确要求维护板块时才生成调用。
### `saveBk(sector_name, category_path, stocks)`
用途:保存自定义板块。
参数个数:3
返回值:整数;成功返回 `-1`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | --------------- | ---- | -------- | ---------------------------------------------------------- |
| 1 | `sector_name` | 是 | 字符串 | 板块名称 |
| 2 | `category_path` | 是 | 字符串 | 板块分类路径;多级分类用 `\\` 分隔 |
| 3 | `stocks` | 是 | 数组 | 板块成分证券代码数组,例如 `array("SZ000001", "SZ000002")` |
### `deleteBk(sector_name)`
用途:删除自定义板块。
参数个数:1
返回值:整数;成功返回 `-1`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------- | ---- | -------- | ---------------- |
| 1 | `sector_name` | 是 | 字符串 | 要删除的板块名称 |
## 用户数据辅助函数
### `hexToString(value)`
用途:把用户数据文件名中的十六进制名称转换为可读字符串。
参数个数:1
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ----------------------------------------------------------------------- |
| 1 | `value` | 是 | 字符串 | 用户数据文件名或十六进制名称字符串,例如 `hex_74657374646174613031.stm` |
## 平台执行信息
### `tsAppServer()`
用途:取得当前平台执行服务器信息。
参数个数:0
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `tsAppServerName()`
用途:取得当前平台执行程序信息。
参数个数:0
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `ts_ModuleInfo()`
用途:平台执行信息相关函数。
参数个数:0
返回值:处理后的结果值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
## 用户和函数相关函数
### `userName()`
用途:获取当前用户名。
参数个数:0
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `user(name)`
用途:取得指定授权用户的共享函数调用入口,并通过链式成员调用执行该用户共享的函数。
参数个数:1
返回值:用户共享函数调用代理;链式调用后的返回值由目标共享函数决定
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ------------------ |
| 1 | `name` | 是 | 字符串 | 已授权用户的用户名 |
生成规则:
- 只在用户明确要求调用其它用户共享函数,且已经说明授权关系和目标函数名时生成。
- 生成形态是 `user("user1").sample(...)`,不要只生成裸 `user("user1")` 当成最终业务结果。
- 目标用户必须已经授权当前用户调用对应共享函数;目标函数名和参数按该共享函数事实或项目代码确定。
- 示例形态:`user("jrtzsupport").Show_DSXG_211(begt, endt, 0)`
### `functionType()`
用途:取得当前运行函数的类型。
参数个数:0
返回值:整数;`1` 表示用户函数,`2` 表示公用函数
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
生成规则:
- 只在需要判断当前函数来源类型时生成。
- 该函数读取当前运行函数上下文;不要把顶层空返回泛化成函数不存在。
- 相关函数:`functionName()``functionVer()`
### `functionName()`
用途:取得当前运行函数的名称。
参数个数:0
返回值:字符串;当前运行函数的名称
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
生成规则:
- 只在需要读取当前运行函数名称时生成。
- 该函数读取当前运行函数上下文;不要把顶层空返回泛化成函数不存在。
- 相关函数:`functionType()``functionVer()`
### `functionVer(function_type, name)`
用途:返回指定函数的版本号;函数版本号是函数保存在 SERVER 的版本标识,可用于判断函数是否被修改过。
参数个数:2
返回值:整数;函数版本号
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | --------------- | ---- | -------- | -------- |
| 1 | `function_type` | 是 | 整数 | 函数类型 |
| 2 | `name` | 是 | 字符串 | 函数名称 |
生成规则:
- 只在需要比较或记录函数版本号时生成。
- 可与 `saveTable(...)``loadTable(...)` 配合保存和读取版本标识。
- 相关函数:`functionType()``functionName()`