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

Figma 是如何做協(xié)同編輯的?

開發(fā) 前端
Figma 的設(shè)計(jì)文件的數(shù)據(jù)是一棵圖形樹,圖形之間可能會(huì)有父子關(guān)系,比如一個(gè) group 下有一個(gè) rectangle,形成多層的樹結(jié)構(gòu)。協(xié)同編輯操作的對象就是這么一棵樹。

大家好,我是前端西瓜哥。

我一直對圖形編輯器如何做多人協(xié)同編輯很感興趣,最近讀了 Figma 前 CTO Evan Wallace 的文章《How Figma’s multiplayer technology works》,很有收獲,于是寫了這篇筆記。

我建議讀者直接閱讀原文,里面還有動(dòng)圖。

https://madebyevan.com/figma/how-figmas-multiplayer-technology-works/

參考 CRDT

協(xié)同編輯,需要用到數(shù)據(jù)一致性算法,目前成熟的算法有 OT 和 CRDT。

Figma 沒用 OT,太復(fù)雜,尤其是當(dāng)離線數(shù)據(jù)本地緩存了很久才提交時(shí),會(huì)進(jìn)行復(fù)雜的 OT 算法計(jì)算,產(chǎn)生組合爆炸問題。

CRDT,也有一定復(fù)雜度,而且是去中心的,F(xiàn)igma 還是需要一個(gè)中心服務(wù)實(shí)現(xiàn)鑒權(quán)功能。

OT 和 CRDT 更多是針對富文本編輯的,而 Figma 是設(shè)計(jì)工具,作者認(rèn)為沒有必要引入這些復(fù)雜的東西,這樣會(huì)讓項(xiàng)目難以維護(hù)。

Figma 最終選擇借鑒 CRDT 的思想,自己實(shí)現(xiàn)一套協(xié)同系統(tǒng)。

這里我比較贊同,我永遠(yuǎn)認(rèn)為 “不要過早擴(kuò)展”,能簡單就不要復(fù)雜。

因?yàn)橐恍┖笃诓灰欢〞?huì)用到的功能,強(qiáng)行做了更復(fù)雜的抽象和擴(kuò)展,導(dǎo)致功能開發(fā)的心智負(fù)擔(dān)過重,當(dāng)發(fā)現(xiàn)這些后期功能不需要,并且要擴(kuò)展另一個(gè)方向的一套功能時(shí),原本抽象的設(shè)計(jì)變得毫無意義,且一切都積重難返,最后的結(jié)果只能是屎上雕花了。

沖突處理

Figma 的設(shè)計(jì)文件的數(shù)據(jù)是一棵圖形樹,圖形之間可能會(huì)有父子關(guān)系,比如一個(gè) group 下有一個(gè) rectangle,形成多層的樹結(jié)構(gòu)。協(xié)同編輯操作的對象就是這么一棵樹。

Figma 協(xié)同操作的最小原子是 對象的屬性。

修改同一個(gè)對象的不同屬性沒有沖突問題。

多個(gè)用戶同時(shí)修改同一個(gè)對象的相同屬性時(shí),最晚提交到服務(wù)端的值會(huì)覆蓋其他用戶的值,包括文本內(nèi)容。

假設(shè)一個(gè)屬性的值是 B,一個(gè)用戶修改為 AB,另一個(gè)用戶修改為 BC,最終同步后,他們不會(huì)得到 ABC,只會(huì)是 AB ,或者 BC,看誰最晚提交。

這個(gè)其實(shí)在大多協(xié)同表格應(yīng)用也是類似的,單元格的內(nèi)容也是最后提交者優(yōu)勝,只有富文本文檔才要求得到 ABC。

處理閃爍現(xiàn)象

首先要明確 Figma 協(xié)同編輯的基本要求:

  • 可以本地立即修改,而不是提交后再更新,這是為了有絲滑的用戶體驗(yàn),同時(shí)也能支持離線編輯能力;
  • 使用中心服務(wù),而不是去中性化(說你呢 CRDT),F(xiàn)igma 的服務(wù)端會(huì)維護(hù)圖形樹,作為最終的權(quán)威,并負(fù)責(zé)修正用戶提交的數(shù)據(jù)。

當(dāng)多個(gè)用戶同時(shí)修改同一個(gè)對象屬性時(shí),服務(wù)端返回的有沖突的屬性值如果立即給對象應(yīng)用上,可能會(huì)有 “閃爍” 現(xiàn)象。

