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

ARTICLE DETAIL

資訊詳情

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

數(shù)據(jù)可視化建模與自動(dòng)布局:從數(shù)據(jù)結(jié)構(gòu)到可復(fù)用圖編輯器

數(shù)據(jù)可視化建模與自動(dòng)布局:從數(shù)據(jù)結(jié)構(gòu)到可復(fù)用圖編輯器 “diagram-design”這個(gè)項(xiàng)目名第一眼容易讓人覺得只是個(gè)畫圖Demo但實(shí)際上它要做的事是“把一張圖變成一套可描述、可計(jì)算、可復(fù)用的數(shù)據(jù)模型”。我在拿到這個(gè)項(xiàng)目時(shí)很快就意識(shí)到它的重點(diǎn)不是“畫得好看”而是“讓圖自己會(huì)排、會(huì)算、會(huì)適配”。簡單來說它解決的是手工拖拽畫圖效率低、后期維護(hù)成本高、圖表表達(dá)不一致這三類老問題。無論是做架構(gòu)圖、知識(shí)圖譜、依賴關(guān)系圖還是項(xiàng)目匯報(bào)里的數(shù)據(jù)流向圖只要是需要把復(fù)雜關(guān)系可視化的場(chǎng)景這個(gè)工具鏈都值得參考。適合想自己實(shí)現(xiàn)一個(gè)可視化編輯器的前端開發(fā)、需要搭建低代碼圖表平臺(tái)的技術(shù)負(fù)責(zé)人以及準(zhǔn)備做圖形化表達(dá)但不知道如何拆解實(shí)體、關(guān)系、布局、渲染四層關(guān)系的初學(xué)者。1. 項(xiàng)目到底解決了什么問題1.1 手工畫圖的三個(gè)老大難我在很多項(xiàng)目里看到團(tuán)隊(duì)用白板工具或者繪圖軟件畫各種圖剛開始很爽畫完發(fā)出去也很有面子。但最多兩個(gè)月問題就集中爆發(fā)業(yè)務(wù)變了要改字段、加模塊可原圖的作者已經(jīng)不在這個(gè)組了剩下的人只能重新畫一遍又或者同一套數(shù)據(jù)在不同人手里畫出了三種風(fēng)格匯報(bào)時(shí)老板問“到底哪個(gè)是準(zhǔn)確的”沒人敢拍板。這類問題的本質(zhì)是“圖的語義沒有和數(shù)據(jù)綁定”。圖只是一張圖片而不是一組結(jié)構(gòu)化對(duì)象。diagram-design的項(xiàng)目思路不同它把圖拆成了節(jié)點(diǎn)Node、連線Edge、分組Group和標(biāo)注Annotation并把這些元素映射到一份配置文件里。這樣當(dāng)數(shù)據(jù)源變化時(shí)圖可以自動(dòng)刷新而不是讓人去手動(dòng)移動(dòng)箭頭。另外一個(gè)我特別在意的問題是“改圖成本”。很多團(tuán)隊(duì)會(huì)把系統(tǒng)架構(gòu)圖畫進(jìn)文檔里架構(gòu)一變文檔就過期翻新文檔又沒人愿意干。如果圖本身是由代碼或配置生成的那么每次提交代碼時(shí)順帶更新配置文檔圖就永遠(yuǎn)是最新的。這是我始終認(rèn)為“配置即圖表”比“拖拽即圖表”更值得投入的原因。1.2 從“畫圖”到“描述圖”的思路轉(zhuǎn)變傳統(tǒng)繪圖工具的交互邏輯是“選中-拖拽-對(duì)齊-微調(diào)”它更偏向藝術(shù)家視角而diagram-design更傾向于程序員視角你描述圖里有哪些實(shí)體、它們之間有什么關(guān)系、方向是什么、層級(jí)怎么定義剩下的位置計(jì)算交給布局算法。我舉個(gè)最簡單的例子一個(gè)依賴關(guān)系圖A依賴BB依賴CC又依賴A。如果用手工畫連線的交點(diǎn)會(huì)讓你頭大。但如果用布局算法先把三者的依賴關(guān)系抽象成一張有向圖再用拓?fù)渑判蚺袛鄬蛹?jí)然后用同層對(duì)齊算法計(jì)算每層的上下順序最后用正交連線算法把邊轉(zhuǎn)化成橫平豎直的折線那整個(gè)過程就是“數(shù)據(jù)進(jìn)圖形出”完全不需要人干預(yù)。這個(gè)思路非常核心它帶來的好處有幾點(diǎn)數(shù)據(jù)驅(qū)動(dòng)圖中的每個(gè)節(jié)點(diǎn)可以直接對(duì)應(yīng)數(shù)據(jù)庫里的一張表、接口里的一個(gè)字段、運(yùn)維平臺(tái)里的一臺(tái)機(jī)器。確定性強(qiáng)同一份配置永遠(yuǎn)生成同一張圖不會(huì)因?yàn)楫媹D的人不同而風(fēng)格迥異??蓴U(kuò)展要加新的節(jié)點(diǎn)類型、連線樣式、布局策略都只是增加一個(gè)類或一段配置的問題。1.3 項(xiàng)目邊界與適用場(chǎng)景認(rèn)清邊界比急著寫代碼更重要。diagram-design不適合做成Photoshop那種自由畫布工具它更適合做“半結(jié)構(gòu)化”的可視化場(chǎng)景。什么意思就是用戶能調(diào)整節(jié)點(diǎn)位置和分組區(qū)域但圖的總體結(jié)構(gòu)仍然由數(shù)據(jù)模型和布局算法決定。判斷一個(gè)場(chǎng)景適不適合這類項(xiàng)目我一般看三個(gè)條件數(shù)據(jù)是否有明確的實(shí)體關(guān)系圖是否需要頻繁更新多人協(xié)作時(shí)是否需要保證表達(dá)一致性。如果三個(gè)條件至少滿足兩個(gè)那diagram-design這類方案就比通用繪圖軟件合適。典型場(chǎng)景包括業(yè)務(wù)流程圖、系統(tǒng)架構(gòu)圖、微服務(wù)調(diào)用圖、組織架構(gòu)圖、知識(shí)圖譜預(yù)覽以及數(shù)據(jù)血緣分析面板這類需要嵌入到后臺(tái)產(chǎn)品里的局部功能。2. 核心模塊拆解與方案選型2.1 數(shù)據(jù)模型圖的抽象層級(jí)diagram-design的底層不是面、線、顏色這些視覺概念而是數(shù)據(jù)模型。我設(shè)計(jì)這個(gè)項(xiàng)目時(shí)把模型分成四層第一層是Graph它是最頂層容器保存全局屬性比如畫布尺寸、縮放比例、布局類型。第二層是Node節(jié)點(diǎn)必須包含id、type、position、size、data五類信息其中data是業(yè)務(wù)數(shù)據(jù)體和圖形展示解耦。第三層是Edge保存source、target、direction、points它描述兩節(jié)點(diǎn)之間的關(guān)系但不關(guān)心箭頭長什么樣。第四層是ViewState記錄用戶縮放水平、已展開的分支、被選中的節(jié)點(diǎn)等交互狀態(tài)。這個(gè)分層最大的好處是“數(shù)據(jù)層和渲染層可以獨(dú)立測(cè)試”。我經(jīng)常先只寫一堆JSON跑一遍布局算法確認(rèn)坐標(biāo)都正確了再去做視覺美化。如果一上來就綁定了DOM操作調(diào)試會(huì)痛苦得多。實(shí)際建模時(shí)我建議Node的data字段不要直接塞對(duì)象而是存一個(gè)引用或者key通過store取出。這樣當(dāng)幾百個(gè)節(jié)點(diǎn)需要序列化保存時(shí)圖描述文件不會(huì)無限膨脹而且還方便做增量更新。2.2 布局引擎為什么算法是靈魂布局是diagram-design里最容易被低估的部分同時(shí)也是我認(rèn)為最值得細(xì)細(xì)打磨的部分。如果節(jié)點(diǎn)位置全靠用戶手動(dòng)拖那再好的圖形引擎也只是一塊大白板。而要自動(dòng)布局就需要一套可插拔的布局策略。我初期實(shí)現(xiàn)時(shí)只做了三種足夠覆蓋80%的業(yè)務(wù)場(chǎng)景層級(jí)布局適合依賴關(guān)系圖、流程圖核心是用最長路徑分層再按層內(nèi)規(guī)模做垂直對(duì)齊。力導(dǎo)向布局適合知識(shí)圖譜、社交網(wǎng)絡(luò)圖用彈簧模型讓關(guān)聯(lián)緊密的節(jié)點(diǎn)自然靠近。網(wǎng)格布局適合工單看板、卡片大盤純粹按照行列排布簡單直接。布局算法必須保證“無重疊”和“連通性可見”。很多初級(jí)實(shí)現(xiàn)容易踩的坑是算完坐標(biāo)后節(jié)點(diǎn)疊成一團(tuán)連線全部穿過節(jié)點(diǎn)。這個(gè)問題沒有銀彈只能通過兩個(gè)手段規(guī)避布局前對(duì)圖做連通分量劃分把不相關(guān)的子圖拆開單獨(dú)排列布局后對(duì)每一個(gè)節(jié)點(diǎn)做AABB碰撞檢測(cè)發(fā)現(xiàn)重疊就局部迭代外擴(kuò)。2.3 渲染方案SVG還是Canvas我在這件事上糾結(jié)過很長時(shí)間最終結(jié)論是“按場(chǎng)景混用”而非二選一。diagram-design的默認(rèn)渲染層用SVG原因是節(jié)點(diǎn)數(shù)量一般不超過上千SVG的DOM語義讓事件綁定和樣式定制都太方便了——比如節(jié)點(diǎn)hover變色、點(diǎn)擊彈出詳情面板都是天然支持。而且SVG導(dǎo)出為矢量圖在匯報(bào)場(chǎng)景里很實(shí)用。但是當(dāng)節(jié)點(diǎn)數(shù)量上萬時(shí)SVG的DOM節(jié)點(diǎn)壓力會(huì)非常明顯滾動(dòng)和縮放都會(huì)卡頓。所以我額外實(shí)現(xiàn)了一個(gè)Canvas渲染通道專門處理大規(guī)模只讀預(yù)覽場(chǎng)景。這個(gè)通道不處理點(diǎn)擊交互只負(fù)責(zé)把布局引擎算好的坐標(biāo)批量畫成圖像。簡單說SVG通道負(fù)責(zé)“編輯態(tài)”Canvas通道負(fù)責(zé)“展示態(tài)”。這里分享一個(gè)細(xì)節(jié)兩套渲染通道對(duì)應(yīng)同一份數(shù)據(jù)模型用戶在編輯態(tài)拖拽了節(jié)點(diǎn)位置模型里更新position展示態(tài)重新繪制時(shí)直接用新坐標(biāo)。兩個(gè)通道之間沒有任何同步問題因?yàn)楫嫴加肋h(yuǎn)是模型的影子絕不能反過來讓DOM成為數(shù)據(jù)源。2.4 交互設(shè)計(jì)拖拽、縮放、折疊交互層容易做得很“重”很多編輯器把拖拽、縮放、框選、連線全部堆在一起。diagram-design我做得相對(duì)克制拖拽是移動(dòng)單個(gè)節(jié)點(diǎn)縮放是按住畫布平移和滾輪縮放分組折疊則通過點(diǎn)擊分組標(biāo)題欄切換。這三個(gè)交互覆蓋了大多數(shù)查看和微調(diào)需求。值得強(qiáng)調(diào)的是“拖拽過程中要實(shí)時(shí)觸發(fā)布局重算嗎”這個(gè)問題的選擇。我的經(jīng)驗(yàn)是不重算拖拽只是改變VieweState里的覆蓋坐標(biāo)全部拖完點(diǎn)擊“自動(dòng)整理”按鈕才回到布局算法重新排列。這么做有幾個(gè)好處操作響應(yīng)不卡用戶手動(dòng)調(diào)整的結(jié)果不會(huì)被算法搶走真正需要重排時(shí)用戶有明確預(yù)期。另外交互層的所有操作都要進(jìn)入操作歷史棧也就是支持撤銷重做。這看起來是編輯器標(biāo)配但實(shí)現(xiàn)起來涉及節(jié)點(diǎn)增刪、位置更新、分組變更等多類操作的類型判定如果不提前抽象成一個(gè)command模式后期填坑會(huì)非常痛苦。3. 實(shí)操過程從零搭起一個(gè)可用版本3.1 定義數(shù)據(jù)模型的JSON Schema一個(gè)新項(xiàng)目最容易犯的錯(cuò)誤是一上來就畫界面。我現(xiàn)在習(xí)慣從一開始就用一份JSON Schema把數(shù)據(jù)結(jié)構(gòu)釘死界面寫得再快也不如數(shù)據(jù)模型穩(wěn)定帶來的節(jié)省多。下面是我在diagram-design里用的一份示例配置為了演示做了精簡但字段結(jié)構(gòu)和高保真版本一致。{ graph: { type: hierarchy, width: 1400, height: 900, nodeDefaultWidth: 160, nodeDefaultHeight: 60 }, nodes: [ { id: svc-payment, type: box, data: { title: 支付服務(wù), status: ready, version: v2.3.0 } }, { id: svc-order, type: box, data: { title: 訂單服務(wù), status: warning, version: v1.9.0 } }, { id: svcpool-mysql, type: cylinder, data: { title: 核心庫主實(shí)例, role: primary } } ], edges: [ { id: e1, source: svc-order, target: svc-payment, kind: sync-call }, { id: e2, source: svc-payment, target: svcpool-mysql, kind: read-write } ], groups: [ { id: grp-order-line, title: 訂單域, nodeIds: [svc-order, svc-payment] } ], viewState: { zoom: 1, unfoldGroups: [grp-order-line], selectedIds: [] } }這份Schema雖然簡單但骨架已經(jīng)很完整。注意我在Node里沒有直接存坐標(biāo)而是交給布局引擎去計(jì)算這樣可以避免手工寫布局造成的牽一發(fā)動(dòng)全身。真正的坐標(biāo)會(huì)保存在運(yùn)行時(shí)的一個(gè)Map里序列化時(shí)也不會(huì)寫進(jìn)配置除非用戶主動(dòng)拖拽形成了覆蓋坐標(biāo)。3.2 編寫一個(gè)輕量的層級(jí)布局算法以依賴關(guān)系圖為例我實(shí)現(xiàn)過一個(gè)經(jīng)典的分層布局算法核心邏輯分三步拓?fù)浞謱印觾?nèi)排序、坐標(biāo)換算。拓?fù)浞謱拥拇a邏輯如下def assign_layers(graph): indegree {n: 0 for n in graph.nodes} out_edges {n: [] for n in graph.nodes} for edge in graph.edges: out_edges[edge.source].append(edge.target) indegree[edge.target] 1 queue [n for n in graph.nodes if indegree[n] 0] layer {} depth 0 while queue: for n in queue: layer[n] depth next_queue [] for n in queue: for t in out_edges[n]: indegree[t] - 1 if indegree[t] 0: next_queue.append(t) queue next_queue depth 1 # 簡單處理環(huán)剩余未分層節(jié)點(diǎn)放到最后一層 return layer層內(nèi)排序我通常用的是“減少交叉邊”的啟發(fā)式算法也就是同層節(jié)點(diǎn)按與其前驅(qū)節(jié)點(diǎn)連接數(shù)量的加權(quán)和排序這樣可以大幅降低連線交叉。坐標(biāo)換算則更簡單同一層節(jié)點(diǎn)按順序放到一條水平線上層與層之間用固定間距縱向排開。這個(gè)算法的輸出是一份坐標(biāo)映射表nodeId - (x, y)。整個(gè)過程不依賴任何渲染代碼所以我可以用單測(cè)驗(yàn)證任意復(fù)雜的依賴圖是否會(huì)出現(xiàn)重疊。這是整個(gè)項(xiàng)目里收益最高的測(cè)試強(qiáng)烈建議把這個(gè)單測(cè)寫起來。3.3 渲染與樣式系統(tǒng)實(shí)現(xiàn)渲染層我做了一套比較靈活的模板方案每種節(jié)點(diǎn)類型對(duì)應(yīng)一個(gè)渲染函數(shù)傳入數(shù)據(jù)模型返回帶樣式的SVG節(jié)點(diǎn)組件。比如普通服務(wù)節(jié)點(diǎn)渲染為圓角矩形內(nèi)部有標(biāo)題和狀態(tài)圓點(diǎn)數(shù)據(jù)庫節(jié)點(diǎn)渲染為圓柱形干系人節(jié)點(diǎn)渲染為圓形頭像。這樣后續(xù)增加新節(jié)點(diǎn)類型時(shí)不用改動(dòng)主流程只要新增一個(gè)渲染函數(shù)并注冊(cè)進(jìn)去。樣式系統(tǒng)要與主題分離。我定義了三層主題基礎(chǔ)主題負(fù)責(zé)字體、畫布底色、網(wǎng)格線節(jié)點(diǎn)主題負(fù)責(zé)節(jié)點(diǎn)顏色、描邊、陰影連線主題負(fù)責(zé)直線還是折線、顏色和粗細(xì)。切換深色模式時(shí)只替換主題配置不需要重繪模型。寫渲染代碼時(shí)我踩過一個(gè)坑SVG的auto換行支持很差text標(biāo)簽不會(huì)自動(dòng)換行。我的解決辦法是在渲染前用Canvas的measureText估算文本寬度如果超出節(jié)點(diǎn)寬度就提前拆行再逐行渲染。以下是一段核心的換行邏輯function splitText(text, maxWidth, fontSize) { const ctx measureContext; // 預(yù)先創(chuàng)建的離屏canvas上下文 const chars Array.from(text); const lines []; let current ; for (const ch of chars) { const testLine current ch; if (ctx.measureText(testLine).width maxWidth current) { lines.push(current); current ch; } else { current testLine; } } if (current) lines.push(current); return lines; }這段代碼看起來普通但它在實(shí)際項(xiàng)目中價(jià)值巨大。因?yàn)樽詣?dòng)布局算出來的節(jié)點(diǎn)寬度都是統(tǒng)一的如果標(biāo)題超長不換行要么溢出到節(jié)點(diǎn)外面要么被裁剪掉兩種情況都會(huì)讓使用者覺得這個(gè)工具“不太聰明”。做了拆行之后節(jié)點(diǎn)高度會(huì)自適應(yīng)觀感會(huì)提升一個(gè)檔次。3.4 規(guī)?;秩九c性能優(yōu)化當(dāng)圖里節(jié)點(diǎn)數(shù)超過兩千時(shí)優(yōu)化點(diǎn)的順序就變得很重要。我的實(shí)測(cè)結(jié)論是最先優(yōu)化的不是算法而是渲染調(diào)度和事件委托。先說渲染調(diào)度。SVG的appendChild操作過多會(huì)阻塞主線程所以我把初始化渲染改成了分幀渲染每幀只處理200個(gè)節(jié)點(diǎn)加上requestIdleCallback的權(quán)重區(qū)分高優(yōu)先級(jí)節(jié)點(diǎn)先渲染低優(yōu)先級(jí)區(qū)域后補(bǔ)。這樣即使整圖有五千節(jié)點(diǎn)首屏也不會(huì)白屏。再說事件委托。拖拽、點(diǎn)擊這類交互如果給每個(gè)節(jié)點(diǎn)都綁定監(jiān)聽器內(nèi)存壓力大且不好清理。我用了事件委托在SVG根元素上監(jiān)聽pointermove、pointerup等事件再用data-node-id屬性反查目標(biāo)節(jié)點(diǎn)。這個(gè)方案不僅性能好還能自然支持新增節(jié)點(diǎn)無需重新綁定事件。第三個(gè)優(yōu)化是視口裁剪。我計(jì)算當(dāng)前視口在模型坐標(biāo)系里的可見范圍只渲染落在范圍內(nèi)的節(jié)點(diǎn)和邊其余節(jié)點(diǎn)全部跳過。等于說無論數(shù)據(jù)量多大單幀渲染量維持在千級(jí)以內(nèi)滾動(dòng)切換視口時(shí)才增量渲染。三檔優(yōu)化下來一萬節(jié)點(diǎn)在普通辦公電腦上也能流暢平移和縮放這就夠用了。4. 常見問題與排查實(shí)錄4.1 文本溢出與節(jié)點(diǎn)尺寸失配癥狀節(jié)點(diǎn)標(biāo)題長一點(diǎn)就頂出圓角矩形邊界或者兩個(gè)節(jié)點(diǎn)之間重疊。排查思路先看字體度量。SVG里同一字號(hào)在不同操作系統(tǒng)下的實(shí)際渲染寬度不同直接按CSS像素字體估算容易不準(zhǔn)。最佳方案是用離屏Canvas的measureText獲取真實(shí)像素寬度再乘以1.2的系數(shù)做安全余量。另一個(gè)隱蔽因素是邊距。節(jié)點(diǎn)文本的padding如果沒納入尺寸計(jì)算布局引擎按160寬度排布文本卻需要180那必然溢出。所以我建議預(yù)留8~12像素的padding并且layout引擎計(jì)算碰撞時(shí)要用完整的外部包圍盒也就是sizepadding而不是只用內(nèi)層文本區(qū)域。4.2 連線交叉嚴(yán)重癥狀自動(dòng)布局后一半以上的連線交叉圖根本沒法看。這是布局算法的問題不是渲染bug。交叉的根源往往是層內(nèi)節(jié)點(diǎn)順序不匹配比如source層的A、B對(duì)應(yīng)target層的X、Y如果target層順序是Y、X兩條線必然交叉。我的改進(jìn)方案是給層內(nèi)排序增加“祖先節(jié)點(diǎn)加權(quán)”先統(tǒng)計(jì)每個(gè)節(jié)點(diǎn)到上一層所有連接目標(biāo)的節(jié)點(diǎn)索引計(jì)算中位索引再按中位索引排序。這個(gè)思路能立刻減少大部分交叉。再配合“分段線性插值”折線連接方式讓邊在預(yù)測(cè)空間內(nèi)走正交路徑視覺上比直線連貫穿插干凈很多。4.3 拖拽后坐標(biāo)漂移癥狀鼠標(biāo)按住節(jié)點(diǎn)拖拽節(jié)點(diǎn)比鼠標(biāo)慢半拍或停手后節(jié)點(diǎn)自動(dòng)跳回原位。多半是坐標(biāo)空間不一致。鼠標(biāo)事件的clientX和clientY是屏幕坐標(biāo)而節(jié)點(diǎn)position是模型坐標(biāo)兩者中間隔著畫布縮放比例和畫布平移偏移量。正確的換算公式是const rect svgRoot.getBoundingClientRect(); const modelX (event.clientX - rect.left - viewState.panX) / viewState.zoom; const modelY (event.clientY - rect.top - viewState.panY) / viewState.zoom;我遇到這個(gè)問題的次數(shù)比預(yù)想多而且每次都是在小功能改動(dòng)后復(fù)發(fā)。所以現(xiàn)在會(huì)把這一小段坐標(biāo)換算封裝成一個(gè)函數(shù)并在拖拽啟動(dòng)時(shí)強(qiáng)制讀取一次畫布當(dāng)前的pan和zoom值不依賴內(nèi)存里可能存在延遲的舊狀態(tài)。4.4 導(dǎo)出圖片時(shí)背景和透明問題很多編輯器都提供“導(dǎo)出PNG”功能diagram-design也不能少。但默認(rèn)導(dǎo)出經(jīng)常遇到兩個(gè)坑導(dǎo)出背景是黑色導(dǎo)出內(nèi)容只有當(dāng)前視口不是全圖。黑色背景通常是因?yàn)镾VG沒有顯式聲明fill導(dǎo)出時(shí)被默認(rèn)值覆蓋。解決方案是在導(dǎo)出前給根節(jié)點(diǎn)加一個(gè)白底的rect。全圖導(dǎo)出則需要先讀取模型里所有節(jié)點(diǎn)的包圍盒計(jì)算畫布尺寸然后臨時(shí)把viewBox改為全圖范圍等導(dǎo)出完成后再恢復(fù)原來的縮放狀態(tài)。這樣導(dǎo)出的圖片在任何平臺(tái)上看都是完整且干凈的。4.5 分組折疊后連線懸空折疊分組本身只是隱藏子節(jié)點(diǎn)但子節(jié)點(diǎn)與其他組的連線如果不處理就會(huì)出現(xiàn)“線從空地牽出來”的懸空效果。我給分組模型增加了一個(gè)entry節(jié)點(diǎn)和exit節(jié)點(diǎn)分組折疊時(shí)所有進(jìn)出邊先匯聚到分組邊界的錨點(diǎn)再由錨點(diǎn)連接到外部其他分組或其他孤立節(jié)點(diǎn)。本質(zhì)上是在抽象層面做了一次“邊的重連”視覺層面則靠給折線加垂直邊角來呈現(xiàn)。這個(gè)細(xì)節(jié)雖然復(fù)雜但做好之后分組折疊功能才能真正可用而不是單純隱藏圖層。5. 關(guān)于這個(gè)項(xiàng)目我最后還想說的幾件事diagram-design做到后面我發(fā)現(xiàn)難點(diǎn)已經(jīng)不在視覺表現(xiàn)而在“如何讓數(shù)據(jù)與結(jié)構(gòu)保持同步”。一份配置對(duì)應(yīng)一張圖這句話說起來輕松但真正常態(tài)化運(yùn)行需要把數(shù)據(jù)校驗(yàn)、布局算法、渲染調(diào)度、交互狀態(tài)管理全部打通。很多人在第一步就被困住了因?yàn)樗麄兛傁胫劝旬嫴甲銎猎倩靥顢?shù)據(jù)結(jié)果每一步都在補(bǔ)洞。根據(jù)我的經(jīng)驗(yàn)最值得提前花時(shí)間的部分是JSON Schema設(shè)計(jì)和布局引擎的單測(cè)這兩塊做好之后后面的渲染和交互都會(huì)順理成章。最后再分享一個(gè)實(shí)用習(xí)慣項(xiàng)目中所有坐標(biāo)輸出都加一份“圖形預(yù)覽調(diào)試面板”每一步布局后能直觀看到坐標(biāo)分布而不是靠console.log猜測(cè)問題在哪。這個(gè)面板在后期的性能優(yōu)化和維護(hù)中會(huì)幫你省下大量時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本肉体xxxx裸交| 99视频自拍区| 人妻少妇无码| 日韩性爱高清免费视频| 加勒比日本在线| 日韩有码中文字幕女同性恋 | 亚洲婷婷综合网| 成人三一级一片aaa| 又黄又爽在线观看视频| 97色操| 欧美成人一级麻豆| 青青草天天亲夜夜操网| 国产视频大全| 激情综合五月丁香| 夜夜欧美 | 爱丝福利| 香蕉国产精品麻豆亚洲欧美日韩| 2010男人的天堂| 91在线一起| 国产亚洲禁久一区二区| 99热日| 7777奇米影视久久| 91欧美美女日韩国产婷婷| 久久岛国| 免费在线观看AV无码网站| 白丝少妇一区二区| 国产美女口爆吞精视频| 九九英色视频| 伊人丁香五月婷婷| 97国产色图 | 天天享受天天看| 亚洲?V高清一区二区三区尤物| 成人看片网站| 极品欧美一区二区三区| 78m啪啪啪| 秋霞一区二区三区四区五区六区七区| 国产刺激视频| 欧美小说区视频区| 99热| AVE乱伦| 日韩在线人妻网站| 青娱乐亚洲自拍| 欧美日韩少妇色情| 大香伊人在线一区| 日B操| 色情亚洲日本成人| 国产高清成人mv在线观看| 欧美91精彩| 国产亲戚伦亲在线| 78超碰| 看日韩美女二区三区免费操逼视频 | 日本超碰在线国产一区| 国产高清成人免费视频| 91欧美综合| 国产中文大片资源中文字幕 | 亚洲国产亚洲天堂| 中文熟女五十乱码在线| 美女91av| 欧美91网| 搡老女人911熟妇老熟女| 日韩免费a级毛片无码a∨ | 午夜大香蕉| 免费观看啪视频| 免费精品福利在线观看| 99999久久久久9国产精品| 天天看天天综合成人网| 亚洲蜜臀懂色| 日本新免费二区三区| 美骚妇av高清在线| 久操视频免费观看| 992视频一区| 91久久久老司机| 日韩中文9| 女人香蕉久久毛毛片精品| 欧美色97| 一级性爱视频免费在线| 26uuu欧美日韩| 正在播放国产精品一区| 日韩另类色图| 亚洲免费97免费| 人妻激情在线视频| 午夜激情成人在线观看| 免费一级欧美片片线观看| 国产二区视频在线观看电影| 日韩欧美经典在线观看| 婷婷色一区| 亚洲影院小综合| 久久9精品网站| 欧美丝袜91| 日韩一级性爱无码| 中文一区二区婷婷视频| 夜夜骑操视频| 国产精品 久久久精品一牛| 亚欧无码在线| 啊啊啊啊视频免费| 97人妻人人躁人人玩人人| 青娱乐黄色录像| 国产AV毛片| 男人天堂久久精品| 欧美一级二级三级| 无码高清专| 婷婷色综合| 久久少妇视频| av亚欧| 六月激情婷婷| 亚洲资源网| 大香蕉中文| 天堂а√在线最新版在线| 狠狠干综合| 欧美人妻色| 亚洲欧洲日韩中文字幕一区| 欧美另类色| 97精品网站| 免费岛国一级片| 五月综合久久| 亚洲天堂电影网99999| 被操高清无码视频| 98一区二区精品| 综合激情一一91| 亚洲熟伦熟妇AV无码春色| 啪啪AV导航| 欧美日日夜夜| 91天天综合网| 婷婷四五区| 男人的天堂视频精品乱在线| 大香蕉综合| 亚洲视频二区| 亚欧Av| 91在线丝袜视频| 欧美激情专区| 久久一二三四五六七八九区区区| 青青草好吊色| 2010男人的天堂| 淫淫综合网| 99只有精品| 一区二区播放| 色丁香五月婷婷| 亚洲天堂资源| 欧美国产伊人久久久久| 伊人久久亚洲色欲综合网站 | 天天综合91在线| 亚洲 欧美 日本 国内 首页| 欧美视频在线视频免费va| 久久草视频污视频| AV电影在线播放| 九九九九热只有精品| 国产AV无码AV| 国际精品久久久| 久久99精品视频| 人妻娇喘 激情视频| 色婷婷九月| 久久这里只精品| 99这里都是精品| 久夜操| 一区二区你上我| 亚洲色天| 久久人妻无码毛片A片麻豆| 国产欧美日韩精品中文| 国产精品另类| yazhousetuoumei| 久久久亚洲| 欧美狠狠弄| 亚洲第一黄色av网站| 九九九国产精品| 五月天激情小说| 久久久日本电影| 国产日本熟女顶级一区二区三区视频| 亚洲高清无毛一区二区| 天天躁夜夜躁狠狠躁AV| 韩日精品四区| 这里只有精品视频在线观看麻豆| 国产午夜精品一区二区三区牛牛| 艾草av| 亚洲av影音先锋| 欧美欧美少妇| 亚洲日韩欧美一区二区| 欧美五区| 麻豆久久视频在线地址| 乱伦AVxx| 性久久| 青娱乐 青青青操 日逼| 国产又大又粗又长视频在线| 亚洲色欲天天人妻无码系列专区| 欧美人与动性人交a| 亚洲宗合网| 丁香五月婷婷基地| 亚洲欧综合另类无码一区| 久久久久久久久9| 亚洲一本色码中文字幕| 久草成人福利导航| 欧美久久伊人| 一区二区精品日韩欧美在线观看 | 久久这里只精品| 欧美欲色| 熟妇熟女一区二三区| 久久亚洲AV无码专区国产精品 | 新版天堂中文资源8在线| 亚欧毛片基地国产毛片基地| 婷婷人妻激情| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 狠狠躁天天躁日日躁97| 日本亚洲vr欧美不卡高清专区| 亚洲精品官网在线观看| 91蜜桃传媒精品久久久一区二区| 夜色97| 无码91| 久久 国产精品 一区| 天天做天天爱夜夜爽毛片试看| 夜夜欧美 | 国产91美女视频| 狠操91,com| 亚洲一二三精品久久网| 亚洲色婷婷| 国产97视频免费观看| 免费视频在线一区二区不卡| 日语五十路和六十路亚洲国产精品| 欧美韩日精品99综合| 亚洲精品欧美专业| 嗯嗯嗯啊啊啊干死我吧| 麻豆伊人网| 亚洲中文字幕有码视频一区二区三区| 久操综合在线| 中文字幕91综合| 麻豆天美电影一区二区| 夜夜操老骚逼视频网站| 日本大片日本一区二区免费高清| 综合色播| 艳美熟妇先锋一二三区| 插老姨肥穴| 久久天天躁日日躁狠狠躁 | AV中文字幕剧情1区2区3| 天天干天天日天天射黄色大片| 天天插天天射| 日产国产精品中文久久婷婷| 国产黄色动态精品| 2026国产精品视频| 亚洲人综合| 九九九国产精品| 欧美色老汉| 久久久久女教师免费一区| julia国产在线 | 亚洲精品日日夜夜52| 黄色片大香蕉| 色色丁香| 天天综合网91入口| 日韩久草| 青春草莓视频在线观看网址| 性夜影院爽黄A爽免费动漫| 亚洲图片色图欧美另类| 日本性爱少妇| 久久熟妇五十路一区| 91美乳| 伊人青青一区成人视频在线观看区| 91精品无码人妻系列| 伊人99热| 麻豆婷婷成人一二三| 91爱做| 97超碰伊人| 东京热毛片177b2viP| 中文AV制服乱伦| 夜夜天天噜狠狠爱2021| 思思热在线| 69精品人人人人| 后入式999| 免费视频一二三区| 久久社区一区二区三区| 91黑丝在线播放| 中文字幕版| 欧美三四五区| 天天色,天天干,天天干| 日日天天久久啊啊aaa| 少妇丝袜在线观看AV| 日韩啪啪视频| 婷婷在线视频| 九九亚洲色在线观看| 少妇精品久久| 日本一级二级三级网站| 男人的天堂成人的社区| 97在线视频免费| 最新日产中文在线麻豆| 97天天综合网| 精品人妻一区二区三区日产| 婷婷精品视频| 二级毛片| 操逼操逼视频操逼| 国产嫩草精品A88AV在线| 亚洲图片在线| 欧美中文字幕日韩在线| 美女露胸露屁股| 亚洲熟妇白浆无码AV| 奇米四色网| 最新欧美色网| 日韩精品亚洲一二三| 国产一国产一级毛片古装| AV无码久久久精品| 日韩少妇在线视频| 日本一区不卡| 五月天激情小说| 中文一区二区| 人人摸人人添人人操| 久9久| 青青草好吊色| 女同在线视频一区| 麻豆天美一区二区| 草草影院在线视频| 啊啊啊网站| 五月香婷婷| 色爱亚洲| www.夜夜操| 九九九成人| 人人扣人人操| 偷偷人人精品女女久久| 亚洲国产欧美中日韩成人综合视频| 性爱AV天堂| 91精品久久久| 91爰爱欧美| 久思思热视频在线观看| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩av影片在线观看| 九九九九免费高| 国产性爱在线视频一区二区| 亚洲AV色图一区| 欧美性爱伊人| 日本不卡中文| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 一区二区三区黄片免费观看| 久久禁| 久久99网站| 97久久久网站| 97精品一二区| 欧亚性爱视频免费看| 91女日逼| 欧美色日本| 天天天天天干夜夜夜夜夜操| 亚洲中文字幕久久人妻| 成人性交午夜免费片| 久久婷婷在线观看视频| JULIA一区二区三区在线播放| 精品黄色电影| 色五月激情AV在线| 男人天堂2012| 久久五十路熟女人妻| 成人天天爽| 久久久久久亚洲精品不卡人乳| 偷拍综合网| 亚洲污污网站| 天天做天天爱天天高潮| 一个国产在线综合网站| q2午夜理论片夜色av| 久久色人体| 性饥渴少妇av无码毛片| 91nbbbbbb| av片在线观看免费播放| 免费人成在线观看网站品爱网| 啊啊啊好疼| 91网18| 国产精品一二三区福利| 国产精品久久成人免费| 97人人夜夜精品视频| 性一级黄色录像片网站导航| 97久久国产亚洲精品超碰热| 综合网久久| 欧美亚洲综合色| 久久精品店| 国产精品嫩草影院午夜两性| 亚洲天堂久久久久久粉红视频| 大香蕉草草| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 成人女人国产| 天天综合影院91| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 成人av在线播放| 久久精品国产亚洲粉嫩| 欧美久久人体| 91成人亚洲色图| 9999九九九久久久| 天天综合网~91综合网| 老司机免费视频在线91| 欧美暴力猛交| 女人的天堂大香蕉网| 操美女人妻| 大香蕉 222| 伊人影院在线理论播放| 综合 青草 伊久久 影院 综合| 老色69| 日本久久久久久久久| 亚洲色吧网| 亚洲无码色| 激情五月天丁香| 大香蕉啪啪啪| 人妻碰碰碰碰碰碰| 九九久久久九九| 真实高潮91| 内射中出日韩在线观看视频| 亚洲欧美setu| 欧美日韩美女精品久草一区二区三区 | 78p欧美| 亚洲不卡不卡中文字幕不卡 | 视频二区美腿制服人妻欧美| 中文字幕三四区| 思思热在线视频在线| 午夜人人操| 欧美日日操| 国语av最新自产拍在线观看| 亚洲色诱惑| 97人肏| 色女99一级片在线观看| 免费97视频| 视频二区美腿制服人妻欧美| 日本一级真人黄色性爱视频| 手机在线播放国产福利| 久久老子无码午夜伦不卡| 综合av社区| 超碰97COm中文| 一本久道久久综合狠狠爱| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 色超碰综合| 美女骚尻视频| 啊啊嗯嗯好爽| 日本三级网页| 色97| 天天舔天天日天天射| 夜夜黄| 中文字幕久久婷婷丁香五月天| 懂色av色欲av蜜臀av| 欧美成人黄网色网站| 亚洲av夫妻操穴网| 久久妇| 欧美色图亚洲激情| 欧美午夜视频精品久久| 2001天天操| 国产精品毛片| 26uuu国产| 久九干| 一区二区三区四区五区久久久久久| 97免费在线观看| 韩国成人精品久久久免费看| 日韩欧美麻豆大片| 91中文字幕在线观看| 国产真乱mangent| 婷婷五月天伊人| 欧美亚洲国产日本在线,久久精品国产| 校园春色美腿丝袜| 精品国产人成在线| 动漫片子网站3黄| 亚洲丨在线| 777AV电影| 殴美性色a级欧美| 狠狠操狠狠燥| 逼操网站| 久久综合女优| 亚洲欧洲无码bt精品合集| www.久久爱| 一二三卡欧美日韩人妻免费精品| 日韩高清黄片| 欧美色66| 白丝被操91| 玖玖视频在线资源一区二区三区| 亚洲日精品| 亚洲黄色网址视频| 97精品久久久久中文字幕| 亚洲AV成人精品网站在AV| 试看福利| 国产9熟妇视频网站| 中文字幕丝袜人妻| 天天综合网在线观看| www.人人cao| 亚洲无码精品AV久久久| 国产偷人伦激情在线观看| 亚洲交性| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒| 亚洲综合 欧美| 性无码专区2020| 无码91| 啊啊啊好多水| 狼人综合婷婷激情四射 | 精品夜夜澡人妻无码AV| 亚洲操逼网| 日韩欧美~中文字| 竹菊影视国产一区二区| 97操碰| 激情综合五| 91色插| 亚洲综合色男人网| 综合国产影视三级| 日本天天干天天搞一区| 风流老熟女一区二区三区l| 久久99深爱久久99精品| 色一色综合网| 91亚洲网| 蜜臀久久久国产| 高清无码 国产精品| 大香交| 91色情黑丝搞鸡在线观看一区二区三区三州| 日1区2区3区2020| 亚洲五月丁香花狠狠干一区二区三区| 中文字幕丰满人妻日本| 综合久欧洲| 二男一女成人A片| 国产久9| 国产欧美精品日韩区二区麻豆天美| 97色碰| 婷婷五月天无码 | 国产AV色黄看到爽| 天美久久久久| 爱欲AV| 亚欧高清在线| 超碰97人妻免费在线| 久久宗合亚洲| 97干日韩| 欧美日韩性爱无码| 91强热人妻| 天天综合站| 97久精品| 免费人成?大片在线播放| 91社区伊人| 天天天堂影视日韩亚洲91| 激情五月天网站| 欧美十八禁视频| 男人的天堂kva| 91色图片| 口爆综合网| 成人性爱av.com| 舔足天天操天天射| 日日日日做夜夜夜夜做无码97| 女生久久网| 色区97| 久热这里| 一区二区三区免费岛国片| 91美女小视频| 欧美精品亚洲精品日韩传电影| 熟妇高潮一区二区免费视频| 婷婷久久综合久| 天天弄天天操| 亚洲日韩精品久久久久一区壹牛| 亚洲交性| 亚洲成人在线资源| 亚洲伊人久久精品影院| 日本97久久久精品| 久久的网站啊啊啊啊啊| 一区二区偷拍拍视频| 最新中文字幕在线亚洲| 国产一在线观看| 女欧美一区二三区| 精品九九| 神马久久久久| 妇女一区二区三区| 9精品久久久久| 久久是精品| A啊啊在线观看| 男女打扑克高清网站| 色播丁香| 五月天激情网图片| www.狠狠| 精品久久久久久亚洲| 精品国产片亚洲一区| 日韩精品黄片免费观看| 欧美日韩国产高清在线一二三区| 欧美成人四级在线播放| 91成人久久| 久久久久久久伊人精品| 综合久久久久久久久91| 日本性感人妻91| 操一操摸一摸| 女人与公拘交酡2020视频| 91免费看一区二区三区| 久久久国产av美女私房| 影音先锋少妇| 久久成人午夜精品影院| 日韩午夜精品一区二区三区电影| 免费作爱一级视频| 国内毛片免费h片在线| 精品国产一级久久| 五月婷婷丁香六月| www.欧精品| 91精品丝袜久久久久久无码人妻| 97精品第3页| 少妇内射视频| www男人天堂| 国产白丝av| 日韩成人精品| 日韩免费看黄片| 亚洲操逼网| 另类综合另类| 色香在线| 18精品一二区| 偷拍 欧美 日韩| 精品视频免费在线一区| 久色网| 丝袜狠狠草尤物人妻av91| 老汉网| 久久国产精品视频| 日本伦乱九九九综合| 一区二区三区视频国产免费| 五月婷婷激情综合| 一及黄久一点| 深喉吞精| 岛国激情视频软件| 久久婷婷视频| 狠狠夜色午夜久久综合在线| 欲综合网| 亚洲激情综合另类男同| 婷婷六月色| 麻豆AV短剧| 国产狂喷潮在线精品| 亚洲精品人妻吞精av | 老色鬼成人精品视频下载大在线观看| 久久久久久九九九| 特级丰满少妇一级AAAA爱毛片| 天天摸,夜夜摸| 欧美在线视频播放| 三级日本一区二区三区| 极品极品色影院| 久久嫩草国产成人一区| 嗯嗯啊啊啊好爽| 亚洲va有码在线天堂| 99热免费| 国产一区在线看| 高跟丝袜AV专区国产| AND人妻系列| 熟女91网站| 国产三级中文有码在线视频| 在线观看十八禁| 思思热国产在线视频| 精品视频日日夜夜| 亚91网| 福利伊人玖玖国产| 久久香蕉超碰97国产精品 | 久久精视频美日韩在线视频| 91jk色拍| 久久久久亚洲熟妇熟女| 美女尤物福利视频| 精品一区二区三区丰满熟女-亚洲欧美一区| 欧美,日韩综合久久| 亚洲情色一区三区| 亚洲 欧美 日韩 国产一区二区 | 一本久道久久综合狠狠爱一密臀精| 91成人久久| 亚洲综合图片在线| 911av网站免费观看| 久久九七| 内射老妇BBWX0C0CK| 亚洲精品一区二区三区新线路| 日韩一卡二卡三卡| 亚洲成人网站在线观看| 天堂网亚洲区手机版| 亚洲免费人妻在| 欧美人妻一区二区| 激情专区综合| 狠狠爱夜夜| 日韩精品区二区三区不卡| 欧美性爱一区二区三区| 成人婷婷丁香| 97天堂| 天堂资源欧美| 岛国毛片在线观看免费| 欧美一区二区三区黄色影视| 国产AV精久久| 九九人妻| 五月天综合在线| 97这里只有精品| 国产白嫩精品久久| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 欧美性爱日韩高清| 亚洲揄拍网| 性开放中文AV高清无码免费看| 日韩综合97P| 免费看日产一区二区三区| 97鸡把在线视频| 97视频在线观看播放与子乱对白在线……| 国产精品懂色tv影视免费观看| 中文字日本乱码| 成人三一级一片aaa| 蜜桃臀一区二区三区久久| 九月婷婷| 日韩极品无码B| 校园春色欧美| 麻豆60秒| 岛国色情视频在线观看| 欧美第五页| 亚洲中文制服诱惑| 美國A片| 亚洲在线91| 日逼五月天| 91人人臊| 国产区日韩区在线观看| 嫩草 我啊~嗯~在线| 91oumei| 国产精品亚洲高清在线| 97久久久久| 精品国产99| 五月天久久久| 搞中出久久| 久久久久久久| 伊人aaa| 日日夜夜天天| 99在线无码精品秘 入口黑人| 97资源站日韩| 天天操美美| 裸体美女国产免费久久久网站| 国产精品永久免费10000| 97se亚洲| 嗯嗯啊好大| 亚洲国男人的天堂| 亚洲成熟国产精品美女| 亚洲熟伦熟妇AV无码春色| 精品久久久一本一道| 黄总AV色图| 日日夜夜干| 无码国产精品久久久久| 欧美一级AAAAAAA| 无马一区二区| 天天操天天日青青草超碰av| 超碰天天久久79| 亚洲激情网一二三四区| 丰满人妻av一区二区三区| 激情五月综合开心五月| 色悠久| 日比av无码| 久久久久人| 超碰碰激情97+久| 男人的天堂.com| 992这里有精品| 六月丁香久久| 大地资源在线观看中文第二页| 曰韩操B| 成人av在线播放| 亚洲本色精品一区二区久久| 一二三区精品视频| 综合网亚洲在线| 嗯~啊~轻一点 视频| 人人操人人射人人干| 国产二区三区粉嫩在线| 伊人丝袜美腿高跟在线观看高清| 久久精品免费| 白丝1区2区3区| 黄色污污污污污污网站| 淮穴色AV| 91九九九馒头| 无码一区二区三区四区五区六区七区八区九区十区视频 | 九九精品无码专区免费| 性爱网站一区二区| 欧美综合网A| 丰满熟女人妻一区二区三五十一路| 婷婷另类小说| 999综合色| 中文字幕超碰CAO| 日本五十路在线| 中国小夫妻勾搭露脸淫荡对白| 欧美97在线观看| 亚洲 欧美 小说| 四虎视频在线观看| 亚州色国| 97超碰总站| 综合情欲网| 女人香蕉久久毛毛片精品| 97操97干| 极品另类| 激情抓乳插进去啪啪啪日韩 | 一区在线观看中文字幕| 日韩av乱伦| 青草视频在线看看看看看看看看看| 青青操青娱乐| 亚洲一区二区三区麻豆传媒| 综合天天网| 九七人妻在线| 中国91AV| 激情小说日韩无码| 欧美日韩性爱无码| 色99色| 亚洲国产精品久久久久婷婷青年| 欧美美女在线高潮999| 国产免费久久精品99re韩国| 欧美亚洲清纯| 中文字幕97| 国模不卡| 久久黄黄| 骚女高跟AV在线| 少妇激情一区二区三区视频| 五月丁香黄色网| 国产高清成人mv在线观看| 色五月综合网| 色爱欲亚洲| 亚洲第一男人天堂| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 思思视频免费看网站| 精品中文字幕一区二区l - 百度| 五月丁香六月| 色制服丝袜夫妻av一区| 极品肉射| 午夜电影在线观看无码专区| 黑操B| 日韩大香蕉精品在线视频| 精品九九九九九九| 操逼操网| 亚洲成人精品久久久| 啊啊啊水好多| 操逼操逼视频操逼| 久久久9品一区二区三区| 情色五月天就去干| 亚洲图片日本AⅤ欧美在线| 婷婷丁香六月天| 97精品97久久| 久久久久久亚洲Av无码精| 五月婷丁香| 欧美黑人熟妇精品91| 91露脸熟女专区| 亚洲欧美大| 久久99久久99精品天美传媒棢·纸:.| 100啪啪视频大全| 嗯嗯嗯好爽| 婷婷探花久久精品一区| 国产中文大片资源中文字幕 | 国产91美女视频| 欧美日韩一区二区三区四区蜜桃| 亚洲一二三精品久久网| 精品视频久久| 国产久久久久久久久一区二区| 啊啊啊啊啊操我视频| 久久久久久久久久久久久久9999| 久久久久921| 国产无马在线| 97干com| 国产精品久久蜜乳av| 亚州AV无码国产精品| se,,,亚洲欧美| 国产家庭乱伦表演| 中文字幕艹艹| 91亚洲欧美| 超碰亚洲97| 九九九九热| 天堂蜜桃无码视频一区二区| 亚洲欧美综合网| 亚洲欧美日韩夜夜| 热热色青青草| 亚洲成av人片色午夜乱码| 少妇熟女视频一区二区三区| 综合影视国产无码| 欧美第一页| 亚洲欧美日韩精品久| 懂色影视久久| 日本3级一区二区免费| 欧美性少妇| www色色色com| 欧美写真视频一区| 中文字幕一区 二区三四五 区日 日骚 | 97超碰总站| 人人操人人大香蕉| 欧美日韩不卡传媒| 91人妻爽爽人人做人人澡| 欧洲精品一级二级精品综合视频综合 | 啪啪一区| 精品视频一二三中文| 97超碰69| 日韩无码精品综合久久| 欧美综合网1| 欧美综合区| 超碰地址久久| 色女99一级片在线观看| 岛国毛片在线观看免费| 中文字幕二区| 亚洲日本成人动漫| 欧美五十路熟| 97少妇人妻中文字幕久久| 欧美丰满熟妇XXXX性ppX人交| 久久久亚洲精品中文字幕人妻| 天天操天天插| 久热精品在线国产| 夜夜嗨老熟女AV一区二区三区| 性一交一乱一交A片久久四色| 蜜臀久久99精品久久久久久| 97在线欧洲| 国产激情av女片自拍| 热热色中文无码| 日本加靬比网站发布页| 亚洲情色中文字幕一区| 97资源久久| 亚洲激情色片| 国产67194| 超碰精品日韩欧美国产| 欧美91色| 中文字幕一区 二 区 三 四 五 区日 日 骚 | w w w.久久精品| 天天操美美| 人妻天天夜夜爽一区二区| 超碰色男人操熟女| 日韩欧美女求操每天更新| 插老姨肥穴| 大香蕉综合网| 先锋色眉乱伦资源| 91 丝袜在线播放| 天天插天天操天天摸天天射天天看| 99热18| 久久久久亚洲?V片无码V| 94色色电影网| 97网址97| 亚洲91网。| 蜜臀少妇一区二区| 日本一区二区成人在线| A级在线视频| a啊啊啊啊啊啊啊啊一区二区| 91高跟美女在线播放| 日韩在线76| 亚洲国产欧美中日韩成人综合视频| 中文字幕在线免费观看2| 深夜激情| 91久久久久久久| 国产亚洲欧洲在线观看| 少妇高潮99p| 曰韩无码777| 九九干| 超碰日韩人妻| 亚洲欧美小说| 99rre在线精品99re8| 综合一区二区影视| 91欧美美女日韩国产婷婷| 欧美嫩性色| 五月天开心网| 天天爽人人综合免费7799| 亚洲暴力强奸AV| 收看日本人日bb| 欧美组图日韩亚洲中文字幕| 欧美色综合网| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 99久久精品国产高潮| 欧美一级特黄淫片在线观看| 日韩在线欧美精品一区二区| 高清国产精品福利网站| 亚洲AV无码乱码| 欧美精品庄| 91观看 国产白丝| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 亚洲 欧美 偷拍 唯美| 亚洲黄色视频在线观看视频| 操国产逼| 9国产超碰| Av手机版天堂网| 久久欲| 噜噜噜在线视频| 国产A v无码专区| 色情乱伦AV| 竹菊影视国产一区二区| 精品久久人妻成人网| 日韩成人大片在线观看| 超碰人人草| 色五月亚洲| 性色一线| 欧美一二三区四五区| 美女久久久久久久| 亚洲第91页 | 激情综合二| 亚洲综合成人网| 亚洲天堂,男人| 人妻在线臀日韩| 大香蕉宅男伊人| 丰满人妻一区| 中文三一区| 亚洲伊人成综合成人网| 天天摸夜夜操视频| 色97综合中文字幕| 国产成人网| 天天日天天操心| 天天干一区二区| 精品97精品97| 天天操天天日天天干| 九九九九一区| 欲香欲色| 免费αⅴ在线观看| 国产免费一区在线观看| 日本三级中国三级99人妇网站| 亚洲中文制服诱惑| 熟妇人妻一区二区三在线| 97精品视频在线播放| 99热这里只有精品18| 你懂的在线观看区国产 | 国产一区二区三区中文字幕| 亚洲av热热色| 亚洲色棕合| 91欧美大片| 人妻日日干| 欧美亚洲性爱一区二区| 亚洲性感丝袜诱惑在线观看| 成人青青草原伊人| 无码直播久久久| 激情色色| 2019天天操天天爽天天拍| 搡老熟女国产1000部| 国产深夜福利| 成人免费不卡在线视频| 九九玖玖精品| av日韩中文字幕| a男人的天堂久久一级A毛片 | 精品美女少妇一区二区| 另类TS人妖一区二区三区| 丁香五月激情综合国产| 超碰97男人| 午夜在线播放| 精品国产丝袜一区二区三区乱码| 久久女人一区二区三区| 亚洲日产专区婷婷| 日韩在线观看三级电影| 久久久久久AⅤ无码免费肉站 | 久久成人精品| 成全在线观看免费观看| 999狠狠综合| 久草毛片| 91在线视频免费播放| 91女神在线视频| 亚洲性天堂| 性爱乱伦一区| 999综合色| 五月丁香黄色网| 激情五月天网站| 美女上床网站| 日操粉逼逼| 国产乱人妻精品入口| 欧美精品成人一区二区在线观看 | 老汉网| 免费AV中文网在线观看| 日本一级一级一级一级| 职场同事知名国产国产精品久久欧美日韩 | 中文字幕性感少妇av| 人妻少妇精品久久久| 久久草草亚洲蜜桃臀| 97精品国产97久久久久久户外免费| 91丰满| 99色热| 天躁夜夜躁2021| 日本岛国黄色网址| 久久精品一区二区三区蜜桃臀| 尤物黄色在线观看网站| 玖玖综合色| 成人免费视瓶| 久久人人爽爽爽人久久久| 人妻久久一区二区三区| 九月婷婷| 色五月av| 大香蕉碰碰| 亚洲国产97| 天天操av懂色| 欧美精品三级黄片| 韩国轻伦国内自拍一区| 免费人成毛片乱码| 丝袜喷水在线| 岛国在线免费视频| 性爱AV天堂| 99热99re超碰精品| 天天网综合| 射丝袜高跟鞋99| 久久超碰国产一区二区三区| 97色97好| 韩国一级AAA| 亚洲一二三四区在线免费看视频| www国产天美久久久| 国产精品69久久久久孕妇欧美| 欧亚免费视频| 久久久久久久唑| 白丝1区2区3区| 国产一区二区在线播放量| 老司机久久| 色青青久久影视| 91中文字幕制服丝袜免费视频| 九九九九久久久| 少妇熟女1区2区3区| 亚洲十八禁止| 91久久久久久| 老熟妇乱轮| 97AV在线免费观看| 国内精品伊人久久久久影院会| sewuyueav| 东京成人一区| 日本亚洲熟女视频| 2019天天干| 日本超碰97日韩精品人妻| 一区二区三区精品视频| 久久91| 涩涩久久精品| 激情小说五月天| 亚洲激情在线观看一区| 后入福利| 国产四虎在线| 91高清无码下载| 999999精品| 亚洲熟女一区| 这里只有精品视频| 欧美性生活免费网| www.91视频网| 天天α片| 亚洲精品99| 一区二区三区成人高清视频| 91亚洲网站| 欧美国产有色电影| 天天爱天天韩国日本牛牛牛牛| 99老司机精品视频在线观看| 极品少妇久久久久| 久久做97| 防屏蔽在线视频| 日韩丰满熟妇| 性色AV网站| 97综合激情| 色九九综合AV| av操操不卡| 九九色热| 盗摄女人妻在线| 18禁看网站一区| 怡春院久久| 日韩中文字幕宗合在线| 国产一区二区三区不卡手机在线| 自拍偷拍2025在线观看| 国产精品视频自拍在线| 亚洲欧洲激情卡通另类文学四射小说网站 | 中文字幕黄色一起草| 欧美情色贴图| 性色avv| 九九AV| 中文字幕免费看大片| 男女激烈网站最新| 蜜臀久久99精品久久久久久无删减| 后入式999| 欧美日韩天堂| 青青草精玖玖69精品| 国色天香av| 久久九九99| 婷婷AV一区二区三区| 黄页视频网站野外| 999熟女精品| 欧美一区二区男人天堂| 亚洲日韩狠狠撸视频| A一级色女| 干B| 神马久久久久久久久久久久| 成人综合色网| 五月激情小说| 337p大胆噜噜噜噜噜91Av| 浪人综合网| 天天艹天天日| 欧美日韩电影成人在线| 人妻干天天| 高清国产无码av| 熟女激情综合网| 国产 日韩 欧美一区| 91在线欧美| 天天日天天干天天操| 久操视频在线观看| 亚洲色图亚洲| 强上我不卡卡| 免费的很黄很污的全部视频 | 欧美性爱18观看| av一区二区三区不卡| 小说区 图片区色 综合区| 91成人18| 亚洲春色一区二区三区| 操屄日韩| 国产无码高清操逼视频| 国产乱伦亚洲| 强奸乱伦Av网| 欧美一区二区亚洲天堂| 婷婷综合激情| 中文无码一二三区| 久久9亚洲|