概述
WorkPlus JS SDK提供基于WorkPlus开放平台接口的封装,开发者可以借助JS SDK直接使用选联系人,文件预览保存,获取用户信息等平台服务
1.使用说明
1.1 引入js
在首页引入如下js文件:
引入js后会得到一个全局变量WorkPlus,支持AMD/CMD
1.2 通过config接口初始化
WorkPlus.config({
debug: true, // 开启调试日志, 默认false
ticket: xxxxx,
clientId: xxxxx
})
暂时不添加权限认证,可以支持白名单
1.3 通过ready接口处理成功
WorkPlus.ready(function(){
})
注意:所有的接口调用都必须在ready成功回调之后
1.4 通过error接口处理失败
WorkPlus.error(function(error){
})
error对象包括错误码和错误信息
{
code: 1, //错误码
message: 'Platform Error', //错误信息
}
2.接口调用约定
所有接口均为异步
-
每个接口均传一个对象作为参数,以下是通用参数
1.success 接口成功的回调 2.error 接口失败的回调
-
返回接口均为json对象
例如: WorkPlus.getCurrentUserInfo({ success: function(data) { }, error: function(error) { } })
3.接口文档
3.1 联系人接口
3.1.1 获取当前用户信息
WorkPlus.getCurrentUserInfo({
includeEmployeeInfo: true,
success: function(data) {
},
error: function(error) {
}
})
参数说明
参数 | 类型 | 说明 |
---|---|---|
includeEmployeeInfo | Boolean | 是否包含当前机构的雇员信息, 默认值为false |
返回数据
{
"user_id": "4da8a27748514c05871bccdc84bc5b0c",
"domain_id": "atwork",
"status": "ACTIVATED",
"username": "15986301302",
"name": "熊小二",
"pinyin": "xiongxiaoer",
"initial": "xxe",
"nickname": "特甜",
"avatar": "Z3JvdXAxL00wMC8wMC8yQi9yQkFDLUZlV3p4MkFYa2JuQUFBZXBCTHpUY284NTIuanBn",
"phone": "15986301302",
"email": "test@test.com",
"gender": "MALE",
"disabled": false
"employeeName": "特甜", // 所在当前组织的雇员名
"employee": { // includeEmployeeInfo为true时才会返回
"domain_id": "atwork",
"org_code": "68810189-8431-40f0-90b7-aa7f61c1a3e7",
"employee_type_id": 29,
"employee_type": "正式员工",
"id": 155,
"name": "特甜",
"type": "EMPLOYEE",
"sort_order": 999,
"user_id": "4da8a27748514c05871bccdc84bc5b0c",
"username": "15986301302",
"nickname": "熊小二123456789123456789123456789",
"status": "ACTIVATED",
"senior": false,
"gender": "UNKNOWN",
"pinyin": "tetian",
"initial": "tt",
"avatar": "Z3JvdXAxL00wMC8wMC8yQi9yQkFDLUZlV3p4MkFYa2JuQUFBZXBCTHpUY284NTIuanBn",
"more_info": { },
"settings": { },
"mobile": "15986301302",
"created": 0,
"last_modified": 0,
"expired": 0,
"disabled": false,
"positions": [
{
"employee_id": 155,
"org_id": 75,
"org_name": "恒拓高科测试轻应用",
"job_title": "",
"path": "/75/",
"type": "ORG",
"primary": true,
"chief": false
}
],
"properties": [ ],
}
}
3.1.2 选择联系人
WorkPlus.chooseContacts({
multiple: true,
chooseMyself: true,
users: [userId, userId],
max: 10
success: function(data) {
},
error: function(error) {
}
})
参数说明
参数 | 类型 | 说明 |
---|---|---|
multiple | Boolean | 是否多选,true表示多选,false表示单选,默认为true |
chooseMyself | Boolean | 是否可以选择自己,默认为true |
users | Array[String] | 默认选中的用户列表,String取userId |
max | Number | 人数限制,当multiple为true才生效,可选范围1-1500 |
返回数据(联系人数组,包括默认勾选的)
[
{
"domain_id": "atwork",
"org_code": "68810189-8431-40f0-90b7-aa7f61c1a3e7",
"employee_type_id": 29,
"employee_type": "正式员工",
"id": 457,
"name": "中钢大大",
"type": "EMPLOYEE",
"sort_order": 1,
"user_id": "0a400b655f37465daac0da7eb63b2d49",
"username": "workplus",
"nickname": "中钢大大",
"status": "ACTIVATED",
"senior": false,
"gender": "MALE",
"birthday": 1469404800000,
"pinyin": "zhonggangdada",
"initial": "zgdd",
"more_info": { },
"settings": { },
"mobile": "",
"email": "aaaaa@qq.com",
"created": 0,
"last_modified": 0,
"expired": 0,
"disabled": false,
"positions": [
{
"employee_id": 457,
"org_id": 75,
"org_name": "恒拓高科测试轻应用",
"job_title": "VPN",
"path": "/75/",
"type": "ORG",
"primary": true,
"chief": false
}
]
}
]
3.1.3 打开与某人的会话
WorkPlus.openSession({
userId: 'xxx',
success: function(data) {
},
error: function(error) {
}
})
参数说明
参数 | 类型 | 说明 |
---|---|---|
userId | String | 必填,用户的唯一标识 |
3.2 文件接口
3.2.1 文件上传
文件上传等于选择文件+上传
WorkPlus.uploadFile({
success: function(data) {
},
error: function(error) {
},
process: function(process) {
}
})
成功返回数据
{
"mediaId": "xxxx",
"downloadURL": "http://xxxxxx"
}
上传中返回数据: process范围0-100
3.2.2 文件下载
WorkPlus.downloadFile({
mediaId: 'xxx',
url: 'http://xxxx',
name: 'test',
success: function(data) {
},
error: function(error) {
},
process: function(process) {
}
})
参数说明
参数 | 类型 | 说明 |
---|---|---|
mediaId | String | 媒体资源标识,如果基于mediaId下载,url和name可以不传 |
url | String | 下载地址,优先级大于mediaId |
name | String | 文件名,基于url下载文件时必填 |
成功返回数据: true
上传中返回数据: process范围0-100
3.3 图片接口
3.3.1 图片上传
图片上传等于选择图片+上传, 默认生成缩略图
WorkPlus.uploadImage({
success: function(data) {
},
error: function(error) {
},
process: function(process) {
}
})
成功返回数据
{
"mediaId": "xxxx",
"thumbMediaId": "xxxx", // 缩略图ID
"downloadURL": "http://xxxxxx",
"thumbDownloadURL": "http://xxxxxx"
}
上传中返回数据: process范围0-100
3.3.2 图片预览
WorkPlus.previewImage({
urls: [],
mediaIds: [],
current: 0,
success: function(data) {
},
error: function(error) {
}
})
参数说明
参数 | 类型 | 说明 |
---|---|---|
urls | Array[String] | 一组图片访问地址 |
mediaIds | Array[String] | 一组图片的mediaId, 优先级大于urls |
current | Number | 当前下标,默认为0,从第一张图片开始预览 |
3.4 消息接口
3.4.1 发送文本消息
3.4.2 发送链接消息
3.5 位置接口
3.5.1 获取当前经纬度
3.6 浏览器接口
3.6.1 打开链接
WorkPlus.openURL({
url: 'http://www.foreverht.com',
success: function(data) {
},
error: function(error) {
}
})
参数说明
参数 | 类型 | 说明 |
---|---|---|
url | String | 访问地址 |
3.7 票据接口
3.7.1 获取用户票据
WorkPlus.getUserTicket({
success: function(data) {
},
error: function(error) {
}
})
成功返回数据
{
"userTicket": "xxxxxx"
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。