精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

推薦!表單&試卷零代碼搭建平臺技術詳解

開發 前端
通過這種方式, 我們只需要根據業務需求實現自己的組件, 編寫組件可配置的屬性json, 即可通過配置引擎來動態生成組件的可編輯面板, 從而讓非技術人員輕松編輯組件.

對于可視化的搭建表單,試卷等場景,讓不懂技術的人也能拖拽式創建自己的表單和試卷。

圖片圖片

今天就來和大家分享一下橙子試卷的技術架構和技術實現, 如果你也在調研零代碼, 低代碼, 或者表單引擎等技術, 那么這篇文章也許可以給你帶來一些靈感。

圖片圖片

體驗地址: https://turntip.cn/form-engine

文末會附技術交流群, 感興趣的朋友可以加入交流討論。

技術棧

之前在開發 H5-dooring 零代碼搭建平臺時我采用的是React技術棧, 因為用 react 寫復雜邏輯會更順手, 好在 vue3 也支持了函數式的寫法, 也提供了 hooks 機制,  讓我們寫邏輯驅動的應用更加方便, 所以橙子試卷采用了國內最流行的 vue3 作為前端框架。具體技術棧如下:

  • Vue3 前端框架
  • Vite 工程化工具
  • Typescript 類型加強
  • arco-design 精美的前端UI庫
  • pinia 狀態管理庫
  • axios 請求庫
  • json schema 數據存儲規范
  • xijs 面向業務場景的js工具庫
  • vue-echarts 數據分析圖表庫
  • koa2 服務端數據支持
  • koa-jwt 基于koa封裝的jwt鑒權庫

當然還有一些第三方組件這里就不一一介紹了。我們的核心在于從零完整設計一套 MVP 的零代碼搭建引擎, 所以后端部分, 大家可以替換成自己熟悉的 Java, Go, Python 等語言。

技術架構

圖片圖片

因為零代碼表單引擎設計的核心是如何構造一套低成本且可擴展的組件庫, 并快速應用到實際業務場景, 所以設計的核心就包括如下部分:

  • 可擴展的組件庫系統
  • 靈活的拖拽搭建模式
  • 統一標準的DSL數據結構和數據規范
  • 一套可插拔的分析管理系統

接下來我會詳細介紹這幾塊的技術實現, 當然實現思想和技術棧無關, 我們仍然可以把它應用到不同的技術體系中。

具體功能實現

1. 構造可擴展的組件庫系統

圖片圖片

因為我們的搭建場景是問卷, 試卷, 微頁面, 所以組件庫會圍繞表單來擴展, 比如常用的:

  • 文本, 圖片
  • 單選, 多選, 圖片選擇
  • 下拉框
  • 文本輸入框
  • 文件上傳
  • 電子簽名
  • 評分

等等, 這些組件當然不能滿足所有客戶的業務場景, 所以我們要設計一種可擴展組件庫, 并且開發成本較低的方案。

我們可以參考常見的低代碼平臺的設計思路:

圖片圖片

簡言之就是把核心UI和邏輯作為組件的主文件, 同時暴露標準的可配置屬性和可配置邏輯。

之所以強調“標準”, 是為了讓不同組件能共用一套屬性配置引擎,  從而讓組件二開的成本大大降低(專注于組件的開發, 而不是配置的兼容)。

圖片圖片

其次為了盡可能讓組件的配置更靈活, 我們需要提供一套標準的組件默認屬性, 讓用戶可以根據默認屬性來配置自己的個性化的樣式, 那么我們的組件就需要這么來設計:

圖片圖片

這里以橙子試卷的文本組件給大家舉個例子。

文本組件的主文件:

