关于javascript:为了开放互联明道云做了十件事

35次阅读

共计 5333 个字符,预计需要花费 14 分钟才能阅读完成。

本文来自明道云资深研发经理孙伟,在明道云 2022 年秋季搭档大会流动演讲,经校对编辑后整顿为演讲精髓。

一、凋谢没有抉择

很多客户抉择咱们的一个重要起因,是明道云所能提供的产品凋谢能力。凋谢其实是没有抉择的,坦率来讲,我也不心愿凋谢,我心愿客户所有的业务零碎都用明道云治理,这样对咱们是更无利的。然而,事实中因为企业业务的多样性与复杂性,没有任何一家平台能够做到一站式解决所有问题。为了不便客户,咱们就必须凋谢本人,让客户用得更好。

1. 一个典型的业务场景须要多少个零碎?

咱们先来看一个典型的业务场景。一个客户从网站高低了一个订单,经销商收到订单之后去向企业订货。企业订货之后如果本身不进行生产,就须要向供应商洽购。供应商生产好之后,须要去找物流公司发货。发货实现,客户最初进行收货。这样一个企业日常常常波及到的环节,会须要用到哪些零碎?

从下单开始,可能须要有一个电商平台,比方京东、天猫;也有一些客户是自营的,会应用一些小程序,会波及到领取零碎。还会波及到业务管理,应用 CRM、ERP 等管理系统。如果他是分销商体系,还要有分销零碎。如果是工厂还会波及到 MES 零碎、物流管理系统等。这么多零碎,让一家企业来实现是不太事实的,并且如果两头任何一个环节不能与其余零碎敌对互通,客户可能就不会抉择你了。

2. 明道云为什么须要凋谢?
如果不思考交互能力,实践上来阐明道云是能够搭建任何一套业务零碎的。然而,咱们的客户有很多个性化需要,让咱们必须抉择凋谢。

  • 非凡交互。有一些客户对前端的界面排版、交互有特殊要求,这个时候用明道云来实现,就不太敌对。
  • 系统集成。一些客户曾经应用了电商平台现有的外围零碎很多年了,他不太可能立马把零碎都迁徙到明道云,然而却须要明道云跟原有的零碎互通,进行一些数据流转。
  • 运算逻辑极其简单。比方股票基金的净值运算,它是要去收集大量的历史数据,做很多的解决;还有比方大规模的数据分析,这种 TB 级别的明道云自身是不善于解决的。
  • 其余需要。比方同步一些物流信息、海关数据、企业工商信息,在线签约等。

    这些场景用明道自身来做就不太适合,咱们不能敌对实现这些客户需要,所以咱们只能抉择凋谢本人,交给别的产品来实现。

    二、明道云做了哪些事件

    大家一起看一下,明道云为了平台开放性做了哪些工作。

1. 开放平台

它其实是明道老的合作模块的产物。因为明道云是一个企业合作的平台,反对用户或者是第三方开发者进入明道云的开放平台,去设计开发一些扩大利用,而后上架到明道云的利用市场,进行推广并取得额定的支出。当然,这里的扩大利用不是指咱们当初用明道云搭建的利用。

最典型的是第三方的 SaaS 与明道云的联合,它是基于 Auth2.0 受权机制,通过账号密码登录后拿到 token,再去获取一些数据。这里次要就是老合作模块,比方动静、工作、日程、群组;另外还有组织与账户。比方,我拿到账户信息以及用户退出的网络信息后,对网络下的用户做音讯的推送集成性能。

当然,当初明道云的产品路线图里也有集成核心、开发者核心,并且未来可能会交融在一起,打造一个全新的明道云开放平台。

2. 企业受权凋谢接口

咱们后面讲的开放平台是基于集体受权,所有数据都是用户本人的;而企业的受权凋谢接口是独立于明道云集体的受权 API。将来,这两套体系会共存。

这套受权体系齐全服务于企业相干的数据接口,有较高的权限级别,当初这套密钥只有网络管理员在后盾才能够看到,次要内容包含三大块:

  • 审批。明道云现有的审批能够通过这一套体系在线创立审批,获取审批列表,为每个审批配置一个 Webhook 告诉节点。当明道云的审批有任何的变动,它能够把变动告诉到内部的零碎。
  • 组织架构。又分为四项:用户、部门、职位、汇报关系。咱们通过这些接口,与内部第三方平台做账号集成,次要用于数据的增删查改,包含与第三方已有的相似数据的关联解决。
  • 利用治理。利用指明道云中搭建的利用。咱们能够在线创立利用,并获取利用上面的受权信息。

    3. 利用 OpenAPI
    每创立一个利用,明道云都会主动为它生成一套 API 示范模板。利用管理员能够看到利用的 API 开发文档,外面涵盖了白名单、受权治理、受权密钥。它也是非集体的,只有是利用下的数据,全副能够获取到,然而权限分为了全副权限和只读权限。只读权限就是指能够凋谢给第三方来调数据,然而不容许他进行编辑删除。

