260 lines
8.2 KiB
Markdown
260 lines
8.2 KiB
Markdown
# 第三方交互 / 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 | 事件 ID;connect、cancel 事件中为 nil |
|
||
| `event` | string | 事件类型,主要包括 connect、call、subscription、cancel |
|
||
| `data` | string | JSON 格式事件数据;connect 事件包含 opsid,call、subscription 事件包含 name、params 等 |
|