在数字化办公的今天,各种高效便捷的工具层出不穷。简道云作为一个零代码轻量级应用搭建平台,通过拖拉拽的操作方式,让企业快速搭建出符合自身需求的管理应用。助力于企业规范业务流程、促进团队协作、实现数据追踪!
外链扩展功能为数据收集和区分数据来源提供了有力的支持。与传统方式不同的是,它需要在后台提前设置,而非直接写入灵活的写入链接之中。本次分享将探讨如何通过“拉出去”的方式在外部建立动态表单的方式来实现类似于简道云的外链扩展功能,并结合传统的方式进行优化,为用户带来更便捷、高效的使用体验。
> 概念背景
简道云的外链扩展字段是一个极具实用性的功能。它允许在表单填写链接的尾部自定义添加不同的属性值,这样一来,同一张表单能够生成多个链接地址。这些地址可以发布到不同的渠道中,从而有效地区分采集信息的数据来源。
从原理上看,外链扩展字段的作用是通过在链接中添加特定的属性值,为表单赋予了更多的信息维度。当用户通过这些带有特定属性值的链接访问表单时,系统可以根据这些属性值来识别数据的来源渠道、外部用户标识等重要信息。
例如,在一些实际应用场景中,它可以结合OPENID来标识外部用户,或者充当动态令牌。通过这种方式,用户可以更加精准地追踪和管理数据的来源和流向,为数据分析和决策提供更有力的支持。
>> 扩展字段分享
分享:来吧,送你 5000个 扩展字段
分享:新探索 令牌+弹窗 OpenID 还可以这样玩儿
场景:如何预防外链中的扩展字段被“撞库”
在本次分享中,将使用到简道云表单的表单数据结构,表单数据结构以 json 格式呈现,包含了表单的结构信息,如表单的名称、创建时间、字段配置等。了解表单数据结构对于理解如何在外部建立动态表单以及优化外链扩展功能至关重要。通过获取表单数据结构,我们可以在外部基于此自动生成表单,并通过携带其他参数为表单中的字段设定默认值,同时还能考虑必要的信息安全性,进行简要加密以降低直接的可读性。
> 应用场景
为了更直观地展示通过外部建立动态表单来优化简道云外链扩展的实际效果,我们以一个具体的案例进行说明。
假设我们有一个企业正在使用简道云进行市场推广活动的管理。在推广分享场景中,企业希望能够准确追踪每个推广员带来的新用户注册情况。
>> 简道云外链扩展方式
>>> 方案一:及时添加扩展码。
新推广员小张刚刚加入推广团队,准备开始推广活动,小张注册后,管理员则需要在后台为其添加专属的扩展码,比如可以将OPENID做为扩展码,以生成专属的链接,需要有管理员在后台实时维护。
>>> 方案二:提前预设扩展码。
如果为了更灵活,以满足推广员注册后就有专属的链接,这时可以在后台直接添加一批扩展码,当有新的推广员加入时,便分配一个扩展码并与推广员的身份信息(OPENID等)进行绑定,在新用户点击链接进入时,则通过扩展码来匹配推广员的身份信息,需要注意的是一个表单中可添加的扩展码上限为5000个(如有误,以官方为准)。
>> 外部动态表单方式
点击这里进行功能测试
通过外部建立动态表单的方式,我们可以直接以参数的形式携带信息,如推广员的推广标识(OPENID),并作为动态生成表单中只读字段的默认值。
url.com?userid=openid
以推广员小李为例,当他分享链接时,链接中可以携带他的 OPENID 作为推广标识。新用户点击小李的链接进入注册页面时,系统会自动识别这个推广标识,并将其作为动态生成表单中的一个默认值,这样,无论有多少推广员,都可以随时进行推广,不受数量限制,并且,推广员注册后马上就可以使用自己的推广链接进行推广。
> 实现逻辑
本场景中服务器端主要通过index.php、form.html、post.php三个文件构成,分别执行接收信息、生成表单、推送信息三个功能,之所以选择通过这三个文件构成,主要是尽量减少在传递过程中的信息的直接可读性。
>> 参数配置
>>> 链接结构
动态表单的链接结构如下,用于传递必要的参数以生成和处理表单:
index.php?field=标识字段名&value=标识字段值&disable=隐藏字段&form=表单数据结构&posturl=推送地址
>>> 参数详解
以下是各参数的具体说明,以确保表单的正确生成和数据处理:
field(标识字段名):用于指定表单中需要额外添加的字段名称,例如推广码。
value(标识字段值):为上述标识字段设定一个默认值,方便表单预填充。
disable(隐藏字段):指定表单数据结构中原有字段,该字段将被新的标识字段替代,实现字段的动态替换。
form(表单数据结构):包含表单结构信息的JSON数据,用于在前端动态生成表单界面。
posturl(推送地址):用户提交表单后,数据将被发送到这个指定的URL地址进行处理。
>>> index.php
index.php 扮演着关键的信息传递角色。当接收到表单数据结构(一个 json 信息)时,为了确保信息的安全性,会对参数信息进行加密处理。加密的目的在于防止信息在传输过程中被恶意窃取或篡改。加密后的信息被传递给 form.html,确保只有合法的接收方能够正确解读这些数据。
>>> form.html
form.html 根据从 index.php 传递过来的参数信息进行操作。首先,对加密的信息进行解密。解密后的信息包含了表单数据结构,这个结构详细描述了表单的各个方面,如表单的名称、创建时间以及字段配置等。基于这些信息,form.html 能够动态地生成在线表单。这样的动态生成方式使得表单可以根据不同的需求进行灵活调整,而不是固定不变的。当用户点击提交按钮时,会触发 post.php,将用户填写的表单信息传递给下一步处理。
>>> post.php
post.php 的主要任务是接收 form.html 发送过来的表单信息。一旦接收到这些信息,它会将其推送至服务器或者简道云。在推送过程中,同样需要考虑信息的安全性和准确性,确保表单信息能够准确无误地到达目的地。
>> 数据解析
在简道云端,可通过智能助手 PRO 的 HTTP 触发来接收数据并进行解析。解析后的数据可以新增至目标表单,实现数据的有效整合和利用。
在本场景中我们将所有信息结构化为“valuevalue……”这种类 HTML 标签的方式,直接以一个 content 参数的形式进行传递,强制的将信息进行结构化,以实现一个智能助手 PRO 可以同时处理多个不同的表单,更好地适应不同的业务需求,实现更高效的数据管理和应用。
> 本期总结
本文我们一起探索了一种基于表单数据结构自动生成动态表单的方法,这种方法通过外部建立动态表单,使用中能够更灵活地配置链接中所携带的参数,实现即时生效且不受数量限制。实现这一功能涉及index.php、form.html和post.php三个文件,分别处理信息接收、表单生成和数据推送,以增加数据的安全性。
尽管当前方法在灵活性和即时性方面具有优势,但仍存在一些局限性。目前仅支持携带一个默认值以及仅支持单行文本、多行文本与数字字段。在实际应用场景中,可能需要携带多个默认值以及对更多不同类型字段的支持。因此,感兴趣的朋友可以继续对功能进行升级,以满足更为丰富的、个性化的需求。
通过不断的功能升级和优化,动态表单的应用将能够适应更多的业务需求,为用户提供更加灵活和高效的数据管理解决方案。
> 更多内容
承接简道云技术咨询与应用定制
承接月度技术支持服务
更多沟通交流可添加微信( zmlnow )
添加时请备注:简道云
|