<template>
  <div
    :class="{
      text: true,
      justify: editorStore.data[index].align == 'justify',
      [editorStore.data[index].animation]: true,
    }"
    :style="{
      paddingTop: editorStore.data[index].padding[0] + 'px',
      paddingRight: editorStore.data[index].padding[1] + 'px',
      paddingBottom: editorStore.data[index].padding[2] + 'px',
      paddingLeft: editorStore.data[index].padding[3] + 'px',
      color: editorStore.data[index].titleColor,
      fontSize: editorStore.data[index].titleSize + 'px',
      fontWeight: editorStore.data[index].titleWeight,
      textAlign: editorStore.data[index].align,
      animationDelay: editorStore.data[index].delay,
      animationIterationCount: editorStore.data[index].number,
      cursor: 'pointer',
    }"
    @click="jump(editorStore.data[index].link)"
  >
    {{ editorStore.data[index].titleText }}
  </div>
</template>

<script setup lang="ts">
import { useEditorStore } from "@/store";

const editorStore = useEditorStore();

const jump = (link: string) => {
  window.location.href = link;
};

defineProps(["index"]);
</script>

文本組件的可配置屬性:

export default class Text {
    component: TextPropType;
    constructor(id: string) {
        this.component = {
            component: 'text',
            type:'editor.text',
            id,
            check: true,
            titleText: 'https://turntip.cn/form-engine',
            titleColor: 'black',
            titleSize:16,
            titleWeight:'500',
            padding: [0, 0, 0, 0],
            margin: [10, 10, 10, 10],
            animation:'',
            direction: 'center',
            link:'https://turntip.cn/formManager',
            delay:2,
            attrbite: [
                {
                    name: 'editor.titleText',
                    field: 'titleText',
                    component: 'textarea'
                },
                {
                    name: 'editor.padding',
                    field: 'padding',
                    component: "padding",
                    props: {
                        min: 0,
                        type:'padding'
                    }
                },
                {
                    name: 'editor.margin',
                    field: 'margin',
                    component: "padding",
                    props: {
                        min: 0,
                        type:'margin'
                    }
                },
            ]
        }
    }

}

通過這種方式, 我們只需要根據業務需求實現自己的組件, 編寫組件可配置的屬性json, 即可通過配置引擎來動態生成組件的可編輯面板, 從而讓非技術人員輕松編輯組件:

通過以上的方式, 我們可以輕松開發各種自定義的組件, 提供給用戶使用:

圖片圖片

2. 靈活的拖拽搭建模式

圖片圖片

對于表單場景, 我們不需要特別復雜的布局交互, 所以這里我才用拖拽排序來實現頁面的搭建, 同時支持組件快捷復制和刪除。

目前 vue3 的比較成熟的拖拽組件有:

  • vuedraggable
  • vue3-draggable-resizable

這里選擇vuedraggable 來實現拖拽排序, 并對其進行上層封裝, 實現體驗更好的組件搭建排序效果。

當然還有很多優秀的拖拽庫, 如果大家對vue3-draggable-resizable 感興趣, 也可以試試, 它支持網格布局和自由布局, 可以實現更自由的布局搭建效果:

圖片圖片

3. 統一標準的DSL數據結構和數據規范

在組件庫設計中我們為了統一管理和維護組件和組件的屬性配置, 需要定義統一化的 DSL 結構, 這個結構包含了組件的如下信息:

  • 組件元數據
  • 位置信息
  • 樣式信息
  • 事件 / 交互
  • 埋點定義(高級配置)

后4個都好理解, 這里介紹一下組件元數據, 它的價值在于定義組件的基本信息:

  • 組件類型
  • 組件名稱
  • 圖標
  • 初始化數據
  • 組件路徑 (高級, 可選)
  • 狀態 / 版本 (高級, 可選)

通過對 元信息 的定義, 我們可以很方便的建立更系統的組件庫, 比如支持組件分類, 組件版本切換, 組件加載(通過路徑元信息來加載遠程組件)。

所以我們需要盡可能規范統一的定義組件的通用規則和自定義規范, 以便讓不同組件都遵行統一的規則來實現零代碼搭建引擎的設計。

這里還是以橙子試卷為例子, 來介紹一下我們統一的DSL:

圖片圖片

首先我們看看文本的元信息:

