新版js桥已经推出,支持Android、iOS和新版桌面端,使用方法请移步新版js桥文档
在需要调用JS接口的页面引入如下JS文件:qingjs.js
引入示例(https):
<script src="https://static.yunzhijia.com/pub/js/qingjs.js"></script>
注:1. 云之家要求平台级轻应用统一支持https协议;对于企业自建应用,我们建议同样支持https协议,以避免可能发生的安全问题。 2.请不要将JS文件下载到开发者本地合并,建议显示引用。
云之家建议在对JS-API接口进行调用前,先判断当前环境是否支持调用JS-API接口,以便在不同环境中调用时有一些辅助的提示信息。
以“获取当前用户身份信息”的JS-API接口为例,示例代码:
//判断是否运行于云之家App中
function isYzjApp () {
return navigator.userAgent.match(/Qing\/.*;(iOS|iPhone|Android).*/)?true:false;
}
/* 判断是否运行于云之家桌面端
* @return {object} cloudhub 返回是否桌面端、当前桌面端userAgent版本及是否支持JS-API
* cloudhub = {isCloudHub: true | false, hasJS-APIt: true | false, version: '0.0.1'}
*/
function getCloudHub () {
var ua = window.navigator.userAgent;
var reg = /cloudhub 10220\/([^;]+)/;
var cloudhub = {
isCloudHub: false,
hasJS_APIt: false,
version: ''
};
var match = reg.exec(ua), version;
if (match) {
version = match[1];
cloudhub.isCloudHub = true,
cloudhub.version = version;
if (version.replace(/\./g, '') > 1) {
cloudhub.hasJS_APIt = true;
}
}
return cloudhub;
}
//获取操作系统平台,
iOS或Android
function getOS () {
return (navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) ? 'iOS' :
navigator.userAgent.match(/Android/i) ? 'Android' : '' );
}
// 是否在手机上
function isMobile () {
var os = getOS();
return os == 'iOS' || os == 'Android';
}
if (!isYzjApp() && !getCloudHub().isCloudHub) {
$body.html("Hello!当前不在云之家App(桌面端)中!开启您的轻应用之旅吧!");
if(!isMobile()) {
$body.html("Hello!当前不在手机端上!开启您的轻应用之旅吧!");
}
} else {
XuntongJSBridge.call('getPersonInfo', {}, function(result) {
if (null != result && undefined != result) {
/* **** 注意 start **** */
/* **** 由于在桌面端,实现JS-API方式不同,这里的回调返回值result是一个string **** */
/* **** 为确保result正常使用,建议在回调中添加如下代码 **** */
if (typeof result == 'string') {
result = JSON.parse(result);
}
/* **** 注意 end **** */
var desc = "返回的数据:<p />" + JSON.stringify(result);
var success = String(result.success);
if (success == "true") {
$body.html(desc + "。<p/>Hello!" + result.data.name + ",开启您的轻应用之旅吧!");
} else if (success == "false") {
$body.html(desc + "。<p/>返回失败!错误信息: " + result.error);
} else {
$body.html("返回有问题!");
}
} else {
$body.html("返回失败!");
}
});
}
当调用云之家JS-API后,返回为空时,表明处理成功,轻应用可以自行处理后续的工作。
当有返回时,轻应用对此返回结果进行处理后再进行后续的开发,返回的格式为:
{
success: true or false 是否成功(string)
error: 错误信息(string)
errorCode: 错误码(int)
data: {
...
}
}
其中的返回说明如下表:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| success | string | 接口调用是否成功。返回“true”说明成功;返回“false”说明失败;返回“其他的”说明接口实现有问题。 |
| error | string | 接口调用失败的详细信息。 |
| errorCode | int | 接口调用失败的错误码。 |
| data | json | 接口调用成功,返回的数据。 |
特别注意:
var success = String(result.success);
if (success == "true") {
...
} else if (success == "false") {
...
} else {
alert("接口返回值非法!");
}
由于目前桌面端JS-API版本的差异,以及仅支持部分接口,所以基础接口在这里的逻辑并没有给出对应方法,如需应用在云之家桌面端展示的,请参照下”调用处理”中相应代码。
云之家App轻应用的UserAgent获取到的信息如下:
| deviceId | 设备ID |
|---|---|
| deviceName | 设备名称 |
| clientId | 客户端ID,10200表示iOS端,10201表示Android端,10208表示iPad端 |
| os | 系统版本 |
| brand | 手机品牌 |
| model | 手机型号 |
| lang | 客户端当前语言,zh开头为中文,en开头为英文,目前仅支持中文和英文 |
| fontNum | 客户端当前字体大小,0表示标准字体,-1表示小号字体,1、2、3、4依次表示更大号字体(目前仅iOS端支持) |
识别用户当前所处环境为非手机端还是Android还是iOS。见如下代码:
//获取操作系统平台,iOS或Android
function getOS () {
return (navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/) ? 'iOS' :
navigator.userAgent.match(/Android/i) ? 'Android' : '' );
}
当以上方法返回不为Android或iOS时,则说明用户当前所处环境为非手机端。
(1)判断思路: 判断当前环境是否支持JS桥,该依据是通过云之家轻应用专属的UserAgent值来判断。
UserAgent信息格式如下: 轻应用框架标示/轻应用框架版本;系统名称 系统版本;设备ID;设备名称;客户端ID;系统版本;手机品牌;手机型号;客户端当前语言;客户端当前字体大小;系统原始的User-Agent
例如:
Qing/0.9.70;iOS 11.3.1;Apple;iPhone10,3;deviceId:d5152412-d2b1-4c97-8e3c-4f66dfd3578a;deviceName:Gil%20iPhone;clientId:
10200;os:iOS 11.3.1;brand:Apple;model:iPhone10,3;lang:zh-CN;fontNum:0;
Mozilla/5.0 (iPhone; CPU iPhone OS 11_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E302
Qing/0.9.70;Android 7.0;Xiaomi;MI+5s;deviceId:e6beb202-cf1a-3c3e-aef5-34fd825c52ac;deviceName:Xiaomi MI+5s;clientId:
10201;os:Android 7.0;brand:Xiaomi;model:MI+5s;lang:zh-CN;
总结:
云之家App轻应用的UserAgent是以“/Qing\/.;(iOS|iPhone|Android)./”该正则表达式来匹配,当匹配到这个时,即云之家的客户端。
特别注意:
navigator.userAgent == "Qing/0.9.0;iPhone OS 9.1;Apple;iPhone7,1 " ||
navigator.userAgent == "Qing/0.9.0;Android4.1.1;Xiaomi;MI 2 "
这样去判断,因为轻应用框架的版本号及其他的项并不是一成不变的!
(2)可以通过如下代码,进行判断:
// 轻应用是否运行于云之家的框架中而非其他浏览器中
navigator.userAgent.match(/Qing\/.*;(iOS|iPhone|Android).*/)?true:false;
当以上代码返回true,即当前环境支持JS-API,也即轻应用运行于云之家的框架中而非其他浏览器中。
本页绍了和文件相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
XuntongJSBridge.call('selectFile',
{},
function(result){}
);
参数说明:无
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{
files:[{
fileId: 文件Id,String
fileName: 文件名称,String
fileExt: 文件后缀,String
fileTime: 时间,String
fileSize: 文件大小,int,单位:字节
},...]
}
}
调用代码:
XuntongJSBridge.call('showFile',
{
'fileId':'hde22fdej233',
'fileName':'计划',
'fileExt':'ppt',
'fileTime':'2014-11-28 13:23:54',
'fileSize':35500
},
function(result){}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| fileId | string | 否 | 文件ID,第三方文件不传。 |
| fileName | string | 是 | 文件名称 |
| fileExt | string | 是 | 文件后缀 |
| fileTime | string | 是 | 时间 |
| fileSize | int | 是 | 文件大小,单位:字节 |
| fileDownloadUrl | string | 否 | 文件下载地址,非云之家的第三方文件传入此参数,可直接下载并打开文件 |
回调说明:无
本页介绍了和图片相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
功能说明:获取图片说的是调起云之家app的”获取图片”页,目前有2种方式:选择图片文件,或直接拍照。
调用代码:
XuntongJSBridge.call('selectPic', {'type':'camera'}, function(result){
alert("结果:"+JSON.stringify(result));
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| type | string | 否 | 类型,“camera”代表“相机”,“photo”代表“相册”,不传表示从相机、相册中选择(Qing/0.9.10及以上支持。) |
回调说明:
{
success: true or false 是否成功(string)
error: 错误信息(string)
errorCode: 错误码(int)
data: {
fileExt:文件后缀(string)
fileData:文件数据的base64字符串(string)
}
}
data中字段说明:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| fileExt | string | 文件后缀。 |
| fileData | string | 用户头像地址。 |
调用代码:
//0.9.16及以上版本支持
XuntongJSBridge.call('previewImage',
{
'current':'url',
'urls':['url1','url2',...]
},
function(result){}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| current | string | 是 | 当前显示图片的http链接 |
| urls | array(string) | 是 | 需要预览的图片http链接列表 |
回调说明:无
XuntongJSBridge.call('savePic',
{
'url':'xxxx'
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)}
errorCode:错误码(String)
}
);
XuntongJSBridge.call('chooseImage',
{
'type':'camera', //类型,“camera”代表“相机”,“photo”代表“相册”,不传表示从相机、相册中选择;多选此参数无用,只能从相册选择
'needCut': 'false', //是否需要裁剪处理,默认 false
'isMulti': false, //是否多选,当为true时,needCut参数无效
'maxSelectCount': 9, //当isMulti为true时需要传的参数 最大选择图片数,int,默认9
'showOrigin': false //是否显示原图,默认为true
},
function(result){
localId:xxx // string 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
localIds: [ 'xxx', 'xxx' ] // array 多选时,只会通过这个参数返回选定照片的本地ID列表
}
);
备注:支持在webview内预览本地图片<img src="yzjLocalResource://img?id=xxxxxxx">
XuntongJSBridge.call('uploadImage',
{
localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)}
data:{
serverId:xxxx //服务端文件id
localId:xxx //需要上传的图片的本地ID
}
}
);
备注:上传图片有效期3天,可用多媒体接口下载图片到自己的服务器,https://yunzhijia.com//openfile/download/media/{serverId} {serverId} 为服务端文件id
XuntongJSBridge.call('downloadImage',
{
serverId:xxxx, // 需要下载的图片的服务器端ID,由uploadImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)}
data:{
localId: xxxx
}
}
);
XuntongJSBridge.call('getLocalImgData',
{
localId: '', // 需要上传的图片的本地ID,由chooseImage接口获得
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)}
data:{
localData:"" // localData是图片的base64数据,可以用img标签显示
}
}
);
备注:此接口仅在 iOS WKWebview 下提供,用于兼容 iOS WKWebview 不支持 localId 直接显示图片的问题。
本页绍了智能会议相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
XuntongJSBridge.call('createLive',
{
groupId:'xxx'
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)}
errorCode:错误码(String),
data:{}
}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| groupId | string | 否 | groupId不会空,在对应的群组内选人发起;如果不传,则走默认的选人界面 |
调用代码:
XuntongJSBridge.call('createVoiceMeeting',
{
groupId:'xxx'
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)}
errorCode:错误码(String),
data:{}
}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| groupId | string | 否 | groupId不会空,在对应的群组内选人发起;如果不传,则走默认的选人界面 |
本页介绍了获得位置信息相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
//0.9.6及以上支持
XuntongJSBridge.call('getLocation',{},function(result){});
参数说明:无
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{'latitude':22.2748379, //维度,国测GCJ-02标准
'longitude':133.2324334, //经度,国测GCJ-02标准
'province':'广东省', //省
'city':'深圳市', //市
'district':'南山区', //区
'name':'金蝶软件园', //名称
'address':'科技南十二道', //地址
'addressdetail':广东省深圳市南山区科技南十二道' //详细地址
}
}
调用代码:
//0.9.6及以上支持
XuntongJSBridge.call('selectLocation', {
'latitude':22.394839,
'longitude':133.374833,
'isLocation':false,
'isFullMap':true
}, function(result){
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| latitude | double | 否,isLocation为false时,必填 | 周边位置的中心纬度,国测GCJ-02标准。 |
| longitude | double | 否,isLocation为false时,必填 | 周边位置的中心经度,国测GCJ-02标准。 |
| isLocation | boolean | 是 | false为传过来的经纬度来获取周边,true获取自动定位获取周边。 |
| isFullMap | boolean | 否 | true获取地图任意位置。 |
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{'latitude':22.2748379, //维度
'longitude':133.2324334, //经度
'province':'广东省', //省
'city':'深圳市', //市
'district':'南山区', //区
'name':'金蝶软件园', //名称
'address':'科技南十二道', //地址
'addressdetail':广东省深圳市南山区科技南十二道' //详细地址
}
}
本页介绍了和云之家基础消息能力相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
XuntongJSBridge.call('chat', {
'openId':'ge6sjw12sda2scdfefe2'
}, function(result) {
alert("结果:"+JSON.stringify(result));
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| openId | string | 与groupId二选一 | 云之家账号体系下对话人的用户ID。 |
| groupId | string | 与openId二选一 | 会话组ID。 |
| draft | string | 否 | 打开会话传入的草稿,会预置在聊天会话消息发送框。 |
回调说明:
{
success: true or false 是否成功(string)
error: 错误信息(String)
errorCode: 错误码(int)
data:
}
调用代码:轻应用转发信息给用户或聊天组
XuntongJSBridge.call("share", {
"shareType":"4",
"appId":"XXX",
"appName":"XXX",
"lightAppId":"XXX",
"title":"XXX",
"content":"XXX",
"thumbData":"XXX",
"webpageUrl":"XXX",
"cellContent":"XXX",
"sharedObject":"XXX",
"callbackUrl":"XXX",
"selected":['aaa','bbb',...]
}, function(result) {
alert("结果:"+JSON.stringify(result));
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| shareType | string | 是 | 转发类型,目前仅支持4,表示轻应用转发信息。 |
| appId | string | 是 | 轻应用ID或公共号ID,当为轻应用时传轻应用ID;当为公共号时传公共号ID。 |
| appName | string | 是 | 轻应用名称或公共号名称,当为轻应用时传轻应用名称;当为公共号时传公共号名称。 |
| theme | string | 否 | 主题(可选),如传入,创建组时以此命名组名称。 |
| lightAppId | string | 否 | 轻应用ID(如果需要获取ticket,则必须传入此参数)。 |
| title | string | 是 | 新闻标题。 |
| content | string | 是 | 新闻内容。 |
| thumbData | string | 否 | 新闻缩略图,使用Base64编码,大小不要超过32k,否则消息发送失败,分辨率推荐198*198,图片格式推荐使用jpg |
| webpageUrl | string | 是 | 新闻的url。 |
| cellContent | string | 是 | 在聊天界面显示的内容。 |
| sharedObject | string | 是 | 转发的对象:all(所有),group(组),person(人)。 |
| selected | array(string) | 否 | 选择人员的openid |
| callbackUrl | string | 否 | 回调接口,可选。 如果轻应用传了此字段,客户端在转发消息之前(用户选择群组之后)会先调用此接口,并且将参数(groupId、eId、openId、content)回传给轻应用。 此接口处理完业务后需返回: {“data”:“id=3dsfj7322jfnbg20s3d2”,“error”: null,“errorCode”: 0,“success”: true }客户端取到data中的数据后接到webpageUrl后面,最终发送的消息中的链接会变成轻应用传过来的webpageUrl+data里的值。 |
| callbackParam | object({key: value}) | 否 | 仅桌面端支持,回调callbackUrl时需要传入的额外参数及参数值 |
回调说明:
{
success: true or false 是否成功(string)
error: 错误信息(String)
errorCode: 错误码(int)
data:
}
本页介绍了和云之家组织与人员相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
XuntongJSBridge.call("switchCompany", {
"eid":"XXX"
}, function(result) {
alert("结果:"+JSON.stringify(result));
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| eid | string | 是 | 云之家工作圈企业号。 |
回调说明:
{
success: true or false 是否成功(string)
error: 错误信息(String)
errorCode: 错误码(int)
data:
}
调用代码:
XuntongJSBridge.call('selectPersons',
{
'isMulti':false,
'isShowMe':false,
'range':['xxx','yyy',...],//如果不需要指定范围,则不传该字段,而不是传空数组
'selected':['aaa','bbb',...],
'ignore':['111','222',...]
},
function(result){}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| isMulti | int | 否 | 是否为多选,默认false。 |
| isShowMe | int | 否 | 是否在选人组件中显示自己,默认false。 |
| range | array(string) | 否 | 指定选人范围,仅在指定的范围内选人,数组中传openId。 |
| selected | array(string) | 否 | 已选人员名单,数组中传openId。 |
| ignore | array(string) | 否 | 过滤人员名单,数组中传openId。如果是指定范围选人,则该参数无效。 |
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{
persons:[
{
name: 用户姓名
avatarUrl:用户图像地址
openId: 用户Id
},...]
}
}
调用代码:
XuntongJSBridge.call('selectOrgs',
{
'isMulti':false
},
function(result){}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| isMulti | int | 否 | 是否为多选,默认false。 |
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{
orgs:[
{
orgId: 部门ID
orgName:部门名称
personCount: 部门人数
},...]
}
}
本页介绍了其他一些云之家原生能力,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
XuntongJSBridge.call("scanQRCode", {
"needResult":0
}, function(result) {
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| needResult | int | 否 | 是否需要处理,默认为0,扫描结果由云之家处理,1则直接返回扫描结果。 |
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{
"qrcode_str":"xxx"
}
}
data字段说明:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| qrcode_str | string | 扫码返回的结果,该结果在needResult为1的时候;当needResult为0时,data字段不返回。 |
调用代码:
XuntongJSBridge.call('gotoApp', {
"data":'yunzhijia://p?url=https://itunes.apple.com/cn/app/id595672427'
}, function(result) {
alert("结果:"+JSON.stringify(result));
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| data | string | 是 | 第三方应用跳转Scheme。其中url是必须的,表示应用的下载地址。如果手机未安装应用,则跳转至此地址进行安装;如果还需其他参数,则使用 & 接到后面;如果是Android,也可定义为:packageName://className?key=value&key=value; |
回调说明:
{
success: false
error: 错误信息(String)
errorCode: 错误码(int)
data:
}
调用代码:
//0.9.12及以上支持
XuntongJSBridge.call('clipBoard',
{
'type':'getString or setString',
'string':'设置的内容'
},
function(result){}
);
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| type | string | 是 | getString表示获取粘贴板内容,setString表示设置粘贴板内容 |
| string | string | 否 | getString时传空,setString时传入需要设置的内容 |
回调说明:
{
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode: 错误码(int)
data:{
'string': '粘贴板内容' //getString才会返回此值,此参数做了url encode,使用时需要decode
}
}
本页介绍了和轻应用界面设置相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。云之家会不断开放更多能力以满足更多应用个性化的开发需求。如果您有什么建议,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码:
XuntongJSBridge.call('hideWebViewTitle');//隐藏页面标题
XuntongJSBridge.call('setWebViewTitle',{'title':'申请加入群聊'});//设置页面标题并显示
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| title | string | 是 | 需要设置的标题 |
回调说明: 无
调用代码:
//0.9.5及以上支持
XuntongJSBridge.call('closeWebView');
参数说明: 无
回调说明: 无
调用代码:
//0.9.6及以上支持
XuntongJSBridge.call('createPop',
{
'popTitle':String,
'popTitleCallBackId':String,
'items':[
{'text':'自定义条目1','callBackId':'callback1'},
{'text':'自定义条目2','callBackId':'callback2'},
...
],
'menuList' : ['forward'(转发),'refresh'(刷新),'share'(分享),'openWithBrowser'(在浏览器中打开)],
'shareData' : {
'isShowExt':'转发时是否显示商务伙伴,true or false,默认为true'
'title' : '分享或者转发的标题',
'url' : '分享的链接,若空则取当前的url',
'description' : '分享或者转发的内容',
'appLogo' : '轻应用Logo,base64数据,大小不要超过32k,分辨率推荐198*198,图片格式推荐使用jpg'
'appName' : '轻应用名称'
}
},
function(resp){
if (resp.success == true || resp.success == 'true') {
var callBackId = resp.data ? resp.data.callBackId : '';
if (callBackId == 'callback1') {
callback1();
}
}
}
);
function callback1() {
alert('callback1')
}
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| popTitle | string | 否 | 右上角弹出菜单名称,只支持最 多4位中文字符,超出部分会截 断显示(不传入popTitle,如果最 后传入的有效条 目数大于0,则会 默认显示云之家”更多”图标,如果 有效条目数为0,则右上角不显示任何内容) |
| popTitleCallBackId | string | 是 | 点击右上角回调ID |
| items | array(object{'text':String,'callBackId':'String'}) | 否 | 自定义菜单条目(text:菜单条目文本、callBackId:回调ID) |
| menuList | array(string) | 否 | 系统菜单条目,目前支持share(分享)、 refresh(刷新)、openWithBrowser (在浏览器中打开)、forward(转发) |
| shareData | object | 否 | 分享或者转发的内容 |
回调说明: 无
注意:
调用代码:
//0.9.6及以上支持
XuntongJSBridge.call('closePop');
参数说明: 无
回调说明: 无
调用代码:
//0.9.11及以上支持
XuntongJSBridge.call('defback',
{},
function () {
alert('点击了返回按钮');
if (history.length <= 1) { //顶级页面,则关闭当前Web
XuntongJSBridge.call('closeWebView');
} else {
history.back();
}
}
);
参数说明: 无
回调说明: 无
调用代码:
//0.9.11及以上支持
XuntongJSBridge.call('rotateUI',
{
'orientation':'landscape/portrait',
},
function(result){}
);
参数说明:无
回调说明:无
本页介绍了和用户信息相关的JS-API方法,开发者可以根据应用的需求进行相应的配置。本页方法会不定期更新以满足更多应用个性化的开发需求。如果您有什么需求,欢迎在云之家开发者交流社区留言反馈,我们会根据您的需求进行优化。
调用代码: 这里说的人员详情是指调出云之家APP上面的人员详情页,而不是返回人员详细的内容。
XuntongJSBridge.call('personInfo', {
'openId':'ge6sjw12sda2scdfefe2'
}, function(result) {
alert("结果:"+JSON.stringify(result));
});
参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| openId | string | 是 | 云之家账号体系下的用户ID。 |
回调说明:
当调用成功时直接调出指定人的个人信息详情页。
当调用失败时:
{
success: false
error: 错误信息(String)
errorCode: 错误码(int)
data:
}
调用代码:
XuntongJSBridge.call('getNetworkType', {}, function(result){
alert("用户网络状态:"+JSON.stringify(result));
});
参数说明:无
回调说明:
{
success: true or false 是否成功(string)
error: 错误信息(String)
errorCode: 错误码(int)
data: {
network_type:网络类型(string)
}
}
data中字段说明:
| 字段名称 | 数据类型 | 说明 |
|---|---|---|
| network_type | string | 网络类型。 |
XuntongJSBridge.call('startRecord',{},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)//100权限错误;101无法录音;200 录音失败,请重试;0 默认正常
data:{//超时返回,满60s后自动停止录音返回
localId:'xxx', //本地id
len:xxx //时长
format:amr //格式
size:xxx //文件大小
fileId:xxx //文件id
}
}
);
XuntongJSBridge.call('stopRecord', {},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)
data:{
localId:xxx
len:xxx
format:amr
size:xxx
fileId: xxx
}
}
);
XuntongJSBridge.call('playVoice', {'localId':'xxx'},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode:错误码(String)//1.本地文件不存在,需要下载
data:{
playStatus: 0, // 0:开始播放 1:播放结束
}
}
);
XuntongJSBridge.call('pauseVoice', {'localId':'xxx'},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode:错误码(String)//1.本地文件不存在,需要下载
data:{}
}
);
XuntongJSBridge.call('stopVoice', {'localId':'xxx'},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)
errorCode:错误码(String)//1.本地文件不存在,需要下载
data:{}
}
);
XuntongJSBridge.call('uploadVoice',
{
'localId': 'xxxx', // 需要上传的音频的本地ID,由stopRecord接口获得
'isShowProgressTips': 1 // 默认为1,显示进度提示
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)
data:{
serverId:xxxx //服务端文件id
}
}
);
备注:(0.9.51 新增)上传音频有效期3天,可用多媒体接口下载语音到自己的服务器,https://yunzhijia.com/openfile/download/media/{serverId} {serverId} 为服务端文件id
XuntongJSBridge.call('downloadVoice',
{
'serverId':'xxxx', // 需要下载的音频的服务器端ID,由uploadVoice接口获得
'isShowProgressTips': 1 // 默认为1,显示进度提示
},
function(result){
success: true or false 是否成功(String)
error: 错误信息(String)
data:{
localId: xxxx
}
}
);