# API
这一系列api接口是提供给第三方应用使用。
# 属性
# isInPc
判断应用是否在PCLink里打开,返回布尔值。
** 例子 **
app.linkplugin.isInPc
# isUnder425
判断PCLink是不是4.2.5以下的版本,返回布尔值。
** 例子 **
app.linkplugin.isUnder425
# 方法
# openChat
发起与某个对象的聊天,该对象可以是用户、群组、部门、服务号。
** 版本要求 **
4.3.0版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| id | id对象 | 是 | String |
| type | 取值为1、2、4、5。(1 用户 2群组 4部门 5服务号) | 是 | int |
| name | 对象名称 | 是 | String |
** 例子 **
app.linkplugin.openChat('27a4006a-f0a2-47bb-825a-66d9815bf374', 1, '卢丰');
# openWindow
打开有标题栏的窗口。
** 版本要求 **
4.3.0版本以上。
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| url | 链接地址 | 是 | String |
| title | 窗口标题 | 否 | String |
| needAuth | 是否需要身份认证 | 否 | boolean |
** 例子 **
app.linkplugin.openWindow('https://www.baidu.com', '百度一下', false);
# openNoTitleWindow
打开没有标题栏的窗口。
** 版本要求 **
4.3.0版本以上。
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| url | 链接地址 | 是 | String |
| title | 窗口标题 | 否 | String |
** 例子 **
app.linkplugin.openNoTitleWindow('https://www.baidu.com', '百度一下');
# openPortalPage
提供给自定义门户首页,打开页面窗口的方法。
** 版本要求 **
4.3.0版本以上。
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| options | openType | int | 否 | 打开窗口类型,取值有1(默认值),2,3。 1:link应用桌面内部 2:link新窗口 3:系统默认浏览器 |
| url | String | 是 | 打开应用地址 | |
| title | String | 是 | 窗口title名称,openType为3时无效 | |
| needAuth | Boolean | 否 | 是否需要身份认证,默认true |
** 例子 **
app.linkplugin.openPortalPage({
openType: 1,
url: 'https://www.baidu.com',
title: '百度一下',
needAuth: false
});
# getDiskShareFile
打开云盘文件窗口,用户可选择分享的文件,返回云盘文件分享信息。
** 版本要求 **
4.3.0版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调函数,返回所分享文件(包含分享地址) | 是 | Function |
** 例子 **
app.linkplugin.getDiskShareFile(function(files){
console.log('获取云盘分享文件', files);
});
# saveDiskFileToDisk
保存云盘文件分享到云盘
** 版本要求 **
4.3.0版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| shareId | 分享文件的id | 是 | String |
| password | 分享文件的密码 | 是 | String |
| shareName | 分享文件的名称 | 是 | String |
** 例子 **
app.linkplugin.saveDiskFileToDisk("8c864043-2247-4181-8792-1205e76aac9e:bingo", "49040358", "演示.pptx");
# saveStoreFileToDisk
保存存储服务文件到云盘
** 版本要求 **
4.3.0版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| fileId | 文件id | 是 | String |
| fileName | 文件名称 | 是 | String |
** 例子 **
app.linkplugin.saveStoreFileToDisk("20e8a2c$0b5ea46c7b007292909a098a6", "演示.docx");
# selectContact
选择联系人。
** 版本要求 **
4.3.0版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| options | selected | Object[] | 否 | 已选择的联系人 {id: xx, name: xx, type: xx, eCode: xx, icon: xx} id: 数据id type: 1 用户 2群组 4部门 5服务号 13用户标签 14事务(项目) icon: 可忽略该属性,该属性是作为下一次做默认值的图标(因为有些图标不能用id确定) |
| onlySelectOne | Boolean | 否 | 是否只选择一条数据, 默认false | |
| onlySelectOrg | Boolean | 否 | 是否只选择部门数据,默认false | |
| onlyManageServiceNo | Boolean | 否 | 是否只选择我的服务号,默认false | |
| needMyGroup | Boolean | 否 | 是否显示我的群组,默认false | |
| needContactLabel | Boolean | 否 | 是否显示用户标签,默认false | |
| needMyBusiness | Boolean | 否 | 是否显示我的事务,默认false | |
| needScopeAllUser | Boolean | 否 | 搜索是否允许查询所有用户,默认false | |
| canSelectOrg | Boolean | 否 | 是否能选择部门,默认false | |
| callback | function | 是 | 回调函数,里面返回选择的联系人(json数组) |
** 例子 **
app.linkplugin.selectContact({
needMyGroup: true,
needMyBusiness: true,
canSelectOrg: true,
callback: function(res){
console.log('人员数据', res);
}
});
# shareToChat
分享消息到聊天
** 版本要求 **
4.3.0版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| options | msgType | int | 是 | 消息类型 [详情文档](http://dev.bingocc.com/im/msg/text.html) |
| content | Object/String | 是 | 消息内容 | |
| selected | Object[] | 否 | 已选择的联系人 {id: xx, name: xx, type: xx, eCode: xx, icon: xx} id: 数据id type: 1 用户 2群组 4部门 5服务号 icon: 可忽略该属性,该属性是作为下一次做默认值的图标(因为有些图标不能用id确定) | |
| onlySelectOne | Boolean | 否 | 是否只选择一条数据, 默认false | |
| onlySelectOrg | Boolean | 否 | 是否只选择部门数据,默认false | |
| needMyGroup | Boolean | 否 | 是否显示我的群组,默认false | |
| needScopeAllUser | Boolean | 否 | 搜索是否允许查询所有用户,默认false |
** 例子 **
app.linkplugin.shareToChat({
msgType: 1,
content: 'test txt'
});
# localEditFile
本地编辑文件。
所做事情:
- 1、调用该接口,传入相应参数。
- 2、下载远程文件到本地。
- 3、用操作系统默认软件打开这个本地文件。
- 4、编辑完后,保存文件,则自动上传。
- 5、返回上传的结果。
PS:2到4这三个步骤,由接口内部自己处理。
** 版本要求 **
4.3.2版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| options | fileDownloadUrl | String | 是 | 需要编辑的文件的下载路径 |
| localFilePath | String | 否 | 需要编辑的本地文件(选填,当有这地址时,fileDownloadUrl可不填) | |
| fileName | String | 是 | 编辑的文件名 | |
| fileUploadUrl | String | 是 | 文件上传路径 | |
| success | Function | 是 | 成功回调,返回上传成功的response | |
| error | Function | 否 | Function |
** 例子 **
app.linkplugin.localEditFile({
fileDownloadUrl: 'http://10.201.78.170:9090/store/store/getFile?fileId=ca4875d4b72f40aa$af5a34c07a7ad76a',
fileName: 'ex.docx',
fileUploadUrl: 'http://10.201.78.170:9090/store/store/putFile',
success: function(res){
console.log(res);
},
error: function(err){
console.log(err);
}
});
# openCard
打开名片页窗口,可以打开用户、群组、服务号的名片页。
** 版本要求 **
4.3.6版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| id | id对象 | 是 | String |
| type | 取值为1、2、5。(1 用户 2群组 5服务号) | 是 | int |
** 例子 **
app.linkplugin.openCard('27a4006a-f0a2-47bb-825a-66d9815bf374', 1);
# alert
弹出提示框(仅在主面板有效)
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| content | 提示语 | 是 | String |
** 例子 **
app.linkplugin.alert(content);
# confirm
弹出确认框(仅在主面板有效)
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| options | 参数: 1.title: 确认框标题 2.content:确认框提示内容 3.ok: 确定回调函数 | 是 | Object |
** 例子 **
app.linkplugin.alert({
title: '确认框',
content: '我是确认框内容',
ok: function(){
console.log('确定回调')
}
});
# ajax
Ajax请求数据
** 版本要求 **
4.3.7版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| options | type | String | 否 | 请求方式 ("POST" 或 "GET"), 默认为 "GET" |
| url | String | 是 | 发送请求的地址 | |
| data | Object | 否 | 发送到服务器的数据 | |
| contentType | String | 否 | 发送信息至服务器时内容编码类型。默认值: "application/x-www-form-urlencoded" | |
| timeout | int | 否 | 设置请求超时时间(毫秒) | |
| success | Function | 是 | 成功回调,返回上传成功的response | |
| error | Function | 否 | 请求失败时调用此函数 |
** 例子 **
app.linkplugin.ajax({
type: 'POST',
url: 'xxx',
data: {name: '李四'},
contentType: 'application/json',
success: function(res){
console.log(res);
},
error: function(err){
console.log(err);
}
});
# getAccessToken
获取登录用户凭证
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调,返回AccessToken | 是 | Function |
** 例子 **
app.linkplugin.getAccessToken(function(token){
console.log('获取AccessToken', token);
});
# refreshToken
刷新 AccessToken
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调函数 | 是 | Function |
** 例子 **
app.linkplugin.refreshToken(function(){
console.log('刷新完毕');
});
# getEnvVar
获取Link环境参数
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调,返回results对象。 language: 语言环境,目前取值有zh_cn、zh_hk、en。 themeColor: 皮肤主题色。 | 是 | Function |
** 例子 **
app.linkplugin.getEnvVar(function(res){
console.log('获取results对象', res);
});
# getUserInfo
获取用户信息
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调,返回用户信息 | 是 | Function |
** 例子 **
app.linkplugin.getUserInfo(function(res){
console.log('获取用户信息', res);
});
# getRecentContacts
获取最近联系人
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调,返回最近联系人信息 | 是 | Function |
| needGroup | 是否要包含群组数据,默认为false | 否 | Boolean |
| needOrg | 是否要包含部门数据,默认为false | 否 | Boolean |
** 例子 **
app.linkplugin.getRecentContacts(function(res){
console.log('获取最近联系人信息', res);
},true, true);
# sendMsg
发送消息,以当前登录用户为发送对象
** 版本要求 **
4.3.7版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| targetObj | id | String | 是 | 数据id |
| name | String | 是 | 名称 | |
| type | Number | 是 | 1 用户 2 群组 4 部门 5 服务号 | |
| eCode | String | 是 | 企业eCode | |
| msgInfo | msgType | Number | 是 | 消息类型 |
| content | String | 是 | 消息内容 |
** 例子 **
app.linkplugin.sendMsg(targetObj, msgInfo);
# listenMessage
监听应用的消息通知
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| appCode | 应用code | 是 | String |
| callback | 回调函数。info通知信息,有action和params字段 action代表触发的动作: 1.TabActive:代表点击主面板左侧Tab菜单。 2.MessageAction:代表点击消息,触发了action 3.Message:收到监听的消息,需执行registerListenSession注册。 params附带参数 | 是 | Function |
** 例子 **
app.linkplugin.listenMessage(appCode, function(info){
console.log('获取通知信息', info);
});
# registerListenSession
注册应用需要监听的会话消息,符合条件的会通过listenMessage通知应用
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| appCode | 应用code | 是 | String |
| sessionIds | 监听的会话id | 是 | Array |
** 例子 **
app.linkplugin.registerListenSession(appCode, sessionIds);
# listenUpdateData
监听更新数据。(每天会触发一次,或者实时触发)
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| appCode | 应用code | 是 | String |
| callback | 回调函数 | 是 | Function |
** 例子 **
app.linkplugin.listenUpdateData(appCode, function(res){
console.log('监听更新数据', res);
});
# previewStoreFile
预览存储服务文件
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| fileId | 文件id | 是 | String |
| fileName | 文件名称 | 是 | String |
| extension | 文件后缀名 | 否 | String |
** 例子 **
app.linkplugin.previewStoreFile(fileId, fileName, extension);
# previewDiskFile
预览云盘文件
** 版本要求 **
4.3.7版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 | 描述 |
| options | fileId | String | 是 | 云盘文件id |
| fileName | String | 是 | 文件名称 | |
| fileExt | string | 是 | 文件后缀名 | |
| canPreview | Boolean | 是 | 是否支持预览。(是文件就可以预览 row.type == "F") | |
| previewAvailable | Boolean | 是 | 是否已经可以预览(有可能在转码中)。(row.preview.available) | |
| wopiSupport | Boolean | 是 | 支持office online。(row.preview.wopiSupport) |
** 例子 **
app.linkplugin.previewDiskFile(options);
# jumpToDiskView
跳转到云盘界面
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| pathNames | 例如: 我分享的 ['RNODE_SHARE', 'RNODE_SHARE_BY'] 分享给我的 ['RNODE_SHARE', 'RNODE_SHARE_TO'] 注:仅切换到云盘界面的,不需传参 | 否 | Array |
** 例子 **
app.linkplugin.jumpToDiskView(pathNames);
# getAppClickCount
获取应用点击次数的统计
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调函数 | 是 | Function |
** 例子 **
app.linkplugin.getAppClickCount(function(res){
console.log('获取点击次数', res);
});
# openApp
打开App(应用桌面的应用)
** 版本要求 **
4.3.7版本以上
** 参数 **
| 对象 | 具体参数 | 类型 | 是否必须 |
| href | String | 是 | 应用地址 |
| code | string | 是 | 应用code |
| id | string | 是 | 应用id |
| name | string | 是 | 窗口标题名称 |
| authType | string | 是 | 认证状态: 0 不认证 1 sso认证 2 jwt 认证 3 pki 认证 |
** 例子 **
app.linkplugin.openApp(option);
# syncPackageInfo
获取程序包的信息,并同步对应的包,返回包的本地信息。
** 版本要求 **
4.3.7版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| codes | 程序包的code | 是 | Array |
| callback | 回调函数 | 是 | Function |
** 例子 **
app.linkplugin.syncPackageInfo(codes, function(res){
console.log('获取程序包信息', res);
});
# openSystemBroswer
使用系统默认浏览器打开链接地址。
** 版本要求 **
4.3.9版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| url | 链接地址 | 是 | String |
| needTicket | 是否附带身份认证 | 否 | Boolean |
| isDefaultIE | 是否默认IE打开 | 否 | Boolean |
** 例子 **
app.linkplugin.openSystemBroswer('https://www.bingolink.biz/webos/', true, false);
# openRemoteApp
使用远程应用打开链接地址。(需部署升腾云桌面)
** 版本要求 **
4.3.9版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| appId | 远程应用id | 是 | String |
| url | 链接地址 | 是 | String |
** 例子 **
app.linkplugin.openRemoteApp('42da8449-65d6-4afe-8a40-240148f9a3e7', 'https://www.bingolink.biz/webos/');
# createLocalOfficeFile
创建本地office文件
** 版本要求 **
4.3.9版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| fileType | 文件类型,值可传word、excel、powerpoint | 是 | String |
| callback | 回调函数,返回创建的本地文件的路径 | 是 | Function |
** 例子 **
app.linkplugin.createLocalOfficeFile('word', function(res){
console.log(res);
});
# openBlogDetail
打开的动态详情(仅限在主面板内部打开的应用使用)
** 版本要求 **
4.4.0版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| blogId | 动态id | 是 | String |
** 例子 **
app.linkplugin.openBlogDetail('42da8449-65d6-4afe-8a40-240148f9a3e7');
# setUrlTabDrayDivWidth
设置主面板Tab自定义页面的拖拽区域宽度,从左算起。
** 版本要求 **
4.5.1版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| appCode | 主面板Tab自定义页面的app_code | 是 | String |
| width | 拖拽区域的宽度 | 是 | String |
** 例子 **
app.linkplugin.setUrlTabDrayDivWidth('LightTask', '200px');
# setMultiPortals
设置多个门户,并预加载。(在主面板Tab布局配置已经增加一个门户引导页后,调此接口设置多个门户)
** 版本要求 **
4.5.3版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| appCode | 打包配置的门户引导页里的app_code | 是 | String |
| portals | 门户信息对象数组。(当传空时,则重新回到引导页,相当于重置了。) portal json 门户信息 -code string 作为门户的唯一标识,切换门户时使用 -url string 门户地址 -isVisible boolean 是否可见 | 是 | Array |
** 例子 **
app.linkplugin.setMultiPortals('ThreePortal', [{
code: 'sogou',
url: 'https://www.sogou.com/',
isVisible: false
},{
code: 'chinadaily',
url: 'http://cn.chinadaily.com.cn/',
isVisible: true
},{
code: '12306',
url: 'https://www.12306.cn/index/',
isVisible: false
}]);
# setVisiblePortal
设置可见门户。(用来切换门户使用,配合setMultiPortals方法使用)
** 版本要求 **
4.5.3版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| portalCode | 门户的唯一标识 | 是 | String |
** 例子 **
app.linkplugin.setVisiblePortal('12306');
# closePortalWelcomePage
关闭门户欢迎页
** 版本要求 **
4.5.4版本以上
** 参数 **
无
** 例子 **
app.linkplugin.closePortalWelcomePage();
# openFaceRecognition
打开人像识别
** 版本要求 **
4.5.4版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| authTimeInterval | 设置开启人像识别的时间间距,单位为分钟 | 是 | Int |
| success | 成功回调。{code: 'Done', message: '已完成人像识别'} | 是 | Function |
| error | 失败回调。{code: 'Undone', message: '未完成人像识别'} | 是 | Function |
| extParams | 拓展参数。 -authTypes {Array} 认证方式。 取值可选 FaceRecognition (人像)、QrCode (手机扫码)。当两者都有,在数组前的优先显示。 | 否 | JSONObject |
** 例子 **
app.linkplugin.openFaceRecognition(20, function(res){
console.log('susccess', res)
}, function(err){
console.log(err)
}, {
authTypes: ['FaceRecognition','QrCode']
})
# openUrlSpecifyBrowser
使用指定浏览器打开链接
** 版本要求 **
4.5.4版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| url | 链接地址 | 是 | String |
| needTicket | 添加身份令牌 | 是 | Boolean |
| browserType | 浏览器类型。 取值范围为 ie 、 chrome 、 firefox、 safari 、 ie32 、 ie64 | 是 | String |
| success | 成功回调。 | 是 | Function |
| error | 失败回调。errorInfo {errCode: 'AppNotInstalled', errMsg: '应用未安装'} | 是 | Function |
** 例子 **
app.linkplugin.openUrlSpecifyBrowser('https://www.baidu.com', true , 'chrome',
function(){
console.log('susccess')
},
function(err){
console.log(err)
}
)
# selectLocalBrowserExe
选择本地浏览器exe程序,并保存地址
** 版本要求 **
4.5.4版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| browserType | 浏览器类型。 取值范围为 ie 、 chrome 、 firefox、 safari 、 ie32 、 ie64 | 是 | String |
| success | 成功回调。 | 是 | Function |
| error | 失败回调。 | 是 | Function |
| isClear | 是否是清除操作,清除本地记录的地址。 默认值为false | 否 | Boolean |
** 例子 **
app.linkplugin.selectLocalBrowserExe('chrome',
function(){
console.log('susccess')
},
function(err){
console.log(err)
}
)
# clearCache
清除electron页面缓存
** 版本要求 **
4.5.4版本以上
** 参数 **
| 参数 | 说明 | 是否必填 | 数据类型 |
|---|---|---|---|
| callback | 回调函数 | 否 | Function |
** 例子 **
app.linkplugin.clearCache()
# openTaskCenter
打开任务中心
** 版本要求 **
4.5.4版本以上
** 参数 **
无
** 例子 **
app.linkplugin.openTaskCenter()