本文档部分API缺少示例代码,诚挚的邀请你参与到示例代码的编写中来,你可以在代码中发布2行自定义注释,内容自拟。 有意者可与刺鸟联系(QQ:4041990 Q群:7702175)

API简介

    Widget,中文译名被称作是微件,是一小块可以在任意一个基于HTML的Web页面上执行的代码,它的表现形式可能是视频,地图,新闻,小游戏等等。它的根本思想来源于代码复用,通常情况下,Widget的代码形式包含了DHTML,JavaScript以及Adobe Flash。

    AppCan 是一个Hybrid App框架,一个AppCan App,就是有一个网页包+Native容器组成的。这里定义该网页包为widget,常见的AppCan App就是一个widget+Native容器的形式,但是其实此Native容器中是可以容纳多个widget。uexWidget就是实现AppCan App的一些关于widget操作的对象。

    主要有以下几个功能:

    AppCan 的widget是一个这样的网页包:网页包以appid命名;网页包里有config.xml、icon.png及html文件。这样的一个widget,可以作为另外一个widget的子widget而存在。

    AppCan App作为Hybrid App,也具有Native App的一些属性,比如可以调用第三方应用。

    在App的运营过程中,难免会有修改、升级的地方。因此,这就涉及到App的升级。在AppCan的对个人开发者版本中,升级还是依靠开发者自行写代码实现(AppCan的企业级MAM可以实现自动化管理升级)。

    Push即推送,是智能机的一个重要的特点。AppCan集成了推送机制,支持iOS和Android的推送。AppCan的开发者,如果要用到推送,iOS需要苹果的推送证书,包括在服务器上和客户端带推送的证书;而Android则走AppCan搭建的mqtt服务器即可。

    AppCan 的App需要给AppCan服务器发送绑定信息,通过uexWidget.setPushInfo进行用户绑定。因此,开发者一般都需要在App首页中调用此方法,其中的参数可为空。

接口说明

