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

鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike

企業動態
E-Bike是一款基于HarmonyOS開發的元服務,以萬能卡片的形式給騎行提供便捷服務。

一、元服務E-Bike簡介

E-Bike是一款基于HarmonyOS開發的元服務,以萬能卡片的形式給騎行提供便捷服務,主要功能包括:

  1. 車輛狀態信息獲取:用戶可在元服務內連接電動自行車(真機和自行車自備),查看車輛位置、剩余電量、續航里程以及累計騎行里程。
  2. 包括響鈴找車功能:按鈕可觸發車輛鳴響,便于快速確認車輛具體位置(真機和自行車自備)。
  3. 用戶可通過右上角按鈕添加2x2或2x4卡片,在桌面可直接查看車輛狀態信息。
  4. 鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區

二、環境搭建

首先需要完成HarmonyOS開發環境搭建。E-Bike是元服務,且為端云一體化開發模式,新建工程可可參照如圖步驟進行(注意該模式下APP為Stage模型)。

鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區


鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區

軟件要求

DevEco Studio版本:DevEco Studio 3.1 Release及以上版本。

HarmonyOS SDK版本:API version 9及以上版本。

硬件要求
  • 設備類型:華為手機或運行在DevEco Studio上的華為手機設備模擬器。
  • HarmonyOS系統:3.1.0 Developer Release及以上版本。
  • 電動自行車(獲取真實車輛數據,車輛為作者自制)
環境搭建
  1. 安裝DevEco Studio,詳情請參考下載和安裝軟件
  2. 設置DevEco Studio開發環境,DevEco Studio開發環境需要依賴于網絡環境,需要連接上網絡才能確保工具的正常使用,可以根據如下兩種情況來配置開發環境:
  • 如果可以直接訪問Internet,只需進行下載HarmonyOS SDK操作。
  • 如果網絡不能直接訪問Internet,需要通過代理服務器才可以訪問,請參考配置開發環境
  1. 開發者可以參考以下鏈接,完成設備調試的相關配置:
    使用真機進行調試使用模擬器進行調試

三、代碼結構解讀

本篇教程只對E-Bike實現的核心代碼進行講解,對于完整代碼,會在源碼下載或gitee中提供。主要的程序框架如下:

entry\src\main\ets

│ ├─common–通用常量和數據

│ ├─entryability – EntryAbility.ts 程序入口

│ ├─entryformability–EntryFormAbility.ts卡片入口

│ ├─pages—Index.ts 應用主頁

│ ├─services

│ ├─widget

│ │ └─pages—2x2 ArkTS卡片

│ └─widget24

│ └─pages—2x4卡片

└─resources —資源文件目錄

四、應用主頁面UI和功能開發

4.1 主頁面UI

新建工程后,在entry\src\main\ets\pages\Index.ts文件中已有一個模板案例,我們需要刪除其中的代碼,然后構建自己的頁面。具體實現方法是:

  1. 刪除build() { }中的代碼。
  2. 使用Column、Flex、Row容器和Button、Image、Text組件構建E-Bike布局。
  3. 在UI中加入邏輯判斷具體要顯示的UI組件。如響鈴找車的Image組件內容由用戶的點擊狀態決定,點擊響鈴找車則Image切換為響鈴狀態,反之亦然。

具體代碼實現框架如下:

@Entry @Component struct Index {
    build() { Column({space:10})
    {
        // 背景圖
        Image($r("app.media.Ebike"))
            ···
        Flex()
        {
            // 響鈴找車
            Column()
            {
                if(this.display_flag==1)
                {
                Image($r("app.media.ic_ring_on_filled"))
                .height("55%")
                .objectFit(ImageFit.Contain)
                .interpolation(ImageInterpolation.High)
                .onClick(() => { this.display_flag +=1; if(this.display_flag>2)
                    {
                    this.display_flag =1;
                    }
                })
            }
            if(this.display_flag==2)
            {
            Image($r("app.media.ic_ring_off_filled"))
            .height("55%")
            .objectFit(ImageFit.Contain)
            .interpolation(ImageInterpolation.High)
            .onClick(() => { this.display_flag+=1; if(this.display_flag>2)
                    {
                    this.display_flag =1;
                    }
                })
            }
            Text("響鈴找車")
            ···
        }
        // 獲取定位
        Column()
        {
        Image($r("app.media.ic_statusbar_gps"))
        ····
        })
        Text(this.bike_location)
        ····
        }
        ····
        }.width("95%").height("10%")
        // 電量 設置

