# 第三方交互 / TS-OPS ## `opsServer` 声明:class 在 SSEClient 基础上封装 TS-OPS 事件处理和数据上传;使用时传入事件处理函数,或继承该类并重写相应虚方法 父类:`SSEClient` ### `FOpsId` 声明:property TS-OPS 服务 ID 可见性:`public` 类型:string 访问:read ### `FAsyncResults` 声明:property 存放事件处理结果的数组 可见性:`public` 类型:array 访问:read ### `FLastId` 声明:property 最后一次记录的事件 ID,用于重新连接 可见性:`public` 类型:integer 访问:read / write ### `FDataUrl` 声明:property TS-OPS 服务数据上传地址 可见性:`public` 类型:string 访问:read / write ### `FOPSList` 声明:property 要注册的 OPS 服务列表,多个服务之间用逗号分隔 可见性:`public` 类型:string 访问:read / write ### `FOPSName` 声明:property 注册的 TS-OPS 服务名称,用于标识服务,可以为空字符串 可见性:`public` 类型:string 访问:read / write ### `FCallBack` 声明:property call 事件回调函数;未指定时必须重写 CallBack 方法 可见性:`public` 类型:string\|tfunction 访问:read / write ### `FSubCallBack` 声明:property subscription 事件回调函数;未指定时必须重写 WaitSubscription 方法 可见性:`public` 类型:string\|tfunction 访问:read / write ### `FReturnRuntimeError` 声明:property 调用回调函数出错时是否返回详细错误,默认值为 false 可见性:`public` 类型:boolean 访问:read / write ### `FDebug` 声明:property 是否打印调试信息,默认值为 true 可见性:`public` 类型:boolean 访问:read / write ### `create(durl, opsName, opslist, cb, subcb, url, header, onmessage, u, p, s, reconn)` 声明:function 构造 opsServer 对象 可见性:`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 时必须重写该方法 可见性:`public` 修饰符:`virtual` | 参数 | 类型 | 说明 | | ---------- | ----------------- | ----------------------------------------- | | `name` | string\|tfunction | 函数名称或函数指针 | | `param` | array\|tablearray | 传给目标函数的参数值列表 | | `realdata` | array\|tablearray | call 事件从服务器传输的函数名、参数等信息 | 返回:any ### `WaitSubscription(name, param, realdata)` 声明:function 处理 TS-OPS 服务端 subscription 事件;未指定 FSubCallBack 时必须重写该方法 可见性:`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 事件,调用服务端事件处理方法,并将结果上传后返回给请求方 可见性:`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 事件 可见性:`public` | 参数 | 类型 | 说明 | | ------- | ------------ | -------------------------------------------------------------------------------------- | | `id` | integer\|nil | 事件 ID;connect、cancel 事件中为 nil | | `event` | string | 事件类型,主要包括 connect、call、subscription、cancel | | `data` | string | JSON 格式事件数据;connect 事件包含 opsid,call、subscription 事件包含 name、params 等 |