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

游戲賬號大圖生成

開發(fā) 架構(gòu)
轉(zhuǎn)轉(zhuǎn)游戲賬號業(yè)務(wù)中,以王者榮耀為例,用戶關(guān)注的核心指標(biāo)是:英雄總數(shù)、皮膚總數(shù)、特色皮膚等重點(diǎn)信息。但是在舊版商品列表展示的圖片,是用戶上傳的圖片,以及一些簡單業(yè)務(wù)規(guī)則生成的圖片,沒有突出賬號相關(guān)重點(diǎn)特色。

1 背景

2 從前端生成大圖,到后端生成大圖

2.1 前端生成大圖的考量與實(shí)現(xiàn)方案

2.2 前端生成大圖遇到的問題及原因分析

2.3 改進(jìn)方案-后端生成大圖

3. 后端生成大圖的具體實(shí)現(xiàn)

3.1 Java圖像處理api

3.2 基礎(chǔ)信息部分

3.3 模塊化拼接皮膚分類部分

4 總結(jié)

4.1 性能提升

4.2 用戶體驗(yàn)

4.3 擴(kuò)展性與維護(hù)性

1.背景

轉(zhuǎn)轉(zhuǎn)游戲賬號業(yè)務(wù)中,以王者榮耀為例,用戶關(guān)注的核心指標(biāo)是:英雄總數(shù)、皮膚總數(shù)、特色皮膚等重點(diǎn)信息。但是在舊版商品列表展示的圖片,是用戶上傳的圖片,以及一些簡單業(yè)務(wù)規(guī)則生成的圖片,沒有突出賬號相關(guān)重點(diǎn)特色。

圖片圖片

雖然在商詳(商品詳情頁)內(nèi)部已經(jīng)呈現(xiàn)出了完整的驗(yàn)號報(bào)告,但是用戶需要從商列(商品列表頁)點(diǎn)擊進(jìn)入到商詳,存在較長的轉(zhuǎn)換路徑,降低了關(guān)鍵信息的觸達(dá)效率。

圖片圖片

于是我們將游戲賬號相關(guān)重點(diǎn)信息生成大圖,展示在商列及商詳。

商列(商品列表頁)大圖:

圖片圖片

商詳(商品詳情頁)大圖:

圖片圖片

2.從前端生成大圖,到后端生成大圖

2.1 前端生成大圖的考量與實(shí)現(xiàn)方案

需求初期,大圖由前端生成,主要出于以下考慮:

  • 前端可利用瀏覽器原生渲染能力處理復(fù)雜布局和樣式,開發(fā)驗(yàn)證速度較快。
  • 前端能更靈活地支持圖像處理,開發(fā)成本較低。

前后端進(jìn)行交互,由后端提供生成圖片所需的全量物料圖片信息。前端拿到物料之后,通過頁面api,與Puppeteer截圖相結(jié)合的方式生成大圖。步驟如下:

  • 前端創(chuàng)建一個(gè)頁面,通過訪問后端接口拿到對應(yīng)的物料數(shù)據(jù)(小圖url、文字等)。對這些圖片資源url數(shù)據(jù)進(jìn)行實(shí)時(shí)訪問,在頁面上進(jìn)行圖片與文字的繪制,進(jìn)而生成大圖的頁面。
  • 將此頁面的地址,傳到另一個(gè)Puppeteer服務(wù)。Puppeteer服務(wù)會(huì)啟動(dòng)一個(gè)瀏覽器實(shí)例,再次訪問傳入的頁面,然后進(jìn)行截圖。

2.2 前端生成大圖遇到的問題及原因分析

在上線之后,發(fā)現(xiàn)前端生成大圖會(huì)有一定概率的超時(shí)異常導(dǎo)致生成圖片失敗,平均2~3s,超時(shí)情況大于5s。在生成只有12個(gè)拼接圖片的情況下尚且超時(shí),隨著我們商詳大圖需求的引入,拼接圖片數(shù)量有時(shí)會(huì)超過600。此時(shí)超時(shí)情況會(huì)更加嚴(yán)重。

