低代码如何集成多平台(企业微信、钉钉、飞书)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
/**
 * 创建WebIntegrationSdk实例
 * @param {Boolean} isDebug 是否打开调试机制 【非必传】
 */

const qiqiaoInstance = new WebIntegrationSdk({
  // 建议开发环境默认开启,生产环境通过开关/缓存控制开启
  isDebug: true
})
const agentConfigParams = {}
const configParams = {}
if (qiqiaoInstance?.config) {
  qiqiaoInstance.config({
    // 可指定渠道:WORK_WEIXIN、DING_TALK、FEISHU
    channel: 'WORK_WEIXIN',
    configParams,
    // 企业微信agentConfig鉴权参数,存在agentConfigParams参数 & 有值才会去执行agentConfig。
    agentConfigParams,
    onReady: () => {
      // 当鉴权完成时触发的回调函数
      // 在这里可以开始使用SDK
    },
    onError: (err) => {
      // 当鉴权失败时触发的回调函数
    }
  })
}

鉴权方法 – 参数详解

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)
官网:道一云七巧 – 可视化、智能化、数字化应用构建
免费体验:道一云产品免费试用

版权声明:本文为博主作者:道一云黑板报原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/Daoyiyun/article/details/137499916

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2024年4月16日
下一篇 2024年4月16日

相关推荐