方法说明
uexWidget.startWidget(inAppId,inAnimiId,inForResult,inInfo[,animDuration])加载一个子widget。
uexWidget.cbStartWidget(opId,dataType,data)调用子widget的回调方法。
uexWidget.finishWidget(inResultInfo)退出当前widget。
uexWidget.getOpenerInfo()获取opener即主widget传入此widget的相关信息。
uexWidget.cbGetOpenerInfo(opId,dataType,data)uexWidget.getOpenerInfo的回调方法。
uexWidget.loadApp(inAppInfo,inFilter,inDataInfo)根据相关信息启动一个第三方应用。
uexWidget.checkUpdate()检查当前应用是否有更新。
uexWidget.cbCheckUpdate(opId,dataType,data)uexWidget.checkUpdate的回调方法 。
uexWidget.installApp(inAppPath)根据安装包所在路径安装一个apk(android专用)。此方法在android升级中可以使用,即先下载apk升级包,然后出发此方法进行安装。简单示例代码如下:
uexWidget.getPushInfo()获取推送消息。。
uexWidget.cbGetPushInfo(opId,dataType,data)uexWidget.getPushInfo的回调方法。
uexWidget.setPushNotifyCallback(inCallbackFunction)指定一个当有Push消息来时通知页面的回调函数,如果应用开启了推送功能,那么当有消息推送进来时,平台将调用指定的inCallbackFunction函数通知页面,页面可通过uexWidget.getPushInfo接口获取推送进来的内容。
uexWidget.setPushInfo(uId,uNickName)绑定推送用户。
uexWidget.setPushState(state)设置推送服务的状态,使得在App中,能够配置此App是否可接受推送消息。
uexWidget.getPushState()获取推送服务的状态。
uexWidget.cbGetPushState(opId,dataType,data)uexWidget.getPushState的回调方法。
uexWidget.onSuspend()程序即将进入暂停休眠状态时发出的消息。
uexWidget.onResume()程序从休眠状态恢复时发出的消息。
uexWidget.onTerminate()程序即将退出时发出的消息。
startWidget(inAppId,inAnimiId,inForResult,inInfo[,animDuration])
参数名称描述
inAppId子widget的appid
inAnimiId子widget载入时的动画id,详见常量表的Window Animi ID。
inForResult加载子widget结束时的回调函数,可为空,注意:只在主窗口中有效,浮动窗口中无效。
inInfo加载子widget时,传给子widget的信息,在子widget中获取此取info见uexWidget.getOpenerInfo函数,可为空。
animDuration动画持续时长,单位为毫秒,默认250毫秒。
cbStartWidget(opId,dataType,data)
参数名称描述
opId操作ID,在此函数中不起作用,可忽略
dataType返回数据的数据类型为uex.cInt(值为2)。
data返回的数据,0为成功,1为失败,2为不存在此widget。
finishWidget(inResultInfo)
参数名称描述
inResultInfo结束此widget时,把消息传递给opener,若Awidget开启Bwidget,Bwidget结束时,传回给Awidget的信息。
cbGetOpenerInfo(opId,dataType,data)
参数名称描述
opId操作ID,在此函数中不起作用,可忽略
dataType返回数据的数据类型为uex.cText (值为0)。
data返回的数据,此widget的opener通过startWidget函数打开此widget时传入的任意值。
loadApp(inAppInfo,inFilter,inDataInfo)
参数名称描述
inAppInfo启动第三方应用的必须信息,在android上为第三方应用的action(字符串类型,如:android.intent.action.VIEW);在iphone上为第三方应用在设备上注册的scheme,如:alipay://;。
inFilter过滤条件,即要传递给第三方应用数据的MimeType,如text/html等,*/*为任意类型。此参数在iphone上不起作用。。
inDataInfo传递给第三方应用的数据。比如:调用UC浏览器打开"http://www.sohu.com"。
cbCheckUpdate(opId,dataType,data)
参数名称描述
opId操作ID,在此函数中不起作用,可忽略
dataType返回数据的数据类型为uex.cJSON(值为1)。
data返回的数据。Key值详见常量表的Callback Json类型下:uex.jkResult 、uex.jkName、uex.jkSize、uex.jkUrl、uex.jkVersion。其中uex.jkResult对应JSON Values为uex.jvUpdate(0)、uex.jvNoUpdate(1)、uex.jvError(2)。当返回的uex.jkResult对应为uex.jvUpdate时,uex.jkName、uex.jkSize、uex.jkUrl、uex.jkVersion有值,即返回结果为有更新时,可以取得更新的url,新版本等信息。{"result":"","name":"","size":"","url":"","version":""}。
installApp(inAppPath)
参数名称描述
inAppPath安装包所在路径。接受wgt://路径,如:wgt://data/xx.apk;res://路径,如:res://xx.apk;以及绝对路径,如:/sdcard/xx.apk.
cbGetPushInfo(opId,dataType,data)
参数名称描述
opId操作ID,在此函数中不起作用,可忽略
dataType返回数据的数据类型为uex.cText (值为0)。
data返回的数据,根据iphone平台的推送的特殊性,推送服务器发出的推送的格式为:{"aps":{"alert":"你收到推送.","badge":1,"sound":"sound.wav","userInfo":"接到的参数"}}的json,其中alert的值为警告的内容,badge的值为收到通知后的徽章的数量,sound的值为收到push消息后的声音文件,userInfo的值对应返回的data。
setPushNotifyCallback(inCallbackFunction)
参数名称描述
inCallbackFunction页面中的回调函数,需要用引号引起来
setPushInfo(uId,uNickName)
参数名称描述
uId用户ID,可为空
uNickName用户昵称,可为空。
setPushState(state)
参数名称描述
state推送服务状态。0,关闭。1,开启。
cbGetPushState(opId,dataType,data)
参数名称描述
opId操作ID,在此函数中不起作用,可忽略
dataType返回数据的数据类型为uex.cInt (值为1)。
data返回的数据。1 ,推送服务的状态是开启的。0,推送服务的状态是关闭的。。