通過對整體鏈路的分析,發(fā)現(xiàn)Puppeteer服務(wù)截圖是一個(gè)耗時(shí)較多的操作,其大概步驟如下:

  • 申請服務(wù)內(nèi)存、磁盤等資源;
  • 創(chuàng)建瀏覽器進(jìn)程并啟動(dòng);
  • 通過網(wǎng)絡(luò)訪問傳入頁面URL;
  • 渲染頁面并且進(jìn)行截圖。

2.3 改進(jìn)方案-后端生成大圖

為了解決前端方案的性能瓶頸,我們評估了遷移到后端生成圖片的可行性。對于上面遇到的問題,后端可以有針對性地進(jìn)行解決:使用Java中awt包下的畫圖api拼接生成大圖,避免了Puppeteer啟動(dòng)瀏覽器、渲染頁面帶來的開銷。

能否遷移到后端,有兩個(gè)衡量標(biāo)準(zhǔn),第一個(gè)是性能,即耗時(shí)。第二個(gè)是后端生成的圖片UI樣式,即能否達(dá)到UI驗(yàn)收標(biāo)準(zhǔn)。

于是我們先在本地測試,發(fā)現(xiàn)相同圖片耗時(shí)僅僅需要20ms左右(相較前端平均2~3秒的時(shí)間有較大提升)。即使涉及500多張圖片的拼接,平均耗時(shí)也只在2s左右。另外在生成的圖片樣式效果上也達(dá)到了UI驗(yàn)收的要求。

前端生成大圖:

圖片圖片

后端生成大圖:

圖片圖片

3. 后端生成大圖的具體實(shí)現(xiàn)

以上文提到的、規(guī)則相對復(fù)雜的商品詳情頁大圖為例進(jìn)行說明。通過分析UI原型,我們發(fā)現(xiàn)其結(jié)構(gòu)具有清晰的模塊化特征:從上往下看依次為基礎(chǔ)信息模塊、分類皮膚信息模塊。其中皮膚信息模塊又可分為分類標(biāo)題模塊、單個(gè)皮膚單元模塊。

圖片圖片

這里需要用到的操作,包括繪制圖片、文字、伸縮圖片、平移圖片等。由于后端使用的編程語言為Java,所以先簡要介紹一下Java圖片處理相關(guān)的api。

3.1 Java圖像處理api

在Java圖像處理中,java.awt.image.BufferedImage.BufferedImage與java.awt.Graphics2D是兩個(gè)核心類,它們密切協(xié)作以實(shí)現(xiàn)圖像的創(chuàng)建、編輯和渲染。

  • BufferedImage是圖像數(shù)據(jù)的畫布容器,負(fù)責(zé)存儲(chǔ)像素信息。主要用于讀寫圖像文件。
  • Graphics2D是操作圖像的畫筆,負(fù)責(zé)繪制和修改圖像內(nèi)容。在BufferedImage上繪制內(nèi)容。支持繪制文字、圖像平移縮放等操作。

3.1.1 創(chuàng)建BufferedImage

/**
     * 讀取本地文件
     */
    BufferedImage imageFromFile = ImageIO.read(new File("本地圖片路徑"));
    /**
     * 從網(wǎng)絡(luò)中讀取圖片
     */
    BufferedImage imageFromUrl= ImageIO.read(new URL("網(wǎng)絡(luò)圖片路徑"));

    /**
     * 通過構(gòu)造方法創(chuàng)建。構(gòu)造參數(shù)指定寬和高。
    */
    BufferedImage combinedImage = new BufferedImage(100, 200, BufferedImage.TYPE_INT_RGB);

3.1.2 繪制圖片與文字

