概述

WorkPlus JS SDK提供基于WorkPlus开放平台接口的封装,开发者可以借助JS SDK直接使用选联系人,文件预览保存,获取用户信息等平台服务

1.使用说明

1.1 引入js

在首页引入如下js文件:

http://www.foreverht.com/js/w...

引入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"
}

xiaokaceng
74 声望6 粉丝

引用和评论

0 条评论