当前位置:   article > 正文

低代码如何集成多平台(企业微信、钉钉、飞书)SDK,且听我细细道来_飞书低代码平台

飞书低代码平台

前言

我们是一家做低代码产品开发的公司,我司的低代码产品支持在多个平台环境内使用:有钉钉、企业微信、微信、飞书、Web浏览器(如谷歌),后续还会接入更多平台。面对这么多平台,每个平台的SDK可能一致,可能不一致。那我们如何集成多平台SDK呢?且听我细细道来......

目的

集成多平台SDK(webIntegrationSdk的目的是为了在低代码产品中能够同时支持多个平台的SDK功能和特性。通过集成不同平台的SDK,可以让前端研发在同一个低代码开发环境内,只需编写一次代码,就可以在不同平台上使用对应的SDK。

具体来说,集成多平台SDK的目的主要有以下几点:

1.一致的开发体验:通过集成不同平台的SDK,可以在低代码开发环境中提供一致的开发接口和工具,让开发人员能够通过统一的方式开发不同平台的应用,减少学习成本和开发难度。

2.多平台适配:每个平台都有自己的特性和限制,通过集成多个平台的SDK,可以针对不同平台的特性进行适配,确保应用在不同平台上运行正常,并且能够最大程度地利用平台提供的能力和功能。

3.扩展生态系统:集成多平台SDK可以拓展低代码产品的生态系统,使其能够覆盖更广泛的用户群体和应用场景。通过支持不同的平台,可以满足用户在多个平台上开发和部署应用的需求,提升产品竞争力。

总之,集成多平台SDK的目的是为了提供一致的开发体验、多平台适配和拓展生态系统,让低代码产品能够在不同平台上运行和部署应用,满足用户的多样化需求。

设计

使用

第一步:业务代码按需引入不同平台的JS文件。

第二步:安装集成多平台SDK webIntegrationSdk

npm install @do1/web-integration-sdk
  1. /**
  2. * 创建WebIntegrationSdk实例
  3. * @param {Boolean} isDebug 是否打开调试机制 【非必传】
  4. */
  5. const qiqiaoInstance = new WebIntegrationSdk({
  6. // 建议开发环境默认开启,生产环境通过开关/缓存控制开启
  7. isDebug: true
  8. })
  9. const agentConfigParams = {}
  10. const configParams = {}
  11. if (qiqiaoInstance?.config) {
  12. qiqiaoInstance.config({
  13. // 可指定渠道:WORK_WEIXIN、DING_TALK、FEISHU
  14. channel: 'WORK_WEIXIN',
  15. configParams,
  16. // 企业微信agentConfig鉴权参数,存在agentConfigParams参数 & 有值才会去执行agentConfig。
  17. agentConfigParams,
  18. onReady: () => {
  19. // 当鉴权完成时触发的回调函数
  20. // 在这里可以开始使用SDK
  21. },
  22. onError: (err) => {
  23. // 当鉴权失败时触发的回调函数
  24. }
  25. })
  26. }

鉴权方法 - 参数详解

config

参数
类型
必填
默认值
说明
平台差异说明
channel
String
有三个值:WORK_WEIXIN、DING_TALK、FEISHU
configParams
Object
渠道商config接口所需的参数集合,详情参考各个渠道商文档说明

注意:jsApiList传除标准API外的值,标准API默认会进行鉴权

agentConfigParams
Object
agentConfigParams: 企业微信agentConfig参数集合,详情参考 wx.agentConfig - 接口文档 - 企业微信开发者中心

钉钉、飞书不支持

onReady
Fucntion
当鉴权完成时触发的回调函数
onError
Fucntion
当鉴权失败时触发的回调函数

企业微信:参数详情 => 使用说明 - 接口文档 - 企业微信开发者中心

钉钉:参数详情 => JSAPI鉴权 - 钉钉开放平台

飞书:参数详情 =>  开发文档 - 飞书开放平台

标准API列表

附各大平台各自API文档

企业微信:客户端JSAPI文档 =>概述 - 接口文档 - 企业微信开发者中心

钉钉:客户端JSAPI文档 => 客户端API总览 - 钉钉开放平台

飞书:客户端JSAPI文档 =>  开发文档 - 飞书开放平台

closeWindow

使用:window.qiqiao.closeWindow

描述:关闭页面

OBJECT参数说明

参数
类型
必填
默认值
说明
平台差异说明
success
Function
成功回调
企业微信、飞书不支持
fail
Function
失败回调
企业微信、飞书不支持
complete
Function
完成回调
企业微信、飞书不支持
openDefaultBrowser

使用:window.qiqiao.openDefaultBrowser

描述:在渠道商APP内置浏览器打开对应url,飞书不支持

OBJECT参数说明

参数
类型
必填
默认值
说明
平台差异说明
url
String
要打开的url
success
Function
成功回调
钉钉PC端不支持
fail
Function
失败回调
钉钉PC端不支持
complete
Function
完成回调
企业微信、钉钉PC端不支持
openEnterpriseChat

使用:window.qiqiao.openEnterpriseChat

描述:打开单人会话(飞书不支持,钉钉仅支持移动端)

OBJECT参数说明

参数
类型
必填
默认值
说明
平台差异说明
userIds
String
用户ID
corpId
String
企业ID
企业微信不支持
success
Function
成功回调
fail
Function
失败回调
complete
Function
完成回调
企业微信不支持
scanQRCode

使用:window.qiqiao.scanQRCode

描述:扫一扫

OBJECT参数说明

参数

类型

必填

默认值

说明

平台差异说明

noInvoke

详情查看企业微信JSAPI文档

钉钉、飞书不支持

desc

String

描述,具体请查看企业微信扫一扫 - 接口文档 - 企业微信开发者中心

钉钉、飞书不支持

scanType

企业微信、飞书:Array

钉钉:String

可以指定扫二维码:条形码、一维码

钉钉:barCode、qr

企业微信、飞书:['qrCode','barCode']

barCodeInput

boolean

false

是否支持手动输入条形码

钉钉、企业微信不支持

needResult

Number

默认为0,扫描结果由企业微信处理,1则直接返回扫描结果

success

Function

成功回调

fail

Function

失败回调

complete

Function

完成回调

企业微信、飞书不支持

chooseImage

使用:window.qiqiao.chooseImage

描述:选择图片

OBJECT参数说明

参数

类型

必填

默认值

说明

平台差异说明

count

Number

最多可以选择的图片数量

sizeType

Array

 ['original', 'compressed'],

可以指定是原图还是压缩图,默认二者都有

钉钉、飞书不支持

sourceType

Function

['album', 'camera']

可以指定来源是相册还是相机,默认二者都有

defaultCameraMode

String

使用相机拍摄的默认摄像头,细节请查看渠道商文档

企业微信是batch、normal

图像接口 - 接口文档 - 企业微信开发者中心

钉钉是back、front

chooseImage - 钉钉开放平台

飞书是back、front 开发文档 - 飞书开放平台

isSaveToAlbum

Number

1

使用相机拍摄后图片是否保存到相册,

细节请查看渠道商文档

● 0:不保存。

● 1:保存。

secret

false

细节请查看钉钉JSAPI文档

chooseImage - 钉钉开放平台

企业微信、飞书不支持

success

Function

成功回调

fail

Function

失败回调

complete

Function

完成回调

shareAppMessage

使用:window.qiqiao.shareAppMessage

描述:实现分享功能

OBJECT参数说明

参数

类型

必填

默认值

说明

平台差异说明

title

String

企业微信:是

钉钉:是

飞书:否(详情看开发文档 - 飞书开放平台)

分享标题

企业微信、飞书不支持

desc

String

分享描述

link

String

分享链接

success

Function

成功回调

企业微信不支持

contentType

Array

指定内容的类型 ["text: 文本", "image:图片", 'url': 在线链接] 

企业微信、钉钉不支持

imgUrl

String

分享图标/图片链接

type

String

分享类型:

0:全部组件默认

1:只能分享到钉钉

2:不能分享,只有刷新按钮

企业微信、飞书不支持

fail

Function

失败回调

企业微信不支持

complete

Function

完成回调

飞书不支持

结语

通过集成多平台SDK,我们的低代码产品能够在不同平台上提供一致的开发体验、多平台适配和拓展生态系统的能力。无论是在钉钉、企业微信、微信、飞书还是Web浏览器上,开发人员只需编写一次代码,就能够在不同平台上使用对应的SDK功能和特性。这样的集成方案不仅减少了开发人员的学习成本和开发难度,也提升了产品的竞争力和用户的满意度。

我们的使用文档详细介绍了集成多平台SDK的步骤和使用方法,开发人员可按照文档进行操作,快速集成SDK,并在多个平台上开发和部署应用。同时,我们会不断更新和维护SDK,以适应新平台的接入和不同平台的变化,确保产品始终能够在各个平台上运行正常。

集成多平台SDK是为了满足用户的多样化需求和应用场景。在未来,我们还会继续接入更多平台,提供更多功能和能力,进一步拓展低代码产品的生态系统。我们致力于为开发人员提供更好的开发体验和更广阔的应用领域,助力他们快速开发出强大的应用,实现数字化转型和业务增长。


作者介绍:
道一云,成立于2004年,是中国低代码领域的领导厂商、腾讯战略投资企业、腾讯生态核心合作伙伴。拥有自主知识产权管理软件产品百余项,涵盖数字化应用构建低代码平台-七巧、全场景智能业务分析BI-七析、千人千面、数智化办公企业级门户-七星以及30多款开箱即用的场景应用。

欢迎关注:
公众号:道一云低代码(do1info)
官网:道一云七巧 - 可视化、智能化、数字化应用构建
免费体验:道一云产品免费试用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/965305
推荐阅读
相关标签
  

闽ICP备14008679号