除了受权之外,外围的性能还有什么?第一,组织架构,咱们能够通过利用的受权信息获取利用的组织构造,包含菜单项、工作表,获取工作表的构造信息,包含一些控件列表。其次就是利用数据,咱们能够对于利用数据做增删查改。还有一个大块是利用权限体系,咱们能够通过这一套 API,去对利用下的角色做一些解决。

4. 工作流 Webhook

后面讲的这些,开放平台也好,API 也好,都须要第三方零碎。然而有的时候,咱们并不需要挂第三方零碎,而想要用无代码的形式与内部零碎做比拟好的联合。那么,明道云工作流就反对用 Webhook 与内部互通,它次要分两种形式:Webhook 节点和 API 申请节点。

Webhook 节点会主动生成一个 URL 链接,被动地接管内部音讯的申请。咱们晓得,数据同步个别分两种,一种是这种传统的集成,定时地批量同步;还有一种音讯集成模块,遵循 IFTTT 模式进行实时同步。比方我在另一个平台外面做了一个实时的操作,假如这个平台也是反对音讯推送的,它就能够往 Webhook 节点推一条音讯告诉。明道云拿到之后就能够去实时获取信息,不须要每过一段时间再去拉取它。

API 申请节点以前也叫 Webhook 节点,前面因为咱们做了集成核心,所以才改成了 API 申请节点。明道云外部的一些事件触发或者是定时工作,就能够去申请内部地址。这个申请能够是获取数据,也能够是把明道云的数据推送给里面。

5. 工作流代码块
工作流 Webhook 是基于 HTTP 的,然而事实中有一些传统的零碎,或者一些比拟非凡的零碎,它的受权模式比较复杂,所以咱们针对有开发能力的这部分客户做了一些比拟深刻的能力,就是工作流中的代码块节点。

它次要有两种开语言:Javascript 和 Python。Node.js 和 Python 有些版本会援用一些包,比方有一些简单的受权模式,通过 API 的形式不可能间接对接,那咱们就能够通过代码块,自行援用。咱们去做一些申请的时候常常须要前置解决申请参数,比方拿到参数之后须要对返回的数据做一些预处理。

如果咱们通过现有的工作流节点去解决它,就会比拟麻烦。但有了代码块,咱们就能够在申请前先对申请参数做优化,拿到申请后果之后再做格式化解决返回给前端,这样就会绝对敌对一些。

6. 集成核心
当初的集成核心能够封装一组受权认证,包含一个 API 的接口组,很不便地供企业外部甚至内部用户去调用,咱们当初曾经预置了天眼查、小鹅通、易签宝等等这些接口。后面咱们提到的客户有在线签单的要求,明道云自身做不到,然而如果咱们和 e 签宝单干,就能够通过明道云的一个节点,疾速实现这些操作。

7. 工作表 / 自定义页面

  • API 查问控件。后面咱们提到的 Webhook 和集成核心,他们的流程都是有滞后性的,以前没有 API 查问控件的时候是怎么解决的?解决流程个别是这样的:记录创立或者更新之后,主动触发一个工作流,工作流再去做一些逻辑,最初将后果更新到工作表中。这种做法后果不是实时反馈的,所以咱们推出了工作表控件 API 查问,它容许在界面上间接地调用第三方的接口,在界面上实时反馈,它也是一个按钮,点击查问之后把数据实时地出现到页面上来。
  • 嵌入控件。工作表和自定义页面都有嵌入控件,明道云现有的控件可能不能满足一些客户的需要,那客户就能够本人开发一些控件,通过嵌入控件嵌在明道云中,做好单点登录、账号集成,这样就能够实现自定义控件的能力。
  • 自在连贯控件。这个控件可能用的人不是很多,它次要是连贯明道云的老合作模块,包含动静、工作等。比方一条工作表记录跟一个日程或者工作无关,咱们就能够把它关联过去。
  • 文本辨认。自带的能力次要是身份证跟一些发票的辨认。因为有了咱们 API 能力,其实咱们能够本人去扩大更多的 OCR 辨认能力。

    8. 公开表单、内部门户和分享
    公开表单事实中咱们有很多的需要是不须要有状态的,只是须要收集一些内部数据。比方政府单位做民意调查,或者咱们明道云的搭档大会要收集报名信息,这种状况咱们不心愿用户注册,只须要拿到这些数据就行了。

明道云提供了公开表单的能力,容许用户将现有的工作表生成并公布一个公开链接或者二维码,让内部用户间接填写。填写完之后,咱们也能够生成一个公开查问的链接,用户通过本人方才填写的关键性的信息,就能够把之前填报的具体数据再查出来。

