本篇节介绍轻应用接入指南中的编码实现,讲述开发云之家轻应用的整个过程以及各个环节和云之家之间的交互!
云之家轻应用,指的是在云之家上的轻应用,用的人是云之家的用户。所以接入的轻应用的用户数据和云之家数据要有一定的关系,不明之处,可见企业数据如何接入云之家。
创建了将接入的应用, 并已获得应用对应的AppID、AppSecret。
云之家轻应用详细实现工作中,轻应用的后台服务和前端交互的工作,均由第三方开发者自行开发,体现与云之家平台完全解耦的特性。下面对轻应用实现过程中,后台服务和前端交互展开描述。
轻应用后台服务,主要是轻应用自身的业务实现、轻应用自身用户数据和云之家用户数据的关联以及云之家用户参与轻应用业务运转的处理。
下面对“轻应用自身用户数据和云之家用户数据的关联”和“云之家用户参与轻应用业务运转的处理”过程中需要与云之家交互进行描述。也许有人会认为下面3点不一定都需要用后台服务来实现,但是基于安全性问题,笔者建议这些最好在后台服务来实现,故此写在后台服务的工作上。
(1). 用户数据接入
详见企业数据如何接入云之家,轻应用接入云之家需要保证用户数据和云之家数据有一定的关系!
(2). 进行轻应用的认证授权
云之家对每个接入的轻应用在进行API接口调用时都必须先进行云之家OAuth2.0授权,保证每一个接入的轻应用都是合法的轻应用。这里的认证为“accesstoken授权”,轻应用认证授权合法将返回access_token。
(3). 轻应用涉及人员交互时用户身份上下文的获取
轻应用中如果有涉及人员交互时,则需要获取当前登录云之家APP的用户的上下文身份。当轻应用中并不涉及人员时,该步骤可以被忽略。
为更好地让轻应用在云之家更好的展示和交互,云之家提供了丰富的JS桥,以便能够让轻应用在实现上获得云之家更多的设备能力。
下面以一个简单的demo阐述轻应用前端交互工作的全过程,其中涉及相关代码,请下载hellolightapp.rar。
(1). 在轻应用页面增加自适应语句
在轻应用的前端页面头部中,引入如下语句:
<meta name="viewport" content="width=device-width,
initial-scale=0.0,
user-scalable=no,
minimum-scale=1.0,
maximum-scale=1.0"/>
如图。

(2). 引入云之家JS桥的js文件
以使用jQuery为例,在WebRoot文件夹下新增js文件夹,从网上下载一份jQuery的js(这个资源很容易下载,百度),例如:jquery-1.11.0.js,放到js文件夹下。在jsp页面,引入jQuery的js和云之家的js(http://im.yunzhijia.com/pub/js/qingjs.js)。 如图。

(3). 实现轻应用的业务交互
引入自己写的业务逻辑的js文件,或者直接写在html页面或者jsp等更多的动态页面中,建议独自封装到一个js文件,再引入到页面中。该js开发者可以去请求轻应用的后台服务的方式实现,也可以借助云之家提供的JS桥,获得云之家更多的设备能力,例如获取当前人员的简要信息,发起单人会话等 。这里的js文件为“light-app.js”,以该js为例说明。如图。

(4). 效果图



云之家现有的设备能力详细请见云之家jsbridge说明文档。