public static void main(String[] args) throws IOException {
        BufferedImage backGroundImage = ImageIO.read(new File("輸入路徑"));

        BufferedImage combinedImage = new BufferedImage(backGroundImage.getWidth(), backGroundImage.getHeight(), BufferedImage.TYPE_INT_RGB);

        Graphics2D graphics = combinedImage.createGraphics();
        try {
            // 畫圖
            graphics.drawImage(backGroundImage, 0, 0, null);
            // 寫文字
            graphics.setFont(new Font("微軟雅黑", Font.BOLD, 20));
            graphics.setColor(Color.WHITE);
            graphics.drawString("文字內(nèi)容", 20, 20);

        } finally {
            // 釋放資源
            graphics.dispose();
        }

        // 保存結(jié)果
        File output = new File("輸出路徑");
        ImageIO.write(combinedImage, "jpg", output);
    }

3.1.3 圖片伸縮

public static void main(String[] args) throws IOException {
       // 伸縮前的畫面
        BufferedImage originImage = ImageIO.read(new File("文件路徑"));

        // 伸縮后的畫面
        BufferedImage scaleImage = getScaleImage(originImage, 0.7, 0.7);
        File output = new File("輸出路徑");
        ImageIO.write(scaleImage, "jpg", output);
 }

    /**
     * 對原始圖片按比例進(jìn)行伸縮
     */
    public static BufferedImage getScaleImage(BufferedImage originImage, double scaleFactorWidth, double scaleFactorHeight) {
        if (Objects.isNull(originImage) || scaleFactorWidth <= 0 || scaleFactorHeight <= 0) {
            return originImage;
        }
        // 等比例壓縮比例
        int scaledWidth = (int) (originImage.getWidth() * scaleFactorWidth);
        int scaledHeight = (int) (originImage.getHeight() * scaleFactorHeight);

        // 創(chuàng)建新的 BufferedImage
        BufferedImage scaledImage = new BufferedImage(scaledWidth, scaledHeight, BufferedImage.TYPE_INT_RGB);

        Graphics2D g2d = scaledImage.createGraphics();
        try {
            // 繪制縮放后的圖像
            g2d.drawImage(originImage, 0, 0, scaledWidth, scaledHeight, null);
        } finally {
            g2d.dispose();
        }
        return scaledImage;

3.2 基礎(chǔ)信息部分

原始UI圖如下,我們需要將具體文字信息寫入到對應(yīng)位置內(nèi)。

圖片圖片

實(shí)現(xiàn)思路:

  • 首先將原始UI圖繪制到畫布;
  • 設(shè)置文字字體、大小,以及橫縱坐標(biāo)參數(shù),繪制文字。

效果圖如下:

圖片圖片

3.3 模塊化拼接皮膚分類部分

皮膚分類模塊分開來看,可以按照皮膚類型分成若干個(gè)大類,如史詩皮膚、限定皮膚等。同時(shí)在每個(gè)皮膚分類模塊前有對應(yīng)標(biāo)題。

3.3.1 繪制標(biāo)題

通過api繪制標(biāo)題圖片到指定位置即可,這樣可省去字體設(shè)置與字體居中的步驟。

圖片圖片

3.3.2 生成皮膚圖片單元

每一個(gè)皮膚分類中,各個(gè)皮膚單元都由四部分元素組成,分別是角標(biāo)圖片、底圖圖片、文字、浮層圖片。

圖片圖片

我們拿到這四部分基礎(chǔ)原始數(shù)據(jù)之后,按如下步驟進(jìn)行繪制:

  • 繪制皮膚底圖到畫布;
  • 繪制浮層覆蓋到皮膚底圖之上;
  • 繪制角標(biāo)圖片到指定位置;
  • 繪制文字到指定位置。

由于各類小圖片信息是短時(shí)間內(nèi)不會(huì)變更的,所以這里會(huì)對各類小圖片進(jìn)行本地緩存,避免頻繁網(wǎng)絡(luò)請求導(dǎo)致的資源浪費(fèi)。

3.3.3 生成皮膚分類模塊

將所有生成的皮膚圖片單元按指定橫縱坐標(biāo)繪制。

圖片圖片

3.3.4 拉伸背景與邊框

原始UI切圖如下:

圖片圖片

由于每個(gè)賬號對應(yīng)的皮膚數(shù)量不同,需要讓背景圖與邊框適配對應(yīng)數(shù)量的皮膚圖片總高度。

圖片圖片

3.3.5 拼接生成各分類組合大圖

通過對每個(gè)皮膚分類,重復(fù)以上步驟,即可生成各分類組合大圖。

圖片圖片

4.總結(jié)

4.1 性能提升

生成耗時(shí)從平均2-3秒(前端+Puppeteer)降至毫秒級(簡單圖片)至秒級(超復(fù)雜圖片如500+皮膚),解決了超時(shí)問題。

4.2 用戶體驗(yàn)

確保了用戶在瀏覽商品時(shí),能快速地獲取到游戲賬號的核心價(jià)值信息。

4.3 擴(kuò)展性與維護(hù)性

通過模塊化思想,將圖片拼接的核心邏輯(圖片加載、繪制、文字渲染、布局、背景處理)抽象為可復(fù)用的基礎(chǔ)服務(wù)模塊。再結(jié)合動(dòng)態(tài)配置來定義不同游戲的大圖布局、元素樣式、數(shù)據(jù)映射規(guī)則等,實(shí)現(xiàn)了業(yè)務(wù)邏輯與渲染邏輯的解耦。使新游戲品類的接入效率大幅提升。

現(xiàn)已應(yīng)用在王者榮耀、原神、火影忍者、槍戰(zhàn)王者等多款游戲。

原神:

圖片圖片

火影忍者:圖片槍戰(zhàn)王者:圖片

關(guān)于作者

張廉潔 轉(zhuǎn)轉(zhuǎn)Java開發(fā)工程師

責(zé)任編輯:武曉燕 來源: 轉(zhuǎn)轉(zhuǎn)技術(shù)
相關(guān)推薦

2009-02-27 14:48:09

2009-10-23 14:50:28

游戲Windows 7兼容性

2014-08-27 10:57:09

2022-10-11 16:34:28

深度學(xué)習(xí)模型

2023-08-16 19:24:36

重構(gòu)

2009-03-19 01:26:00

2011-03-23 14:44:32

開發(fā)者游戲Android

2021-07-07 19:29:15

微軟Windows 11Windows

2017-12-13 10:08:26

大數(shù)據(jù)圖數(shù)據(jù)推理數(shù)據(jù)科學(xué)

2015-09-21 13:17:55

免費(fèi)開源游戲

2022-04-26 10:41:46

Android游戲開發(fā)工具

2012-10-09 09:25:52

CPU制造過程硅晶片

2023-09-07 20:33:08

2009-06-09 10:13:46

賬號設(shè)置網(wǎng)絡(luò)控制

2020-10-05 21:59:02

靜態(tài)網(wǎng)頁HTMLCSS

2011-08-08 10:24:09

2013-04-19 02:06:58

手機(jī)游戲手機(jī)游戲引擎技術(shù)選型

2009-07-23 13:23:47

開源游戲引擎

2011-11-24 09:55:22

iOS體育游戲應(yīng)用
點(diǎn)贊
收藏

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

欧美tk—视频vk| 99久久免费视频.com| 美女精品久久久| 荫蒂被男人添免费视频| 亚洲女同av| 国产精品传媒视频| 国产区一区二区三区| 性色av一区二区三区四区| 综合久久精品| 亚洲欧美日韩在线高清直播| 久久6免费视频| 日韩精品成人av| 成人免费视频一区二区| 国产精品久久久999| 久久免费视频精品| 日韩欧美网站| 日韩成人在线视频| 夜夜爽久久精品91| 97精品国产综合久久久动漫日韩 | 国产乱肥老妇国产一区二| 在线观看成人毛片| 日韩av密桃| 亚洲老头同性xxxxx| 日本熟妇人妻中出| caoporn视频在线| 2017欧美狠狠色| 亚洲最大成人在线| 亚洲视频在线观看一区二区| 亚洲精品乱码| 在线观看国产精品日韩av| 精品少妇人妻av一区二区三区| 91福利在线尤物| 中文字幕一区在线观看| 日本一区二区三区四区高清视频| 亚洲性生活大片| 久久亚洲影院| 91精品国产乱码久久久久久久久| 黄免费在线观看| 欧美中文一区| 亚洲国产欧美久久| 国产亚洲精品成人a| 99tv成人影院| 制服丝袜日韩国产| 女同激情久久av久久| 2019年精品视频自拍| 色八戒一区二区三区| 久久综合九色综合88i| 超级碰碰不卡在线视频| 亚洲一区二区三区爽爽爽爽爽| 欧美不卡在线一区二区三区| 又骚又黄的视频| 免费成人av在线播放| 日韩免费中文字幕| 久久国产在线视频| 国产一区亚洲| 久久免费视频网站| 日本一本高清视频| 国产一区二区你懂的| 456国产精品| 久草手机在线观看| 免费久久99精品国产自在现线| 在线视频欧美性高潮| 在线视频第一页| 色喇叭免费久久综合| 中文国产成人精品| 真人bbbbbbbbb毛片| 日韩av网址大全| 亚洲天堂影视av| 婷婷综合在线视频| 亚洲网色网站| 欧美极品美女电影一区| 国产在线视频99| 另类av一区二区| 久久久亚洲天堂| 国产成人无码精品久在线观看 | 中文字幕亚洲色图| 国产第一页浮力| 国内精品久久久久国产盗摄免费观看完整版| 亚洲欧美www| 一级黄色毛毛片| 天天色综合色| 久久久亚洲国产| 日本中文字幕在线观看视频| 国产日韩精品视频一区二区三区| 久久视频中文字幕| 国产无套粉嫩白浆内谢| 亚洲人metart人体| 性色av香蕉一区二区| 亚洲午夜一区二区三区| 免费午夜视频在线观看| 久久精品资源| 精品视频中文字幕| 在线精品一区二区三区| 国产欧美一区二区三区米奇| 亚洲色图第三页| 放荡的美妇在线播放| 亚洲免费影院| 亚洲精品日韩av| 你懂的在线观看| 亚洲男女一区二区三区| aaa毛片在线观看| 极品在线视频| 欧美三级韩国三级日本三斤| 制服丝袜av在线| 久久理论电影| 91精品国产91久久久久久| 精品亚洲永久免费| 日韩黄色片在线观看| 99超碰麻豆| 国产69久久| 亚洲成人精品在线观看| 久久久久久久久久一区二区| 神马久久av| 超碰97人人做人人爱少妇| 免费在线观看黄色小视频| 亚洲一级黄色| 91久久在线播放| 极品美乳网红视频免费在线观看| 国产欧美日韩激情| 国产一区二区网| 婷婷综合六月| 亚洲第一av网| 538精品在线观看| 久久精品国产第一区二区三区| 国产综合香蕉五月婷在线| 亚洲人妻一区二区三区| 一区二区三区免费在线观看| 久久国产这里只有精品| 久久99性xxx老妇胖精品| 亚州国产精品久久久| www.国产麻豆| 亚洲人成网站影音先锋播放| 亚洲一区在线不卡| 欧美黄色一级| 久久躁狠狠躁夜夜爽| 久草热在线观看| 国产成人综合视频| 欧美精品一区三区在线观看| 国产探花在线观看| 日韩视频免费观看高清完整版在线观看 | 国产精品1区二区.| 亚洲伊人婷婷| 看片一区二区| 亚洲精品视频免费| 99久热在线精品996热是什么| 精品一区二区三区在线视频| 深夜福利成人| 九七影院97影院理论片久久 | 韩国福利在线| 日本韩国一区二区三区| 亚洲精品色午夜无码专区日韩| 一区二区三区网站| 日韩美女免费观看| 能在线看的av| 在线一区二区三区四区五区| 白白色免费视频| 日本免费新一区视频| 久久国产精品免费一区| 男人的天堂免费在线视频| 日韩精品免费在线| 久久久久久久久久成人| 亚洲国产高清在线观看视频| 亚洲一级免费观看| 国产精品久久久久久久久久10秀 | 欧美亚洲视频一区| 成人在线分类| 欧美极品欧美精品欧美视频| 亚洲 另类 春色 国产| 欧美日在线观看| 免费成人深夜天涯网站| 精品一区免费av| www.av91| 欧美三级三级| 亚洲专区在线视频| 黄色漫画在线免费看| 国产午夜精品一区理论片飘花 | 超碰caoporn久久| 精品国产电影一区二区| 婷婷色中文字幕| 91亚洲国产成人精品一区二区三| 欧美日韩午夜爽爽| 曰本一区二区| 午夜伦理精品一区| 天天色棕合合合合合合合| 在线免费观看日本一区| 男女性高潮免费网站| 精品一区二区在线观看| 国产 日韩 欧美在线| 红杏视频成人| 国产精品久久久久久影视| 成人午夜电影在线观看| 日韩久久免费av| 高潮毛片又色又爽免费| 亚洲精品中文在线影院| 中文字幕av观看| 国产黄人亚洲片| 不要播放器的av网站| 欧美日韩国内| 亚洲国产欧美日韩| 天堂俺去俺来也www久久婷婷| 97在线观看免费高清| 在线免费av电影| 日韩激情视频在线播放| va视频在线观看| 在线观看不卡一区| 免费日韩一级片| 亚洲精品视频在线观看网站| 加勒比一区二区| 成人激情动漫在线观看| 亚洲激情在线看| 日韩在线a电影| 欧美亚洲一二三区| 亚洲性色视频| 欧美精品久久96人妻无码| 精品盗摄女厕tp美女嘘嘘| 2022国产精品| 岛国在线视频网站| 欧美成人精品h版在线观看| 国产精品秘入口| 91精品国产欧美一区二区成人| 九九热精品免费视频| 中文字幕精品一区二区三区精品| 亚洲精品在线视频播放| 日韩av电影天堂| 久久精品免费一区二区| 欧美日韩中文一区二区| 麻豆成人av| 欧美爱爱网站| 激情欧美一区二区三区中文字幕| 日韩高清在线| 日本91av在线播放| 精品丝袜在线| 97色伦亚洲国产| 麻豆tv入口在线看| 日韩中文字幕视频在线| 成人性爱视频在线观看| 国产一区二区日韩精品欧美精品| 99热这里只有精| 欧美精品黑人性xxxx| 亚洲天堂自拍偷拍| 欧美日韩成人综合在线一区二区| 青青草手机视频在线观看| 亚洲欧美另类在线| 免费观看av网站| 2020国产精品久久精品美国| 美女100%无挡| 国产欧美日韩视频一区二区| 亚洲欧美日韩第一页| 欧美激情在线观看视频免费| 99在线视频免费| bt欧美亚洲午夜电影天堂| 久久久午夜精品福利内容| 9l国产精品久久久久麻豆| 手机在线看片日韩| 99r国产精品| 精品无码国产污污污免费网站| 国产精品1区2区3区在线观看| 高清一区在线观看| 国产综合久久久久久鬼色| 国产男女无遮挡| 日韩中文字幕1| 伊人国产精品视频| 国产成人精品三级| xxxxxx黄色| 久久免费午夜影院| 国产精品18在线| 国产欧美一区二区三区网站 | 婷婷无套内射影院| 99pao成人国产永久免费视频| 蜜臀av性久久久久蜜臀av| 好吊一区二区三区| 六月丁香婷婷在线| 捆绑调教美女网站视频一区| 日韩av在线综合| 久草热8精品视频在线观看| 国产吃瓜黑料一区二区| 国产一区日韩二区欧美三区| 国产一卡二卡三卡四卡| 久久精品亚洲麻豆av一区二区 | 国产三级视频在线播放| 欧美精品一区二区不卡| 国产中文在线视频| 亚洲偷熟乱区亚洲香蕉av| 欧美高清视频| 97在线视频免费播放| av中文字幕在线观看第一页| 国产精品黄页免费高清在线观看| 欧美成人黑人| 国产成人av在线| 亚洲不卡视频| 日韩美女一区| 国户精品久久久久久久久久久不卡| 制服国产精品| 奶水喷射视频一区| 下面一进一出好爽视频| 久久综合五月天婷婷伊人| 国产精品国产三级国产传播| 欧美日韩亚洲国产一区| av免费观看在线| 国产亚洲激情视频在线| 波多野结衣在线播放| 2025国产精品视频| 亚洲成av在线| 国产欧美日韩精品在线观看| 亚洲视频自拍| 欧美日韩在线观看一区二区三区 | av中文字幕不卡| 三级电影在线看| 亚洲精品亚洲人成人网在线播放| 97精品在线播放| 色综合久久中文综合久久97| 在线观看你懂的网站| 亚洲精品狠狠操| 手机电影在线观看| 91精品国产自产在线老师啪| 蜜桃a∨噜噜一区二区三区| 日韩少妇中文字幕| 中日韩男男gay无套| 波多野结衣三级视频| 99精品久久只有精品| 欧产日产国产v| 51精品国自产在线| 调教视频免费在线观看| 色综合五月天导航| 国产一区二区三区免费在线| 亚洲一区二区精品在线观看| 欧美日韩国产高清| 九九九久久久久久久| 最新日韩av在线| 中文字幕 日韩有码| 伊人亚洲福利一区二区三区| 成人片在线看| 91啪国产在线| 综合久久综合| avtt中文字幕| 亚洲国产成人91porn| 亚洲国产精品成人久久蜜臀| 精品少妇v888av| 亚洲一区二区电影| 国产一区二区四区| 成人免费av网站| 日韩xxxxxxxxx| 日韩成人av在线播放| 最新欧美色图| 国产精品二区三区四区| 九九视频精品全部免费播放| 四虎免费在线观看视频| 精品一区二区久久久| 在线日韩国产网站| 欧美一级高清片在线观看| 9191在线播放| 国产精品免费在线| 婷婷综合五月| 少妇欧美激情一区二区三区| 久久久99久久精品欧美| 日韩免费av网站| 亚洲精品成a人在线观看| 国产调教在线| 欧美亚洲免费高清在线观看| 青娱乐精品视频| 亚洲天堂网av在线| 亚洲国产精品人人爽夜夜爽| 亚洲私拍视频| 先锋影音亚洲资源| 国产一区二区三区在线观看免费 | 国产97在线观看| 青青草97国产精品麻豆| 亚洲热在线视频| 天天影视色香欲综合网老头| 国产日产精品久久久久久婷婷| 国产91精品高潮白浆喷水| 国产精选一区| 国产999免费视频| 欧美日韩国产中文字幕| 69av在线| 国外成人免费视频| 蜜臀久久99精品久久久久久9| 97超碰在线免费观看| 欧美日韩高清一区| av在线中出| 在线观看成人av| 99久久er热在这里只有精品66| 国产精品suv一区二区69| 亚洲欧美成人在线| 动漫一区二区三区| 日韩av片在线看| 亚洲三级小视频| 欧美成人综合在线| 91在线观看免费高清| 久久久久看片| 久久久.www| 社区色欧美激情 | 农村少妇一区二区三区四区五区 | 久久亚洲精选| 中文字幕av免费在线观看| 亚洲视频在线看| 999久久久久久久久6666| 免费看国产黄色片| 午夜国产精品一区| 成人片在线看|