Files
playbook/skills/tsl-api-reference/references/codegen/module/ts-ops.md
T

260 lines
8.2 KiB
Markdown
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.
# 第三方交互 / TS-OPS
## `opsServer`
声明:class
在 SSEClient 基础上封装 TS-OPS 事件处理和数据上传;使用时传入事件处理函数,或继承该类并重写相应虚方法
<!-- tags: 自定义服务 服务端 服务注册 事件处理 数据上传 -->
父类:`SSEClient`
### `FOpsId`
声明:property
TS-OPS 服务 ID
<!-- tags: 服务标识 -->
可见性:`public`
类型:string
访问:read
### `FAsyncResults`
声明:property
存放事件处理结果的数组
<!-- tags: 异步结果 事件处理 -->
可见性:`public`
类型:array
访问:read
### `FLastId`
声明:property
最后一次记录的事件 ID,用于重新连接
<!-- tags: 事件标识 断线重连 -->
可见性:`public`
类型:integer
访问:read / write
### `FDataUrl`
声明:property
TS-OPS 服务数据上传地址
<!-- tags: 数据上传 服务地址 -->
可见性:`public`
类型:string
访问:read / write
### `FOPSList`
声明:property
要注册的 OPS 服务列表,多个服务之间用逗号分隔
<!-- tags: 服务注册 服务列表 -->
可见性:`public`
类型:string
访问:read / write
### `FOPSName`
声明:property
注册的 TS-OPS 服务名称,用于标识服务,可以为空字符串
<!-- tags: 服务注册 服务名称 -->
可见性:`public`
类型:string
访问:read / write
### `FCallBack`
声明:property
call 事件回调函数;未指定时必须重写 CallBack 方法
<!-- tags: 回调 事件处理 -->
可见性:`public`
类型:string\|tfunction
访问:read / write
### `FSubCallBack`
声明:property
subscription 事件回调函数;未指定时必须重写 WaitSubscription 方法
<!-- tags: 订阅 回调 事件处理 -->
可见性:`public`
类型:string\|tfunction
访问:read / write
### `FReturnRuntimeError`
声明:property
调用回调函数出错时是否返回详细错误,默认值为 false
<!-- tags: 错误处理 回调 -->
可见性:`public`
类型:boolean
访问:read / write
### `FDebug`
声明:property
是否打印调试信息,默认值为 true
<!-- tags: 调试 日志 -->
可见性:`public`
类型:boolean
访问:read / write
### `create(durl, opsName, opslist, cb, subcb, url, header, onmessage, u, p, s, reconn)`
声明:function
构造 opsServer 对象
<!-- tags: 构造 服务注册 事件处理 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ----------- | ----------------- | --------------------------------------------------------------------------------- |
| `durl` | string | TS-OPS 服务数据上传地址 |
| `opsName` | string | 要注册的 TS-OPS 服务名称,用于标识服务,可以为空字符串 |
| `opslist` | string | 要注册的服务列表;多个服务用逗号分隔,订阅服务使用 `__subscription__/服务名` |
| `cb` | string\|tfunction | call 事件回调函数;为空时必须重写 CallBack 方法 |
| `subcb` | string\|tfunction | subscription 事件回调函数;为空时必须重写 WaitSubscription 方法 |
| `url` | string | TS-OPS 服务注册地址 |
| `header` | string | 注册服务时使用的请求头,例如 TS-OPS-CALL |
| `onmessage` | tfunction\|nil | 消息处理函数;可由 `FindFunction("函数名")` 取得,重写 DoOnMessage 时可以传入 nil |
| `u` | string | 用户名 |
| `p` | string | 用户密码 |
| `s` | string | 租户 Session Key;使用调用功能列表为 `*` 的特殊租户替代用户时指定 |
| `reconn` | boolean | 是否启用断开自动重连 |
### `CallBack(name, param, realdata)`
声明:function
处理 TS-OPS 服务端 call 事件;未指定 FCallBack 时必须重写该方法
<!-- tags: 调用 回调 事件处理 -->
可见性:`public`
修饰符:`virtual`
| 参数 | 类型 | 说明 |
| ---------- | ----------------- | ----------------------------------------- |
| `name` | string\|tfunction | 函数名称或函数指针 |
| `param` | array\|tablearray | 传给目标函数的参数值列表 |
| `realdata` | array\|tablearray | call 事件从服务器传输的函数名、参数等信息 |
返回:any
### `WaitSubscription(name, param, realdata)`
声明:function
处理 TS-OPS 服务端 subscription 事件;未指定 FSubCallBack 时必须重写该方法
<!-- tags: 订阅 回调 事件处理 -->
可见性:`public`
修饰符:`virtual`
| 参数 | 类型 | 说明 |
| ---------- | ----------------- | ------------------------------------------------- |
| `name` | string\|tfunction | 函数名称或函数指针 |
| `param` | array\|tablearray | 传给目标函数的参数值列表 |
| `realdata` | array\|tablearray | subscription 事件从服务器传输的函数名、参数等信息 |
返回:any
### `AsyncCall(durl, id, opsid, realdata, u, p, s, runerror, debug, sub, cb, caller)`
声明:function
处理 call 或 subscription 事件,调用服务端事件处理方法,并将结果上传后返回给请求方
<!-- tags: 异步调用 事件处理 数据上传 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ---------- | ----------------- | ----------------------------------------------------------------- |
| `durl` | string | TS-OPS 服务数据上传地址 |
| `id` | integer | 事件 ID |
| `opsid` | string | TS-OPS 服务 ID |
| `realdata` | array\|tablearray | 事件从服务器传输的函数名、参数等信息 |
| `u` | string | 用户名 |
| `p` | string | 用户密码 |
| `s` | string | 租户 Session Key;使用调用功能列表为 `*` 的特殊租户替代用户时指定 |
| `runerror` | boolean | 调用回调函数出错时是否返回详细错误 |
| `debug` | boolean | 是否打印调试信息 |
| `sub` | boolean | true 表示 subscription 事件,false 表示 call 事件 |
| `cb` | string\|tfunction | 回调函数名称或函数指针 |
| `caller` | string | 类名;未指定回调字段时应传入重写了相应事件处理方法的类名 |
返回:boolean
### `DoOnMessage(id, event, data)`
声明:function
根据 event 类型处理 TS-OPS 事件
<!-- tags: 消息处理 事件处理 -->
可见性:`public`
| 参数 | 类型 | 说明 |
| ------- | ------------ | -------------------------------------------------------------------------------------- |
| `id` | integer\|nil | 事件 IDconnect、cancel 事件中为 nil |
| `event` | string | 事件类型,主要包括 connect、call、subscription、cancel |
| `data` | string | JSON 格式事件数据;connect 事件包含 opsidcall、subscription 事件包含 name、params 等 |