亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

開源低代碼工具ToolJet實(shí)戰(zhàn):快速構(gòu)建可控的內(nèi)部系統(tǒng)后臺(tái)

開源低代碼工具ToolJet實(shí)戰(zhàn):快速構(gòu)建可控的內(nèi)部系統(tǒng)后臺(tái) 如果你所在的團(tuán)隊(duì)經(jīng)常要做“內(nèi)部運(yùn)營后臺(tái)”你大概率經(jīng)歷過這些場景需求方說“就一個(gè)簡單的訂單列表加個(gè)篩選再弄個(gè)導(dǎo)出”結(jié)果排期排了一周后端接口寫好了前端頁面又要從頭搭菜單、權(quán)限、表格、彈窗等系統(tǒng)上線需求又變了你還得從那一堆只有你自己看得懂的代碼里找到修改點(diǎn)。這正是低代碼工具存在的理由。但很多人對低代碼的顧慮也很真實(shí)平臺(tái)綁定、數(shù)據(jù)不在自己手里、擴(kuò)展困難、關(guān)鍵邏輯沒法調(diào)試。這篇要聊的 ToolJet恰好踩在“低代碼效率”和“開發(fā)者可控性”的交叉點(diǎn)上。它是一個(gè)開源的、可自托管的低代碼平臺(tái)能快速搭建內(nèi)部工具同時(shí)又能讓你保留對數(shù)據(jù)、代碼和部署環(huán)境的控制權(quán)。它的定位很像 Retool 的開源替代方案適合那些不想把核心業(yè)務(wù)數(shù)據(jù)交給第三方 SaaS又不想為每個(gè)內(nèi)部后臺(tái)重復(fù)編寫 CRUD 頁面的團(tuán)隊(duì)。文章會(huì)從 ToolJet 的核心概念講起然后帶你從零部署一個(gè)可用實(shí)例再用一個(gè)“訂單查詢后臺(tái)”的例子把數(shù)據(jù)源接入、查詢編寫、組件綁定完整走一遍。最后會(huì)給出常見的坑、工程建議以及我對這類工具適用邊界的判斷。讀完你可以直接照著搭出一個(gè)能用的內(nèi)部工具而不是只停留在“看過介紹”。1. 這篇文章真正要解決的問題ToolJet 解決的問題本質(zhì)上是“內(nèi)部工具研發(fā)成本”的問題。一個(gè)互聯(lián)網(wǎng)團(tuán)隊(duì)內(nèi)部通常有大量低頻但必要的后臺(tái)系統(tǒng)運(yùn)營配置臺(tái)、訂單查詢臺(tái)、用戶標(biāo)簽管理、對賬異常處理、活動(dòng)數(shù)據(jù)看板。這些系統(tǒng)的特點(diǎn)是邏輯不復(fù)雜但數(shù)量多使用人數(shù)少但都是關(guān)鍵角色業(yè)務(wù)變化快需求經(jīng)常調(diào)整。如果全部用正式前后端工程的方式開發(fā)成本往往很高。一次需求從排期到上線可能要一周甚至更久真正寫代碼的時(shí)間可能只有半天剩下的大頭都在溝通、聯(lián)調(diào)和流程上。傳統(tǒng)低代碼平臺(tái)或 SaaS 工具可以縮短這個(gè)周期但新的問題又會(huì)出現(xiàn)你的數(shù)據(jù)結(jié)構(gòu)可能受限于平臺(tái)定義你的業(yè)務(wù)數(shù)據(jù)要經(jīng)過第三方服務(wù)器平臺(tái)升級可能影響已有應(yīng)用想在關(guān)鍵路徑上寫一段特殊邏輯時(shí)又發(fā)現(xiàn)能力邊界不夠。ToolJet 選擇的路徑是“把內(nèi)部工具所需的通用能力做成可視化積木同時(shí)保留開發(fā)者深度介入的入口”。它提供拖拽式 UI 編輯器、豐富的數(shù)據(jù)源連接器、查詢管理器和權(quán)限角色同時(shí)因?yàn)槭情_源項(xiàng)目你可以自托管、看源碼、自定義組件甚至把它集成到自己的工程體系里。因此最應(yīng)該關(guān)注 ToolJet 的讀者有幾類后端開發(fā)或全棧開發(fā)需要頻繁交付內(nèi)部系統(tǒng)團(tuán)隊(duì)負(fù)責(zé)人希望減少內(nèi)部工具維護(hù)成本以及數(shù)據(jù)工程師需要快速搭建數(shù)據(jù)處理和展示界面。如果你所在的團(tuán)隊(duì)已經(jīng)有完整的低代碼平臺(tái)并且用得很好那不一定需要遷移。但如果你還在用“每個(gè)后臺(tái)單獨(dú)做一個(gè) Web 工程”的方式ToolJet 這類工具值得認(rèn)真評估。2. ToolJet 的基礎(chǔ)概念與核心架構(gòu)在動(dòng)手部署之前有必要先理解 ToolJet 的抽象模型。它看起來像一個(gè)“網(wǎng)頁搭建工具”但在技術(shù)本質(zhì)上它是一個(gè)前后端分離的 Web 應(yīng)用運(yùn)行時(shí)。從整體架構(gòu)看ToolJet 包含三個(gè)核心部分前端構(gòu)建器、后端服務(wù)和元數(shù)據(jù)庫。前端構(gòu)建器負(fù)責(zé)拖拽采集配置組件屬性、事件綁定、查詢配置等數(shù)據(jù)會(huì)存儲(chǔ)到元數(shù)據(jù)庫后端服務(wù)則負(fù)責(zé)執(zhí)行查詢、管理應(yīng)用發(fā)布、鑒權(quán)和組織信息。換句話說配置本身也是一種“代碼”而 ToolJet 幫你管理了這套配置的運(yùn)行與版本。為了后續(xù)操作不迷路你需要先記住以下核心概念概念通俗解釋在 ToolJet 中的角色Application應(yīng)用一個(gè)內(nèi)部工具就是一個(gè)應(yīng)用包含頁面、組件、查詢、事件的一套完整配置組件Components頁面上的輸入框、表格、按鈕、圖表用戶與數(shù)據(jù)交互的入口Data Source數(shù)據(jù)源你業(yè)務(wù)數(shù)據(jù)的來源數(shù)據(jù)庫、REST API、對象存儲(chǔ)等連接配置Query查詢對數(shù)據(jù)源執(zhí)行的一次讀取或?qū)懭氩僮鲝臄?shù)據(jù)源取數(shù)或?qū)懟厥菙?shù)據(jù)流的核心Transformer轉(zhuǎn)換器查詢拿到結(jié)果后的加工函數(shù)在查詢結(jié)果返回組件前做數(shù)據(jù)清洗、字段映射Event Handler事件處理用戶操作或查詢狀態(tài)變化后的響應(yīng)比如點(diǎn)擊按鈕后觸發(fā)查詢、彈出提示框權(quán)限角色誰能編輯、誰能查看團(tuán)隊(duì)協(xié)作與安全邊界理解這些概念的關(guān)鍵是組件和組件之間不直接通信它們通過數(shù)據(jù)源和查詢連接。你在頁面上放一個(gè)表格表格的 Data 屬性通常綁定某一個(gè)查詢的返回結(jié)果當(dāng)查詢執(zhí)行完成并返回?cái)?shù)據(jù)時(shí)表格會(huì)自動(dòng)刷新。用戶點(diǎn)擊按鈕則通過事件處理觸發(fā)另一個(gè)查詢比如插入一條記錄或者重新拉取列表。這套模型本質(zhì)上就是經(jīng)典的“后端 API 前端頁面”只不過 API 的調(diào)用方式被配置化了前端頁面的渲染被拖拽化了。它不是讓你不寫代碼而是把重復(fù)、固定的部分變成配置把真正有業(yè)務(wù)邏輯的部分留給你用 SQL 或 JavaScript 來表達(dá)。3. ToolJet 適合什么場景不適合什么場景判斷一個(gè)工具是否值得引入不能只看它的能力集還要看它和你團(tuán)隊(duì)的現(xiàn)狀是否匹配。先說適合的場景。第一類是運(yùn)營和業(yè)務(wù)后臺(tái)。這類系統(tǒng)通常數(shù)據(jù)模型穩(wěn)定交互以列表、篩選、詳情、編輯為主。用 ToolJet 連接業(yè)務(wù)數(shù)據(jù)庫寫好查詢綁上表格和表單十幾分鐘就能完成一個(gè)可用版本。后續(xù)字段變化也只需要修改查詢和組件綁定比改前后端代碼輕得多。第二類是數(shù)據(jù)查看和簡單分析界面。如果你需要把數(shù)據(jù)庫中的數(shù)據(jù)可視化又不想引入完整的數(shù)據(jù)產(chǎn)品ToolJet 的圖表組件配合查詢能快速搭建一個(gè)實(shí)時(shí)看板。數(shù)據(jù)權(quán)限由你的數(shù)據(jù)庫賬號(hào)或 ToolJet 角色控制比把數(shù)據(jù)導(dǎo)出到 Excel 再郵件分發(fā)要安全。第三類是低頻率的內(nèi)部審批或工單處理流程。ToolJet 很多版本提供可視化工作流編輯能力適合做“數(shù)據(jù)狀態(tài)流轉(zhuǎn) 通知 外部 API 調(diào)用”這類輕流程。注意它并不適合取代專業(yè)的 BPM 引擎復(fù)雜、長鏈路、強(qiáng)一致性的流程仍建議使用正式工作流系統(tǒng)。再說不太適合的場景。高并發(fā)、面對 C 端用戶的生產(chǎn)系統(tǒng)肯定不適合。ToolJet 生成的界面是內(nèi)部工具體驗(yàn)不是經(jīng)過性能優(yōu)化的終端產(chǎn)品。復(fù)雜的前端交互比如極度定制化的富文本編輯器、復(fù)雜圖形畫布、專業(yè)可視化場景拖拽組件也很難完全替代代碼。另外如果你需要的是一個(gè)完全離線、網(wǎng)絡(luò)隔離極嚴(yán)格的封閉環(huán)境自托管 ToolJet 依然有一堆依賴服務(wù)需要維護(hù)需要做額外評估。這里還有一個(gè)容易被忽略的判斷維度團(tuán)隊(duì)是否愿意維護(hù)一個(gè)低代碼平臺(tái)本身。自托管 ToolJet 意味著你要負(fù)責(zé)它的升級、備份、監(jiān)控和問題排查。它降低了業(yè)務(wù)應(yīng)用的開發(fā)成本但引入了一個(gè)新的基礎(chǔ)設(shè)施組件。這個(gè)成本在團(tuán)隊(duì)規(guī)模很小時(shí)可能感知不強(qiáng)但當(dāng)應(yīng)用數(shù)量達(dá)到幾十個(gè)、用戶達(dá)到幾百人時(shí)平臺(tái)本身的穩(wěn)定性、版本升級策略和團(tuán)隊(duì)使用規(guī)范都必須跟上。4. ToolJet 環(huán)境準(zhǔn)備與部署方式ToolJet 提供了云托管版和開源自托管版二者的區(qū)別主要體現(xiàn)在維護(hù)責(zé)任和定制自由度上。實(shí)際項(xiàng)目里我更推薦先用托管演示環(huán)境或本地 Docker 把流程走通確認(rèn) ToolJet 能覆蓋你的場景后再?zèng)Q定是否自托管。自托管最主流的部署方式是 Docker Compose。如果你準(zhǔn)備在生產(chǎn)環(huán)境使用建議為 ToolJet 準(zhǔn)備一臺(tái)獨(dú)立的 Linux 服務(wù)器。下面是一套基礎(chǔ)準(zhǔn)備工作。4.1 環(huán)境要求一臺(tái) Linux 服務(wù)器建議配置不低于 2 核 4GB 內(nèi)存實(shí)際占用取決于應(yīng)用數(shù)量和并發(fā)查詢量。Docker 與 Docker Compose 插件。這里不限定精確版本建議使用當(dāng)前主流穩(wěn)定版本。一個(gè)域名生產(chǎn)環(huán)境推薦并在 DNS 解析到服務(wù)器。用于 HTTPS 的證書可以用 Nginx 或 Caddy 反向代理終止 TLS。ToolJet 的完整部署模板通常從官方 GitHub 倉庫獲取不同版本的 compose 文件可能會(huì)有差異。部署前請先查閱官方部署文檔中對應(yīng)版本的說明。4.2 獲取部署配置并生成密鑰官方倉庫通常會(huì)提供示例環(huán)境變量文件和 compose 文件。部署前需要生成兩個(gè)關(guān)鍵密鑰SECRET_KEY_BASE和LOCKBOX_MASTER_KEY。這兩個(gè)值直接關(guān)系到會(huì)話加密和數(shù)據(jù)加密不能使用默認(rèn)值。# 生成兩個(gè)足夠隨機(jī)的密鑰 openssl rand -hex 32 openssl rand -hex 32把生成的值保存下來寫入環(huán)境變量文件。環(huán)境變量示例大致如下# 部署域名開發(fā)環(huán)境可以是 http://localhost:8080 TOOLJET_HOSThttp://your-domain.com # 是否允許新用戶注冊生產(chǎn)環(huán)境建議先關(guān)閉 ENABLE_SIGNUPtrue # 數(shù)據(jù)庫連接配置compose 模板中通常已預(yù)填 # POSTGRES_HOSTpostgres # POSTGRES_PORT5432 # POSTGRES_DBtooljet # POSTGRES_USERpostgres # POSTGRES_PASSWORDchange-me # 必填兩個(gè)隨機(jī)密鑰 SECRET_KEY_BASE替換為第一個(gè)openssl輸出 LOCKBOX_MASTER_KEY替換為第二個(gè)openssl輸出不要把真實(shí)的密鑰寫死在代碼倉庫里。在實(shí)際部署中可以優(yōu)先使用 Docker Secret、云廠商的密鑰管理服務(wù)或 CI/CD 系統(tǒng)注入的安全環(huán)境變量。4.3 啟動(dòng)服務(wù)執(zhí)行啟動(dòng)命令docker compose up -d啟動(dòng)完成后通過docker compose ps查看服務(wù)狀態(tài)。正常情況下會(huì)看到多個(gè)容器包括 ToolJet 主服務(wù)、PostgreSQL 元數(shù)據(jù)庫等。如果TOOLJET_HOST配的是http://localhost:8080你可以在瀏覽器直接訪問這個(gè)地址。第一次訪問會(huì)進(jìn)入初始化引導(dǎo)流程。如果ENABLE_SIGNUPtrue你可以先創(chuàng)建一個(gè)管理員賬號(hào)。這里有一個(gè)實(shí)用建議剛搭好環(huán)境后不要急著在正式數(shù)據(jù)源上操作先通過官方示例應(yīng)用體驗(yàn)一下界面和數(shù)據(jù)流再開始連接你真正的業(yè)務(wù)數(shù)據(jù)。5. 完整示例從零搭建一個(gè)訂單查詢后臺(tái)接下來用一個(gè)非常典型的內(nèi)部工具場景——訂單查詢后臺(tái)把 ToolJet 的核心流程串起來。假設(shè)你有一個(gè)訂單數(shù)據(jù)庫需要做一個(gè)頁面讓運(yùn)營同學(xué)按狀態(tài)查詢訂單并看到總銷售額。這里會(huì)先準(zhǔn)備一張測試表再在 ToolJet 里完成數(shù)據(jù)源、查詢、組件綁定和交互觸發(fā)。整個(gè)過程體現(xiàn)的并不是“不用寫代碼”而是“只用寫必要的 SQL 和少量 JS”。5.1 準(zhǔn)備測試數(shù)據(jù)為了方便演示先在 PostgreSQL 中創(chuàng)建一張訂單表并寫入測試數(shù)據(jù)。-- 創(chuàng)建訂單表 CREATE TABLE IF NOT EXISTS orders ( id SERIAL PRIMARY KEY, order_no VARCHAR(32) NOT NULL, customer_name VARCHAR(64) NOT NULL, product_name VARCHAR(128) NOT NULL, quantity INT NOT NULL, total_amount NUMERIC(10,2) NOT NULL, status VARCHAR(20) NOT NULL DEFAULT pending, created_at TIMESTAMP NOT NULL DEFAULT NOW() ); -- 寫入幾條測試數(shù)據(jù) INSERT INTO orders (order_no, customer_name, product_name, quantity, total_amount, status) VALUES (SO20250101001, 張三, 企業(yè)版訂閱, 1, 2999.00, paid), (SO20250101002, 李四, 團(tuán)隊(duì)版訂閱, 3, 899.00, paid), (SO20250102001, 王五, 專業(yè)版訂閱, 1, 1499.00, pending), (SO20250102002, 趙六, 企業(yè)版訂閱, 2, 5998.00, refunded), (SO20250103001, 錢七, 團(tuán)隊(duì)版訂閱, 1, 299.00, pending);這段 SQL 在任何支持 PostgreSQL 的客戶端里執(zhí)行都可以。它的目的是構(gòu)造一個(gè)足夠真實(shí)的業(yè)務(wù)表后面所有 ToolJet 演示都基于這張表。5.2 在 ToolJet 中添加 PostgreSQL 數(shù)據(jù)源進(jìn)入 ToolJet 工作區(qū)后先添加數(shù)據(jù)源。在左側(cè)導(dǎo)航中找到數(shù)據(jù)源或數(shù)據(jù)庫相關(guān)入口選擇 PostgreSQL填寫連接參數(shù)主機(jī)地址、端口、數(shù)據(jù)庫名、用戶名、密碼。如果 ToolJet 與數(shù)據(jù)庫部署在同一 Docker 網(wǎng)絡(luò)中主機(jī)地址一般填寫服務(wù)名而非localhost。填寫完成后點(diǎn)擊測試連接。如果失敗優(yōu)先檢查網(wǎng)絡(luò)連通性、數(shù)據(jù)庫賬號(hào)權(quán)限和端口放行。這個(gè)步驟是后續(xù)所有查詢的基礎(chǔ)連接配置通常只保存元數(shù)據(jù)信息不會(huì)直接讀取業(yè)務(wù)表結(jié)構(gòu)。5.3 創(chuàng)建查詢與 Transformer創(chuàng)建查詢是數(shù)據(jù)流的關(guān)鍵環(huán)節(jié)。在應(yīng)用編輯器中找到 Query Manager新建查詢選擇剛才創(chuàng)建的 PostgreSQL 數(shù)據(jù)源。第一個(gè)查詢是訂單列表查詢SELECT id, order_no, customer_name, product_name, quantity, total_amount, status, created_at FROM orders ORDER BY created_at DESC;第二個(gè)查詢是銷售額匯總SELECT COALESCE(SUM(total_amount), 0) AS total_amount FROM orders WHERE status paid;在 ToolJet 中查詢配置區(qū)還能追加 Transformer。所謂 Transformer就是一段 JavaScript 函數(shù)在數(shù)據(jù)庫原始結(jié)果返回給組件之前對數(shù)據(jù)處理一次。你可以用它在查詢結(jié)果上補(bǔ)充字段、格式化數(shù)字、過濾無效行。// Query Transformer 示例在訂單列表返回結(jié)果上增加一個(gè)格式化金額字段 return data.map(row { return { ...row, total_amount_display: ¥ Number(row.total_amount).toFixed(2) }; });Transformer 里執(zhí)行的是數(shù)據(jù)加工不是數(shù)據(jù)庫查詢因此不適合做復(fù)雜的聚合邏輯。聚合仍應(yīng)該交給 SQLTransformer 負(fù)責(zé)展示層的數(shù)據(jù)整理。5.4 在畫布中綁定組件查詢創(chuàng)建好后需要把結(jié)果展示到界面上。從左側(cè)組件庫拖入一個(gè) Table 組件到畫布。把 Table 的 Data 屬性設(shè)置為{{ listOrders.data }}這里的雙花括號(hào)是 ToolJet 的表達(dá)式語法里面的內(nèi)容是 JavaScript 表達(dá)式。listOrders是你的查詢名稱.data是查詢返回的數(shù)據(jù)數(shù)組。組件綁定后點(diǎn)擊預(yù)覽或運(yùn)行查詢表格就會(huì)顯示訂單數(shù)據(jù)。再拖入一個(gè) Text 組件或 Statistic 組件用于顯示銷售總額。同樣把它的值綁定到匯總查詢{{ summaryOrder.data[0].total_amount }}如果選擇的是 Statistic 組件通常只需要配置 Value 字段并選擇對應(yīng)查詢結(jié)果字段。這里的要點(diǎn)是理解表達(dá)式的數(shù)據(jù)流查詢先執(zhí)行組件再讀取查詢結(jié)果。5.5 添加篩選與刷新交互靜態(tài)列表顯然不夠?,F(xiàn)在添加一個(gè)下拉選擇組件讓用戶按訂單狀態(tài)篩選。新建一個(gè)查詢使用 ToolJet 表達(dá)式把下拉組件的選中值注入 SQLSELECT id, order_no, customer_name, product_name, quantity, total_amount, status, created_at FROM orders WHERE {{ statusFilter.selectedOptionValue }} ALL OR status {{ statusFilter.selectedOptionValue }};需要說明的是不同版本對組件值的表達(dá)式變量命名會(huì)有差異常見形式是{{ statusFilter.selectedOptionValue }}或{{ statusFilter.value }}。你在配置下拉組件時(shí)可以檢查組件的可用屬性以當(dāng)前版本實(shí)際支持為準(zhǔn)。再添加一個(gè)“刷新”按鈕在其事件配置里新增 Event Handler事件選擇 Click動(dòng)作選擇 Run Query目標(biāo)查詢選擇listOrders。這樣用戶點(diǎn)擊按鈕后ToolJet 會(huì)重新執(zhí)行訂單列表查詢界面數(shù)據(jù)同步更新。到這里一個(gè)包含列表展示、金額匯總、狀態(tài)篩選和手動(dòng)刷新的訂單查詢后臺(tái)已經(jīng)成型。5.6 發(fā)布應(yīng)用點(diǎn)擊編輯器右上角的發(fā)布按鈕ToolJet 會(huì)把當(dāng)前版本發(fā)布給有權(quán)限訪問的用戶。在發(fā)布之前最好先保存一次草稿版本。發(fā)布后的鏈接可以分享給團(tuán)隊(duì)內(nèi)部成員。這里不建議直接使用 Public 公開訪問權(quán)限而是讓用戶通過工作區(qū)賬號(hào)登錄后按角色查看。6. 對接 REST API 數(shù)據(jù)源與數(shù)據(jù)加工思路數(shù)據(jù)庫直連是 ToolJet 最常見的用法但很多內(nèi)部工具的數(shù)據(jù)源并不只是數(shù)據(jù)庫還可能來自企業(yè)內(nèi)部的 HTTP 服務(wù)。ToolJet 也支持 REST API 數(shù)據(jù)源。一個(gè)常見場景部門訂單系統(tǒng)已經(jīng)封裝了訂單查詢接口返回的是 JSON 數(shù)據(jù)但字段名是下劃線風(fēng)格而且接口分頁結(jié)構(gòu)比較嵌套。你可以新建一個(gè) REST API 查詢配置請求方法、URL、Headers 和 Body然后在 Transformer 里做數(shù)據(jù)整形。假設(shè)接口返回結(jié)構(gòu)是{ data: { list: [...] } }在 Transformer 中可以這樣處理// REST API 查詢的 Transformer 示例 const rawList data.data.list || []; return rawList.map(item ({ orderNo: item.order_no, customer: item.customer_name, amount: item.total_amount, status: item.status, createdAt: item.created_at }));在這里SQL 負(fù)責(zé)數(shù)據(jù)庫內(nèi)的過濾聚合REST API 負(fù)責(zé)獲取遠(yuǎn)程數(shù)據(jù)Transformer 負(fù)責(zé)把遠(yuǎn)程數(shù)據(jù)轉(zhuǎn)換為組件可直接展示的形態(tài)。這種分層思路會(huì)讓 ToolJet 應(yīng)用更容易維護(hù)。另外一個(gè)用途是寫回?cái)?shù)據(jù)。你可以在表單按鈕的點(diǎn)擊事件中觸發(fā)一個(gè) REST API 查詢把用戶在 ToolJet 表單里填寫的內(nèi)容提交給自己的后端服務(wù)由后端做業(yè)務(wù)校驗(yàn)和數(shù)據(jù)落庫。ToolJet 在這里扮演的是“快速開發(fā)的前端界面 API 調(diào)用客戶端”真正的業(yè)務(wù)完整性和安全管控仍然留在你的后端服務(wù)中。7. 權(quán)限、角色與發(fā)布管理內(nèi)部工具涉及業(yè)務(wù)數(shù)據(jù)權(quán)限模型不能忽略。ToolJet 的權(quán)限通常從三個(gè)層面理解工作區(qū)級別、應(yīng)用級別和數(shù)據(jù)源級別。工作區(qū)級別會(huì)區(qū)分管理員、普通成員等角色。管理員負(fù)責(zé)數(shù)據(jù)源配置、應(yīng)用發(fā)布、成員管理普通成員可能被允許創(chuàng)建應(yīng)用或只能使用被分配的應(yīng)用。應(yīng)用級別可以設(shè)置哪些角色能編輯哪些角色只能以只讀方式訪問。數(shù)據(jù)源級別則通過連接此數(shù)據(jù)源時(shí)使用的數(shù)據(jù)庫賬號(hào)密碼來約束底層權(quán)限。實(shí)際項(xiàng)目中的一個(gè)穩(wěn)妥做法是為 ToolJet 創(chuàng)建獨(dú)立的數(shù)據(jù)庫賬號(hào)而不是直接使用數(shù)據(jù)庫超級管理員賬號(hào)。例如只讀類應(yīng)用使用tooljet_readonly賬號(hào)連接數(shù)據(jù)庫該賬號(hào)只有 SELECT 權(quán)限需要寫回?cái)?shù)據(jù)的應(yīng)用再單獨(dú)使用一個(gè)最小寫權(quán)限賬號(hào)。這樣即使 ToolJet 前端配置被誤操作也不會(huì)直接放大數(shù)據(jù)庫權(quán)限影響。發(fā)布管理上ToolJet 會(huì)把應(yīng)用從草稿狀態(tài)發(fā)布為正式版本。對有版本回滾需求的團(tuán)隊(duì)建議在重要調(diào)整前記錄當(dāng)前版本或者先復(fù)制應(yīng)用作為備份再在副本上做改動(dòng)驗(yàn)證沒問題后切換。8. 常見問題與排查思路基于自托管 ToolJet 和日常使用經(jīng)驗(yàn)這里整理幾個(gè)容易遇到的問題及排查思路。問題現(xiàn)象可能原因排查方式解決方案部署后瀏覽器無法訪問環(huán)境變量中的 HOST 配置錯(cuò)誤或容器未啟動(dòng)完整查看docker compose ps與容器日志修改TOOLJET_HOST確認(rèn)端口映射正確后重啟容器反復(fù)重啟數(shù)據(jù)庫初始化失敗或密鑰環(huán)境變量缺失docker compose logs查看啟動(dòng)報(bào)錯(cuò)確認(rèn)SECRET_KEY_BASE、LOCKBOX_MASTER_KEY已正確配置ToolJet 連接不上業(yè)務(wù)數(shù)據(jù)庫網(wǎng)絡(luò)隔離、賬號(hào)權(quán)限或端口不通先用數(shù)據(jù)庫客戶端從同一網(wǎng)絡(luò)測試連接打通網(wǎng)絡(luò)創(chuàng)建獨(dú)立賬號(hào)并授權(quán)最小權(quán)限能連數(shù)據(jù)庫但查詢結(jié)果為空SQL 條件錯(cuò)誤或查詢未執(zhí)行成功查看查詢運(yùn)行返回的結(jié)果和錯(cuò)誤信息在數(shù)據(jù)庫客戶端單獨(dú)執(zhí)行 SQL排除 SQL 本身問題表格組件不顯示數(shù)據(jù)Data 屬性綁定表達(dá)式錯(cuò)誤檢查綁定表達(dá)式中的查詢名稱和.data路徑修正組件 Data 屬性確認(rèn)查詢名稱拼寫一致點(diǎn)擊按鈕沒有反應(yīng)事件處理器沒有配置或選錯(cuò)查詢檢查按鈕的事件配置重新添加 Run Query 事件并選擇正確查詢Transformer 返回結(jié)果不對對原始數(shù)據(jù)結(jié)構(gòu)理解有誤先在不帶 Transformer 的情況下運(yùn)行查詢查看原始輸出在 Transformer 中用return返回處理后的數(shù)組遇到問題時(shí)最有效的排錯(cuò)路徑是先看查詢是否能獨(dú)立運(yùn)行并通過再看組件綁定是否正確最后檢查事件觸發(fā)鏈路。ToolJet 的查詢編輯器中一般會(huì)顯示運(yùn)行結(jié)果和錯(cuò)誤信息這是定位問題的最直接入口不要只盯著頁面上不顯示數(shù)據(jù)的結(jié)果看。9. 生產(chǎn)環(huán)境部署與工程建議從跑通 Demo 到真正讓團(tuán)隊(duì)依賴 ToolJet中間還差一套工程規(guī)范。以下幾點(diǎn)是我認(rèn)為比較關(guān)鍵的生產(chǎn)環(huán)境建議。第一不要在容器外面裸跑 HTTP。自托管 ToolJet 默認(rèn)是 Web 服務(wù)建議在前面增加反向代理并啟用 HTTPS。使用 Nginx 或 Caddy 都可以配置時(shí)把對應(yīng)域名和 TLS 證書指向 ToolJet 服務(wù)端口即可。這樣既能加密傳輸也能統(tǒng)一控制訪問入口。第二做好元數(shù)據(jù)庫的備份。ToolJet 自身的應(yīng)用配置、用戶信息都保存在它的元數(shù)據(jù)庫中相當(dāng)于這個(gè)平臺(tái)的“源代碼”。建議把元數(shù)據(jù)庫納入日常備份策略備份頻率和應(yīng)用變更頻率匹配。否則一次誤刪除應(yīng)用或數(shù)據(jù)庫損壞會(huì)造成大量配置丟失。第三建立數(shù)據(jù)源賬號(hào)隔離規(guī)范。給 ToolJet 使用的業(yè)務(wù)數(shù)據(jù)庫賬號(hào)應(yīng)該遵循最小權(quán)限原則。單獨(dú)的只讀應(yīng)用用只讀賬號(hào)需要寫數(shù)據(jù)的應(yīng)用用專門申請的低權(quán)限賬號(hào)。不要把云數(shù)據(jù)庫的高權(quán)限賬號(hào)直接配置在 ToolJet 數(shù)據(jù)源里。第四密鑰管理要自動(dòng)化。SECRET_KEY_BASE、LOCKBOX_MASTER_KEY、數(shù)據(jù)庫密碼等都屬于敏感信息。部署配置應(yīng)該放入密鑰管理環(huán)境而不是以明文形式提交到 Git 倉庫。推薦至少做到部署環(huán)境從環(huán)境變量注入密鑰禁止把包含密鑰的.env文件提交到代碼庫。第五應(yīng)用內(nèi)部不要硬編碼敏感信息。低代碼工具很容易讓人忽略安全邊界。如果某個(gè)應(yīng)用需要調(diào)用第三方服務(wù)應(yīng)該優(yōu)先將 API 密鑰放在 ToolJet 支持的安全存儲(chǔ)位置或者通過你自己的后端服務(wù)做一層代理只在 ToolJet 中配置代理地址。不要把真實(shí)密鑰寫在頁面組件的默認(rèn)值里。第六版本升級前先在測試環(huán)境驗(yàn)證。ToolJet 迭代速度不慢新版本可能引入新特性也可能改變已有組件行為。生產(chǎn)環(huán)境升級前先測試環(huán)境備份當(dāng)前版本的數(shù)據(jù)和配置執(zhí)行升級后用核心應(yīng)用做一次回歸確認(rèn)沒有破壞性變化后再升級生產(chǎn)。第七控制自建應(yīng)用的數(shù)量和復(fù)雜度。內(nèi)部工具的數(shù)量增長很快但并不是所有應(yīng)用都該放在同一個(gè) ToolJet 實(shí)例里。一個(gè)團(tuán)隊(duì)可以按業(yè)務(wù)域拆分工作區(qū)避免把所有應(yīng)用和數(shù)據(jù)源集中在一個(gè)空間里。對于復(fù)雜度明顯飆升的應(yīng)用比如大量相互依賴的事件邏輯、復(fù)雜嵌套的 Transformer應(yīng)該重新評估是否已經(jīng)超出了低代碼平臺(tái)的舒適區(qū)。10. 總結(jié)與后續(xù)學(xué)習(xí)方向ToolJet 的價(jià)值不在于“不用寫代碼”而在于把內(nèi)部工具開發(fā)中最耗時(shí)的通用部分比如頁面搭建、數(shù)據(jù)源連接、查詢調(diào)度、權(quán)限配置和部署發(fā)布變成可配置的標(biāo)準(zhǔn)化流程。它把開發(fā)者的精力釋放出來讓你專注于業(yè)務(wù)邏輯、數(shù)據(jù)模型和安全邊界。同時(shí)開源自托管模式讓團(tuán)隊(duì)可以掌握平臺(tái)本身而不是被動(dòng)接受某個(gè) SaaS 的規(guī)則限制。如果你準(zhǔn)備落地實(shí)踐建議按下面順序行動(dòng)先用官方示例或自己的測試庫把本文的訂單查詢示例完整走一遍然后梳理團(tuán)隊(duì)里一個(gè)最不起眼的小后臺(tái)嘗試用它替代跑通后再逐步擴(kuò)展數(shù)據(jù)源和權(quán)限模型。不要一上來就追求建設(shè)一個(gè)龐大的低代碼平臺(tái)內(nèi)部工具本身也是從最小可行性開始的。下一步可以繼續(xù)深入的方向包括ToolJet 的工作流編輯能力適合處理簡單審批和狀態(tài)流轉(zhuǎn)多環(huán)境管理把開發(fā)、測試、生產(chǎn)環(huán)境的數(shù)據(jù)源隔離開以及自定義組件開發(fā)如果標(biāo)準(zhǔn)組件覆蓋不了你的交互開源項(xiàng)目允許你擴(kuò)展。最后提醒一點(diǎn)一切工具都只是手段判斷一個(gè)內(nèi)部工具是否成功的標(biāo)準(zhǔn)仍然是它能不能讓團(tuán)隊(duì)更快、更安全地完成業(yè)務(wù)目標(biāo)。選一個(gè)合適的場景先跑起來比反復(fù)評估更實(shí)際。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲电影中字一区二区| 人妻一二三区| 67914亚洲精品| www. 男人天堂成人在线| 97亚洲在线| 欧美黄片免费在线观看视频| 97精品网站| 热99这里有精品综合久久 | 伊色综合天堂色97| 午夜精品久久久99热蜜桃的功能特点| 亚洲做性| 老熟女91视频| 五月丁香六月激情综合| 影音资源男人日韩| 最新中文字幕精品在线| 裸模AV女优| 日少妇视频| 五月天激情影院| 夜夜国自区| 十八禁视频一区二区| 日本天天吊| 暖暖精品二区三区观看| 91在线综合网| 欧美日韩亚洲天堂| 五月丁香网站| 日韩性爱小视频| 秋霞蝌科网日本一区| 青青操少妇| 亚洲色图欧美色图另类图片| 操九九九九九九| 亚洲一区二区精品福利| 五月婷婷综合激情| 日韩欧美~中文字| 亚洲欧美日韩制服另类| 亚洲 另类 丝袜 自拍 动漫| 国产精点久久久成人| 99re在线精品78| 26uuu国产日韩综合在线观看| 久草资源在线| 一区黄二区黄| 天天操人人操狠狠插| www四虎| 亚洲综合在线第一页| 日本曲间由美性生活片| 人妻丝袜美腿中文字幕| 亚洲免费97免费| A 在线网址| 天综合网欧美| 五月丁香六月激情| 懂色aV一区二区天美传媒| 密臀在线免费观看| 大香网站| 国产精品99999| 99热这里只有精| 91内射| 美女诱惑在线一区| 日本不卡高清免v欧美日韩在线观看| 亚洲日韩一区电影| 日本 免费 一区二区三区 久久香蕉 | 97精品国产97久久久久久| 国产欧美日本亚洲精品| 97欧美久久久久久久| 色欲天天综合网| 爱逼综合| 青青青草原| 国产三级日产三级韩国三级| 美女诱惑一区| 久久偷偷色综合蜜桃| 操操啪| 精品久久久久久无码| 中文字幕午夜精品久久久| 97干在线视频| 北约熟女超碰| 亚洲加勒比久久日本道| 后入福利| 欧洲与亚洲欧美精品中文字幕| 78精品| 怡红院怡春院| 九九色色| 曰韩无码777| 秋霞一级鲁丝片A片| 97国产精品久久久久| 蜜桃久久综合视频| 亚洲日韩精品在线播放| 久久一区二区高清免费| 日本人妻最新在线中| 欧美亚洲清纯| 日韩欧美天天爽爽爽天天爽爽| 亚洲一卡二卡在线免费| 天天看天天日| 国产精品96久久久久久| 精品大全99999| 青青草视频久久久久| 国产第25页在线观看| 日韩av在线精品观看| 蜜臀中文无码午夜| 精品妇操一区二区三区| 伊人操操| 久久人人爽爽爽人久久久| 99热综合| 超碰免费人人| 五月婷久久| 一级二级在线观看| 蜜臀久久99精品久久久| 日韩精品一区二区人人人| 国产精品久久久久久9999| 精品人妻一区二区免费蜜桃| 99re在线观看| 免费看污网站| 美女黄页| 四虎影视在线| 一级性爱啪啪视频| 人妻欧美| 久久久久久97| 天天综合97| 91丰满| 无马一区二区| 94色色电影网| 夜夜夜夜久久久久| 极品少妇久久久久| 久操国产在线| 色99999| 青青草好吊色| 欧美影院一区二区三区| 摸奶性爱视频网站在线免费播放| 小草av不卡亚洲二区| 日韩啪啪啪视频| 欧美一区二区情色| AV丝袜少妇| 欧美日韩大陆黑人少妇99| 97 超碰 人人做 人人爱| 天天弄欧美| 91扒丝袜综合在线| 麻豆婷婷成人一二三| 殴洲老熟女| 性爱AV天堂| 日韩精品国模| 三男一女不戴套的A片| 极品综合| 人人操人人狠狠操| 国产原创精品| 国产乱码久久久久久| 超碰这里有精品| 亚洲激情深爱文学小说网站| 日本加勒比无码专区| 国产精品播放| 欧美经典一区二区三区| 黑丝内射一区二区三区| 色女综合| 玖玖爱伊人玖玖爱| 国语少妇精| 欧美亚洲国产91在线| 国产在线视频二区| 青青草操逼逼视频| 超碰97最新人妻| 亚洲黄a三级三级三级看三级| 欧美亚洲性爱一区二区| 96国产污污污丝袜| 日韩97P| 亚洲国产97| 熟女熟妇伦久久影院毛片一区二区| 国产丝袜视频| 欧美中字不卡| 97在线观看| 一线黄色免费性爱片| 人妻99p| 蜜桃在线观看一区二区三区 | 91视频女生| 国产热av| 九九九色| 亚洲Av无码成人精品国产| 日韩另类色图| 99久在线精品99re8蜜桃| 国产精品又黄又猛又粗| 91中文在线| 欧美在线视频播放| 国产精品久久久吖| 亚洲精品丝袜-不卡成人免费……| 男人天堂欧美| 少妇高潮喷水无套久久久久久| 国产精品九9| 久久超碰98| 精品人妻一区二区三区日产| 天堂8在线新版官网| 久日91在线| 伦理第一页| 久草免费福利在线播放| 伊人991| 97在线免费观看视频| 亚洲第一成人影院色播| 97色色色综合网站| 久久精品一区二区| 超碰人人乐97| 欧美色九九| 黄片aaaaa一区| 97人人爱人人做人人乐| 熟女人妻一区二区三区免费看| 综合网 欧美| 999亚洲国产视频| 精品久久久中文字幕不| 91精品人妻一区二区三区蜜桃| 欧亚日韩中文在线| 深夜激情无码| wuyechaopeng| 国产日韩欧美亚洲精品95| 国产精品乱人伊人网| 久久精品超碰| 人妻夜夜爽天天爽麻豆三区网站 | 99re98| 偷拍综合网| 中文字幕在线免费观看视频| 久久亚码| 日本午夜操逼| 日本性一区| 91在线精品| 精国久久一区二区三区98| 日韩中文字幕国产| 丁香婷婷激情五月天无毒不卡| 欧美影音在线| 萌白酱自拍视频| 亚洲欧洲日产国产综合网| 亚洲精品国产日韩无码AV永久免| 操死我干死我| 久久国产999| 91午夜无码| 欧美页片| 强奸乱伦日韩AV| 日日摸日日碰| 99久久网站| 夜草欧美| 午夜色婷婷| 偷拍导航视频网站| 久久国产精品91| 国产精品黑人一区二区三区| 欧美性爱一区二区三区四区| 一本一道vs波多野结衣| 久久香蕉国产线看观看亚洲女人 | 嗯嗯,好大,好爽,好骚 | 国产精品免费视频不卡| 五月天久久婷婷亚洲 | 天堂8在线新版官网| 久欲AV| 午夜黄色免费在线观看| 啊啊啊想要| 国产欧美美女免费观看视频| 国产精品99精品视频网站| 神马久久69| 岛国黄色大片网站| 伊人网免费视频| 久草综合视频| 久久久精品成人国产| 人人妻人人玩人人澡人人爽| 99黄页网站| 91精品大奶人妻| 亲子敌伦对白在线播放| 97视频www| 国产1769在线| 人人爱人人乐人人操| 91N综合在线| 精品在线观看视频在线| 国产不良强奸视频免费看| 青青三级视频| 蜜桃色色网站视频三区| 日本精品第一视频在'| 97超碰碰| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 人人干人人操人人..com| 色香欲综合| 国产污视频麻豆传媒一区二区| 97欧美精品| 欧美亚洲AN| 大香蕉人妻| 国产精品探花色| 欧美色道啊| 综精品久久久aaaa| 九九精品热| 91c色| 天天看精品动漫视频一区| 2020中文字幕在线| 天天综合网91入口| 丁香六月啪啪| 女人双腿搬开让男人桶| 亚洲AV秘 精品久久老牛影视| 国产又大又粗又长视频在线| 五月丁香六月婷| 高清无码一区二区三区| 欧洲在线性爱视频| 精品人妻15区| 极品一区二区三区免费| 无码男人天堂| 伊人国产视频| 国产精品在线网站| 乱子伦一区二区三区国产精品| 可以在线观看AV的网站| 熟女激情综合网| 97超碰色色| 天天综合网亚洲综合网| 欧美成人精品一区二区男人蜜臀 | 老熟女91视频| 欧美综合天堂| 中国91AV| 欧色网址| 亚洲精品蜜桃久久久| h色99999| 91在线/欧洲| 色老汉色| 国产精品久久久777| 六月婷激情福利天堂69| 日韩另类色图| 啪啪视频mP4| 欧美日韩操逼嗦吊| 强奸a片网| 欧美性爱中文字幕无线码| 伊人操你| 一区二区三区黄色片a| 中文字幕日韩精品久久| 亚瑟国产精品久久无码| 交换娇妻呻吟声不停中文字幕| 熟女露脸激情自拍视频| 啊啊啊啊,啊啊好多水| 香蕉免费一区二区三区不读| 亚洲熟女一区| 色九九久九九| 久久大黄片| 亚洲在线| 日韩性爱视频在线免费观看| 黄色av网站在线播放| 久久精品国产AV一区二区三区| 9.1小视频| 台湾佬中文娱乐网久久久久久久久久com| A片 AV一级在线播放观看免费| 99re视频这里只有精品| 性天堂| 人人摸.人人色| 3P乱轮视频| 岛国片国产成人亚洲播放| 亚洲第2页| 色综合久| 欧美激情超碰777| 青青草色插素人| 啊啊啊啊在线播放| 999久久久免费精品国产牛牛| 人妻少妇无码| 极品另类| 1024人妻熟女一区二区三区| 成人看片网站| 97一本大道亚洲一区| 大香蕉99热| 欧美熟女妇同| 日本久久久久久久久久| 男女啊啊啊| 日韩黄色片子| 欧美婷婷| 粉嫩小泬久久久一区二区| 清纯唯美综合亚洲| 操b在线观看| 男女一级A片大黄,一进一出| 亚洲人在线| 超碰碰小说97| 99e久久国产精品| www.91色| 亚洲综合图片在线| 黄片www视频免费| 亚洲最大的综合性av| baisiav| 精品人妻一二三四区视频| 美女91| 日韩欧美综合激情| 成人精品视频一区二区| 亚洲美腿丝袜香蕉影视欧美成人| 欧美激色| 国产91 丝袜在线播放00-百度| 极品美女嘿咻| 久久专区| 蜜乳AV色欲AVAV无码| 九九热免费在线国产视频伊人五月| 色婷婷五月天| 超碰吊日色| 草草影院日本第一页| 熟女精品一区二区三区| 蜜桃狠狠色伊人亚洲综合| 日本一区不卡| 屌色在线97视频| 97亚洲国产| 伊人网免费视频| 日本免费中文一区二区三区四区| 精品大久久| 青青草影视蜜久久| 狠狠色噜噜狠狠狠狠狠色综合久久| 国产亚洲日韩在线三区黑人| 91国产丝袜足交精品视频| 偷拍导航视频网站| 97最新在线播放视频| 熟女高潮合集-永久久久-成人AV | 亚洲精品视频在线播放| 久久华人网| 欧美日韩在线国产在线| 我中文字幕6区| 欧美爆乳精品一区二区| 蜜桃传媒一区二区亚洲| 激情综合网激情综合| 婷婷色婷婷| 久草成人影片| 五月天婷婷色色| 久久久无码精品人妻二区| 另类小色呦| 少妇蹲下买菜露大唇0| 国产乱伦性爱区| 伊人国产视频| 国产69精品久久久久99尤物| 97精品在线| 亚洲成人碰碰| 激情综合网五月婷婷五月天| 玖玖爱免费观看视频| 日本欧美色| 欧美日韩色综合网| 亚洲综合性网址| 日韩免费大片一级播放| 日本中文字幕熟妇| 手机看片1025| 欧美性夜| 欧美一区二区三区大综合| 国产精品麻豆成人av| 中 文字幕一区二区三四 五 区日 日 骚| 91日韩在线| 91爱剪切久久| 高清不卡一二三区视频......| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 欧美一区二区成人一卡| 黄色小视频日本txt| 国产精品午夜精品| 四虎AV在线观看| 久久久久97| 操逼精品视频| 5月婷婷6月六月丁香| juliaann欧美丝袜办公室| 超碰在线成人| 欧洲黄色网| 欧美熟女逼久久久久久| 95精品在线| 国产性爱在线视频一区二区| 午夜经典| 男人久久精品| 亚洲啪啪性视频| 色欲天天综合久久久无码网中文| 精品亚洲国产成人AV制服丝袜| 伊人大香蕉在线| yiqicaoav| 欧美色图下一页| 国产亚洲精品自在线亚洲情侣| 伊人玖玖网| 日本岛国黄色网址| 免费精品国偷自产在线在线| 91精品在线播放| 欧洲Au麻豆| 粉嫩不卡一区二区性爱| 欧美天天射| 福利天堂| 黄色小说亚洲| 超碰99在线| 九月激情婷婷| 久久久久久久人妻丝袜| 久草电影网| 操逼内射干逼白丝91| 国产精品久久久鸭无码的功能| 天天内射| 亚洲色五月| 亚洲αv一区二区三区| 亚洲福利影院一区久久| 蜜桃臀av一区二区| 91无码人妻| 蜜桃视频一区二区三区在线观看| Sekablack无码一区| 久久97视频| 一级黄碟在线看| 国产剧情一区在线观看| 户外裸露刺激视频第一区| 乱伦熟女专区| 欧美日韩中文字幕人妻| 香蕉久久AⅤ...| 亚洲无992tv| 97超视频在线观看| 久草婷婷| 久久综合女优| 大香蕉综合| 私色综合网| 久久五月婷| 欧美日韩香蕉| 91快色色色色色| 亚洲精品国产无码高清| 中英熟女操女| 污色区网站| 精品午夜福利| 啊啊嗯嗯好爽| a级免费在线观看| 欧美天天弄| 亚洲高清色综合| 国产在线激情| 美女黄色91| 亚洲在线A| 淫穴高潮色图| 青青草五月份天| 女人18精品一区二区三区| 亚洲久久东京热一二三四五区视频| 日亚韩精品视频二区三| 404操逼福利视频| 成人麻豆av电影网站| Av手机版天堂网| 国产乱伦性爱区| 国产无码高清操逼视频| 久久久亚洲Av| 日韩探花精品在线视频| 亚洲图片欧洲图片aⅴ| 亚洲一卡2卡3卡4卡乱码网站 | 日本激情免费大片| 艹少妇网站| 日韩成人性爱电影在线播放| 久久一区二区三区入口| 国产无马av| 久久伊人大香蕉| 蜜桃臀av在线观看| 4141514逼喷水三级片| 超碰性爱97| 97在线青| 欧洲视频在线| 大肥女高潮bbwbbwhd视频| 欧美gv在线观看| 不卡av免费在线网址| 亚洲日韩在线a不卡99精品| 日韩免费看在线黄色片| 日本人人操人人操| 天堂蜜桃无码视频一区二区| 男人的天堂色偷偷青青草视频婷婷网| 六月丁香五月婷婷| 欧美色三级片91| 四虎884a| 久久久女人| 久久永久无码人妻视频| 91三级理论片播放器| 九九热超碰| 大香蕉天天看妹子| 97在线观看免费| 亚洲欧美另类激情小说| 顶级丝袜熟女一区二区三区| 水野优香在线观看| 91丨精品丨国产丨丝袜| 亚洲男人天堂2017| 日日日日做夜夜夜夜无码| 日韩人妻无码专区| 亚洲五区熟女| 999色欧美中文字幕| 黄片www视频免费| 日韩欧美俄罗斯A片| 日韩乱码Av| 99蜜月精品久久| 国产呦精品系列在线观看| 国产精品黑人一区二区三区| 国产精品亚洲一区二区三区四区| 日韩国产乱子伦App| 99re视频在线观看这里只有精品| 丁香五月色情| 伊人操操| 自拍内地三级在线观看| 屌逼传媒| 亚洲91射| 欧美激情另类一区二区| 久久国产99精品72福利| 亚洲国产97在线精品一区| AV和黑人在线播放| 一道本久久棕合爱| 骚熟女AV网| 亚洲自拍天堂| 91丝袜美女| 国产又粗又长又大的视频| 精品国模无码| 婷婷五月天补不补| 亚洲综合 欧美| 天天干人人看综合| 国产又色又爽又舒服的三级视频| 99久久久无码精品国产人| 丁香六月啪啪| 9九九国产| 91精品微拍福利| 国产av高清版| 欧在线一二区| 人妻天天夜夜爽一区二区| 啊啊啊轻点在线观看| 福利社区午夜一区二区| 欧美97在线观看| 老司机午夜精品视频| 五月丁香| 蜜臀网 一区| 亚洲啪啪性视频| 天天操熟妇| 性做久久久久久免费观看软件| 九九这里只有精品| 久久亚洲一区女同性恋中文字幕| 99久久精品国产系列| 大香蕉伊利av| 亚洲天天操| 中文字幕国产精品1区| 少妇色欲综合网2| 综合久久中文字幕综合日韩精品| 高清不卡视频| 大粗鳼巴久久久久| 欧美日韩操逼嗦吊| 欧美一区二区三区成人性生活| 91少妇通奸网站| 国产精品成人福利在线| 亚洲美女黄色| 99色在线| 色吧 综合| 欧色综合| 国产自产一区视频在线| 无码九九九九| 五月色综合| 精品无码秘 人妻一区二区| 色老汉色| 四虎影视永久在线免费| 激情婷婷丁香网| 久热9| 69一区二区三区 | 狠狠2050在线观看| 天天躁日日躁成人字幕aⅴ| 97精品久久久久中文字幕| 免费在线黄片视频| 国产97色在线 | 亚洲| 精品色色| 国产 日韩 欧美高清| 久久噜噜噜精品国产亚洲综合| 日本乱人伦片中文三区| 亚州综合色图| 午夜欧美女人操逼| 蜜臀久久99精品久久久久久无删减 | 免费av高清无码| 天天躁狠狠躁av| 色综合色欲色综合色综合色综合| 亚洲揄拍网| 2018色综合天天操| 亚洲一区二区三区春色| 少妇激情AV| 久久这里都是精品| 色爱三区| 久久久久久亚洲Av无码精| 精品制服美女中文一区二区三区| 色翁荡息又大又硬又粗又爽| 欧美色蜜桃97| 神马久久中文字幕| 五月婷婷激情网| 国产Av超碰| 天天情欲宗合网| 操婷婷逼| 久久久久久69国产一区二区| 蜜臀网 一区| 亚洲 另类 丝袜 自拍 动漫| 禁片 高清 在线观看视频网站| 91劲爆| 99色色网| 久久这里只精品免费福利| 后入式视频国产自| 日本在线一二 | 99在线无码精品秘 入口黑人| AV老汉| 志村玲子视频一区二区| 九九久久一区二区伦理| 亚州熟女乱伦| 人妻少妇无码| 亚洲Av噜噜一区二区三区妖精| 精品亚洲一区在线观看| 亚洲不雅视频1区二区| 在线天堂999| 思思热在线视频精品| 亚洲97久久精品亚洲| 久久狠狠色噜噜狠狠狠狠97| 全国男人天堂网| 欧美97日韩| 熟女突然公开看18禁影片 | 欧美日本中字另类在线| 久久久久久99AV无码免费网站| 欧美三级免费伊人| 麻豆人妻精品一区二区| 破苞ⅩXXX性无码动漫无码| 91丨豆花丨熟女| 亚洲高潮影院| 无码人妻系列少妇| 中文字幕人乱码中文字的预防方法 | 亚洲永久AV无码精品秋霞| 欧洲色| 丁香五月性| 色官网在线| 亚洲一区二区中文字幕| 国产精品宅男免费| 十八禁的黄污污免费网站| 日韩黄片影院| .精品人妻一区二区三| 亚洲色图欧洲| 骚女天天综合网| 99re黄| 精品视频一二三中文| 少妇的嫩逼图片| 久久嫩草| 97aiaiai| 亚洲最新Av| 国产又色又粗又黄又爽| 欧美日韩不卡a片| 啊啊啊好多水| 草草草草视频| 九九碰九九爱97超| 高清无码人妻久久久一区二区三区aⅴ| 国产熟女少妇一区| 青娱乐亚洲热| 草伊人高潮喷水超碰| 欧美久久婷婷| 久久久久元码视频| WWW美腿丝袜香蕉中文| 91夜夜蜜桃臀1区2区3区| 人人妻人人色| 青青草中日韩在线| 理论久久婷婷网8| 爱爱动态60秒| 国产精品久久久久久久电影渣男| 天堂性色| 啊啊啊啊网站| 乱伦a片视频| 久草福利在线资源站| 丁香六月啪| 亚洲AV免费在线观看| 久草婷婷| 天天干夜夜| 97免费在线视频| 新久久AV| 色99在线| 国产亚卅97| 操逼无毒无码免费视频| 欧美 亚洲 在线| 无码高清少妇久久| 抽插无码高清一区| 伊人大香蕉在线| 九九热超碰97亚洲最新香蕉 | 亚洲精品久久久久毛片A片拉屎 | 欧美久久久| 国产sv美女内射| 久久永久无码人妻视频| www国产天美久久久| 992这里有精品| 丝袜天堂| 农村少妇久久久久久久| 国产女同在线观看视频| 日操粉逼逼| 91暧暧| 久久亚州大香蕉| 久久久久九九九九| 天天躁日日躁AAA片李宗瑞| 91麻豆va国产精品| 裸模AV女优| 亚洲女人91| 一区操逼日比视频| 91久精品| 精品国产乱码久久久久久久久久毛片| 国产91丝袜在线播放蜜月| 国产91福利小视频在线观看| 国产亚洲禁久一区二区| 人妻在线臀日韩| 色原狠狠天天天| 久久亚洲中文字幕视频| 欧洲亚洲国产综合在线| 亚洲色图久久成人| 91欧洲入口| 免费自拍三级综合| 色噜噜国产在线| 欧美啪啪啪91| 秋霞蝌科网日本一区| 啊v视频在线观看| 久久日本熟妇熟色高清| 亚洲欧美日韩中文播放| 日本一级一级一级一级| 色色青青久久| 天天操夜夜操狠很操| AND人妻系列| 亚洲不雅视频1区二区| 最近2019中文字幕国语免费版| 日韩激情中文字幕有码| 国产精品久久久视频| 久草这里只有精品| 九色婷婷| 综合网亚洲1| 精品国产丝袜一区二区三区乱码| 国模不卡| 欧美日韩人人精品| 国产精品一区二区后入| 在线中文字幕| 亚州色图狠狠干| 伊人影院日本| 爽爽歪在线视频| 蜜臀久久99精品久久久久久酒店| 黄色片A级一区二区三区| 五月丁香婷婷综合| 老熟乱一区二区三区四区| 国产三级日产三级韩国三级| 天天干1区2区在线| 久久精品店| 欧美激情亚洲情色| 国产无码精品高清| 有码人妻系列| 色色毛片| 97综合在线观看| 99re黄 | Aa东京男人的天堂| 综合免费无码中文| 欧美在线中M| 亚洲成人美女无吗| 18精品一区| 久久精品午夜国产亚洲AV无码| 强奸乱伦日韩AV| 人人手机欧洲亚洲国产人妻| 成人久久久| 区一在线观看| 91影库| 九九人妻| 久久思思热| 国产精品美女| 97资源欧美| av毛片aaaaa免费看| 日韩9999| 免费的黄片有限公司| 欧美91在线+|+欧美| 成人97人人超碰人人| 欧美熟妇亚洲版| 超碰人人干| 国产一国产一级毛片古装| 亚州综合电影| 亚洲黄色a级片| 久久久91福利姬| 婷婷五月天福利| 亚洲在线网站| 91少妇通奸网站| 五月天激情网图片| 熟妇综合一区二区三区| 91伊人久久在线| 欧美天天插| 一起草欧美| 久久久久久加勒比| 成人综合网 欧美| 人人干人人操人人..com| 亚洲一区二区av| 亚熟在线| 91一区二区三区蜜桃| 久草草一二三四区久久| 亚洲国产激情国产av| 亚洲成人激情小说视频| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 丝袜美腿丝袜| 在线视频一区二区传媒| 欧美少妇性爱网站| 婷婷久月| 婷婷久草| 99无码视频| 最新亚洲人成网站在线影院| 91男人天堂网| 啊好大好舒服| 久久久久成人亚洲国产| 人人爱人人乐人人操| 大香蕉99热| 自拍大香蕉乱插| 亚州熟女乱伦| 亚洲欧美洲综合| 麻豆传媒一区二区在线观看| 色婷婷五月天| 乱伦系列一区二区| 人人做,人人操,人人摸| 亚洲av资源| 龙兴卡官方查询| 熟女在线视频| 成人情色一区二区| 爱av免费| 日韩三级伦理中文字幕| ...日韩成人一区二区三区字幕| 亚洲牲交| 伊人性在线视频| oumeizonghese,www| 99久久这里只有精品| 亚洲高清无码免费观看视频| 欧美91视频| 亚洲精品久久久久毛片A片拉屎 | 97超碰天天爱天天爱| 激情综合五月| 欧美日本国产日韩激情视频| 欧美一二三级精品在线| 人妻夜夜爽天天爽三区麻豆AV网站| 黄色二级片网站| 五月丁香激情综合网| 亚洲一区二区三区不卡国产欧美| 人妻精品一区二区全免费| 操人无码| 国产综合网站在线播放 | 天天干,夜夜爽| 伊人女女资源在线观看| av在线不卡一区二区三区| 熟女激情综合网| 放黄片放3级黄片没穿衣服| av天天在线| 欧美91在线+|+欧美| 熟女自慰久久久| 精彩国产视频播放1区2区| 无码欧美有限公司| 高凊专区人人操| 青青草在线成人视频| 日本久操视频| 日本一区二区三区欧美日韩中文字幕| 久久五十路熟女人妻| 凹凸视频在线一区二区| 999热日韩精品| 丝袜美腿操av| 国产伦精品| 亚洲色综合| 色臀AV| 欧美天天射| 丝袜综合网| 中文字幕在线观| 最新亚洲黄色免费电影| 久久精品福利影院| 岛国黄| 浓厚中出中文字幕在线| 日产操逼| 三级AV入口| 操逼不卡中文字幕| 第一高清av中文字幕| 欧美久热| 亚洲情色91| 亚洲国产综合久久久性感熟妇| 3p国产色噜噜一区| 偷窥自拍亚洲天堂网爆| 色婷婷小说| 亚洲国产无码精品首页久久久| 久久国产熟女影院| 国产操伦| 午夜男女爽爽爽在线视频| 国产亚洲色婷婷久久99精品91| 欧美午夜视频免费观看| 国产精品无码av| 精品国产丝袜一区二区三区乱码| 欧美亚洲清纯| 国产精品农村妇女| 欧美成人一级麻豆| 国产51色综合久久免费| 不卡免费av在线播放| 天天摸,夜夜摸| 免费的av网| 亚洲 欧美 小说| 极品美女嘿咻| 成人午夜高潮av猛片| 四虎影视永久在线免费| 色婷婷激情| 欧洲亚洲人妻无码中字久久三区四区 | av资源在线观看少妇| 人妻加勒比东京热| 成人十八禁日韩欧美一二三| 欧美性色欧美| 日韩免费三级黄片电影| 高清一区AV无码| 99热官网| 9精品久久| 超碰2017| 黄色av片三级三级三级免费看| 超碰在线人人射| 国产色综合亚洲色综合吹潮| 国产AV久久久蜜爱影集| 欧美亚洲20p| 欧美日韩青操| 婷婷激情四射| 精品偷拍13p欧美dodk视频| 屁屁影院一区二区三区国产| 精品网站9999| 超碰吊日色| 26uuu久久| 啪啪啪综合网| 免费成人在线熟妇网| 亚洲色图欧美色图综合| 91内射| 抽插无码高清一区| 欧美白嫩女HD| 久久久久九九九| 午夜色婷婷| 78久久久| 78超碰| 人人操人人摸人 | 不卡超碰护士AV在线免费播放| 欧美第一页性| 亚洲色图片区| 久久这里是精品| 天天摸天天舔天天操| 九九九九九九九九九九精品视频| 五月天伊人| 91色综合色| 另类小说综合网| 综合操逼| AV一二区| 九九九热| 中文字幕在线24| 96国产精品| 亚洲色图欧美视频| 久久久久久久六六| 伦激情人妻另类人妻| 99re6久热只有精品6在线直播| a人欧美综合天堂麻豆| 国产精品操| **一级毛片国产| 国产超碰欧美| 日日碰狠狠添天天爽超| 国产精品电影推荐| 亚洲自拍天堂| 天天综合~91入口| 久久久夜夜夜| 夜色五月天| 国产精品福利视频| 情侣开房子拍 日韩无码 女的很漂亮| 亚射在线| 亚洲高清无毛一区二区| 欧美久久久15P| 亚洲成人在线高清| 五月天伊人| 国产无码精品成人| 麻豆AV96熟妇人妻| 性爱综合一区二区| 久草婷婷| 日韩中文字幕人妻视频| 亚州色图片在线色| 九九精品99| 色偷综合| 成年女人18级毛片毛片免费观看| 人人操人人射人人干| 嗯阿好爽好紧| 久久黄色网址| 免费视频在线观看啊啊啊啊啊| 精品人妻1237| 久热99| 把腿张开老子CAO烂你| 三级激情网站| 老司机深夜18禁污污网站| 蜜臀久久99精品久久久久久成人小说| 韩国一级AAA| 97久久久久久久久久| 日韩中文字幕宗合在线| 亚洲日韩欧美一区二区| 天天综合网91入口| 啊啊啊啊在线观看网址| 91女人的网站| 国产性感在线观看| 久久日本熟妇熟色高清 | 国产懂色精品国产av| 色五天伊人| 加勒比在线视频一区二区三区| 热久久九九热| 久草久日| 四虎884| 神马久久久久久| 最新中文字幕在线亚洲| 欧美乱色| 欧美日韩天堂| 91岛国动作片| 日韩一级二级| 日日天天久久啊啊aaa| 91色人| 国产强奸乱伦欧美| 亚洲欧美中文一区二区三| 人妻熟女av国产网站| 99re这里只有精品中心播放| 亚洲熟女乱熟乱熟妇综合网二区| 久久久精品视频免费观看| 操屄不卡视频| 日韩一级二级在线| 99福利社| 影音先锋日本一区二区| 五月婷婷激情网| 九九九九九九视频| 思思热在线视频精品| 美女干逼2| 超碰在线欧美性爱激情| 精品色色| asc国产精品| 无码国产Av| 婷婷五月天久久精品视频一区二区三区| 国产精品99久久久www| 精品国产72| 中文字幕av亚洲精品| 精品超碰国产| 蜜桃精品一区二区三区久在线| 国产曰批免费观看久久久| 激情小说五月天| 97综合在线| 日日日日做夜夜夜夜做无码97| 亚洲无码精品AV久久久| 青青草久久在线| 北京美女一区二区| 久久婷婷五月| 日本精品第一视频在'| 欧洲亚洲人妻无码高清久久三区四区| 亚洲成a人片在线观看中文!!!| 国产精彩女在线观看视频| 超碰日本97美女人妻人人玩人人爱 | 日韩一级二级| 日人妻视频91| 欧美日日操| 黄色视频高清无码网站| 中文字幕一区二区无码成人| 97视频在线观看网站| 激情啪啪视频| 免费人人搞97| 啊啊啊啊啊操我视频| 国产人妻天天干精品| 国产精品无套内谢| 国产精品无套内谢| 在线观看不卡一区二区三区| 亚州一区二区| 91高清欧美| 亚州色图欧美色图| 操一对老熟妇爽上天视频| 91亚洲黄色网| 国产97综合| 国产蜜臀精品一区二区尤物| 日韩BBN| 午夜久久久| 亚洲,欧美,综合网| 欧美午夜熟妇黑人精品91| 国产精品动态一区二区三区四四| 91黑丝少妇| 一区二区三区精品视频| 日本 欧美 国产一区| 99久视频| 亚洲黄色影视| 久久久久免费少妇| 亚洲熟女国产综合另类| 蜜桃成人1区2区3区| 日韩AV中文字幕电影| 久久国99999| 久久久久9999妇女| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 一区AV| 国产精品午夜AV完会免费| 国产成人超碰在线| 国产狂喷潮在线精品| 操逼www.| 国产无马av| 国产这里只有精品| 大香蕉伊人亚洲| 在线视频一区二区传媒| 亚洲激情色片 | 国产白嫩漂亮KTV在线| 国产51色综合久久免费| 日韩性爱小视频在线观看| 日日日日日| 中文字幕日产av人| 中文字幕AV片| 国产乱码久久久| 久久精品无码熟妇一区二区三区视频导航| 91国产大片| 亚洲熟妇乱女区二区三区| 精品乱码久久久久| 中国91AV| 婷婷探花久久精品一区|