是這么一個(gè)場景,在同一時(shí)間,用戶 A 將圖形改成紅色(本地改成紅色然后提交到服務(wù)器),用戶 B 改成黃色,用戶 B 比用戶 A 更早提交到服務(wù)器。

對于用戶 A,他會(huì)先看到顏色從紅色變成黃色,黃色再變成紅色,這種不期望的 “閃爍” 現(xiàn)象。

解決方式是,用戶 A 提交將顏色改成紅色的操作,要等待服務(wù)端確認(rèn)。在等待服務(wù)端確認(rèn)期間,如果收到其他用戶修改同一個(gè)屬性的操作(用戶 B 改成黃色),會(huì)把這個(gè)改動(dòng) 丟棄。

之后用戶 A 收到服務(wù)端的確認(rèn)消息后,如果此時(shí)有個(gè)用戶 C 修改圖形為紫色的操作同步過來,就會(huì)走正常的流程,將圖形改成紫色。

創(chuàng)建與刪除

創(chuàng)建類似前面的做法,也是最后寫入者優(yōu)勝。(沒理解)

對于刪除操作,F(xiàn)igma 服務(wù)器不會(huì)保存被刪除的數(shù)據(jù),這么做是為了防止文檔大小持續(xù)增長。

被刪除的數(shù)據(jù)由進(jìn)行刪除操作的客戶端負(fù)責(zé),該客戶端可通過 undo(撤銷)恢復(fù)。

系統(tǒng)需要保證 id 的一致性。

做法是給每個(gè)客戶端分配一個(gè)唯一 id,將其作為新創(chuàng)建對象 id 的一部分。這樣兩個(gè)客戶端就不會(huì)生成相同的對象 id 了。(這有點(diǎn)像雪花算法)

更改對象的父元素

修改對象的位置是 Figma 系統(tǒng)中最復(fù)雜的部分。

其復(fù)雜度來自移動(dòng)一個(gè)對象到另一個(gè)父節(jié)點(diǎn)操作。需要做到:

  • 該移動(dòng)操作不和該對象的其他無關(guān)屬性沖突;
  • 并發(fā)的兩個(gè)操作不會(huì)導(dǎo)致一個(gè)對象同時(shí)在多個(gè)父元素下。

很多做法是 “刪除+重新創(chuàng)建” 表示對象的移動(dòng),但這會(huì)導(dǎo)致 id 的改變,對 Figma 并不合適。

Figma 最后選擇給對象加一個(gè)屬性,指向它的父節(jié)點(diǎn)。這樣 id 得以保持不變,多個(gè)用戶同時(shí)進(jìn)行操作只是在改這個(gè)屬性,也有效避免了副本的出現(xiàn)。

副本指的是,兩個(gè)用戶同時(shí)分別把一個(gè)圖形放到不同的父節(jié)點(diǎn)上,如果用的是修改 children 數(shù)組的方式,就會(huì)導(dǎo)致兩個(gè)父節(jié)點(diǎn)都掛著同一個(gè)圖形的引用。

然后還有一個(gè) “環(huán)” 的問題,假設(shè) B 和 C 是兄弟節(jié)點(diǎn),一個(gè)用戶將 B 放到 C 下,另一個(gè)用戶把 C 放到 B 下,就會(huì)產(chǎn)生一個(gè)環(huán)。

解決方法是,最先改變父子關(guān)系,會(huì)作為最終狀態(tài)。假設(shè)用戶 1 將 C 放到 B 下的操作先到服務(wù)器,服務(wù)器會(huì)應(yīng)用它。此時(shí)服務(wù)器收到用戶 2 把  B 放到 C 下的同步信息,服務(wù)器會(huì)將其駁回,帶上真正的父節(jié)點(diǎn) id。

在駁回前,用戶 2 其實(shí)收到了用戶 1 的操作,客戶端此時(shí)會(huì)將 A 和 B 臨時(shí)形成環(huán),然后移出圖形樹,接著駁回的信息回來,客戶端就能確定父節(jié)點(diǎn),然后恢復(fù)到圖形樹中。

該方法并不是非常好,因?yàn)閳D形消失了一段時(shí)間,但方案比較簡單,且這種場景非常罕見,F(xiàn)igma 不打算用更復(fù)雜的方案。

