聆客开放平台

# 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()