想获得移动端APP的能力?跟我学!

某一天,移动开发部的小白接到了新的需求:要开发一个扫码签到的页面,还要做到实时定位。小白一看,要的都是移动APP的能力,而苍穹移动端页面都是H5页面,有点难度。
但是满足不了需求的程序员不是一个合格的打工人,小白当即就抱起了前端大佬的大腿。
接下来就给大家介绍小白用真(偷)诚(懒)的心换来的秘诀,抓紧时间学习~
1 应用场景
在苍穹移动端单据的开发过程中,经常会遇到需要调用APP接口的场景,例如扫码、定位、拍照等等。
通过调用APP的接口,开发者可以直接使用手机系统的能力,为用户提供更优质的网页体验。
目前,苍穹集成了云之家的大部分APP接口供移动端页面插件调用,企业微信、钉钉以及welink提供了部分接口(陆续支持),如下表:

【emoji】:支持 【emoji】:不支持 【emoji】️:后续支持
除此之外,想要了解云之家支持的其他接口,可以查看云之家开放平台提供的API文档,苍穹大部分都已集成进来。
2 调用方法
这里以调用“扫一扫”和“选择图片/拍照”接口为例,提供Java插件调用的示例代码。其他接口的调用方法均可以参照这两个例子,通过 callYZJApi 指令调用,接口参数需要参阅云之家开放平台文档。
1.调用“扫一扫”
HashMap map = new HashMap();
map.put("method", "scanQRCode"); //scanQRCode 为云之家方法名
HashMap args = new HashMap();
args.put("needResult", 1); //是否需要处理,默认为0,扫描结果由云之家处理,1则直接返回扫描结果
map.put("args", args); //args 调用该云之家方法需要传递的参数
this.getView().executeClientCommand("callYZJApi", map);2.调用“选择图片/拍照”
HashMap map = new HashMap();
map.put("method", "selectPic"); //selectPic 为云之家方法名
HashMap args = new HashMap();
args.put("type", "camera"); //类型,“camera”代表“相机”,“photo”代表“相册”,不传表示从相机、相册中选择
map.put("args", args); //args 调用该云之家方法需要传递的参数
this.getView().executeClientCommand("callYZJApi", map);3.监听客户端回调
//如调用该App方法会有回调,则进该事件
@Override
public void customEvent(CustomEventArgs e) {
String eventName = e.getEventName();
String value = e.getEventArgs();
String key = e.getKey();
if(key.equals("callAppMethod")){
if(eventName.equals("scanQRCode")) {
//扫码处理逻辑
} else if (eventName.equals("selectPic")) {
//选择图片/拍照处理逻辑
}
}
}3 扩展方法
看到这里,可能有些开发会有疑问,如果用户不是使用以上提到的app,应该要怎么调用客户端的功能呢?
除了云之家、企业微信、钉钉和welink之外,如果集成到其他客户端的轻应用中,想要调用客户端API的功能,则需要通过自定义JS的方式扩展。
3.1 下载自定义JS模板
使用管理员登录苍穹,然后点击 系统管
想获得移动端APP的能力?跟我学!
某一天,移动开发部的小白接到了新的需求:要开发一个扫码签到的页面,还要做到实时定位。小白一看,要的都是移动APP的能力,而苍穹移动端...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