這是一個簡單的元信息, 它可以幫我們快速識別組件, 并為畫布提供組件更具體的渲染信息, 不同組件都通過統一的配置來定義, 可以讓我們的渲染器更加高效的渲染組件, 并降低組件維護成本。

在介紹組件的內容中我已經介紹了組件接受的 json 配置結構, 這里分享一個由多個組件組成的完整頁面的 DSL 結構和實際代碼:

圖片圖片

案例代碼:

有了以上的統一 DSL 結構, 我們就可以輕松通過 JSON 來渲染頁面, 同時也有更多的想象空間, 比如:

  • 通過DSL來實現跨端渲染搭建
  • 通過DSL來實現多人協作共享
  • 通過DSL來實現A出碼能力
  • 通過AI學習DSL來批量自動化生產頁面

4. 可插拔的分析管理系統

一個可視化零代碼解決方案一定包含完整的用戶使用鏈路, 即從搭建到投放再到信息收集的完整分析鏈路。

圖片圖片

當然不同的公司業務分析需求不同, 所以需要支持純粹的數據收集和流轉, 以便供不同業務使用。

目前橙子試卷提供了一套完整的數據收集能力, 對于試卷場景, 也提供了自動打分機制, 可以一鍵分析數據情況:

圖片圖片

當然這都是可以基于自身規則自己二次開發的, 橙子試卷只是提供了一套案例參考。

應用場景和價值

  • 幫助中小企業或者個體提供一套低成本零代碼表單搭建解決方案,且不止于表單/試卷
  • 基于橙子試卷的最佳實踐, 輕松擴展出更多的搭建業務場景
  • 開箱即用的組件和模版管理最佳實踐, 積累和沉淀內部技術資產
  • 結合AIGC, 創造更強大的生產力工具

體驗地址: https://turntip.cn/form-engine

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2022-06-30 07:48:06

Dooring低代碼零代碼

2020-06-18 14:20:52

零代碼開發明道云

2024-04-17 08:50:59

開源FormikReact 表單庫

2021-11-04 08:06:47

代碼編排平臺

2020-06-05 14:43:25

零代碼平臺企業軟件代碼

2020-06-05 14:48:11

零代碼低代碼開發

2025-03-13 11:09:47

2021-10-18 07:51:38

零代碼平臺思路

2020-06-05 10:30:01

零代碼平臺軟件數據庫

2023-03-16 20:46:40

可視化平臺迭代

2021-12-30 11:30:13

人工智能機器學習技術

2009-03-04 09:52:35

代碼契約組件接口

2025-05-21 14:20:50

2021-11-29 17:29:14

帆軟智數大會

2024-08-20 07:47:12

AI零代碼網關

2020-11-04 13:12:39

低代碼零代碼開發

2022-04-08 10:31:28

美團代碼建設

2024-04-07 08:31:56

文檔編輯引擎零代碼編輯器

2012-07-05 10:18:03

HTML5
點贊
收藏

51CTO技術棧公眾號