        Flex({ direction: FlexDirection.Row,justifyContent: FlexAlign.SpaceBetween,})
        {
        // 電量
        Column() { Row()
        {
        Image($r("app.media.ic_power"))
        ···
        // 電量值
        Text(this.bike_power.toString() + '%')
        ···
        }
        Text("剩余電量")
        ···
        }
        ···
        // 設置
        Column() { Image($r("app.media.ic_public_settings_filled"))
        ···
        Text("車輛設置")
        ···
        }···
        }

        // 騎行數據
        Flex({ direction: FlexDirection.Column})
        {
        Row()
        {
        Text(" 累計騎行")
        ··· Blank()
        Text("預計續航 ")
        ···
        }
        }
        }
    }
}

4.2 主頁功能開發

主頁主要實現的功能包括:連接車輛、獲取需要展示的數據(車輛電量、位置、里程數據等)、將數據持久化便于頁面展示。
車輛與E-Bike通過Socket TCP協議方式連接。鑒于此部分依賴硬件,這里主要介紹E-Bike應用層如何開發 Socket通信。實現如下:
Index.ets:

// 1. 首先要引入模塊,創建TCPSocket對象
import socket from '@ohos.net.socket'
// 創建一個TCPSocket連接,返回一個TCPSocket對象。
let tcp = socket.constructTCPSocketInstance();
tcpInit() {
    // 2. 綁定IP地址和端口。
    let bindAddress = { address: '192.168.xx.xx',
    port: 1234, // 綁定端口,如1234
    family: 1
    };
    tcp.bind(bindAddress, err => { if (err) {
    console.log('bind fail'); return;
    }
    console.log('bind success');
    }
    // 3.其次是訂閱TCPSocket相關的訂閱事件,如on message,有數據傳入 
    tcp.on('connect', () => {
    this.tcp_status = '連接ok' 
        prompt.showToast({message:this.tcp_status})
    });
    tcp.on('message', value => {
    this.message_recv = this.resolveArrayBuffer(value.message) 
        prompt.showToast({message:this.message_recv})
    });
    tcp.on('close', () => { 
        prompt.showToast({message:"tcp close"})
    });
}
// 4.連接到指定的IP地址和端口。 tcpConnect() {
tcp.getState().then((data) => {
        if (data.isClose) { this.tcpInit()
        }
        // 連接
        tcp.connect(
        {address: { address: this.GetSetIP, port: this.localAddr.port, family: 1}, timeout: 2000}
        ).then(() => {
        	prompt.showToast({message:" tcp connect successful"})
        }).catch((error) => { prompt.showToast({message:"tcp connect failed"})
     })
  })
}
// 5.發送數據 
tcpSend() {
tcp.getState().then((data) => 
  { if (data.isConnected) {
    // 發送消息

    tcp.send(
    { data: this.message_send, }
    ).then(() => {
    prompt.showToast({message:"send message successful"})
    }).catch((error) => { prompt.showToast({message:"send failed"})
    })
    } else {
    prompt.showToast({message:"tcp not connect"})
  }
 })
}
// 6. TCP連接操作界面通過設置按鈕控制,點擊設置按鈕即可彈出,可輸入車輛IP地址,確認連接
if(this.show_setting==1)
{
    Flex({ direction: FlexDirection.Row})
    {
        Row()
        {
            Text('車輛IP')
            TextInput({ placeholder: '192.168.43.164'})
            .onChange((value: string) => { this.InputIP = value
            })
            Button('連接').onClick(()=>
            {
           		 this.GetSetIP=this.InputIP; 
                 this.tcpInit()
            })
        }
    }
}

// 7.點擊組件,實現發送指令,并獲取對應數據,這里以電量為例: 
Image($r("app.media.ic_power"))
        .height("80%")
        .objectFit(ImageFit.Contain)
        .onClick(() => {
        // this.bike_power = 99;
        this.message_send = MSG_CMD.GET_BIKE_POWER this.tcpSend()
        this.bike_power = this.message_recv;
    })
/ 8.連接使用完畢后,主動關閉。取消相關事件的訂閱。 
setTimeout(() => {
	tcp.close((err) => { console.log('close socket.')
	});
	tcp.off('message');
	tcp.off('connect');
	tcp.off('close');
}, 30 * 1000);

