UNPKG

hilink-ts

Version:

智能家居hilink扩展h5应用工具开发

619 lines (618 loc) 18.6 kB
export interface IHilink<T = Function> { /** * 从本地查询设备状态 * @param devId 表示设备的服务ID ,取值详见Device Partner平台的Profile中的定义。 * @param json_body * @param resultCallback */ getDevCacheAll(devId: "0", json_body: string, cb: T): void; /** * 从云侧查询设备状态 * @param devId * @param sid 表示设备的服务ID ,取值详见Device Partner平台的Profile中的定义。 * @param json_body * @param resultCallback */ getDevInfo(devId: "0", sid: string, json_body: string, cb: T): void; /** * 从云侧查询设备状态(支持LUA脚本) * @param devId * @param sid 表示设备的服务ID ,取值详见Device Partner平台的Profile中的定义。 * @param json_body * 如果需要查询该sid下的所有属性值,json_body取值为空即可。 * 如果需要查询该sid下的部分属性值,json_body取值应包含所需查询的characteristicName的取值。例如: * JSON.stringify(["version","introduction"])。 * @param resultCallback * function resultCallback(resultStr){ var result = resultStr; // 请求的返回结果 } * hilink.getDevInfoWithProdId("0", sid, cid, "resultCallback"); */ getDevInfoWithProdId(devId: "0", sid: string, json_body: string, cb: T): void; /** * 下发命令到设备(带单个sid) * @param devId * @param json_body JSON.stringify({sid1: {on: 1, action: 1}}); json_body不能为空,否则将导致失败 * @param resultCallback */ setDeviceInfo(devId: "0", json_body: string, cb: T): void; /** * 下发命令到设备(带多个sid) * @param devId * @param json_body json_body不能为空,否则将导致失败 * var json_body = JSON.stringify({ * sid1: {on1: 1, action1: 1}, * ); * @param isParallel true:并行下发 false:串行下发 * @param isWaitAll true:当所有命令下发成功,才会回调返回结果 false:只要有一个命令下发成功,就会回调返回结果 * @param resultCallback */ setMultipleDeviceInfo(devId: string, json_body: string, isParallel: string, isWaitAll: string, cb: T): void; /** * 下发命令到设备(支持LUA脚本) * @param devId * @param json_body json_body不能为空,否则将导致失败 * var json_body = JSON.stringify({ * sid1: {on1: 1, action1: 1}, * ); * @param resultCallback */ setDeviceInfoWithProdId(devId: string, json_body: string, cb: T): void; /** * 下发命令到设备(长按控制) * @param devId * @param json_body json_body不能为空,否则将导致失败 * var json_body = JSON.stringify({ * sid1: {on1: 1, action1: 1}, * ); * @param resultCallback * @param isLongPressInProgress true:长按命令开始执行 false:长按命令结束 */ setLongPressDeviceInfo(devId: string, json_body: string, cb: T, isLongPressInProgress: boolean): void; /** * 下发命令到设备(循环控制) * @param devId * @param serivceId 服务ID * @param json_body json_body不能为空,否则将导致失败 * var json_body = JSON.stringify({ * sid1: {on1: 1, action1: 1}, * ); * @param loopFlag 是否重复循环。 "1":是。 "0" :否。 * @param intervalTime 间隔时间,单位为ms * @param resultCallback */ setDeviceServiceLoop(devId: string, serivceId: string, json_body: string, loopFlag: string, intervalTime: string, cb: T): void; /** * 下发命令到设备(无回调控制) * @param devId * @param json_body json_body不能为空,否则将导致失败 * var json_body = JSON.stringify({ * sid1: {on1: 1, action1: 1}, * ); */ setDeviceInfoWithoutCallback(devId: "0", json_body: string): void; /** * 查询设备历史记录 * @param devId * @param pageNo 返回的页码数,缺省为0 * @param pageSize 每页的数据个数,缺省为10 * @param startTime 历史记录开始的UTC(世界标准时间)时间 yyyyMMddTHHmmssZ * @param endTime 历史记录结束的UTC(世界标准时间)时间 yyyyMMddTHHmmssZ * @param sid 设备的service id Profile * @param character 设备的characteristicName Profile * @param cb JS回调。 */ getDevHistory(devId: string, pageNo: number, pageSize: number, startTime: string, endTime: string, sid: string, character: string, cb: T): void; /** * 删除设备历史记录 * @param devId * @param serviceId 设备的service id * @param cursor 查询的游标,缺省时为null * @param json_body */ deleteDeviceHistory(devId: "0", serviceId: string, cursor: string | null, json_body: string): void; /** * 设备一键注册 - android * @param json_body * @param resultCallback */ registerInfraredHubDevice(json_body: string, cb: T): void; /** * 设备一键注册 - ios * @param json_body * @param resultCallback */ regiterInfraredHubDevice(json_body: string, cb: T): void; /** * 设备一键注销 * @param devId * @param resultCallback */ deleteInfraredHubDevice(devId: "0", cb: T): void; /** * 上报扩展数据 * @param json_body * @param resultCallback */ postDeviceExtendData(json_body: string, cb: T): void; /** * 上报扩展数据(带devId) * @param devId * @param resultCallback */ postDeviceExtendDataById(devId: string, cb: T): void; /** * 查询扩展数据 * @param type * @param resultCallback */ getDeviceExtendData(type: string, cb: T): void; /** * * @param json_body * @param resultCallback */ getDeviceExtendDataById(json_body: string, cb: T): void; /** * 删除扩展数据 * @param type * @param resultCallback */ deleteDeviceExtendData(type: string, cb: T): void; /** * 删除扩展数据(带devId) * @param devId * @param type * @param resultCallback */ deleteDeviceExtendDataById(devId: string, type: string, cb: T): void; /** * 上报设备状态数据 * @param devId * @param json_body * @param resultCallback */ reportDeviceProfileImpermanency(devId: "0", json_body: string, cb: T): void; /** * 删除当前设备 * @param isAssociate * @param resultCallback */ deleteDevice(isAssociate: string, cb: T): void; /** * 修改设备名称 * @param deviceName * @param resultCallback */ modifyDeviceName(deviceName: string, cb: T): void; /** * 修改设备所处房间 * @param chooseRoomString * @param resultCallback */ modifyDeviceRoomName(chooseRoomString: string, cb: T): void; /** * 从本地查询设备静态信息 * @param resultCallback */ getDeviceInfo(cb: T): void; /** * 上传设备文件 * @param file * @param additionInfo * @param callback */ uploadObjectReq(file: string, additionInfo: string, cb: T): void; /** * 查询设备文件 * @param request * @param callback */ downloadObjectReq(request: string, cb: T): void; /** * 删除设备文件 * @param request * @param callback */ deleteObjectReq(request: string, cb: T): void; /** * 查询用户列表 * @param devId * @param callback */ getUserList(devId: string, cb: T): void; /** * 添加用户信息 * @param userInfo * @param callback */ setUserList(userInfo: string, cb: T): void; /** * 更新用户信息 * @param userInfo * @param callback */ updateUserList(userInfo: string, cb: T): void; /** * 查询设备状态上报的统计数据 * @param devId * @param request * @param callback */ getDevStatisticsDataWithQuery(devId: string, request: string, cb: T): void; /** * 查询设备状态上报统计数据(标量) * @param devId * @param serviceId * @param characteristicName * @param callback */ getDevScalarData(devId: string, serviceId: string, characteristicName: string, cb: T): void; /** * 查询设备的Profile信息 * @param callback */ getDeviceProfile(cb: T): void; /** * 查询网桥子设备列表 * @param callback */ getBridgeSubclassRegisteredDevices(cb: T): void; /** * 查询设备的H5 URL地址 * @param productId * @param callback */ getSubDeviceUrl(productId: string, cb: T): void; /** * 查询设备与路由的连接关系 * @param deviceId * @param callback */ getHilinkConnection(deviceId: string, cb: T): void; /** * 从云端查询设备快照 * @param deviceId * @param extendData * @param callback */ getDevInfoAll(deviceId: string, extendData: string, cb: T): void; /** * 查询房间列表信息 * @param callback */ getRoomList(cb: T): void; /** * 查询规则(根据过滤条件) * @param condition * @param callback */ getRules(condition: string, cb: T): void; /** * 查询规则(根据ruleID) * @param ruleId * @param callback */ getSingleRule(ruleId: string, cb: T): void; /** * 创建规则 * @param rule * @param callback */ createRule(rule: string, cb: T): void; /** * 修改规则 * @param rule * @param callback */ updateRule(rule: string, cb: T): void; /** * 删除多个规则 */ deleteRules(ruleIds: string, cb: T): void; /** * 删除单个规则 * @param ruleId * @param callback */ deleteSingleRule(ruleId: string, cb: T): void; /** * 控制单个规则的激活状态 * @param ruleId * @param active * @param resultCallback */ controlRuleActive(ruleId: string, active: string, cb: T): void; /** * 查询规则执行日志 * @param cursor * @param pageSize * @param startTime * @param endTime * @param resultCallback */ getDeviceRuleEvents(cursor: string, pageSize: string, startTime: string, endTime: string, cb: T): void; /** * 查询设备为触发条件的智能场景数量 * @param resultCallback */ getAutoRuleSize(cb: T): void; /** * 跳转至华为商城产品页面 * @param suffix */ gotoVmall(suffix: string): void; /** * 跳转至Native页面 * @param typeString * @param callback */ gotoNative(typeString: string, cb: T): void; jumpTo(uri: string, cb: T): void; /** * 跳转至定时器页面 * @param uri * @param resultCallback */ jumpTo(uri: "com.huawei.smarthome.timerPage", cb: T): void; /** * 拉起倒计时弹窗 */ showDelayInfoDialog(): void; /** * 跳转至设备信息页面 * @param uri * @param resultCallback */ jumpTo(uri: "com.huawei.smarthome.deviceinfoactivity", cb: T): void; /** * 跳转至设备网络信息页面 * @param uri * @param resultCallback */ jumpTo(uri: "com.huawei.smarthome.deviceNetinfoActivity", cb: T): void; /** * 跳转至门锁匹配页面 * @param uri * @param resultCallback */ jumpTo(uri: "com.huawei.smarthome.addSmartlockActivity", cb: T): void; /** * 跳转至设备设置页面 * @param uri * @param resultCallback */ jumpTo(uri: "com.huawei.smarthome.deviceSettingActivity", cb: T): void; /** * 跳转设备离线页面 * @param deviceId * @param hotline * @param resultCallback */ jumpToOfflineHelpActivity(deviceId: string, hotline: string, cb: T): void; /** * 跳转到设备离线帮助页面(自定义离线帮助信息) * @param deviceId * @param message * @param resultCallback */ jumpToSelfOfflineHelpActivity(deviceId: string, message: string, cb: T): void; /** * 跳转至其他App * @param packageName * @param resultCallback */ startApp(packageName: string, cb: T): void; /** * 网桥跳转到子设备页面 * @param listCount * @param resultCallback */ jumpToH5Device(listCount: number, cb: T): void; /** * 调整标题栏 * @param uri true,标题栏及状态栏文字白色,false标题栏及状态栏文字黑色 * @param argb ARGB背景色值,目前已无作用 * @param resultCallback */ modifyTitleBar(uri: boolean, argb: string, cb: T): void; /** * 设置标题栏能否点击 * @param uri * @param resultCallback */ setTitleEnable(uri: boolean, cb: T): void; /** * 设置标题栏是否可见 * @param uri * @param resultCallback */ setTitleVisible(uri: boolean, cb: T): void; /** * 添加覆盖提示 * @param json_body * JSON.stringify * { "type": 24 // 自定义int值 "key": 1 // 目前请均传值1 "icon": 1 // 覆盖消息前图标的编号,可以为Null,可传值为数组对应角标,参考下图 "color": 0 // 字体颜色编号,可以为null,可传值为数组对应角标,可传值见下图 "msg": "ssssss" // 需要显示的信息 * } * @param resultCallback */ addMessage(json_body: string, cb: T): void; /** * 移除覆盖提示 * @param json_body * @param resultCallback */ removeMessage(json_body: string, cb: T): void; /** * 设置提示信息是否可见 * @param uri * @param resultCallback */ setMessageVisible(uri: boolean, cb: T): void; /** * 修改标题样式 * @param styleValue 标题样式值,当前仅支持2(即Emui 10.0风格) */ changeTitleStyle(styleValue: number): void; /** * 显示标题栏中的图标 * @param json_body * @param buttonClick * @param isVisible * @param resultCallback */ showTitleBarIcons(json_body: string, buttonClick: string, isVisible: boolean, cb: T): void; /** * 查询手机状态栏高度 * @param resultCallback */ getStatusBarHeight(cb: T): void; /** * 调用原生弹框样式 * @param time 提示显示时长 * @param body 提示内容 */ toast(time: number, body: string): void; /** * 判断平板横竖屏状态 * @return -1:非平板 0:平板横屏 1:平板竖屏 */ getPadLandscape(): number | undefined; /** * 退出设备页面 */ finishDeviceActivity(): void; /** * 打印debug级别的日志信息 * @param isSaveLog true,保存日志信息,false不保存日志信息 * @param tag 日志信息的关键字 * @param msg 需要打印的内容或信息 */ printLogDebug(isSaveLog: boolean, tag: string, msg: string): void; /** * 打印用户级别的日志信息 * @param isSaveLog true,保存日志信息,false不保存日志信息 * @param tag 日志信息的关键字 * @param msg 需要打印的内容或信息 */ printLog(isSaveLog: boolean, tag: string, msg: string): void; /** * 启用重写安卓物理返回键 * @param enable * @param resultCallback */ overrideBackPressed(enable: boolean, cb: T): void; /** * 重新设置标题栏右上角的设置按钮点击事件 * @param enable * @param resultCallback */ overrideSettingClick(enable: boolean, cb: T): void; /** * 请求三方服务器 * @param json_body * @param resultCallback */ requestThirdPartConfig(json_body: string, cb: T): void; /** * 向数据库中存储/查询键值对 * @param json_body * @param resultCallback */ setH5Info(key: string, value: string, cb: T): void; /** * 向数据库中存储/查询/删除键值对 * @param key * @param value * @param resultCallback */ setStorageSync(key: string, value: string, cb: T): void; /** * 查询系统版本 * @param resultCallback */ getVersion(cb: T): void; /** * H5界面刷新 */ refreshWebView(): void; /** * 登录验证接口 * @param resultCallback */ verifyPassword(cb: T): void; /** * 查询App版本号 * @param resultCallback */ getAppVersionCode(cb: T): void; /** * 查询当前用户家庭角色 * @param resultCallback */ getUserRole(cb: T): void; /** * BI打点接口 * @param biKey * @param biH5Info */ reportH5SingleDevBiInfo(biKey: string, biH5Info: string): void; /** * 调用系统摄像头拍照/从相册查询图片 * @param fileName * @param resultCallback */ takePhoto(fileName: string, cb: T): void; /** * 查询App语言 */ getAppLanguageSync(): string | undefined; /** * 查询当前模式 * @param resultCallback * @return 1:正常模式 2:dark模式 */ getDarkMode(cb?: T): void; /** * 是否启用native的语音功能引导页 * @param enabled * @param resultCallback */ setGuideDialogEnable(enabled: boolean, cb: T): void; /** * 判断(折叠屏手机)屏幕是否展开 */ isScreenSpreaded(): boolean | undefined; /** * 创建快捷方式 IOS * @param deviceId * @param productId * @param deviceName * @param resultCallback */ createShortCut(deviceId: string, productId: string, deviceName: string, cb: T): void; /** * 创建快捷方式 android * @param deviceId * @param productId * @param deviceName * @param resultCallback */ createShortCut(deviceId: string, productId: string, deviceName: string): void; /** * 请求三方服务器(支持自定义header) * @param jsonBody * @param resultCallback */ doHttpsRequest(jsonBody: string, cb: T): void; /** * 共享设备 什么操作不清楚 文档里没有 * @param cb */ refuseSharedDevice(cb: T): void; }