内部门户
公开信息是无状态的,它不会去记录填写人的一些标识性的身份信息,因为它没有账号或者权限体系,可能在某些场景下就不太实用。比方我后面讲到那个场景,一个经销商跟一个工厂的合作,经销商去洽购的时候,我不心愿他去注册明道云账号,然而我又心愿他有肯定的权限,可能看到本人历史的数据;并且可能对这个经销商做身份认证,比方通过手机号、微信号等进行认证。

这种场景下,咱们为每一个利用提供了内部门户的能力。用户能够配置本人企业微信号、公众号,集成音讯告诉性能,用户通过第三方平台就能无感知地进入利用,实现操作。

分享
分享用在什么场景呢?分享的内容不须要有状态,也不须要有内部数据,只须要核查能力。举个例子,我妻子的公司是做谷歌推广的,他们每个季度都须要跟供应商做账单核算。之前我看她很辛苦地拿 Excel 做汇总,再为每个供应商生成一个独自的 Excel,发给客户去确认。

我说你齐全不须要这样做。我花了几分钟工夫,搭建了两张表。数据导进来后,为每个供应商主动生成了一条对外分享的二维码。再把这二维码分享给他,他扫码就能看到历史账单记录,这样供应商的体验也很好,工作效率也大大晋升。

咱们在接下来的版本会强化分享能力,可能反对更多视图品种的分享,反对分享进来的记录能够配置哪些数据是能够填写的,反对生成相似分享明码、密钥的身份验证工具。

9. 前端开源

咱们针对高端玩家提供了一个前端开源能力,零门槛获取并扩大 APaaS 能力,充沛实现前端界面的个性化。通过前端开源,用户能够对界面做排版、交互上的优化,再联合咱们的方才讲到的这些自定义的界面,就能够去实现更多的交互可能。

10. 第三方平台集成

咱们进入明道云的后盾账号外面,会看到有一个集成核心,它当初集成了企业微信、钉钉、微信公众号、飞书、Welink,包含其余 LDAP 形式的受权。通过这些集成,能够做到音讯推送、账号体系同步。再依据方才说的企业级的受权接口,就能够以现有的第三方平台做账号集成和音讯推送。

三、明道云能够怎么做

讲了这么多咱们明道云凋谢的能力,咱们再回过头来看明道云能够怎么做?

还是方才结尾提到的场景,从客户下单到残缺的结算。假如咱们没有用第三方零碎,该怎么做?首先,客户下单平台有非凡的交互,能够通过前端开源加上内部门户,用微信号、手机号登录,实现这种小程序的能力。将其嵌入到公众号中,用户能够间接在线下单,查看本人的订单记录,应用微信的领取零碎。

到业务流转环节,经销商的订货、企业接单、供应商生产制作,他们之间的信息交融就能够通过利用的 API、工作流的 Webhook。再联合一些内部门户的能力,在这些不同的角色之间做数据的合作流转。如果是物流发货或者一些对实时性要求高的场景,就能够集成第三方平台或者应用 API 查问控件、工作流代码块。员工在明道云界面上就能够实时获取物流信息。

四、咱们还须要哪些能力

除此之外,咱们还须要哪些能力?我大略总结一下咱们要做的 4 大块的内容。

第一是开放平台。我最早讲的开放平台是老的合作模块的产物,它对咱们目前利用上面的 API 反对还不够敌对,所以前面打算开放平台会退出更多的利用级别的接口。或者咱们当初利用 API 是利用级别的,前面咱们也会反对用户生成集体的受权 token,它的接口只能够获取本人的数据,这样再去做利用第三方集成的时候会不便很多。

第二就是 SDK。当初利用对接零碎的时候,它是要依据咱们的示例代码,它的别名比较复杂,控件类型比拟多,筛选类型比拟多。前面咱们会针对不同的开发语言提供针对性的 SDK,用户再去对接 OpenAPI 的时候就会更不便。

第三是用户冀望已久的数据集成能力。减少直连数据库能力,数据在第三方,我不心愿同步过去,然而又心愿拿到相似咱们当初 API 查问里的后果。比方企查查,其实工商信息是存在那边的,然而我能够通过接口的形式拿过去,通过直连数据库间接获取到这部分数据。而后就是内部数据源的同步,要反对内部的数据源给写到明道云,或者是明道云的数据写到内部的数据库,当然也可能是明道云不同网络下的利用,把一个工作表的数据同步到另外的一个利用的工作表中。

第四个就是插件能力。有的搭档是有 AI 能力的,那么能够开发一个自定义控件,放到利用市场,大家下载之后就人造有了 AI 的能力。咱们的插件核心次要蕴含了自定义控件、工作流自定义节点、自定义的视图、自定义的函数,有了这些能力后,咱们对这些有深度开发能力的客户提供了一种可能,咱们把本人的产品能力间接放到利用市场或者开发者核心,上传过来就能够供客户不便地应用它。

正文完
 0