順序一致性

如果多個(gè)用戶同時(shí)修改一個(gè)節(jié)點(diǎn)下的兄弟節(jié)點(diǎn)的位置,如何保證它們的最終順序是一致的?

Figma 使用了 “Fractional Indexing”(小數(shù)索引) 技術(shù)。

兄弟節(jié)點(diǎn)會(huì)分配一個(gè)大于等于 0,小于 1 的小數(shù)索引值。

插入新的節(jié)點(diǎn),會(huì)取于它相鄰的兩個(gè)節(jié)點(diǎn)的索引值的中間位置,比如要在索引為 0.3 和 0.4 的中間插入新節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)的索引值會(huì)標(biāo)記為 0.35。

如果出現(xiàn)索引值相同的情況,服務(wù)端會(huì)進(jìn)行糾正,把更晚提交的新節(jié)點(diǎn)的索引往后移動(dòng)一點(diǎn)。

實(shí)現(xiàn)撤銷(undo)

單機(jī)的 undo,是將狀態(tài)會(huì)恢復(fù)到上一個(gè)時(shí)間點(diǎn),如果不加以改變,換成多人協(xié)同,就會(huì)導(dǎo)致當(dāng)前用戶的操作在其他用戶撤銷時(shí)被覆蓋。

Figma 團(tuán)隊(duì)總結(jié)了一個(gè)重要的準(zhǔn)則:撤銷后復(fù)制了一些東西,然后重做到當(dāng)前位置,文檔不應(yīng)該被改變。

Figma 的做法是 改歷史記錄。

Figma 會(huì)在用戶撤銷的時(shí)候修改重做歷史,以及在重做的時(shí)候修改撤銷歷史。

用戶 A 和用戶 B 都打開一張圖紙,其中一個(gè)圖形原來是紅色。用戶 A 將其更換為藍(lán)色,同步,此時(shí)雙方都看到圖形是藍(lán)色。

此時(shí)用戶 B 又將圖形改成黃色,同步,此時(shí)雙方都是黃色的。。

用戶 A 進(jìn)行撤銷操作,撤銷為紅色(因?yàn)槌蜂N棧記錄的是紅變藍(lán)),此時(shí)重做棧的命令對象跑到重做棧,本來應(yīng)該是藍(lán)變紅,但是 最新的文檔狀態(tài)是黃色,所以這里強(qiáng)行把替換為黃變紅。

這樣歷史記憶就被篡改了,可以保證重做后能回到最新狀態(tài)。

對于用戶 B,則不需要修改,因?yàn)樗臍v史記錄是就是紅變黃(黃是最終狀態(tài))。

要點(diǎn)

最后是作者的一些心得:

  • CRDT 的文獻(xiàn)很有參考價(jià)值,即使你不打算做非中心化協(xié)同;
  • 可視化編輯器的協(xié)同編輯并沒有想象中難做;
  • 在開做之前先調(diào)研并實(shí)現(xiàn)原型是非常有價(jià)值的。

結(jié)尾

文章看下來,大概有一些圖形編輯器如何做協(xié)同編輯的概念了,以后有機(jī)會(huì)實(shí)踐一下。

其中一點(diǎn)我是非常贊同的,就是方案能簡單就不要復(fù)雜,我不是很喜歡一些高度抽象的東西,代碼是寫給人看的,只是順便讓機(jī)器執(zhí)行而已。

責(zé)任編輯:姜華 來源: 前端西瓜哥
相關(guān)推薦

2024-04-22 08:26:37

協(xié)同編輯FigmaOT 算法

2012-03-12 16:42:54

測試

2011-08-01 09:08:49

程序員

2023-08-07 08:01:15

2024-03-27 08:09:48

Figma協(xié)同編輯算法

2021-05-13 08:00:00

軟件測試程序IT

2022-12-07 11:21:30

Reactdiff

2017-11-16 21:21:18

DevOps測試軟件開發(fā)

2021-07-06 10:03:05

軟件開發(fā) 技術(shù)

2024-06-17 09:01:14

2019-09-15 14:07:49

2015-07-30 11:21:16

代碼審查

2022-08-29 08:08:58

SQLOracleCPU

2022-08-03 09:11:31

React性能優(yōu)化

2023-01-18 23:52:07

RTA用戶粒度運(yùn)營

