uplusAPI 基本属性和初始化相关接口
概述
uplusAPI 初始化模块主要提供一些基础能力
方法列表
- initDeviceReady (uplusapi初始化)
- closeH5ContainerView (关闭当前容器)
- getUrlParams (获取URL中的参数)
- getStatusBarHeight (获取状态栏高度)
- addPauseEventListener (容器进入后台事件监听器)
- addResumeEventListener (容器进入前台事件监听器)
- androidPhysicalBtForBack (安卓物理返回键屏蔽系统事件)
- addBackEventListener (点击安卓物理返回键事件监听器)
- removePauseEventListener (移除容器进入后台事件监听器)
- removeResumeEventListener (移除容器进入前台事件监听器)
- addEventListener (添加容器事件监听器)
- removeEventListener (移除容器事件监听器)
- removeBackEventListener (移除点击安卓物理返回键事件监听器)
- manualCloseH5page (关闭当前容器)
公共数据
具体定义:返回数据通用
模块变更记录
- V3.3.2
- 方法变更:
- addEventListener (添加容器事件监听器)
- removeEventListener (移除容器事件监听器)
- V3.3.1
- 新增方法
- addEventListener (添加容器事件监听器)
- removeEventListener (移除容器事件监听器)
- 方法变更
- addResumeEventListener (容器进入前台事件监听器),接口的 eventListener 回调增加入参 data: any
- V3.0.0
- 新增方法:
- addBackEventListener (点击安卓物理返回键事件监听器)
- V3.2.0
- 新增方法:
- removePauseEventListener(移除容器进入后台事件监听器)
- removeResumeEventListener(移除容器进入前台事件监听器)
- removeBackEventListener(移除点击安卓物理返回键事件监听器)
- 方法变更:
- addPauseEventListener (容器进入后台事件监听器), 接口调用必须传递监听器名, 增加接口调用返回数据
- addResumeEventListener (容器进入前台事件监听器), 接口调用必须传递监听器名, 增加接口调用返回数据
- addBackEventListener (点击安卓物理返回键事件监听器), 接口调用必须传递监听器名, 增加接口调用返回数据
方法说明
initDeviceReady (uplusapi初始化)
initDeviceReady()
说明
- 使用uplusapi能力前,首先调用该接口进行uplusapi初始化,等待接口成功回调后,才能正常调用uplusapi的其他接口。
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.0.0及以上 |
5.0.0及以上 |
6.15.0及以上 |
params 输入参数:
无
返回参数:
无
示例
uplusapi.initDeviceReady().then(() => {
});
closeH5ContainerView (关闭当前容器)
closeH5ContainerView()
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.0.0及以上 |
5.3.0及以上 |
/ |
params 输入参数:
无
返回参数:
无
示例
uplusapi.closeH5ContainerView();
getUrlParams (获取URL中的参数)
getUrlParams()
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.0.0及以上 |
5.3.0及以上 |
6.15.0及以上 |
params 输入参数:
无
错误返回 retCode 说明:
retCode编码 |
retInfo说明 |
100000 |
获取url参数失败 |
正确返回 retData 说明:
属性名 |
数据类型 |
说明 |
hash |
String |
url 锚部分 |
search |
String |
url 参数部分 |
示例
uplusapi.getUrlParams.then((result) => {
console.log('result',result);
});
getStatusBarHeight (获取状态栏高度)
getStatusBarHeight()
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.0.0及以上 |
5.3.0及以上 |
6.15.0及以上 |
params 输入参数:
无
错误返回 retCode 说明:
retCode编码 |
retInfo说明 |
100001 |
基础模块未定义 |
正确返回 retData 说明:
属性名 |
数据类型 |
说明 |
height |
number |
当前状态栏高度 |
示例
uplusapi.getStatusBarHeight.then((result) => {
console.log('result',result);
});
addPauseEventListener (容器进入后台事件监听器)
addPauseEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.5.0及以上 |
5.5.0及以上 |
6.15.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
Function |
是 |
回调函数 |
String |
是 |
回调函数名称 |
错误返回 retCode 说明:
按照通用
正确返回 retData 说明:
按照通用
示例
uplusapi.addPauseEventListener(() => {
console.log('进入后台');
}, 'key_1');
addResumeEventListener (容器进入前台事件监听器)
addResumeEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.5.0及以上 |
5.5.0及以上 |
6.15.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
Function |
是 |
回调函数 |
String |
是 |
回调函数名称 |
错误返回 retCode 说明:
按照通用
正确返回 retData 说明:
按照通用
示例
uplusapi.addResumeEventListener(() => {
console.log('回到前台');
}, 'key_2');
uplusapi.addResumeEventListener((data) => {
console.log('回到前台');
}, 'key_2');
addEventListener (添加容器事件监听器)
addEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
否 |
否 |
是 |
APP版本 |
/ |
/ |
6.17.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
String |
是 |
事件名称 业务通知列表 |
Function |
是 |
监听者(处理器) |
错误返回 retCode 说明:
按照通用
正确返回 retData 说明:
按照通用
示例
uplusapi.addEventListener('DeviceStateChanged', (data) => {
});
removeEventListener (移除容器事件监听器)
removeEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
否 |
否 |
是 |
APP版本 |
/ |
/ |
6.17.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
String |
是 |
事件名称 业务通知列表 |
Function |
是 |
监听者(处理器),必须与对应的 addEventListener() 传入的监听器是同一个函数 |
错误返回 retCode 说明:
按照通用
正确返回 retData 说明:
按照通用
示例
let observer = (data) => {
};
uplusapi.removeEventListener('DeviceStateChanged', observer);
androidPhysicalBtForBack (安卓物理返回键屏蔽系统事件)
androidPhysicalBtForBack({params})
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
否 |
是 |
是 |
APP版本 |
/ |
6.0.0及以上 |
6.15.0及以上 |
params 输入参数:
属性名 |
数据类型 |
是否必填 |
说明 |
process |
Boolean |
是 |
是否屏蔽原生事件(true:屏蔽系统默认事件,porcess为true,deviceChangeListener必填;false:使用系统默认事件) |
deviceChangeListener |
Function |
否 |
android物理按钮返回动作触发 |
eventKey |
string |
是 |
回调函数名称 |
错误返回 retCode 说明:
retCode编码 |
retInfo说明 |
100000 |
操作失败 |
100001 |
基础模块未定义!!! |
正确返回 retData 说明:
无
示例
uplusapi.androidPhysicalBtForBack({
process: true,
deviceChangeListener: () => {
console.log('process为true,android物理返回动作时触发,在此执行相应逻辑');
},
'backEvent'
});
addBackEventListener (点击安卓物理返回键事件监听器)
addBackEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
否 |
是 |
是 |
APP版本 |
/ |
6.0.0及以上 |
6.15.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
Function |
是 |
回调函数 |
String |
是 |
回调函数名称 |
错误返回 retCode说明:
按照通用
正确返回 retData说明:
按照通用
示例
uplusapi.addBackEventListener(() => {
console.log('点击了返回键');
}, 'key_3');
removePauseEventListener (移除容器进入后台事件监听器)
removePauseEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.5.0及以上 |
5.5.0及以上 |
6.15.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
String |
否 |
要移除的回调函数名称,不传时移除所有的回调函数 |
错误返回 retCode 说明:
按照通用
正确返回 retData 说明:
按照通用
示例
uplusapi.removePauseEventListener('key_1').then((result) => {
console.log(result);
}).catch((err) => { console.log(err); });
removeResumeEventListener (移除容器进入前台事件监听器)
removeResumeEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
是 |
是 |
是 |
APP版本 |
5.5.0及以上 |
5.5.0及以上 |
6.15.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
String |
否 |
要移除的回调函数名称,不传时移除所有的回调函数 |
错误返回 retCode 说明:
按照通用
正确返回 retData 说明:
按照通用
示例
uplusapi.removeResumeEventListener('key_2').then((result) => {
console.log(result);
}).catch((err) => { console.log(err); });
removeBackEventListener (移除点击安卓物理返回键事件监听器)
removeBackEventListener(params)
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
否 |
是 |
否 |
APP版本 |
/ |
6.0.0及以上 |
6.15.0及以上 |
params 输入参数:
数据类型 |
是否必填 |
说明 |
String |
否 |
要移除的回调函数名称,不传时移除所有的回调函数 |
错误返回 retCode说明:
按照通用
正确返回 retData说明:
按照通用
示例
uplusapi.removeBackEventListener('key_3').then((result) => {
console.log(result);
}).catch((err) => { console.log(err); });
manualCloseH5page (关闭当前容器)
manualCloseH5page()
适用性
容器 |
cordova |
APICloud |
Nebula |
支持情况 |
|
是 |
是 |
APP版本 |
6.17.0及以上 |
params 输入参数:
无
返回参数:
无
示例
uplusapi.manualCloseH5page();
Native -> H5 业务通知列表
通知名称 |
通知简介 |
说明 |
Noti_ScreenshotEvent |
截屏通知 |
在“我要吐槽”或“在线客服”页面时,用户截屏后,App向所有容器发送该通知 |
Noti_tabReclicked |
重复点击Tab通知 |
当前已选中一个tab,再次点击该tab,App向当前容器发送该通知 |
Noti_UserLogOut |
用户登出通知 |
用户退出登录后,立即发送此通知 |
Noti_UserCurrentFamilyChange |
用户家庭变更通知 |
用户当前家庭发生变更后发送此通知 |
Noti_UserFamilyListChange |
用户家庭列表刷新通知 |
用户家庭列表刷新后发送此通知 |
Noti_UserDeviceListChange |
设备列表刷新通知 |
用户设备列表刷新后发送此通知 |
Noti_onRefreshCompleted |
用户数据刷新完成通知 |
用户所有数据(个人信息、设备列表、家庭列表)刷新后发送此通知 |
Noti_TabBarMaskClicked |
TabBar 引导蒙层点击通知 |
TabBar 新手引导蒙层被点击后发送此通知 |
常见问题
- uplusAPI 核心库的初始化方法,尽量放到整个前端项目的入口js文件中进行操作,避免过晚进行初始化,导致初始化不成功
- 如果不确定调用某个接口时,uplusAPI核心库是否完成初始化操作,可以在外层先调用initDeviceReady方法,在initDeviceReady的then回调里进行接口调用操作
- 如果H5页面需要从当前的url地址中获取search或者hash参数值,请调用getUrlParams方法,可以兼容不同webview容器下的差异