五、卡片開發

5.1 卡片UI開發

開發卡片的目的是將自行車的數據展示在桌面上,讓用戶一目了然。用默認模板創建工程時,自動創建了一張卡片,在form_config.json文件改動配置為自動刷新,支持2x2.

//form_config.json
"colorMode": "auto", "isDefault": true, "updateEnabled": false, "scheduledUpdateTime": "10:30",
"updateDuration": 1,
"defaultDimension": "2*2", "supportDimensions": [
"2*2"
]

為展示電量信息,且布局不同,由此需要創建一張2x4的卡片。操作如下:在main目錄下,點擊鼠標右鍵 > New > Service Widget。

然后選擇Hello World卡片模板,點擊Next。

填寫卡片名字(如Widget24Card)、開發語言(ArkTS和JS可選)、支持卡片規格(Support dimension 2x4)、關聯表單(Ability name)點擊Finish完成創建。修改配置為自動刷新,支持2x4。

創建完卡片后,在ets文件目錄下顯示卡片目錄,然后開發者使用ArkTS開發卡片頁面。效果如圖所示:

鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區

為兩張卡片開發UI,resource資源共用。使用Flex容器開發卡片,保證不同屏幕大小的顯示效果。同時為組件綁定事件,用戶可以主動獲取數據,具體UI布局代碼不再贅述,實現2x2和2x4效果如下

鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區

5.2 卡片數據刷新

通過message事件刷新卡片內容,在卡片頁面中可以通過postCardAction接口觸發message事件拉起FormExtensionAbility,然后由FormExtensionAbility刷新卡片內容。下面是這種刷新方式更新電量的簡單示例。在卡片頁面通過注冊電量圖標Image組件的onClick點擊事件回調,并在回調中調用postCardAction接口觸發事件至FormExtensionAbility。

