精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

欧美性aaa| 黄色一级a毛片| 日韩啪啪电影网| 欧美一区二区三区精品| 日本男女交配视频| 欧美日韩国产综合视频| 蜜桃视频免费观看一区| 色在人av网站天堂精品| 在线免费观看黄色小视频| 欧美日韩免费电影| 亚洲国产成人91porn| 日本精品一区二区三区高清 久久| 糖心vlog精品一区二区| 欧美日本一区| 国产一区二区三区丝袜| 中文字幕在线播放一区二区| 美女福利一区二区| 亚洲免费观看视频| 日韩免费三级| 国产美女无遮挡永久免费| 免费看黄裸体一级大秀欧美| 久久大大胆人体| 中文字幕av网址| 亚洲精品视频一二三区| 欧美午夜电影在线播放| a级黄色一级片| 粗大黑人巨茎大战欧美成人| 国产三级欧美三级日产三级99 | 99re8这里有精品热视频免费| 青青草原综合久久大伊人精品优势| 久久精品电影网站| 国产精品毛片一区二区| 福利欧美精品在线| 91精品在线免费观看| 在线免费视频a| 天堂中文av在线资源库| 在线视频cao| 97久久精品人人爽人人爽蜜臀| 成人啪啪免费看| 国产精品露脸视频| 亚洲综合三区| 97av在线影院| 精品一区免费观看| 国产精品mm| 免费99精品国产自在在线| 四虎国产成人精品免费一女五男| 亚洲第一论坛sis| 精品国产伦理网| 国产男女无遮挡猛进猛出| 亚洲欧洲日韩精品在线| 精品视频在线视频| 日韩欧美xxxx| 日本高清不卡一区二区三区视频 | 日韩精品在线一区二区三区| 午夜在线播放视频欧美| 国产91精品黑色丝袜高跟鞋| 日韩成人免费在线观看| 亚洲激情网址| 2019中文字幕免费视频| 91九色丨porny丨肉丝| 在线亚洲免费| 2024亚洲男人天堂| 国产成人无码av| 美女尤物久久精品| 国产精品福利无圣光在线一区| 日韩手机在线视频| 日本伊人精品一区二区三区观看方式| 国产精品久久久久7777婷婷| 中文字幕一区二区三区人妻四季 | 国产精品偷伦免费视频观看的| 波多野结衣小视频| 日本vs亚洲vs韩国一区三区二区 | 精品亚洲免a| 亚洲精品国产精品乱码不99按摩| 疯狂揉花蒂控制高潮h| 香蕉久久夜色精品国产更新时间| 亚洲欧美资源在线| 国产精品理论在线| 一级毛片免费高清中文字幕久久网| 久久亚洲精品网站| 久久精品免费在线| 狂野欧美一区| 成人精品久久久| 亚洲欧美另类综合| 久久久www成人免费无遮挡大片| 日韩aⅴ视频一区二区三区| 97在线观看免费观看高清| 综合av第一页| 奇米精品一区二区三区| 精品免费av在线| 3atv在线一区二区三区| www.黄色网| 蜜臀91精品国产高清在线观看| 在线电影中文日韩| 免费视频一二三区| 噜噜噜久久亚洲精品国产品小说| 国产色综合天天综合网| 国产日韩免费视频| 久久无码av三级| 最近中文字幕免费mv| 久久男人av资源站| 欧美人xxxx| 秋霞成人午夜鲁丝一区二区三区| 51自拍视频在线观看| 精品精品精品| 久久国内精品一国内精品| 亚洲精品午夜久久久久久久| 人人狠狠综合久久亚洲| 国产精品手机视频| 97电影在线| 亚州成人在线电影| 婷婷中文字幕在线观看| 亚洲人挤奶视频| 欧美日本黄视频| 五月婷婷丁香在线| caoporn国产精品| 欧美日韩视频免费在线观看| 亚洲同志男男gay1069网站| 欧美一区二区三区播放老司机| 欧美狂猛xxxxx乱大交3| 尹人成人综合网| 91精品国产综合久久久久久久久| 免费在线稳定资源站| 亚洲一区二区影院| 性生活免费在线观看| 免费成人av| 97在线精品视频| 精品国产av 无码一区二区三区| 国产日韩欧美综合一区| 草草久久久无码国产专区| 久久久91麻豆精品国产一区| 在线午夜精品自拍| 五月婷婷激情视频| 91丨porny丨首页| a天堂资源在线观看| 999精品嫩草久久久久久99| 一区二区三欧美| 欧美 日韩 精品| av不卡免费电影| 日本免费a视频| 欧美2区3区4区| 久久香蕉频线观| 国产精品人妻一区二区三区| 国产精品系列在线| 亚洲 中文字幕 日韩 无码| 西野翔中文久久精品字幕| 91精品国产色综合久久不卡98口| 亚洲精品久久久狠狠狠爱| 一区二区三区在线视频免费| 亚洲天堂网站在线| 欧美国产综合| 亚洲free嫩bbb| 国产淫片在线观看| 在线综合+亚洲+欧美中文字幕| 国产精品视频看看| 狠狠色丁香久久婷婷综| 综合视频在线观看| 999色成人| 欧美激情一区二区三级高清视频| 亚洲第九十九页| 亚洲va欧美va人人爽午夜| 国产一级黄色录像| 国产精品一国产精品k频道56| 久久日韩精品| 成人不卡视频| 日韩中文视频免费在线观看| 国产女人18毛片18精品| 一区二区三区四区不卡在线 | 久久久亚洲国产精品| 成人av资源网址| 青草青草久热精品视频在线观看| 欧美扣逼视频| 欧美日韩美少妇| 久久久久久久久久网站| 成人禁用看黄a在线| 日韩中文字幕三区| 第一会所亚洲原创| 91香蕉亚洲精品| 成人福利电影| 亚洲老头同性xxxxx| 又骚又黄的视频| 一区二区三区中文字幕精品精品| 国产真实乱人偷精品| 日日夜夜精品视频免费| 日本成人性视频| 国内精品麻豆美女在线播放视频| 国产91在线播放九色快色| 日本在线视频观看| 亚洲第一区中文99精品| 中文字幕免费视频观看| 亚洲精品五月天| 五级黄高潮片90分钟视频| 久久精品国产999大香线蕉| 免费看欧美一级片| 成人免费电影网址| 国产精品久久久久久久小唯西川 | 久久精品国产精品国产精品污| 朝桐光一区二区| 欧美精品性视频| 国产综合在线观看| 日韩女优毛片在线| 国产精品欧美综合| 亚洲成av人**亚洲成av**| 欧美老女人性生活视频| 不卡一卡二卡三乱码免费网站| 青青草精品视频在线观看| 夜间精品视频| 日本最新一区二区三区视频观看| 1769国产精品视频| 国产欧美久久久久久| 美女高潮视频在线看| 久久亚洲精品毛片| 成人影院免费观看| 亚洲精品美女在线观看| 国产熟女一区二区三区四区| 91精品办公室少妇高潮对白| 久视频在线观看| 中文字幕日韩精品一区| 蜜桃精品一区二区| 成人自拍视频在线| 国产一级免费大片| 日韩va欧美va亚洲va久久| 青娱乐自拍偷拍| 欧美久久视频| 一区二区精品免费视频| 最新国产精品视频| 国产区一区二区| 日韩高清一区| 成人网在线免费看| 成人精品三级| 国产精品扒开腿爽爽爽视频| 白白色在线观看| 欧美激情亚洲自拍| 最新国产在线拍揄自揄视频| 久久精品国产96久久久香蕉| 爱久久·www| 国产一区二区三区欧美| 久草福利在线视频| 亚洲日本欧美日韩高观看| 香蕉国产在线视频| 日韩电影大全免费观看2023年上| 亚洲国产999| 欧美成人一区二区| 亚洲精品.www| 日韩精品中午字幕| 亚洲精品久久久蜜桃动漫| 欧美一区二区三区在线视频| 国产精品综合在线| 制服丝袜亚洲精品中文字幕| 国产麻豆91视频| 欧美一三区三区四区免费在线看 | 日本天堂网在线观看| 亚洲一区二区三区四区在线观看| 婷婷在线精品视频| 亚洲美女视频一区| 久久精品美女视频| 欧美日韩另类在线| 日韩综合在线观看| 欧美色图天堂网| 一区二区国产欧美| 日韩欧美一卡二卡| 成人久久精品人妻一区二区三区| 精品久久久三级丝袜| 欧美熟妇交换久久久久久分类 | 欧美日韩在线播放一区| 在线免费观看中文字幕| 欧美丰满美乳xxx高潮www| 99热这里只有精品5| 欧美精品一区二区三区蜜桃| 四虎影视在线播放| 亚洲人成啪啪网站| 日本精品一区二区三区在线播放| 欧美大成色www永久网站婷| 精灵使的剑舞无删减版在线观看| 8090成年在线看片午夜| 欧美日韩激情电影| 成人在线免费观看视视频| 51精品国产| 日本一区二区免费看| 天天av综合| 熟女少妇在线视频播放| 免费在线观看精品| 性高潮久久久久久| 久久久噜噜噜久久中文字幕色伊伊 | 精品视频在线观看一区二区| 一本色道久久综合亚洲精品高清 | 免费看日批视频| 911国产精品| 天天操天天干天天爽| 色婷婷av一区二区三区在线观看| 日本高清成人vr专区| 热久久这里只有| 日韩三级av高清片| 日韩av电影免费播放| 亚洲天堂免费| 国产男女无遮挡| 国产成人精品亚洲日本在线桃色| 国产伦理片在线观看| 亚洲在线视频一区| 亚洲 小说区 图片区| 亚洲精品999| 黄视频网站在线| 国产91色在线播放| 成年人一级黄色片| 国产精品456露脸| 欧美偷拍一区二区三区| 玉米视频成人免费看| 青青国产在线视频| 亚洲福利在线视频| 国产激情视频在线| 国产精品欧美日韩久久| jizz性欧美23| 最新视频 - x88av| 免费在线看一区| 91视频啊啊啊| 亚洲一区二区av电影| 国产精品自偷自拍| 中文字幕在线亚洲| 欧美亚洲韩国| 久久免费看av| 伊人影院久久| 蜜桃色一区二区三区| 亚洲丝袜另类动漫二区| 亚洲 小说区 图片区| 亚洲欧美制服中文字幕| 国产福利片在线观看| 99免费在线视频观看| 91精品国产麻豆国产在线观看 | 四虎视频在线精品免费网址| 免费国产一区二区| 亚洲清纯自拍| 久久性爱视频网站| 亚洲永久精品大片| 国产av无码专区亚洲a∨毛片| 日韩中文理论片| 国产精品66| 亚洲mv在线看| 蜜桃免费网站一区二区三区| 蜜桃传媒一区二区亚洲| 色婷婷综合视频在线观看| 欧美少妇另类| 日本精品va在线观看| 三级小说欧洲区亚洲区| 日本www在线视频| 99久精品国产| 五月天综合激情网| 亚洲免费成人av电影| 写真福利精品福利在线观看| 日本精品视频一区| 美国三级日本三级久久99| 老司机精品免费视频| 91精品婷婷国产综合久久竹菊| 欧美猛烈性xbxbxbxb| 成人午夜激情网| 午夜电影亚洲| 老熟妇精品一区二区三区| 精品国产乱码久久久久久婷婷| 无码精品在线观看| 国产97免费视| 四季av一区二区三区免费观看| 国产精品嫩草影院8vv8| 一区二区三区中文在线| 无码精品黑人一区二区三区| 热99精品里视频精品| 日韩免费特黄一二三区| 手机在线免费毛片| 五月天中文字幕一区二区| 国产资源在线看| 91久久久久久久久| 在线日本高清免费不卡| 亚洲精品成人无码熟妇在线| 欧美性猛交xxxx乱大交退制版 | 欧美日韩亚洲在线观看| 污网站在线免费| 亚洲午夜一区二区三区| 男人天堂资源在线| 成人有码在线播放| 亚洲日本视频| 永久免费观看片现看| 制服丝袜激情欧洲亚洲| 国产777精品精品热热热一区二区| 欧美高清性xxxxhd| 久久er精品视频| 日本三级视频在线| 中文字幕在线精品| 欧洲亚洲一区二区三区| 少妇网站在线观看| 亚洲一二三级电影| 成人网视频在线观看| 91手机在线播放| 久久成人亚洲| 欧美黑吊大战白妞| 亚洲视频在线观看免费| 香蕉大人久久国产成人av| 人妻熟女一二三区夜夜爱| 亚洲精品欧美二区三区中文字幕| 色婷婷综合视频| 亚洲va电影大全| 日日夜夜精品视频免费| 日韩特黄一级片|