hilink-ts
Version:
智能家居hilink扩展h5应用工具开发
619 lines (618 loc) • 18.6 kB
TypeScript
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 | string, pageSize: number | string, 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 | string, 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;
}