www.欧美黄色| 51国产成人精品午夜福中文下载| 好吊日免费视频| av免费在线一区| 亚洲视频一区在线观看| 国产精品免费视频一区二区| 久久久成人免费视频| 日韩精品欧美激情一区二区| 欧美一区二区三区日韩视频| 久久久999视频| 国产最新在线| 久久综合久久综合九色| 91在线观看免费高清完整版在线观看| 国产精品99无码一区二区| 欧美色婷婷久久99精品红桃| 日韩女优av电影在线观看| 男人天堂999| 日本无删减在线| 国产农村妇女毛片精品久久麻豆 | 国产成人一二三区| 牛牛澡牛牛爽一区二区| 国产东北露脸精品视频| 国产精品入口福利| 国产成人免费观看视频 | 涩爱av色老久久精品偷偷鲁| 在线观看视频91| 每日在线观看av| 免费网站看v片在线a| 久久久亚洲午夜电影| www.成人av.com| 伊人网av在线| 免费永久网站黄欧美| 欧美俄罗斯乱妇| 午夜三级在线观看| 精品欧美久久| 亚洲美女黄色片| 97精品人妻一区二区三区蜜桃| 小说区图片区亚洲| 欧美综合亚洲图片综合区| a√天堂在线观看| 国产网红在线观看| 伊人婷婷欧美激情| av电影一区二区三区| av在线免费播放网站| 久久久亚洲精品石原莉奈| 国产一区精品在线| 人妻va精品va欧美va| 国产福利一区在线观看| 91在线视频一区| 一区二区不卡视频在线观看| 美女脱光内衣内裤视频久久网站 | 红桃成人av在线播放| 亚洲精品大尺度| 国产人成视频在线观看| 一区二区三区四区视频免费观看| 欧美一区二区三区小说| 下面一进一出好爽视频| 国产精品一站二站| 日韩欧美激情四射| 深夜视频在线观看| 国产精品45p| 日韩精品极品视频| 精品人妻无码一区二区三区换脸| 香蕉一区二区| 亚洲欧美日韩精品久久亚洲区| a毛片毛片av永久免费| 一道在线中文一区二区三区| 亚洲色图50p| 99久久99久久精品免费| 香蕉国产精品| 精品中文字幕在线2019| 日本少妇性高潮| 奶水喷射视频一区| 国产日韩欧美电影在线观看| 一区二区精品视频在线观看| 国产成人免费视频| 黑人巨大精品欧美一区二区小视频 | 伊人久久大香线蕉av超碰演员| 国外成人在线视频| 国产免费一区二区三区四区五区 | 国产精品高潮呻吟久久av无限 | 日韩欧美一区在线| 95视频在线观看| 久久93精品国产91久久综合| 亚洲一区999| av在线免费播放网址| 欧美激情1区| 久久久欧美一区二区| 免费看一级视频| 蜜桃av噜噜一区| 51国偷自产一区二区三区| 欧美在线 | 亚洲| 久久久一区二区| 日韩国产精品毛片| 8x8ⅹ拨牐拨牐拨牐在线观看| 欧美小视频在线| 色天使在线观看| 国产精品毛片久久久| 亚洲午夜激情免费视频| 久久人妻无码aⅴ毛片a片app | 国产欧美日韩精品一区二区免费 | 青青青草视频在线| 狠狠躁夜夜躁久久躁别揉| 欧美成人福利在线观看| 福利电影一区| 日日骚久久av| 天海翼一区二区| 久久99九九99精品| 精品一区久久久| sm国产在线调教视频| 欧美性xxxx极品hd满灌| 黄色一级片免费播放| 三级小说欧洲区亚洲区| 久久久精品国产亚洲| 美女又爽又黄免费视频| 国产在线精品一区二区夜色| 久久精品一区二区三区不卡免费视频 | 久久夜夜久久| 日韩麻豆第一页| 四虎免费在线视频| 蜜臀久久99精品久久久久久9 | 色视频在线观看福利| 中文字幕一区三区| 精品一区二区中文字幕| 都市激情亚洲| 久热精品视频在线观看一区| 成年人晚上看的视频| 成人99免费视频| youjizz.com亚洲| 偷拍精品精品一区二区三区| 精品国产精品网麻豆系列| 天天爽天天爽天天爽| 日韩一区精品视频| 精品在线视频一区二区三区| 成年网站在线视频网站| 4438x亚洲最大成人网| 一区二区三区在线观看免费视频| 亚洲少妇一区| 国产伦精品一区二区三区高清| 午夜老司机在线观看| 91久久精品一区二区| 国产十八熟妇av成人一区| 久久精品青草| 91久久精品日日躁夜夜躁国产| yes4444视频在线观看| 婷婷国产v国产偷v亚洲高清| 天天躁日日躁狠狠躁免费麻豆| 欧美一区在线看| 亚洲综合日韩中文字幕v在线| 免费a级毛片在线播放| 欧美日韩三级一区二区| 国产精品久久免费观看| 日韩成人av影视| 秋霞在线观看一区二区三区| 97成人资源| 亚洲人线精品午夜| 天干夜夜爽爽日日日日| 久久久亚洲高清| 一级特黄性色生活片| 欧美色网址大全| 国产日韩精品在线| 尤物在线网址| 亚洲白拍色综合图区| 国产无遮挡又黄又爽又色| 成人国产精品免费观看动漫| 少妇高潮毛片色欲ava片| 欧美亚洲色图校园春色| 欧美亚洲午夜视频在线观看| 欧美男男激情freegay| 一本大道久久a久久综合婷婷| 摸摸摸bbb毛毛毛片| 久久精品国产999大香线蕉| 亚洲一区二区三区涩| 麻豆国产一区| 久久久久久久久久久免费| 天天干天天爱天天操| 色综合天天狠狠| 激情高潮到大叫狂喷水| 国产麻豆91精品| 久久网站免费视频| av一区二区高清| 91免费综合在线| av中文在线资源| 国产亚洲美女久久| 国产一区二区三区在线观看| 亚洲一区二区三区中文字幕在线| 国产精品久久久免费观看| 天堂午夜影视日韩欧美一区二区| 亚洲日本精品国产第一区| 亚洲精品一二三**| 日本在线观看天堂男亚洲| 日韩欧美小视频| 亚洲精品一区二区三区福利| 69亚洲精品久久久蜜桃小说| 日韩理论片在线| 三级视频网站在线观看| 欧美bbbbb| 日本免费a视频| 亚洲警察之高压线| 亚洲综合最新在线| www.成人影院| 欧美日韩第一视频| 国产中文字幕在线视频| 日韩一区二区在线观看视频播放| 特一级黄色大片| 亚洲欧洲精品成人久久奇米网| 少妇被狂c下部羞羞漫画| 免费成人美女在线观看.| 欧美一级视频免费看| 999精品一区| 久久av一区二区三区亚洲| 四虎精品在线观看| 日韩美女视频免费在线观看| 草美女在线观看| 久久久精品一区二区| 涩爱av在线播放一区二区| 欧美一区二区三区免费大片| 久久久久精彩视频| 精品国产老师黑色丝袜高跟鞋| 久艹在线观看视频| 国产欧美一区二区在线| 亚洲啪av永久无码精品放毛片| 毛片不卡一区二区| 国产精品亚洲αv天堂无码| 欧美+亚洲+精品+三区| 少妇特黄a一区二区三区 | 日韩精品中文字| 精品久久久无码中文字幕| 欧美日韩中文精品| 免费黄色网址在线| 无码av免费一区二区三区试看| 国产一二三四区| 国产精品视频线看| 蜜桃av免费看| 26uuu色噜噜精品一区二区| 免费观看一区二区三区| 狠狠色丁香九九婷婷综合五月| 欧美日韩在线成人| 久久在线精品| 成年人视频网站免费观看| 日韩一区二区免费看| 国产天堂视频在线观看| 中文字幕亚洲综合久久五月天色无吗''| 视频三区二区一区| 成人嘿咻视频免费看| 日韩高清av| 成人3d精品动漫精品一二三| 日本在线高清视频一区| 国产影视精品一区二区三区| 欧美性天天影院| 国产剧情一区| 日韩久久不卡| 久久一区91| 久久av秘一区二区三区| 亚洲欧美日韩高清在线| 热这里只有精品| 欧美.www| 欧美a v在线播放| 欧美专区一区二区三区| 欧在线一二三四区| 美日韩一级片在线观看| 欧美日韩理论片| 国产成人精品午夜视频免费| 涩视频在线观看| 91女人视频在线观看| 中文字幕一区二区三区人妻电影| 久久久久久电影| 男女男精品视频网站| 国产精品久久精品日日| 欧美日韩黄色网| 亚洲一级二级三级| 黑人精品无码一区二区三区AV| 色综合天天综合网天天狠天天| 一级一级黄色片| 69久久99精品久久久久婷婷| 好吊色视频一区二区| 亚洲免费福利视频| 精品孕妇一区二区三区| 欧美激情影音先锋| 都市激情亚洲一区| 成人有码视频在线播放| 99久热这里只有精品视频免费观看| 国产一区免费视频| 欧美色女视频| 久久综合久久久久| 久久久久99| 亚洲天堂网2018| 9l国产精品久久久久麻豆| 久久久久亚洲AV成人无在| 亚洲精品久久久蜜桃| 亚洲日本视频在线观看| 欧美乱熟臀69xxxxxx| 亚洲高清精品视频| 亚洲人成网站免费播放| gogo在线观看| 欧美一性一乱一交一视频| 亚洲成人高清| 免费观看成人在线| 综合日韩在线| 国产情侣av自拍| 不卡av电影在线播放| 四虎影视1304t| 婷婷中文字幕一区三区| 91theporn国产在线观看| 亚洲精品www久久久久久广东| 日韩大片在线永久免费观看网站| 久久久亚洲精品视频| 国语自产精品视频在线看抢先版结局| 动漫3d精品一区二区三区| 欧美精品一区二区三区中文字幕 | 视频在线观看一区二区三区| 国产精品日日摸夜夜爽| 亚洲国产精品精华液ab| 五月天综合在线| 欧美一区二区私人影院日本| 国产在线超碰| 午夜伦理精品一区| 欧美中文高清| 中文字幕一区二区三区有限公司| 国产精品综合| 国产一级免费片| 一区二区三区日韩在线观看| 又色又爽又黄无遮挡的免费视频| 亚洲精品国产福利| 国产经典三级在线| 91久久精品一区二区别| 99精品全国免费观看视频软件| 国产免费黄色av| 成人avav影音| 日本天堂网在线观看| 日韩天堂在线观看| 黄色网址视频在线观看| 国产欧美日韩中文字幕| 精品免费视频| 日韩欧美在线免费观看视频| 91麻豆视频网站| 中文字幕亚洲精品在线| 精品乱人伦小说| 色呦呦在线资源| 亚洲一区二区三区在线免费观看| 视频在线不卡免费观看| 99热这里只有精品在线播放| 国产亚洲欧美日韩在线一区| 在线观看免费av片| 日韩成人在线电影网| 在线观看福利电影| 久久免费一区| 美女诱惑黄网站一区| 欧美熟妇一区二区| 欧美综合视频在线观看| 成人在线高清视频| 国产精品一区二区三区免费视频 | 日韩在线视频网站| 久久日本片精品aaaaa国产| 一级二级三级欧美| 国产在线不卡一区| 精品99在线观看| 亚洲国产一区自拍| 伊人色综合一区二区三区影院视频| 精品日产一区2区三区黄免费 | 制服丝袜在线第一页| 亚洲成人动漫av| 男同在线观看| 国产精品亚洲精品| 亚洲乱码电影| 在线观看一区二区三区四区| 亚洲成人动漫一区| 久久电影视频| 国产有码在线一区二区视频| 亚洲欧美综合| 影音先锋黄色资源| 91高清在线观看| 久热国产在线| 国产精品久久久久久免费观看 | 欧美亚洲国产另类| 日韩av自拍| 手机在线观看日韩av| 亚洲成av人片一区二区梦乃| 欧美孕妇孕交| 欧美性猛交xxxx偷拍洗澡 | 大乳在线免费观看| 奇米4444一区二区三区| 欧洲杯足球赛直播| 亚洲第一区第二区第三区| 樱花影视一区二区| 亚洲av片在线观看| 国产精品亚洲综合天堂夜夜| 欧美人成网站| 最近中文字幕免费视频| 欧美精品日韩精品| av手机在线观看| 亚洲精品人成| 成年人网站91| 中文字幕在线观看1| 欧美日韩xxx| 精品久久久久久久| 精品人妻在线视频| 欧美少妇bbb| 欧美a级在线观看| 正在播放久久|