2015-08-11 09:13:16

2048WEB開發(fā)

2014-04-15 18:05:16

ShareSDK社會(huì)化分享林帆

2022-04-27 11:46:56

設(shè)計(jì)師設(shè)計(jì)目標(biāo)設(shè)計(jì)方案

2020-12-22 10:22:12

QQ運(yùn)動(dòng)騰訊用戶
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

久久久99久久| 日韩免费一区| 日韩欧美国产高清91| 美女一区视频| 国产又黄又粗又硬| 一区久久精品| 国产一区二区欧美日韩| 中文字幕第三区| 川上优av中文字幕一区二区| 久久亚洲捆绑美女| 成人久久精品视频| 中文字幕一区二区三区精品 | 亚洲精品乱码久久| 素人啪啪色综合| 亚洲综合网站在线观看| 日本一区二区三区视频免费看| 国产视频一区二区三| 国产精品永久| 欧美成人三级视频网站| av黄色在线免费观看| 日本免费精品| 色婷婷av一区二区三区之一色屋| 欧美少妇一级片| 久久av少妇| www.久久精品| 51国偷自产一区二区三区的来源 | 精品视频一区二区三区四区| 亚洲怡红院av| 丝袜亚洲另类欧美| 午夜精品蜜臀一区二区三区免费 | 久久久久久无码精品人妻一区二区| 色是在线视频| 亚洲曰韩产成在线| 伊人色综合久久天天五月婷| 毛片免费在线观看| 成人v精品蜜桃久久一区| 成人h片在线播放免费网站| 黑人精品无码一区二区三区AV| 欧美成熟视频| 久久成人在线视频| а天堂中文在线资源| 香蕉视频一区| 亚洲激情电影中文字幕| 女人高潮一级片| 欧美日韩尤物久久| 91久久精品一区二区二区| 欧美色图另类小说| 第一中文字幕在线| 亚洲影视在线播放| 久久久无码中文字幕久...| 秋霞午夜在线观看| 国产精品网站导航| 亚洲成人午夜在线| 91视频在线观看| 国产精品国产自产拍在线| 日韩欧美第二区在线观看| 欧美婷婷久久五月精品三区| av高清不卡在线| 精品国产一区二区三区四区vr| 亚洲精品久久久久久久久久久久久久 | 久热免费在线观看| 深夜av在线| 欧美日在线观看| av观看免费在线| 国产精品粉嫩| 欧洲精品一区二区三区在线观看| 日本一极黄色片| 78精品国产综合久久香蕉| 日本久久电影网| 亚洲77777| 成人黄色91| 日韩精品一区二区三区中文精品| 少妇伦子伦精品无吗| 国产精品流白浆在线观看| 亚洲精品97久久| 日本高清www| 日韩欧美视频在线播放| 久久综合色影院| 日韩av一二三区| 久久久久久网| 成人福利网站在线观看11| 99热这里是精品| aaa亚洲精品| 日本精品一区二区三区不卡无字幕| av免费在线一区二区三区| 亚洲乱码国产乱码精品精98午夜| 国产资源在线免费观看| 欧美freesex| 欧美狂野另类xxxxoooo| 可以看的av网址| 日韩最新在线| 日韩一区二区三区在线播放| 精品99久久久久成人网站免费| 国产一区二区三区亚洲综合| www在线观看黄色| 久久久影视传媒| 亚洲人成网站在线观看播放| 国产福利视频在线观看| 亚洲美女久久精品| 久久99精品久久久久久久久久久久| 国产美女高潮久久白浆| 国产xxxx在线观看| 2021中文字幕一区亚洲| 久久久三级国产网站| 粗暴蹂躏中文一区二区三区| 精品少妇一二三区| 丝袜美腿一区二区三区| 亚洲自拍偷拍网址| 蝌蚪视频在线播放| 松下纱荣子在线观看| 国产精品麻豆久久| 欧美激情精品久久久久久久变态 | 91精品啪在线观看国产81旧版 | 99久久综合国产精品二区| 日韩一区二区三区四区| 免费黄在线观看| 亚洲美女毛片| 亚洲xxxx在线| 性开放的欧美大片| 欧美性猛交xxxx富婆弯腰| japan高清日本乱xxxxx| 日韩精品网站| 国产成人综合av| 无码精品黑人一区二区三区| 亚洲天堂免费看| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| swag国产精品一区二区| 久久精品国产99国产精品澳门| 亚洲天堂一区在线| 成人av在线资源网站| dy888午夜| 桃子视频成人app| 亚洲精品二三区| 国产网站在线看| 国产宾馆实践打屁股91| 欧美xxxx吸乳| 99精品国产九九国产精品| 亚洲最新视频在线| 欧美日韩一级黄色片| 91视视频在线观看入口直接观看www | 国产成人精品久久| 亚洲 小说区 图片区 都市| 亚洲综合视频网| 色哟哟免费视频| 日本一区高清在线视频| 免费欧美电影| 在线观看欧美日韩国产| 国产在线观看第一页| 国产性色一区二区| 国产精品入口免费软件| 国产一区二区三区日韩精品| 欧美在线观看日本一区| 神马久久高清| 色嗨嗨av一区二区三区| 亚洲最大成人网站| 日韩不卡免费视频| 亚洲国产精品一区二区第一页 | 一区二区三区高清视频在线观看| 国产视频一区二区三区四区| 成人在线免费观看黄色| 亚洲国产欧美久久| 国产成人在线免费视频| 久久综合九色综合欧美亚洲| 成年人免费在线播放| 在线视频亚洲专区| 国产精品久久久久久久久免费 | 国产精品久久久久久久久男| 成人精品一区二区三区免费| 欧美日韩性生活| 国产黄色录像片| 国产精品一区二区视频| 久久精品xxx| 亚洲激情播播| 国产深夜精品福利| 狂野欧美性猛交xxxxx视频| 亚洲国产精品成人精品| 国产精品免费无遮挡无码永久视频| 欧美经典一区二区| 亚洲一二区在线观看| 亚洲国产精品第一区二区三区| 久久艳妇乳肉豪妇荡乳av| 亚洲a∨精品一区二区三区导航| 中文字幕国产亚洲| 99久久国产热无码精品免费| 亚洲国产精品嫩草影院| 日韩一级av毛片| 国产在线精品国自产拍免费| 欧美日韩福利在线| blacked蜜桃精品一区| 91久久在线播放| 日本不卡网站| 久久精品国产欧美激情| 欧美一区二区在线观看视频| 高潮白浆女日韩av免费看| 三级黄色片在线观看| 国产成人av一区二区三区在线观看| 久久综合九色综合88i| 999国产精品视频| 国产日韩在线一区二区三区| 国产成人免费精品| 97视频在线观看免费高清完整版在线观看 | 男人的天堂avav| 成人激情电影在线| 成人在线看片| 国产黄色精品| 欧美最猛性xxxx| 欧美午夜大胆人体| 色av中文字幕一区| 天堂在线一二区| 日韩一区二区电影在线| 日韩免费av网站| 亚洲sss视频在线视频| 性生交大片免费全黄| 91女人视频在线观看| ass极品水嫩小美女ass| 日韩精品国产欧美| 黄色大片中文字幕| 91精品一区二区三区综合在线爱| 牛人盗摄一区二区三区视频| 日韩免费一级| 成人亚洲欧美一区二区三区| 日韩中文影院| 2020久久国产精品| 女囚岛在线观看| 久久影院资源网| 69久久夜色| 亚洲新中文字幕| 男人天堂综合| 日韩电影免费观看在线观看| 午夜精品久久久久久久99老熟妇| 欧美日韩一区二区三区四区五区| 成人毛片在线播放| 精品美女久久久久久免费| 成年人av电影| 亚洲人精品午夜| 国产黄色小视频网站| 国产欧美日本一区视频| 国产激情在线免费观看| 91亚洲精品一区二区乱码| 国内精品免费视频| 高清在线不卡av| 人妻体体内射精一区二区| 九色综合狠狠综合久久| 91小视频网站| 免费高清在线一区| 亚洲免费看av| 青青草97国产精品免费观看| 国产又黄又猛视频| 日本最新不卡在线| 在线免费视频一区| 精品制服美女丁香| 久久久福利影院| 国产在线精品免费| 国产又粗又猛又爽又黄| 国产在线精品一区二区| 性色av浪潮av| 丁香婷婷深情五月亚洲| 国产精品久久久久久亚洲av| 成人综合激情网| 日韩免费高清一区二区| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品第七页| 久久久91精品国产一区二区三区| 少妇真人直播免费视频| 国产精品三级av在线播放| 天海翼在线视频| 亚洲综合999| 91午夜视频在线观看| 色香色香欲天天天影视综合网| 国语对白做受69按摩| 欧美挠脚心视频网站| www.五月天激情| 日韩电影在线观看中文字幕| 国产小视频在线| 久久九九国产精品怡红院 | 欧美最猛性xxxxx免费| 色成人免费网站| 91网在线免费观看| 欧美黑白配在线| 神马一区二区影院| 黄色综合网站| 爱情岛论坛亚洲首页入口章节| 国产中文字幕一区| 亚洲精品中文字幕在线播放| 久久久久99精品一区| 搜索黄色一级片| 红桃av永久久久| 在线中文字幕网站| 精品国产乱码久久久久久久| 欧美xxx.com| 久久69精品久久久久久国产越南| 女人高潮被爽到呻吟在线观看| 国产精品福利网| 88久久精品| 午夜精品短视频| 欧美日韩一区二区三区四区在线观看| www一区二区www免费| 激情综合五月婷婷| 亚洲色图14p| 亚洲男女一区二区三区| aaa在线视频| 精品日韩欧美一区二区| 春暖花开成人亚洲区| 欧美激情xxxx性bbbb| 欧美xnxx| 乱色588欧美| 欧美精品自拍| 日本激情视频在线播放| 97久久精品人人爽人人爽蜜臀| 欧美日韩色视频| 色8久久精品久久久久久蜜 | 国产亚洲成av人片在线观看桃| 亚洲精品一线| 国产精品专区第二| 一个色免费成人影院| 日本免费a视频| 狠狠色综合日日| 中文字幕av久久爽一区| 婷婷亚洲久悠悠色悠在线播放| 国产毛片毛片毛片毛片| 国产亚洲欧美aaaa| 中文字幕在线视频网站| 国产经品一区二区| 亚洲精品国产首次亮相| 国产wwwxx| 久久嫩草精品久久久精品| 欧美一级高潮片| 日韩一卡二卡三卡国产欧美| 在线观看免费黄视频| 国产成人在线播放| 久久97视频| 免费在线激情视频| av在线播放一区二区三区| 国产女人18水真多毛片18精品| 欧美日韩三级一区| 东热在线免费视频| 国产精品国内视频| 怕怕欧美视频免费大全| 亚洲欧洲日产国码无码久久99 | 另类视频在线观看+1080p| 亚洲国产一区二区三区a毛片| 亚洲成人激情小说| 亚洲黄色小视频| 性欧美videos另类hd| 久久99精品视频一区97| 网站一区二区| 成年人深夜视频| 成人少妇影院yyyy| 国产一级理论片| 亚洲国产精彩中文乱码av| 3344国产永久在线观看视频| 国产精品乱子乱xxxx| 亚洲精选成人| 日韩精品电影一区二区| 色欧美乱欧美15图片| 国产二区视频在线观看| 国产美女精彩久久| 欧美在线资源| 亚洲一区二区三区四区av| 天天影视网天天综合色在线播放| 神马午夜在线观看| 欧美亚洲另类视频| 精品久久网站| 日本黄色www| 亚洲va欧美va人人爽午夜| 深夜影院在线观看| 国产精品久久精品| 91精品国产福利在线观看麻豆| 奇米777在线| 精品久久久久久国产91| 国产免费av高清在线| 91精品免费久久久久久久久| 欧美成人精品| 国产精品无码网站| 欧美揉bbbbb揉bbbbb| 日本中文字幕中出在线| 精品乱码一区| 免费看日韩精品| 免费在线一区二区三区| 日韩精品极品在线观看播放免费视频| 女生影院久久| 国产成年人在线观看| 丁香激情综合国产| 无码一区二区三区在线观看| 久久精品成人欧美大片| 国产精品久av福利在线观看| 熟女人妇 成熟妇女系列视频| 亚洲天堂成人在线观看| 午夜视频在线播放| 国产人妖伪娘一区91| 亚洲国产国产亚洲一二三| 69精品无码成人久久久久久| 日韩一区二区三区四区| 欧美福利在线播放| 日韩美女爱爱视频| 中国av一区二区三区| 少妇荡乳情欲办公室456视频| 国产精品美女免费| 国产亚洲成人一区| 加勒比婷婷色综合久久|