色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

低代碼平臺(tái)模塊全景拆解:從拖拽畫布到流程引擎的架構(gòu)與二次開發(fā)

低代碼平臺(tái)模塊全景拆解:從拖拽畫布到流程引擎的架構(gòu)與二次開發(fā) 簡介這份文檔面向低代碼平臺(tái)開發(fā)者、架構(gòu)設(shè)計(jì)人員及技術(shù)選型決策者系統(tǒng)梳理低代碼開發(fā)平臺(tái)的模塊組成與功能實(shí)現(xiàn)方式幫助讀者建立從整體架構(gòu)到細(xì)節(jié)模塊的完整認(rèn)知。資源為單個(gè)docx文檔壓縮包約447KB內(nèi)容圍繞平臺(tái)核心構(gòu)成展開前端模塊涵蓋可視化界面設(shè)計(jì)工具與UI組件庫后端模塊包含數(shù)據(jù)庫管理、邏輯處理與服務(wù)集成安全模塊涉及權(quán)限管理與數(shù)據(jù)加密擴(kuò)展性模塊則覆蓋插件管理與API接口。此外還從菜單組織角度切入講解實(shí)體菜單、大屏、報(bào)表、流程與表單引擎等操作行為并配有總結(jié)性論述。目前已有155人學(xué)習(xí)適合希望快速理解低代碼平臺(tái)技術(shù)分層、評(píng)估平臺(tái)能力邊界或規(guī)劃自研方案的讀者參考可作為架構(gòu)梳理與模塊拆解的基礎(chǔ)材料。1. 低代碼平臺(tái)拆開看從拖拽畫布到流程引擎一套系統(tǒng)到底裝了什么有個(gè)做后端的朋友吐槽說業(yè)務(wù)部門用低代碼平臺(tái)拖了三天搞出一個(gè)帶審批流的采購申請(qǐng)他手寫接口加聯(lián)調(diào)花了兩周。這事聽著像段子但拆過這類平臺(tái)源碼的人知道拖拽只是最外面那層皮真正撐住效率的是底下那套模塊化架構(gòu)——前端設(shè)計(jì)器、后端邏輯引擎、權(quán)限體系、流程引擎、表單引擎、報(bào)表大屏每一塊都得能獨(dú)立工作又能串起來。這份資源把低代碼開發(fā)平臺(tái)的模塊組成按“包含系統(tǒng)、模塊、菜單組織操作行為”三個(gè)維度拆了一遍適合兩類人想快速理解低代碼平臺(tái)骨架的產(chǎn)品/項(xiàng)目經(jīng)理以及準(zhǔn)備基于現(xiàn)成平臺(tái)做二次開發(fā)、需要知道從哪個(gè)模塊下手的開發(fā)者。下面按“它是什么→怎么跑起來→怎么改”的順序把這份資料里的模塊逐個(gè)拆開講。2. 模塊全景拆解前端設(shè)計(jì)器、后端邏輯引擎與安全擴(kuò)展層怎么配合2.1 前端模塊可視化設(shè)計(jì)器與組件庫的協(xié)作方式低代碼平臺(tái)的前端不是普通的管理后臺(tái)它要同時(shí)跑兩套東西一套是給搭建者用的設(shè)計(jì)器一套是給最終用戶用的運(yùn)行時(shí)。設(shè)計(jì)器負(fù)責(zé)拖拽、配置屬性、綁定數(shù)據(jù)源運(yùn)行時(shí)負(fù)責(zé)渲染真實(shí)頁面、處理交互事件。這兩套東西共用同一個(gè)組件庫區(qū)別在于設(shè)計(jì)器模式下組件帶配置面板和拖拽手柄運(yùn)行時(shí)模式下組件只保留業(yè)務(wù)能力。常見做法是組件庫按“基礎(chǔ)組件 業(yè)務(wù)組件”分層?;A(chǔ)組件就是按鈕、輸入框、表格、日期選擇器這些業(yè)務(wù)組件則是針對(duì)特定場(chǎng)景封裝的比如審批意見框、數(shù)據(jù)篩選器、圖表卡片。組件庫的元數(shù)據(jù)描述很關(guān)鍵——每個(gè)組件需要聲明自己的屬性列表、事件列表、可綁定的數(shù)據(jù)源類型設(shè)計(jì)器讀取這些元數(shù)據(jù)來生成配置面板。// 組件元數(shù)據(jù)描述示例簡化版 const ButtonMeta { name: Button, category: 基礎(chǔ)組件, props: [ { key: text, label: 按鈕文字, type: string, default: 提交 }, { key: type, label: 按鈕類型, type: select, options: [primary, default, danger], default: primary }, { key: disabled, label: 是否禁用, type: boolean, default: false } ], events: [ { key: onClick, label: 點(diǎn)擊事件 } ], dataBinding: { visible: { type: boolean, label: 可見性表達(dá)式 } } };這段元數(shù)據(jù)定義了按鈕組件在設(shè)計(jì)器里能配什么、能綁什么。props數(shù)組驅(qū)動(dòng)配置面板的渲染events決定事件面板里能選哪些觸發(fā)時(shí)機(jī)dataBinding則控制數(shù)據(jù)綁定面板的可用字段。實(shí)際項(xiàng)目中元數(shù)據(jù)通常從后端接口拉取這樣新增組件不用重新打包設(shè)計(jì)器。設(shè)計(jì)器畫布本身一般用絕對(duì)定位或柵格布局來管理組件位置。絕對(duì)定位自由度高但響應(yīng)式適配麻煩柵格布局約束多但天然適配不同屏幕。我見過的大部分平臺(tái)選柵格布局把畫布切成 12 或 24 列組件拖進(jìn)去自動(dòng)吸附到最近的柵格線。拖拽庫常用react-dnd或vuedraggable核心邏輯是監(jiān)聽拖拽事件、計(jì)算落點(diǎn)坐標(biāo)、更新組件樹。組件樹是設(shè)計(jì)器的核心數(shù)據(jù)結(jié)構(gòu)通常是一個(gè)嵌套的 JSON 對(duì)象。每次拖拽、刪除、修改屬性都是在操作這棵樹。保存時(shí)把這棵樹序列化存到后端運(yùn)行時(shí)再反序列化渲染。這里有個(gè)容易翻車的點(diǎn)組件樹嵌套層級(jí)深了之后屬性更新如果直接改原對(duì)象React 或 Vue 的響應(yīng)式系統(tǒng)可能檢測(cè)不到變化。常見解法是用不可變數(shù)據(jù)更新或者給每個(gè)節(jié)點(diǎn)分配唯一 ID通過 ID 定位后重建路徑。2.2 后端模塊數(shù)據(jù)庫管理、邏輯引擎與服務(wù)集成的分層設(shè)計(jì)后端模塊要解決三個(gè)問題數(shù)據(jù)怎么存、邏輯怎么跑、外部服務(wù)怎么接。這三塊在低代碼平臺(tái)里通常是獨(dú)立服務(wù)通過內(nèi)部 API 通信。數(shù)據(jù)庫管理模塊的核心是數(shù)據(jù)模型定義。搭建者在界面上建一個(gè)“訂單”實(shí)體選幾個(gè)字段訂單號(hào)、金額、狀態(tài)、創(chuàng)建時(shí)間后端要能自動(dòng)生成對(duì)應(yīng)的表結(jié)構(gòu)或映射到已有表。常見做法是維護(hù)一套元數(shù)據(jù)表記錄實(shí)體定義、字段定義、索引定義然后根據(jù)元數(shù)據(jù)動(dòng)態(tài)生成 SQL 或調(diào)用 ORM 框架的 Schema 同步能力。# 數(shù)據(jù)模型定義與建表邏輯簡化示意 class EntityMeta: def __init__(self, name, fields): self.name name # 實(shí)體名如 order self.fields fields # 字段列表 def to_create_table_sql(self): columns [] for f in self.fields: col f{f[name]} {f[db_type]} if f.get(primary_key): col PRIMARY KEY if f.get(not_null): col NOT NULL columns.append(col) sql fCREATE TABLE IF NOT EXISTS {self.name} (\n sql ,\n .join(columns) sql \n); return sql # 使用示例 order_entity EntityMeta(order, [ {name: id, db_type: BIGINT, primary_key: True}, {name: order_no, db_type: VARCHAR(64), not_null: True}, {name: amount, db_type: DECIMAL(12,2)}, {name: status, db_type: VARCHAR(32)}, {name: created_at, db_type: DATETIME} ]) print(order_entity.to_create_table_sql())這段代碼展示了從實(shí)體元數(shù)據(jù)到建表 SQL 的轉(zhuǎn)換邏輯。fields列表里每個(gè)字段聲明了數(shù)據(jù)庫類型、是否主鍵、是否非空。實(shí)際平臺(tái)里還會(huì)處理索引、默認(rèn)值、字段注釋、外鍵關(guān)聯(lián)等。參數(shù)說明db_type需要做一層映射把界面上的“文本”“數(shù)字”“日期”轉(zhuǎn)成具體數(shù)據(jù)庫的 VARCHAR、DECIMAL、DATETIME不同數(shù)據(jù)庫的映射規(guī)則不一樣MySQL 和 PostgreSQL 在自增主鍵、JSON 字段上的寫法就有差異。邏輯處理模塊是低代碼平臺(tái)里最像“編程”的部分。它提供條件判斷、循環(huán)、變量賦值、函數(shù)調(diào)用等節(jié)點(diǎn)搭建者用連線的方式編排執(zhí)行順序。底層實(shí)現(xiàn)通常是一個(gè)流程執(zhí)行器按節(jié)點(diǎn)類型分發(fā)到不同的處理器。比如條件節(jié)點(diǎn)讀取上下文變量、判斷真假、決定走哪個(gè)分支循環(huán)節(jié)點(diǎn)遍歷數(shù)組、對(duì)每個(gè)元素執(zhí)行子流程。服務(wù)集成模塊負(fù)責(zé)和外部系統(tǒng)打交道。常見能力包括 HTTP 請(qǐng)求節(jié)點(diǎn)、消息隊(duì)列生產(chǎn)/消費(fèi)節(jié)點(diǎn)、數(shù)據(jù)庫查詢節(jié)點(diǎn)。HTTP 節(jié)點(diǎn)一般允許配置 URL、方法、請(qǐng)求頭、請(qǐng)求體模板請(qǐng)求體里可以引用流程上下文里的變量。這里有個(gè)安全考量外部 URL 不能隨便填需要做白名單或域名校驗(yàn)否則平臺(tái)就成了 SSRF 攻擊的跳板。2.3 安全與擴(kuò)展模塊權(quán)限粒度、加密策略與插件機(jī)制權(quán)限管理模塊的粒度決定了平臺(tái)能不能用在正經(jīng)業(yè)務(wù)系統(tǒng)里。粗粒度只能控制菜單可見性細(xì)粒度要能控制到按鈕級(jí)別、數(shù)據(jù)行級(jí)別。常見設(shè)計(jì)是 RBAC 加數(shù)據(jù)權(quán)限規(guī)則RBAC 管“誰能操作哪個(gè)功能”數(shù)據(jù)權(quán)限管“誰能看到哪些數(shù)據(jù)”。-- 權(quán)限相關(guān)核心表結(jié)構(gòu)簡化 CREATE TABLE sys_role ( id BIGINT PRIMARY KEY, role_name VARCHAR(64) NOT NULL, role_code VARCHAR(64) UNIQUE NOT NULL ); CREATE TABLE sys_permission ( id BIGINT PRIMARY KEY, perm_name VARCHAR(64), perm_code VARCHAR(128) UNIQUE, -- 如 order:create, order:delete perm_type VARCHAR(32) -- menu / button / api ); CREATE TABLE sys_role_permission ( role_id BIGINT, perm_id BIGINT, PRIMARY KEY (role_id, perm_id) ); CREATE TABLE sys_data_rule ( id BIGINT PRIMARY KEY, role_id BIGINT, entity_name VARCHAR(64), -- 作用實(shí)體如 order rule_expression VARCHAR(512) -- 如 creator_id ${currentUserId} );sys_permission表里的perm_code是權(quán)限標(biāo)識(shí)前端按鈕和后端接口都靠它做校驗(yàn)。sys_data_rule表存數(shù)據(jù)權(quán)限規(guī)則rule_expression是一個(gè)表達(dá)式模板運(yùn)行時(shí)把當(dāng)前用戶 ID 等變量替換進(jìn)去拼成 SQL 的 WHERE 條件。參數(shù)說明entity_name指定規(guī)則作用于哪個(gè)實(shí)體rule_expression的語法需要平臺(tái)自己定義并解析常見做法是支持簡單的比較運(yùn)算和邏輯組合復(fù)雜場(chǎng)景直接寫 SQL 片段但要做注入過濾。數(shù)據(jù)加密模塊通常分兩塊傳輸加密靠 HTTPS存儲(chǔ)加密靠字段級(jí)加密。敏感字段如手機(jī)號(hào)、身份證號(hào)在寫入數(shù)據(jù)庫前加密讀取時(shí)解密。加密算法選 AES-256-GCM 比較常見密鑰管理要么放配置中心要么用 KMS 服務(wù)。這里有個(gè)血淚經(jīng)驗(yàn)加密字段沒法直接做模糊查詢和排序如果業(yè)務(wù)需要按手機(jī)號(hào)搜索得額外存一個(gè)哈希列或者用數(shù)據(jù)庫的加密函數(shù)。插件管理模塊讓平臺(tái)能擴(kuò)展。插件一般是一個(gè)獨(dú)立打包的模塊聲明自己依賴的平臺(tái)版本、提供的擴(kuò)展點(diǎn)比如新增一個(gè)流程節(jié)點(diǎn)類型、新增一個(gè)表單控件、初始化邏輯。平臺(tái)啟動(dòng)時(shí)掃描插件目錄加載插件清單把擴(kuò)展點(diǎn)注冊(cè)到對(duì)應(yīng)的注冊(cè)表里。API 接口模塊則是對(duì)外暴露的 REST API允許外部系統(tǒng)調(diào)用平臺(tái)能力比如通過 API 創(chuàng)建一個(gè)流程實(shí)例、查詢表單數(shù)據(jù)。API 鑒權(quán)常用 Token 或簽名機(jī)制調(diào)用頻率需要限流。3. 菜單組織與操作行為實(shí)體、大屏、報(bào)表、流程、表單引擎的落地方式3.1 實(shí)體菜單與表單引擎數(shù)據(jù)增刪改查的自動(dòng)化生成實(shí)體菜單是低代碼平臺(tái)最基礎(chǔ)的能力。搭建者定義一個(gè)實(shí)體平臺(tái)自動(dòng)生成列表頁、新增頁、編輯頁、詳情頁。列表頁帶搜索、篩選、分頁、排序表單頁根據(jù)字段類型渲染對(duì)應(yīng)控件。這套東西聽起來簡單但要做到“自動(dòng)生成且可定制”需要不少設(shè)計(jì)。表單引擎的核心是表單 Schema。一個(gè)表單 Schema 描述了有哪些字段、每個(gè)字段用什么控件、校驗(yàn)規(guī)則是什么、字段之間有沒有聯(lián)動(dòng)。聯(lián)動(dòng)是難點(diǎn)選了“其他”選項(xiàng)才顯示補(bǔ)充說明輸入框填了金額才啟用提交按鈕這些邏輯需要在 Schema 里聲明運(yùn)行時(shí)解析執(zhí)行。{ formId: purchase_apply, fields: [ { key: amount, label: 采購金額, component: InputNumber, rules: [ { required: true, message: 金額不能為空 }, { min: 0, message: 金額不能為負(fù) } ] }, { key: reason, label: 采購事由, component: Textarea, visibleWhen: amount 5000, rules: [{ required: true, message: 大額采購必須填寫事由 }] } ] }visibleWhen字段聲明了顯示條件運(yùn)行時(shí)解析這個(gè)表達(dá)式當(dāng)amount 5000為真時(shí)才渲染reason字段。參數(shù)說明表達(dá)式解析可以用expr-eval這類庫把表單當(dāng)前值作為上下文傳入。校驗(yàn)規(guī)則在提交時(shí)統(tǒng)一執(zhí)行required和min是內(nèi)置規(guī)則復(fù)雜校驗(yàn)可以注冊(cè)自定義校驗(yàn)函數(shù)。實(shí)體菜單的列表頁通常支持配置列顯示、列寬、操作按鈕。操作按鈕綁定到具體的 API 或流程。比如“提交審批”按鈕觸發(fā)一個(gè)流程實(shí)例創(chuàng)建“導(dǎo)出”按鈕調(diào)用報(bào)表模塊生成 Excel。這些按鈕的權(quán)限通過perm_code控制沒有權(quán)限的用戶看不到按鈕。3.2 流程引擎從流程設(shè)計(jì)到審批監(jiān)控的完整鏈路流程引擎是低代碼平臺(tái)里技術(shù)含量最高的模塊之一。它要支持流程定義、流程實(shí)例、任務(wù)分配、審批流轉(zhuǎn)、超時(shí)處理、會(huì)簽加簽。流程定義一般用 BPMN 2.0 規(guī)范前端用 bpmn-js 之類的庫畫流程圖后端解析 BPMN XML 生成可執(zhí)行的流程模型。流程實(shí)例啟動(dòng)后引擎按流程圖推進(jìn)。每個(gè)用戶任務(wù)節(jié)點(diǎn)生成一條待辦分配給指定的人或角色。審批人提交后引擎根據(jù)連線條件決定下一步走向。這里的關(guān)鍵是條件表達(dá)式的解析和任務(wù)分配策略。// 流程節(jié)點(diǎn)推進(jìn)邏輯簡化示意 public class UserTaskNodeHandler { public void execute(ProcessInstance instance, UserTaskNode node) { // 1. 解析任務(wù)分配規(guī)則 ListString assignees resolveAssignees(node, instance); // 2. 創(chuàng)建待辦任務(wù) for (String userId : assignees) { Task task new Task(); task.setInstanceId(instance.getId()); task.setNodeId(node.getId()); task.setAssignee(userId); task.setStatus(PENDING); task.setCreateTime(new Date()); taskMapper.insert(task); } // 3. 更新實(shí)例狀態(tài)為等待中 instance.setStatus(WAITING); instance.setCurrentNodeId(node.getId()); instanceMapper.updateById(instance); } private ListString resolveAssignees(UserTaskNode node, ProcessInstance instance) { String assignType node.getAssignType(); if (USER.equals(assignType)) { return Arrays.asList(node.getAssignee()); } else if (ROLE.equals(assignType)) { // 查詢?cè)摻巧滤杏脩?return userRoleMapper.findUserIdsByRoleCode(node.getRoleCode()); } else if (EXPRESSION.equals(assignType)) { // 解析表達(dá)式如 ${applyUserId} 取申請(qǐng)人 return expressionEvaluator.evalList(node.getExpression(), instance.getVariables()); } return Collections.emptyList(); } }resolveAssignees方法展示了三種任務(wù)分配方式指定用戶、指定角色、表達(dá)式動(dòng)態(tài)計(jì)算。參數(shù)說明assignType決定分配策略expressionEvaluator需要支持從流程變量里取值。實(shí)際項(xiàng)目中還要處理會(huì)簽多人審批全部通過才流轉(zhuǎn)、或簽一人通過即流轉(zhuǎn)、加簽審批人臨時(shí)增加其他人等場(chǎng)景這些邏輯會(huì)復(fù)雜很多。流程監(jiān)控頁面展示運(yùn)行中的實(shí)例、已完成實(shí)例、超時(shí)任務(wù)。超時(shí)處理一般用定時(shí)任務(wù)掃描發(fā)現(xiàn)超時(shí)任務(wù)后觸發(fā)提醒或自動(dòng)流轉(zhuǎn)。流程審批頁面需要展示審批歷史、當(dāng)前節(jié)點(diǎn)、審批意見輸入框。審批意見和附件要存到任務(wù)記錄里方便追溯。3.3 報(bào)表與大屏數(shù)據(jù)可視化模塊的配置化實(shí)現(xiàn)報(bào)表模塊解決“把數(shù)據(jù)按指定格式展示和導(dǎo)出”的問題。常見報(bào)表類型有表格報(bào)表、交叉報(bào)表、圖表報(bào)表。表格報(bào)表配置列、數(shù)據(jù)源、查詢條件交叉報(bào)表做行轉(zhuǎn)列聚合圖表報(bào)表對(duì)接 ECharts 或 Chart.js 渲染。大屏模塊是報(bào)表的加強(qiáng)版強(qiáng)調(diào)全屏展示、實(shí)時(shí)刷新、多圖表聯(lián)動(dòng)。大屏配置一般包括畫布尺寸、背景、組件布局、數(shù)據(jù)源綁定。組件布局用絕對(duì)定位因?yàn)榇笃镣ǔ0垂潭ǚ直媛试O(shè)計(jì)。數(shù)據(jù)源綁定支持靜態(tài) JSON、API 接口、數(shù)據(jù)庫查詢?nèi)N方式API 接口方式最常用大屏定時(shí)輪詢接口拿最新數(shù)據(jù)。// 大屏組件數(shù)據(jù)源配置示例 const screenConfig { width: 1920, height: 1080, components: [ { id: chart_1, type: LineChart, position: { x: 100, y: 100, w: 600, h: 400 }, dataSource: { type: api, url: /api/dashboard/order-trend, method: GET, params: { days: 7 }, refreshInterval: 60000 // 60秒刷新一次 }, options: { xField: date, yField: count, seriesField: status } } ] };refreshInterval控制輪詢頻率單位毫秒。參數(shù)說明dataSource.type為api時(shí)平臺(tái)需要代理請(qǐng)求以避免跨域同時(shí)做接口鑒權(quán)。options里的字段映射告訴圖表組件從返回?cái)?shù)據(jù)的哪個(gè)字段取 X 軸、哪個(gè)字段取 Y 軸。大屏預(yù)覽和發(fā)布是兩種模式預(yù)覽模式帶配置面板發(fā)布模式只渲染最終效果。報(bào)表導(dǎo)出通常支持 Excel 和 PDF。Excel 導(dǎo)出用 Apache POI 或 EasyExcelPDF 導(dǎo)出用 iText 或 wkhtmltopdf。導(dǎo)出時(shí)要注意大數(shù)據(jù)量分頁查詢避免一次性加載全部數(shù)據(jù)導(dǎo)致內(nèi)存溢出。常見做法是分批查詢、流式寫入。4. 避坑與排查低代碼平臺(tái)落地時(shí)最容易翻車的五個(gè)點(diǎn)4.1 組件樹更新后頁面不刷新現(xiàn)象在設(shè)計(jì)器里拖拽組件、修改屬性畫布沒有實(shí)時(shí)變化或者變化了但保存后重新打開又恢復(fù)原樣。原因組件樹是嵌套對(duì)象直接修改深層屬性時(shí)前端框架的響應(yīng)式系統(tǒng)可能追蹤不到。另外保存時(shí)如果序列化的是舊引用存到后端的還是修改前的數(shù)據(jù)。解決統(tǒng)一用不可變更新方式操作組件樹每次修改生成新對(duì)象。給每個(gè)組件節(jié)點(diǎn)分配唯一id通過id定位節(jié)點(diǎn)后重建父級(jí)路徑。保存前打印組件樹 JSON 確認(rèn)數(shù)據(jù)正確。4.2 流程條件表達(dá)式解析報(bào)錯(cuò)現(xiàn)象流程走到條件節(jié)點(diǎn)時(shí)卡住日志報(bào)表達(dá)式解析失敗或變量未定義。原因表達(dá)式里引用了流程變量中不存在的字段或者變量類型和預(yù)期不符比如字符串和數(shù)字比較。不同流程引擎對(duì)表達(dá)式的語法支持也有差異。解決在流程設(shè)計(jì)器里做表達(dá)式語法校驗(yàn)啟動(dòng)流程時(shí)初始化所有可能用到的變量并給默認(rèn)值。條件節(jié)點(diǎn)執(zhí)行前先打印上下文變量快照方便定位是哪個(gè)變量缺失。表達(dá)式求值用成熟的庫不要自己寫解析器。4.3 數(shù)據(jù)權(quán)限規(guī)則導(dǎo)致查詢變慢現(xiàn)象加了數(shù)據(jù)權(quán)限后列表頁查詢從幾百毫秒變成幾秒數(shù)據(jù)量越大越慢。原因數(shù)據(jù)權(quán)限規(guī)則拼成的 WHERE 條件里如果字段沒有索引或者規(guī)則表達(dá)式里用了函數(shù)導(dǎo)致索引失效查詢性能會(huì)急劇下降。解決數(shù)據(jù)權(quán)限規(guī)則涉及的字段必須建索引。規(guī)則表達(dá)式盡量用簡單的等值比較避免在字段上套函數(shù)。如果規(guī)則復(fù)雜考慮把權(quán)限過濾放到應(yīng)用層做先查主數(shù)據(jù)再過濾或者用物化視圖預(yù)計(jì)算。4.4 插件加載順序?qū)е聰U(kuò)展點(diǎn)覆蓋現(xiàn)象兩個(gè)插件都擴(kuò)展了同一個(gè)流程節(jié)點(diǎn)類型后加載的插件把先加載的覆蓋了或者插件初始化時(shí)依賴的平臺(tái)服務(wù)還沒準(zhǔn)備好。原因插件加載沒有定義優(yōu)先級(jí)或者插件初始化時(shí)機(jī)太早平臺(tái)核心服務(wù)尚未注冊(cè)完成。解決插件清單里聲明priority和dependsOn加載器按優(yōu)先級(jí)排序并檢查依賴。插件初始化分兩階段注冊(cè)階段只注冊(cè)擴(kuò)展點(diǎn)啟動(dòng)階段才調(diào)用需要平臺(tái)服務(wù)的邏輯。擴(kuò)展點(diǎn)注冊(cè)時(shí)如果發(fā)現(xiàn)重復(fù)打印警告并保留高優(yōu)先級(jí)的。4.5 表單聯(lián)動(dòng)邏輯在運(yùn)行時(shí)失效現(xiàn)象設(shè)計(jì)器里配置的字段聯(lián)動(dòng)選 A 顯示 B在預(yù)覽時(shí)正常發(fā)布后部分用戶看不到聯(lián)動(dòng)效果。原因聯(lián)動(dòng)表達(dá)式里引用了當(dāng)前用戶信息或角色但運(yùn)行時(shí)這些信息沒有注入到表單上下文?;蛘呗?lián)動(dòng)邏輯依賴的字段被權(quán)限控制隱藏了導(dǎo)致表達(dá)式求值失敗。解決表單運(yùn)行時(shí)上下文要包含當(dāng)前用戶 ID、角色、部門等信息。聯(lián)動(dòng)表達(dá)式求值前先檢查依賴字段是否可見不可見時(shí)給默認(rèn)值。發(fā)布前用不同角色的賬號(hào)做一遍回歸測(cè)試。5. 二次開發(fā)上手從改一個(gè)組件到加一個(gè)流程節(jié)點(diǎn)拿到一份低代碼平臺(tái)的源碼想改成自己業(yè)務(wù)能用的東西我一般從最小的改動(dòng)開始驗(yàn)證整條鏈路。比如先改一個(gè) UI 組件的默認(rèn)樣式確認(rèn)前端構(gòu)建、設(shè)計(jì)器加載、運(yùn)行時(shí)渲染都正常再加一個(gè)自定義流程節(jié)點(diǎn)確認(rèn)后端插件機(jī)制、流程引擎擴(kuò)展點(diǎn)、前端節(jié)點(diǎn)配置面板都能串起來。改組件是最安全的入口。找到組件庫的源碼目錄通常按組件名分文件夾每個(gè)文件夾里有組件實(shí)現(xiàn)、樣式文件、元數(shù)據(jù)描述。改樣式直接改 CSS 或 Less 文件改行為改組件邏輯。改完后重新構(gòu)建組件庫設(shè)計(jì)器里拖出來看效果。這里注意組件庫一般有獨(dú)立的構(gòu)建命令不要和主應(yīng)用一起構(gòu)建否則每次改組件都要等整個(gè)應(yīng)用編譯。加流程節(jié)點(diǎn)需要?jiǎng)雍蠖撕颓岸藘蛇?。后端新建一個(gè)節(jié)點(diǎn)處理器類實(shí)現(xiàn)平臺(tái)定義的節(jié)點(diǎn)執(zhí)行接口在插件清單里注冊(cè)這個(gè)節(jié)點(diǎn)類型。前端在流程設(shè)計(jì)器的節(jié)點(diǎn)面板里加一個(gè)圖標(biāo)和配置表單配置表單的字段對(duì)應(yīng)后端節(jié)點(diǎn)處理器的參數(shù)。流程引擎解析 BPMN XML 時(shí)遇到自定義節(jié)點(diǎn)類型會(huì)查找注冊(cè)表找到對(duì)應(yīng)的處理器執(zhí)行。// 自定義流程節(jié)點(diǎn)處理器示例 public class SmsNotifyNodeHandler implements NodeHandler { Override public String getType() { return sms_notify; // 節(jié)點(diǎn)類型標(biāo)識(shí) } Override public void execute(ProcessInstance instance, NodeConfig config) { // 從節(jié)點(diǎn)配置里取參數(shù) String templateCode config.get(templateCode); String phoneExpr config.get(phoneExpression); // 解析手機(jī)號(hào)表達(dá)式如 ${applyUser.phone} String phone expressionEvaluator.eval(phoneExpr, instance.getVariables()); // 調(diào)用短信服務(wù)發(fā)送 smsService.send(phone, templateCode, instance.getVariables()); // 記錄執(zhí)行日志 nodeLogMapper.insert(new NodeLog(instance.getId(), getType(), SUCCESS)); // 繼續(xù)推進(jìn)到下一個(gè)節(jié)點(diǎn) processEngine.moveToNext(instance, config.getNextNodeId()); } }getType返回的字符串要和前端節(jié)點(diǎn)面板里配置的類型一致。execute方法里先解析配置參數(shù)再執(zhí)行具體業(yè)務(wù)邏輯最后調(diào)用processEngine.moveToNext推進(jìn)流程。參數(shù)說明config是節(jié)點(diǎn)在設(shè)計(jì)器里配置的參數(shù)集合instance.getVariables()是流程上下文變量。異常處理要注意如果短信發(fā)送失敗是重試還是跳過還是終止流程需要在節(jié)點(diǎn)配置里讓用戶選。驗(yàn)證方法上我習(xí)慣先寫一個(gè)最小流程開始節(jié)點(diǎn) → 自定義節(jié)點(diǎn) → 結(jié)束節(jié)點(diǎn)。啟動(dòng)流程實(shí)例看自定義節(jié)點(diǎn)是否執(zhí)行、日志是否記錄、流程是否走到結(jié)束。確認(rèn)鏈路通了再往復(fù)雜場(chǎng)景擴(kuò)展比如加條件分支、加會(huì)簽。從那以后我每次改低代碼平臺(tái)的模塊都強(qiáng)制走一遍“最小改動(dòng) → 構(gòu)建 → 設(shè)計(jì)器驗(yàn)證 → 運(yùn)行時(shí)驗(yàn)證 → 異常場(chǎng)景驗(yàn)證”的流程不跳過任何一步。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲小电影免费涩涩成人在线高清| 丰满少妇人妻久久久久久| 少妇激情AV| 久久久久国产亚洲一区欧美色图日韩| 大黄片做爱的大的| 极品国产内射| 男人的天堂久久| 97伪v| 无码自拍SM| 婷婷伊人五月| 中文字幕精品探花视频| 天天看天天日天天操| 丝袜美腿射精91| 欧美色997| 国产成人+综合亚洲+天堂| 370p日韩欧美亚洲精品| 51国产午夜精品视频| 加勒比在线观看一区二区| 亚洲天堂男人天堂网| 国产自偷| 老色鬼成人精品视频下载大在线观看| 歐美性天天| 图色综合网| 男人夜色天堂ss| 婷婷久久大香蕉| 亚洲av影音先锋| 天天干天天舔| 免费中文在线| 五月天久久婷婷亚洲| 成人影 天天操 亚洲| 色婷婷狠狠| 久久久国产三级黄色片| 717影院理论午夜伦八戒| 日韩国产中文字幕| 激情第四色| 我要看免费韩日黄片| 国产亲戚伦亲在线| 色人久久| 九九玖玖精品| 国产一区二区三区,在线观看观看 五月开心久久AV官网 | 免费A V在线播放| 国产精品呦一区二区三区| 国产精品盗摄 偷窥盗摄| 久久精品国产Aⅴ| 国模无码人体一区二区三| 久久久精品| 日韩一级欧美一级国产一级台湾| 亚洲国产欧美另类自拍| 女人被添高潮免费视频| 久久9亚洲| 大香蕉AV丝袜| 欧美暴力猛交| 久9爱精品| 欧美色网| 色婷亚洲五月在线观看| 国产精品 午夜福利| 狠插 制服 自拍| 久久久久9999妇女| 超碰色美女| 亚洲国产精品成人久久蜜臀| 国产美女自拍AV| 久草网站免费在线观看| 亚洲欧美国产日本一区二区三区| 伊人97色天使| 一区二区播放| 久久狠狠色噜噜狠狠狠狠97| 中国探花熟女| 日本人妻天堂网站在线播放| 久久成人精品| 亚洲AV无码乱码| 成人5码视频| 狠狠狠狠狠狠| 欧亚成人在线视频| 97超碰精品图片| 精品无码一区二区三区色欲| 91操人| 亚洲第一二区另类图| 亚洲天堂电影网99999| 超碰97亚洲| 加勒比久久综合网高清| 亚洲人成色9999精品久久| 亚洲和欧美裸体美女双飞视频| 美国三级日本三级久久99| 变态综合色| 熟女五十路一区二区三| AV天天综合| 3级毛片一二| 亚洲春色一区二区三区| 欧美激情片一区二区| 国产又粗又长又大的视频| 日韩在线性爱免费视频| 亚洲不卡av在线| 国产精品乱码久久久久久久久| 欧美高清无码免费视频高清版| 亚洲另类电影| 劲爆欧美人妖三区91| 3PAV乱伦视频| 色性荡荡荡荡视频| 久久六六| 欧美色图天堂在线| 天天cao在线| 岛园激情| 大香蕉琪琪日本女优不卡| 欧美组图日韩亚洲中文字幕| 超碰亚洲97| 五十路三区在线| 欧美特大黄一级片片免费| 熟女色图在线| 中文字幕在线免费观看2| 9久超碰| 欧美性少妇| 亚欧性爱ab| 欧美性爱一区二区三区四区| 五月丁香色色网| 男人的天堂日本东京热| 欧亚性爱啪啪| 91精品国产长腿丝袜美女| 欧美成人AⅤ大片在线观看| 久久99999| 欧美性爱中文字幕无线码| 超碰97色色| 一本精品日本在线视频精品| 搡老熟女免费视频| 97亚洲一区| 高清国产精品福利网站| 夜夜免费视频| 国模精品一区二区三区苹果色戒 | 999久久久免费精品国产牛牛| 天天综合,91综合永久| 少妇高潮九九九九| 美腿色图| 性爱1区| 骚妻少妇精品性色无码四色A V| 久久av成人无码免费| 后入式视频国产自| 九九av| 91熟女丨91老女人| 少妇蜜汁| 亚洲欧美一区二区三区在钱蜜桃| 成·人免费午夜在线观看| JULIA人妻风俗店中出电影| 视频不卡中文字幕| 国产乱弄免费在线视频。 | 久草色悠悠在线视频| 在线观看一级α片刺激高潮视频| 啊啊啊好大好湿| 老司机射| 蜜臀在线视频| AV色五月| 综合网久久| 手机看片1024你懂的国产| 欧美亚州综合网图片| 亚洲另类综合欧美| 日韩欧美中文| 亚洲色91| chaopen97久久| 天天日老熟妇| 青草青草久热| 国产美女自拍AV| 综合熟妇一区二区三区| 嗯啊啊啊轻点视频| 户外裸露刺激视频第一区| 国产又黄又爽| 在线日韩日本亚洲国产| 久久久免费视频18| 国产性感在线观看| 大奶啊啊好爽| 亚州精人品大香蕉| 欧美在线干| 国产精品成久久久久午夜午夜| 久久亚州大香蕉| 午夜激情床戏激情| 黄色av一区二区在线| 国产精品麻豆免费视频| 亚洲天堂2020| 欧美的精品的视频| 9ⅰ久久久天天| 欧色综合| 欧美日韩大陆黑人少妇99| 精品一区二区啪啪啪| 啪啪免费| 国产精品极品美女视频| 日本操逼视频在线| 超碰97丝袜| 99色在线| nuu12国产麻豆精品| 欧美少妇高潮久久91| 不卡超碰护士AV在线免费播放| 成人在线视频网| 久久九九国产精品| 久久黄色性爱视频| 交换娇妻呻吟声不停中文字幕| 啊啊啊网站| 人人妻人人澡人人爽久久av| 特色a在线上| 国产精选视频| 日韩欧美福利视频看看| 国产精品第一区第一页| 日韩啊V| 探花精品 一区二区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 92午夜免费福利视频| 欧美亚洲素人制服精品| 樱花蜜乳av| 乱操乱伦AV| 东北少妇高潮zzzz| 无遮挡一级毛片视频免费的| 国产毛片在线| 99色视频| 91女人的网站| 99热aaa| 日韩精品99久久久久久中文字幕 | 久久久无码精品人妻二区 | 久久精品国产免费观看99| 无码av永久免费专区网站| 国产欧美日韩一区二区三区| 中文字幕视频在线观看| 青青草一区二区高清无码视频| 亚拍在线| 国产黑白丝在线| 欧美性少妇| 久艹免费| 丝袜熟女2P| 开心五月婷婷| 91九色丨国产丨爆乳| 射欧美综合| 久久视频少妇美女| 蜜区区视频79 | 欧成人在线| 天天看天天日| 岛国片在线播放| 美国精品国产精品| 人人做人人妻人人夜视频| 大香蕉综合网| 制服中出中文人人精品| 91 丝袜在线播放| 无码人妻精品一区二区三区99不卡 | 岛国激情视频在线观看| 国产亲戚伦亲在线| 视频二区美腿丝袜制服人妻欧美| 少妇与黑人高潮在线| 亚洲综合校园春色| 综合网 欧美| 欧美一区二区三区四区综合| 爱做久久久久久| 亚洲欧洲美腿丝袜| 日韩淫色网| 日韩久射综合| 五月天婷精品激情| 密臀在线免费观看| 偷偷人人精品女女久久| 欧美一二三级精品在线| 色优久久| 97视频在线免费播放| 麻豆成人影音在线| 特级丰满少妇一级AAAA爱毛片| 天天插天天舔舔天天干| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 日韩欧无码一区二区三区免费不卡| 狠狠操官网| 久久99综合| 大香蕉琪琪日本女优不卡| 精品亚洲天堂| 欧亚在线视频| 亚爽爽爽爽爽爽爽爽| 国语少妇精| 午夜福利免费精品视频| 亚洲欧洲日产国产综合网| 夜夜欢天天干| 欧美|91色综合| 91国产丝袜美女| 亚洲av无码成电影在线播放| 97天天摸天天碰| 成人九九| 欧美性爱另类综合| 色99久草| 日韩欧美国产高清视频| 国产一| 亚洲欧洲日韩天堂av| 午夜激情床戏激情| 国产拍偷精品网站| 中文伊人大香蕉视频| 蜜屁av| 日本熟妇人妻中出视频| 天天久久久久久| 欧美一级黄色18片免费看| 久久大精品乱码视频人妻熟女| 久久大黄片| 欧美专利1区2区3区4区5区免费| 淫淫综合网| 五月丁香成人网| 国产夫妻性生活视频| 另类小色呦| 999九九九九国产动| 久草免费福利在线播放| 精品九九九九九九九九九| 人人么人人操| 情色五月天久久久| 蜜乳视频网站| 日韩美女高潮喷水视频| 国产精品三级视频网站 | 婬女免费一二三区A片| 人人妻天天做天天爽| 在线观看成人性爱免费小视频| 综合网久久| 翔田千里AⅤHD无码| 午夜精品久久久99| 天天日天天干天天整| 日本不卡免费二区| 啊啊啊啊嗯嗯嗯用力好爽 | 亚洲天堂欧美| 日韩图区| 碰碰在线视频| 久久九九视频九九视频| 青青操日韩| 97久精品| 婷婷中文网| 好吊色综合| 69AV女优男人的天堂| 亚洲蜜乳av| 91天天美女| 熟妇熟女亚洲天堂网| 国产9 9在线 | 亚洲| 素颜老阿姨乱情色| 婷婷五月天av| 2017人人操,人人摸| 国产欧洲精品亚洲午夜拍精品| 久久东京国产精品视频| 在线视频免费观看午夜| 中文字幕免费看| 精品少妇后入一区二区三区四区人妻巨乳 | 再深点灬舒服灬太大了添视频 | 可以在线观看AV的网站| 综合 亚洲 欧美| 欧美精品第四五页中文字幕在线观看| 国产福利av精彩对白| 久久久久夜夜夜夜| 丰满人妻一区| 欧美三级免费伊人| 久久男女激情视频网站 | 亚熟在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 日本性感人妻91| 亚欧操逼片在线观看 | 91精品网站| 欧美亚洲涩涩| 亚洲一二三四区机械| 欧美啪啪女女| 变态乱伦伪娘灌肠一区二区| 久久久新亚洲AV| 亚洲人妻久久久| 蜜桃色院一区久久 | 超碰98综合网| 草b在线 | 久久久91福利姬| 91久久午夜无码鲁丝片久久人妻| 少妇 综合| 黄色大香焦1级‘′‘| 黄色大片免费在线| 一级做a爰片性色毛片久久| 九热久| 2020中文字幕在线| 国产久久男人天堂| 欧美韩国你懂得在线| 99re这里只有精品中心播放 | 蜜桃狠狠色伊人亚洲综合 | 97综合在线观看| 这里有精品| 男人的天堂一区三区| 欧美精品一区二区少妇免费A片| 97视频在线播放| 国产农村妇女毛片精品久久| 午夜毛片亚洲精品片国产久久久| 青青操在线视频| 九久久精品| 蜜臀久久精品久久久久视频| 98福利在线视频| 亚洲精品1区| 蜜桃色院一区久久 | 美女裸体无遮挡永久免费观看网站| 91色欧美| 天天日天天干少妇日| 少妇精品| 亚洲精品久久久久毛片A片拉屎| 国产精品久久久久婷婷二区次| 5252色欧美在线男人的天堂| 天堂亚洲精品| 97天天| 玖草在线视频| 色欲av一区二区三区蜜芽| 香伊人在线| 爽极品影院| 操逼逼福利视频| 亚洲一本大道中文字幕无码在线| 欧美做爰无码A片视频| 国产免费永久精品无码| 久久人妻办公室视频| 色色色色色色色色色色色色色色综合| 欧美亚洲激情小说| 伊蕉97蜜桃97狠狠综合干| 欧美精品久久| 日韩97超碰| 婷婷综合伊人一区| 亚洲一区二区三区不卡国产欧美| 国产懂色精品国产av| 色婷婷基地| 老熟女区| 免费视频观看60秒| 亚洲欧美高清无码| 激情专区综合| 久久久噜噜噜久久久| 亚洲区限制级| 97欧美日韩| 久久亚州精品成人Av无| 午夜男人一级A片7777| 九九精品美女高溯喷水| 夜夜免费视频| 日日操免费视频| 中文字幕一区日韩精| 久热伊人99re| 久久华人网| 尤物网站91| 五月天黄色激情视频| 五月婷婷丁香六月| 夜夜免费视频| 亚洲一区操| 思思99热| 淫纸中9区| 国产亚洲深夜激情| 丝袜大香蕉| 久神马| 秋霞色色影院| 男人的天堂2019AV| 天天性射网| 性暴力欧美猛交在线直播| 丁香五月天啪啪| 亚洲熟女一区| 熟妇xxxxx性春色| 久久久无码国精品无码三区三区| 粉嫩av一区二区三区四季| 91美女在线观看| 日韩不卡av一二三| 欧美日韩亚洲电影| 日本三级一区二区 在线| 美中韩AV综合网| 色天天野狼综合社区| 神马久久久久久伦理片| 91jk色拍| 成 人 A V免费视频在线观看| 香蕉综合网| 色偷偷超碰亚洲| 婷婷丁香九月| 啊啊啊不要啊啊受不了了视频在线 | 97天天| 国模精品娜娜一二三区 | 国产精品香蕉热久久新品| 久久夜嗨| 无码天天操| 欧美国产成人在线| 91精品微拍福利| 嗯嗯嗯啊啊啊操的我好爽| 欧美日韩久久精品爱爱| 婷婷色在线| 综合网少妇| 99re久久| 麻豆 美女 丝袜 人妻 中文| 五月天激情小说| 日骚逼视频| 噜噜噜狠狠色综合| 亚洲情欲| 精品999日本| 翔田千里一区二区三区奶水| 男人的天堂在线| yellow网站免费观看日韩高清无码| 97国产天堂岛| 在线无码操| nuu12国产麻豆精品| 日韩av在线播放不卡| 欧美黑人日韩少妇色情| www久久久| 蜜臀99久久精品久久久久| 情侣开房子拍 日韩无码 女的很漂亮| AAAA级日本片免费视频| 亚洲熟女乱熟乱熟妇综合网二区| 国内毛片婷婷六月色| 久草线上视频免费看| 曰韩av中文字幕专区| 天堂性色| 大香蕉在线视频重口味毛片在线| 国产亚洲日韩在线三区黑人| 毛片99-全集电影手机免费观看完整-B029AV | 日本免费专区| 国产精品另类| 成人日韩中文字幕| 欧美东京热精品A∨| 精品人妻一区二区三区鲁大师| 嗯嗯嗯嗯啊啊啊好紧好大| 人妻偷拍一区二区三区| 激情婷婷黑人91| ,国产乱人伦精品一区二区三区| 国产精品永久免费10000| 综合网亚洲1| 夜夜爽77777| 91丨豆花丨熟女| 日1区2区3区2020| 999久久久九| 天天色综亚洲91污| av激情亚洲五月天| 日本性一区| 伊人97超碰| 深夜国产一区二区三区在线看| 97干在线视频| 超碰69| 99国内精品| 每日更新AV| 男女啪啪啪18禁网站| 2020中文字幕在线| 区一二区日韩亚洲乱码av电影| 中文字幕精品资源在线| 人妻献身系列第54部| 少妇精品| 9997se| 老汉网| 东京热激情视频一二三区| yellow网站免费观看日韩高清无码| 久 久无码人妻AV| 超碰这里有精品| 青青草精玖玖69精品| 五月天综合| 日本高清一区二区在线| 人妻一区二区三区视频| 欧美激情综合网| 97国产精选| 欧美日韩国产人人| 久久国产精品熟女人妻| 国产夜夜艹| 大香蕉亚洲中文| 日韩av在线播放不卡| 天天操人人操狠狠插| 91肉丝| 9久热这里只有精品| 骚货 中文字幕 av| 超碰一区二区| 九九九草| 蜜桃臀一区二区三区久久| 青青草啪啪网| 区一二区日韩亚洲乱码av电影| 大鸡巴久久久| 国产馆极品诱惑| 久久极品一区二区| 日本91白丝| 夜夜爽77777| 综合网,亚洲,欧美| 天天看少妇| 欧美精品在线观看| 欧美一级欧美三级在线观看| 欧美中文字幕男人天堂久久精品 | 欧美亚洲高清不卡| av东京热男人的天堂| 亚州综合图片| 久久精品国产久精国产| 久久 久久国内精品亚洲| 加勒比五月天| 日夜尻逼网| 天天日天天干天天摸天天操| 欧美亚州综合网图片| 操一对老熟妇爽上天视频| 欧美性爱超碰97| 九九无码| 综合在线导航一区| 中文字幕日本久久| 色97| WWW.加勒比人妻一区不卡.com| 97资源免费视频| 2020中文字幕在线| 欧美91变态| 美国黄片aaa| 中文字幕日韩人妻视频一区二区三区| 精品在线观看视频在线| av九九| 欧洲乱码一区二区| 操曰本熟女| 国产精品一区二区密臀| 午夜国产综合视频在线观看 | 大香蕉之青青草原| 97se亚洲| www.yeyecao| 狠狠激情综合狠狠操中文字幕| 久久人妻视频网| 91九九九小逼| 精品十八在线观看| 日本中文字幕不卡视频| 国产女生在线| 天美一二三在线观看Av| 中文字幕午夜精品久久久| 欧美加勒比| 东京热男人的天堂精品| 2001天天操| 激情文学小说一区二区| 免费AV中文网在线观看| 日本午夜福利影院| 熟妇人妻一区二区三区| 日本熟妇自慰性高潮一区二区三区| 大色综合| 日本欧美国内在线| 欧美91网站| 天美传媒精品一区二区| 国产亚洲禁久一区二区| 欧美大香蕉97| 资源新线在线天堂| 久久久久久国产精品免费网站| 98一区二区精品| 婷婷九月国产| 精品国产乱码| 久久久99久9| 桑老女人九区| 伊人网综合在线视频| 久久欧美1卡2卡3| 老熟女综合网| 夜色AV无码手机在线影院| 九一综合精品视品av| a啊啊啊啊啊啊啊啊一区二区| 国产最新小视频在线播放下载| 999狠狠综合| 亚洲图片视频小说| 福利在线观看一区二区| 日日夜夜草草草| 91在线免费精品视频| 91精品综合久久久久久五月丁香| 人澡逼| 中文字幕一区二区三区高清| 99久久综合| 精品人妻免费观看| 青青草密桃在线播放| 热热色青青草| 亚洲AV无码成人精品久久| 天天综合网~91入口| 亚洲 日本 国产 综合| 加勒比AV网| 国产主播福利| 激情露脸爱| 亚洲av性爱电影| 九月丁香婷婷| 搡老女人911熟妇老熟女| 日韩精品99999| 97超碰中文在线| 天堂岛av| 亚洲色婷婷久久91| 色老汉色| 精品中文字幕一区二区| 国产精品久久久999| 天天综合网日韩7799| 91 亚洲情侣偷拍 久久| 国产女人操逼视频| 极品一区二区三区免费| 成人av免费观看| 欧美亚洲首页| 欧美福利视频啊啊啊啊| 可免费观看的av毛片中日美韩| 9久久精品| 欧美精品偷拍| 久久黄色性爱视频| 亚洲怡春院| 熟女突然公开看18禁影片| 女人天堂网| 人妻少妇视频在线播放| 2021国产成人精品久久| 国产又大又粗又长视频在线| 26uuu性物| 一二三卡欧美日韩人妻免费精品| 亚洲一区日韩| 午夜国产成人精品视频| 亚州 综合 色图| 最新国产亚洲精品精品国产亚洲综合 | 亚洲色香| 色五月综合网| 五月丁香黄色网| 国产精品午夜福利视频| 亚洲色综合| 国产女同在线观看视频| 男人精品天堂一区| 色婷婷成人| 久久性生大片免费观看性| 九九亚洲精品| 色久综合| 一区二区影院| 久久区| 精品一二三区女同 | 久操免费在线| 91国精产品| 色精品极品| 91人妻素女| 极品销魂美女一区二区 | 丰满高潮18xxxx| 久操精品| 208天天久久九九九| 日本亚洲vr欧美不卡高清专区| 久久成人国产| 精品一级毛片在线观看| 91网站18+| 中文字幕视频2区| 亚洲欧美中文日韩视频中国语 | 九九久久久九九| 被体育老师抱着c到高潮| 激情综合网激情综合| AV男人天堂网| 成人热久久精品| 亚洲男人bt天堂| 成人免费不卡在线视频| 亚洲高清无毛一区二区| 午夜九九九九九九| 一级黄碟| av天天在线| 午夜呻吟欧美| 玖色AV| 99在线精品观看99| 中文字幕aⅴ在线视频| www熟女乱伦com| 搡老女人老熟女91老熟女综合网| 国产人妻精品一区二区三区秋霞| 熟女自慰久久久| 欧美日韩99精品麻豆传媒| 亚洲综合一区二区| av网页一区二区三区| 超碰在线欧美性爱激情| 欧美激情综合网| 99热婷婷一区二区三| 肉丝无码中文高清| 久久精品夜色国产亚洲AV| 国产农村妇女精品一| 性欧美另类高清| 久久人妻视频| 婷婷综合视频| 日日日日日| 天天干一干| 天天日日夜夜| 曰韩精品九九无码| 深爱激情五月天| 99激情视频| 天天综合精品| 日韩精品国产精品五码一区二区| 国产97色在线| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 亚洲 日韩 丝袜 熟女 变态| 2018天天干在线视频| 欧美亚洲色图另类国产| 隔壁邻居波多野结衣中文字幕| 日本高清免费一本视频在线观看| 国内亚洲高清无码| 国产亚洲精品A在线观看下载| 中文字幕国产在线天堂| 亚洲一区在线观看欧洲 | 久久久久9| 超碰97首页| 欧美综合狠| 亚洲丝袜在线观看| 美女啊啊啊啊啊啊| 国产老太乱伦一区| 亚洲av国产av综合av卡| 一级日本牲交大片好爽在线看| 懂色中文一区二区三区| 9久精品视频在线观看| 日日夜夜草草草| 一区二三区四区视频大全套| 91大香蕉伊人| 九九九九九九视频免费| 色婷婷六月丁香七月婷婷| 国产成人精品必看| 国产亚洲色婷婷久久99精品91葵花宝典| 久久久久国产一区二| 超碰免费在线| 色狠人在线99| 色香网| 97欧美| 亚洲国产一区二区入口| 人、人、摸,人、人、草| 亚洲天堂区| 少妇极品熟妇人妻无码| 天天综合网亚洲综合网| 蜜臀久久99精品久久久久| 久热影视| 色婷婷电影网| 久日91在线| 国产精品农村妇女| 美国日韩黄片| 国内自拍 日韩激情 99| 精品久久久久瑟瑟| 亚洲人妻久久久| 免费家庭乱伦视频| 91人人臊| 97日视频| 国产精品久久久久久久久久久久久久吹| 国产成人欧美精品在线| 亚洲综合中文字幕有码 | 国产精品爆乳懂色蜜乳| 口爆吞精在线观看| 成 人 影视 一区 二区 三区 四区 | 欧美综合色| 黄片免费视频2019| 人妻丝袜无 码视频专区| 伊人久久久日韩一区| 国产97亚洲| 蜜乳AV色欲AVAV无码| 97超碰色屌| 色噜噜国产精品视频一区二区| 日本午夜操逼| 欧美老妇女内射网址| 中日韓欧美高清| 亚欧国产无码精品在线| 无码视频一区二区| 性天堂| 婷婷久久五月天| 九九九草| xxxx网站亚洲精品| 九一亚洲国产免费| 国产精品视屏| 91丨九色丨国产打屁股| 久久久久久久久国产| 在线色导航| 欧美色图私拍91| 又大又大又大又粗爽高潮观看 | 蜜桃久久久久久久久久久久| 亚洲第一页第二页激情| 久操大香蕉手机视频在线看| 精品久操| 日本日皮视频逼| 亚洲日本天堂| 看日韩操逼| 四虎影视永久在线观看精品免费网站 | 国产女人高潮嗷嗷嗷叫小说| 蜜桃视频一区二区三区在线观看| 婷婷婷婷婷婷久久久久| 亚洲综合97中文网| 欧美色图亚洲激情| 激情小说五月天| 久久精品无码专区| 婷婷五月天福利| 懂色Av一区二区三区| 五月天综合网| 亚洲欧洲自拍| 神马视频久久久久久| 免费试看60秒| 国产性刺激| 一级人妻性爱视频| 欧美A√综合网 | 九九热免费国产视频婷婷伊人| 啊啊啊啊好多水| 性站 | 欧美精品一区二区少妇免费A片| 75大香蕉| 亚洲成a人在线观看久| 综合网亚洲1| 狠狠操狠狠爱| 成人线上超碰| 欧美中文狠| 亚洲综合精品国产一区| 亚洲高潮影院| 久久免费中文字幕在线观看| 激情小说图片亚洲首页| 97超碰亚洲| 日韩不卡毛片Av免费高清| 伊人国产AV| 中文字幕一区二区三区蜜臀| 久久久一区二区三区三州| 欧美综合 站| 婷婷色五月激情| 日韩欧美亚洲自拍偷拍| 蜜桃久久久久久久久久久久 | 91女色| 九九玖玖精品| 福利在线观看一区二区| 91性片| 日韩精品人妻中文字幕久久久| 人人摸人人摸人人干| 欧美日韩狠狠爱| 久久偷拍人| 国产精品国产拍高清AV| 99久久久无码国产精品性啊聊| 99只有精品| 男人天堂2012| 亚洲精品人妻在线| 四虎影视欧美| 男人 天堂 日 亚洲| 毛片电影一区二区三区| 日韩电影在线观看网址| 呻吟 欧美 日本 中出| 91N欧美| 免费伦费视频在线观看| 好吊色综合| 久久精品视频一区三区小泽玛利亚| 九九久久99| 中文字幕乱码人妻二区三区| 久久蜜桃一区二区| 无码视频一区二区| 国产玖玖| 亚洲成熟国产精品美女| 操逼操2| 超碰欧美COM| 欧美亚洲高清不卡| 暖暖精品二区三区观看| 亚洲国产日韩欧美熟妇在线| 欧美性爱无码一区二区三区| 福利视频网站| 欧美日韩国产色五月综合在线| 欧美内射少妇| 亚洲综合网电影91| 久久亚洲精品成人av| 午夜a成v人电影| 欧洲精品一级二级精品综合视频综合| 色综合超碰超| 亚洲第一色页夜| 亚洲色堂免费视频| 五月天激情网图片| 国产免费久久久久| 黄片色区软件| 国产高清精品一区二区三区毛片| 懂色aV一区二区天美传媒| 大色网久久| 本道在线| 久久国产999| 久久久专区| 久草新免费| 青青草吊丝| 91人妻丝袜无码| 日韩女优中文字幕| 九九九九久久久| 婷婷中文字幕| 99激情视频| 思思热在线视频精品| 综合久久婷婷| 99九九久久| 色九九综合| 久久女婷| 日韩欧美~中文字| 欧美性天天影院| 色女免费在线观看视频网址| 亚洲性猛交| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 日本一区二区不卡精品| 顶级丝袜熟女一区二区三区| 人妻一区视频| 蜜乳性色无码专日粉嫩骚逼AV| 国产精品无码av在线| 国产精品久久久无码AV网站| 美中日韩无码| 欧美日韩国产色图在线| 午夜黄色免费在线观看| 自偷自拍的亚洲视频| 激情五月丁香五月| 天堂岛av| 中文字幕视频一区视频二区| 蜜桃精品一区二区三区ww| 欧美精品丝袜久久久中文字幕| 爽爽爽免费视频| 九九九九精品一区| 精品少妇一区二区三区| 狠狠爱夜夜| 综合伊人网12色| 性爱视频无打码在线观看| 无码免费精品高清| 操操啪| 一区二区三区网站日日骚| 中文字幕55555| 噜噜噜亚洲精品| 亚洲欧美天| 在线综合网| 九色精品视频导航1| 女人双腿搬开让男人桶| 久久一二三四五六七八九区区区| 婷婷色香| 涩亚洲欧洲| 狠狠婷婷亚洲中文综合久久| 色天使亚洲综合在线观看| 国产伦精品一区二区三区在线观| 97日本超碰综合| 久久久久久久久久久久九| 超碰吊日色| 中文字幕精品免费一区二区| aⅴ日韩成人电影av在线免费看av大全| 一区二区三区四区色图| 99色婷婷中文字幕乱色| 综合网亚洲在线| 影音先锋每日最新资源在线观看 | 91青青在线| 韩国三级一线观看久| 免费一级毛片在线视频观看| 国产精品久久9| 大白逼三四级| 国产无吗在线播放| 三级片网站在线播放| 99综合自拍| 日本欧美不卡| 日本一区二区三区四区免费观看| 亚州伊人色综台| Aa东京男人的天堂| 香蕉欧美| 六月丁丁香| 青操影院| 亚洲天堂一区二区久久| 亚洲综合小说另类图欧美视频激情小说色五月天 | 伊人97色天使| 久久久久女教师免费一区| 国产中文大片资源中文字幕| 日韩97超碰中文字幕| 久操av在线| 精品久久无码午夜福利| 99精品无码| 熟妇一区,二区,三区。| 亚洲色图尤物视频| 狼天天狼天天大香蕉| 97网站在线观看| 麻花传媒免费网站在线观看| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久伊人大香蕉| 超碰一区二区| 亚洲精品国产专区在线观看| 91美女在线精品视频| 久久九九97| 国产成人自拍视频在线| 久久久久9999精品九九九| 欧洲性爱无码区| 99热这里都是精品| 97网站在线观看| 人妻中文字幕日韩电影| 夜夜人妻爽| 国产又猛又粗又爽又黄| 黑丝少妇麻豆| 亚洲在线| 大香蕉伊人网WWWn0n| 精品黄色电影| 91xingse| 欧美日本成人一区二区| 日韩亚洲美女一区久久| 一区二区不卡视| 91亚洲黑人| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 九九九九九九九九九国产精品 | 久久a久久| 高清有码一区二区| 在线人妻熟女一区二区三区四区五区| 国产精品第一页国产大屁股视频免费区| 久久久婷| 亚洲欧美999| 91女人的网站| 最新国内自拍av免费| 丰满精品人妻少妇久久字幕| 性久久| 国产热av| 五月丁香色婷婷| 伊人操| 熟女一区二区| 国产欧美精选激情视频| 老司机午夜福利视频一区二区| 91艹B视频| 综合熟妇一区二区三区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 成人资源中文字幕在线观看| 久久 国产精品 一区| 91性情| AV天天综合| 亚洲国产ⅴ高清在线观看| 长久操视频| 激情久久久| 国产精品久久久吖| 嫩草影院永久在线制服丝袜| 在线视频免费播放一区| 九九九九热只有精品| 久久一区无码| 国产大学生口爆吞精合集| 中日韩久久久免费看| 亚洲熟妇自偷自拍另欧美| 99亚洲精品| 人妻喷水| 手机不卡视频不卡在线一二三区| 国产特级毛片AAAAAA高潮流水| 中文字幕色AV| 国产精品经典一卡久久久| 成年人黄色小视频网站| 97久操| 9 7超碰在线免费观看| 中文字幕人妻丝袜| 精品人妻高清麻豆av| 婷婷国产精品九区| 最新中文字幕精品在线| 色区97| 亚洲污一污二| 激情久久久| 一本精品日本在线视频精品| 91天美免费| 日韩欧美丝袜诱惑| 亚洲综合激情五月久久| 在线观看无码三级少妇| 国产精品农村妇女| 美女黑人91神马| 99re视频在线观看这里只有精品| 精品久久久久久无码| 欧美97网| 激情黄色五月天| 18精品一区| 婷婷九月色| 97人人操人人摸人人爱| 欧美性爽xyxOOOO| 麻豆熟妇乱妇熟色A片在线看| 久久久久ab| 操九九九九九九| 免费一级视频特黄色大片| 日韩无码三级影院| 日韩肏逼视频| 夜夜欧美 | 26uuu国产日韩综合在线观看| 亚洲色图图片| 久久精品六区| 好爽免费视频,| 久久鲁夜| 色狠狠综合噜一二三区| 色婷婷五月天| 91热爆在线| 亚洲强奸乱伦影视网| 91丨豆花丨熟女| 高清无码久操视频| 欧美日韩资源| 日韩精品啪啪啪| 天堂精品一区| 夜夜骑操视频| 青青草字幕AV| 97爱b| 91九九九小逼| 啊啊啊啊在线观看网址| 欧美大香蕉在线观看| 中文字幕日韩综合| 五月综合视频| 超碰在线99| 成人短视频在线观看| 免费看日产一区二区三区| 嫩草影院性色| 国产三区免费在线观看| 三级三级三级a级全黄三| 岛国黄| 乱伦av.com| 福利在线观看一区二区| 亚洲暴力强奸AV| 国产性爱乱伦AV| 日韩激情中文字幕有码| 大色综合网| 高清无码国产亚洲| 国产亚洲在线观看| 骚逼高潮久久精品| 婷婷亚洲中文字幕在线| 大香蕉在线视频15| 中文字幕视频一区视频二区| 91在线限制级| 欧美 牲| 欧美第二页午夜| 蜜臀99久久精品| 怡红院成人视频| 少妇久久久久久| 亚洲国产精品无码AV久久久| 日韩99精品视频综合区| 国产精品美女在线一区| 在线中文字幕极品av|