// Widget24Card.ets:
let storage = new LocalStorage();
@Entry(storage) @Component
struct WidgetCard24 {
    ···
    @LocalStorageProp('bike_power') bike_power: number = 50;
    ··· 
    build() {
        Row({space:5}) {
            // 背景圖 電量
            Column()
            {
                Row()
                {
                    Image($r("app.media.ic_power"))
                    ···
                    .onClick(() => { postCardAction(this, {
                    'action': 'message',
                    'params': { 'bike_power': 55
                    }
                    });
                    })
                    // 電量值
                Text(`${this.bike_power}`+'%')//this.bike_power.toString()+'%')
                ···
            }
            ···
        }
    }
}

// EntryFormAbility.ets:
import formBindingData from '@ohos.app.form.formBindingData';
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility'; import formProvider from '@ohos.app.form.formProvider';
export default class EntryFormAbility extends FormExtensionAbility {

find_bike: string = "app.media.ic_ring_off" bike_power: number = 55.6
display_flag : number = 1 
    bike_location: string = "長安街1號" 
    bike_distance: number = 520
	bike_duration: number = 479 
    my_font_size : number = 12

formData = {
    'title': this.find_bike, 'bike_power': this.bike_power, 
    'bike_distance':this.bike_distance, 'bike_duration':this.bike_duration, 
    'bike_location':this.bike_location,
    'detail': 'Detail Update Success.', // 和卡片布局中對應
}

onFormEvent(formId, message) {
        console.info(`FormAbility onEvent, formId = ${formId}, message:
    ${JSON.stringify(message)}`);
    let formInfo = formBindingData.createFormBindingData(formData) 
    formProvider.updateForm(formId, formInfo).then((data) => {
            console.info('FormAbility updateForm success.' + JSON.stringify(data));
        }).catch((error) => {
        console.error('FormAbility updateForm failed: ' + JSON.stringify(error));
        })
    }
    ...
}

實現效果如下圖:

鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區鴻蒙元服務開發實例:桌面卡片上的電動自行車助手E-Bike-開源基礎軟件社區


責任編輯:張燕妮
相關推薦

2023-08-11 14:00:42

鴻蒙元服務

2011-06-07 16:57:05

2023-08-04 17:24:43

2016-12-07 14:31:19

廣告系統架構機器學習

2023-06-30 10:36:32

人工智能數字孿生

2015-03-27 16:16:37

智能

2017-03-30 16:27:46

互聯網

2017-08-28 11:17:21

車廠共享單車

2017-01-04 12:00:23

智能運動

2023-09-13 15:27:14

鴻蒙應用元服務

2021-06-09 14:48:04

自動駕駛數據人工智能

2019-05-20 13:59:16

無人自行車谷歌黑科技

2020-12-15 09:11:52

NB-IoT運營商物聯網

2024-01-04 15:09:03

蜜蜂AI助手鴻蒙操作系統

2024-08-16 15:38:52

2020-07-22 18:19:13

iOS 14地圖自行車路線

2021-08-18 10:06:33

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

日本亚州欧洲精品不卡| 免费在线观看黄色网| 久久国产精品99国产| 国产亚洲欧洲高清一区| 欧美激情第四页| 日本在线播放一二三区| 亚洲欧洲国产日本综合| 精品一区二区不卡| 国产又爽又黄免费软件| 国产欧美一区二区色老头| 日韩亚洲欧美中文在线| 国产三级国产精品| 欧美二区观看| 欧美午夜精品理论片a级按摩| 欧美中日韩在线| av播放在线观看| 99久久伊人网影院| 亚洲综合视频1区| 久久久国产免费| 亚洲日本国产| 美日韩精品免费观看视频| 在线免费看黄视频| 国内露脸中年夫妇交换精品| 欧美精选一区二区| 亚洲人成色77777| zzzwww在线看片免费| 亚洲精品欧美在线| 亚洲精品tv久久久久久久久| 日韩有码电影| 成人免费视频一区二区| 成人高h视频在线| 欧美日韩在线视频播放| 西西裸体人体做爰大胆久久久| 久热精品视频在线免费观看| 日本猛少妇色xxxxx免费网站| 日韩精选在线| 亚洲国产欧美自拍| 怡红院一区二区| 在这里有精品| 欧美变态tickling挠脚心| www.久久久久久久久久久| 精品成人av| 欧洲在线/亚洲| 男人舔女人下面高潮视频| 夜鲁夜鲁夜鲁视频在线播放| 亚洲福利电影网| 国产手机免费视频| 美洲精品一卡2卡三卡4卡四卡| 亚洲人成在线观看一区二区| 亚洲最新免费视频| 日本激情在线观看| 国产精品久久久久久久久果冻传媒| 日本午夜精品一区二区| 日本一区高清| 国产三级精品在线| 视频一区亚洲 | 日韩免费电影网站| 四虎1515hh.com| 日韩免费成人| 精品人在线二区三区| 大尺度在线观看| 欧美freesex8一10精品| 精品丝袜一区二区三区| 少妇人妻好深好紧精品无码| 欧美自拍偷拍| 久久精品福利视频| 青青草偷拍视频| 亚洲免费黄色| 国产91色在线|| 一级做a爱片性色毛片| 精品亚洲国产成人av制服丝袜| 91在线免费观看网站| 亚洲第一视频在线| 91免费视频大全| 日韩欧美亚洲区| 国产精品久久麻豆| 亚洲成精国产精品女| 熟女少妇精品一区二区| 中文字幕综合| 亚洲福利在线视频| 欧美激情视频二区| 亚洲综合小说| 欧美一级视频免费在线观看| 老熟妇一区二区三区啪啪| 国产精品自产自拍| 久久综合九色欧美狠狠| 一广人看www在线观看免费视频| 亚洲色图在线看| 男人揉女人奶房视频60分| 巨胸喷奶水www久久久免费动漫| 7777女厕盗摄久久久| 无码人妻精品一区二区三区温州 | 日韩精品一区二区三| 日韩不卡一二三区| 999精品视频一区二区三区| 日韩精品福利| 一区二区三区中文在线| 日日碰狠狠躁久久躁婷婷| 国产精品一区二区精品| 国产手机视频精品| 欧美成人一区二区三区高清| 久久伊人亚洲| 国产精品免费一区二区三区观看| 韩日在线视频| 亚洲一区二区在线免费看| 亚洲少妇第一页| 999久久久精品一区二区| 自拍视频国产精品| 国产一级片毛片| 国产精品18久久久| 亚洲欧美综合一区| 在线观看网站免费入口在线观看国内 | 国产精品3区| 亚洲裸体xxxx| 国产无遮挡aaa片爽爽| 久88久久88久久久| 热re99久久精品国产99热| 国模雨婷捆绑高清在线| 欧美另类高清zo欧美| xxxx日本免费| 午夜影院日韩| 精品一卡二卡三卡四卡日本乱码 | 欧美日韩专区| 91麻豆国产语对白在线观看| 国产区在线视频| 天天综合日日夜夜精品| 国产清纯白嫩初高中在线观看性色| 日产精品一区二区| 国产91色在线|| 四虎电影院在线观看| 亚洲国产裸拍裸体视频在线观看乱了 | 国产亚洲自拍av| 国产风韵犹存在线视精品| 亚洲自拍偷拍二区| 免费视频观看成人| 伊人伊成久久人综合网站| 中文字幕超碰在线| 91亚洲国产成人精品一区二三| www.一区二区.com| 久久av网站| 欧美巨猛xxxx猛交黑人97人| www.蜜臀av.com| 亚洲综合色视频| 国产精品成人免费一区久久羞羞| 欧美日韩精品一本二本三本| 99久久精品久久久久久ai换脸| 色帝国亚洲欧美在线| 日韩午夜在线影院| 国产精品成人av久久| 成人永久免费视频| 国产一区二区在线视频播放| 欧美福利在线播放网址导航| 国产91精品高潮白浆喷水| 你懂的免费在线观看| 欧洲av在线精品| 国产精品一区二区亚洲| 黑人巨大精品欧美一区| 视色,视色影院,视色影库,视色网| 国产精品一区二区精品视频观看 | 国产一级大片在线观看| 成人精品视频一区二区三区尤物| 国产精品va在线观看无码| 丝袜美腿一区二区三区动态图| 日本精品中文字幕| av在线免费观看网站| 69精品人人人人| 一区二区三区免费高清视频| 久久婷婷色综合| 国产精品区在线| 亚洲色图国产| 精品视频一区二区| 日韩另类视频| 欧美精品手机在线| 欧美一区二区三区少妇| 欧美二区三区的天堂| 国产亚洲精品久久久久久无几年桃| 91视频国产资源| 999久久久精品视频| 一区在线免费| 日韩在线导航| 爱爱精品视频| 国产精品国产三级国产aⅴ9色 | 日韩啪啪电影网| 91久久精品www人人做人人爽| 麻豆国产在线| 日韩中文字幕精品视频| 亚洲xxxx天美| 欧洲国产伦久久久久久久| 欧美黄色免费看| 久久久久久久久久久电影| 日韩va在线观看| 国产日韩免费| 久久天天东北熟女毛茸茸| 亚洲免费专区| 51成人做爰www免费看网站| 三上悠亚一区二区| 欧美成aaa人片免费看| 牛牛澡牛牛爽一区二区| 日韩欧美的一区二区| 天堂网一区二区| 亚洲电影中文字幕在线观看| 国产精品理论在线| 91在线精品一区二区| 免费人成视频在线播放| 日韩精品91亚洲二区在线观看| 欧美黄网在线观看| 欧美丝袜一区| 久久视频在线观看中文字幕| 777久久精品| 国产精品直播网红| 成人影院入口| 久久青草精品视频免费观看| a毛片在线看免费观看| 中文字幕日韩免费视频| 四虎影视精品成人| 亚洲国产欧美一区二区三区同亚洲| 99久久精品国产一区色| 欧美日精品一区视频| 天天干天天干天天操| 一区二区三区国产| 男人的午夜天堂| 中文字幕欧美日本乱码一线二线| 在线 丝袜 欧美 日韩 制服| 成人av网在线| 成人免费看片载| 国产成人一级电影| 男生和女生一起差差差视频| 美女国产一区二区| www.色就是色| 日日夜夜免费精品视频| 精品人妻一区二区三区四区在线 | 日韩手机在线观看视频| 亚洲经典自拍| 久久国产精品网| 欧美视频不卡| 久草免费福利在线| 国内久久视频| 免费网站永久免费观看| 国产精品啊啊啊| 欧美日韩中文字幕在线播放| 伊人情人综合网| 二级片在线观看| 久久久久久久久丰满| 97超碰人人爱| 欧美久久综合| 成年人网站国产| 国产欧美日本| 亚洲成熟丰满熟妇高潮xxxxx| 视频在线观看一区二区三区| 久久久久免费精品| 日本不卡一二三区黄网| 中国黄色片免费看| 狠狠色伊人亚洲综合成人| 国产精品久久久久久9999| 国产一区二区不卡老阿姨| 日韩大尺度视频| 成年人国产精品| 朝桐光av一区二区三区| 久久久午夜精品| 亚洲色成人网站www永久四虎| 国产欧美1区2区3区| 天堂а√在线中文在线鲁大师| 亚洲视频综合在线| 国产主播在线观看| 一本一道久久a久久精品综合蜜臀| 无码人妻精品一区二区三区不卡 | 免费激情视频网站| 亚洲精品电影网| av在线免费播放网站| 操91在线视频| 麻豆免费版在线观看| 国产精品99久久久久久久久久久久| h1515四虎成人| 97中文在线观看| 国产精品免费大片| 日本一本草久p| 欧美综合二区| 无码人妻一区二区三区在线视频| 成人免费高清视频| 中文字幕网站在线观看| 亚洲欧美一区二区不卡| 国产精品美女久久久久av爽| 欧美色国产精品| 狠狠人妻久久久久久综合麻豆| 亚洲欧美精品一区| 成人短视频在线| 欧洲成人在线观看| 美女精品久久| 色中色综合成人| 尹人成人综合网| 三上悠亚av一区二区三区| 国产suv精品一区二区6| 国产黄色大片免费看| 亚洲国产欧美在线| 一级做a爰片久久毛片16| 精品网站999www| 欧美xxxx性xxxxx高清| 国产精品电影网站| 久久九九热re6这里有精品| 亚洲一区二区三区精品视频| 亚洲经典视频在线观看| 天美一区二区三区| 欧美国产综合一区二区| 日产亚洲一区二区三区| 欧美一区二区三区视频免费播放| 手机福利在线| 久久久久久久久电影| 欧美一级网址| 日本一区二区免费看| 99香蕉国产精品偷在线观看 | 免费看日本一区二区| 国产成人永久免费视频| 激情国产一区二区| 毛片视频免费播放| 一本色道久久综合精品竹菊| 蜜桃视频污在线观看| 精品中文字幕在线观看| 色综合视频一区二区三区日韩| 免费亚洲精品视频| 国产欧美一区二区色老头| 亚洲成年人在线观看| 亚洲女性喷水在线观看一区| 中文字幕欧美色图| 国产小视频91| 韩国美女久久| 欧美人与物videos另类| 亚洲女优在线| 国产亚洲无码精品| 欧美性少妇18aaaa视频| 亚洲人午夜射精精品日韩| 久久久久久国产精品| 三级欧美日韩| 青青青在线观看视频| 高清久久久久久| 久久久久亚洲天堂| 日韩美女视频在线| 成年人视频免费在线播放| 97人人模人人爽人人少妇| 牛牛国产精品| 久久久久国产免费| 亚洲综合视频在线| 天堂中文网在线| 91高清免费视频| 国产成人3p视频免费观看| aaaaaa亚洲| 亚洲国产成人午夜在线一区 | 九九热线视频只有这里最精品| 久久资源av| 日本欧美在线观看| 日本伦理一区二区三区| 69堂亚洲精品首页| 狂野欧美性猛交xxxxx视频| 精品不卡在线| 肉丝袜脚交视频一区二区| 精品一区二区三区蜜桃在线| 欧美三级韩国三级日本一级| 久久77777| 国产另类自拍| 午夜一级久久| 最新av电影网站| 日韩欧美一级二级| 国产夫妻在线| 日韩欧美精品在线不卡| 国产一区二区三区日韩| 久久综合色综合| 国产午夜精品全部视频播放| 一级欧美视频| www.日本在线播放| 国产亚洲va综合人人澡精品| 96日本xxxxxⅹxxx17| 久久久久久久香蕉网| 亚洲第一福利专区| 五月激情五月婷婷| 亚洲国产视频直播| 国产51人人成人人人人爽色哟哟| 91精品在线看| 亚洲一区成人| 91 在线视频| 亚洲精品一区中文| 在线视频成人| 成年人黄色片视频| 亚洲精选在线视频| 色视频在线看| 91九色在线免费视频| 日韩在线一区二区| 久久av高潮av无码av喷吹| 亚洲天堂开心观看| 日本精品一区二区三区在线观看视频| 女人天堂av手机在线| 国产精品成人免费在线| 天天综合在线视频| 成人做爽爽免费视频| 久久福利影视| 欧美三级小视频| 国产亚洲欧美日韩一区二区| 福利片在线一区二区| 久久国产精品国产精品| 精品高清美女精品国产区| 黄色在线观看网站| 亚洲不卡中文字幕|