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

跟著小白一起學(xué)鴻蒙--JS應(yīng)用控制LED(十)

系統(tǒng) OpenHarmony
Ace(foundation/arkui/ace_engine_lite)是OpenHarmony的輕量級(jí)系統(tǒng)所使用的UI框架子系統(tǒng),為開發(fā)者提供JS-UI開發(fā)框架。包括.html,.css,.js。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

在《#跟著小白一起學(xué)鴻蒙# [九] 寫個(gè)簡單的LED驅(qū)動(dòng)》我們熟悉了如何在開源鴻蒙開發(fā)驅(qū)動(dòng)應(yīng)用,并通過hdc工具拷貝至開發(fā)板運(yùn)行。在《#跟著小白一起學(xué)鴻蒙#[六]第一個(gè)hap應(yīng)用》的文章里我們學(xué)會(huì)如何用IDE工具編寫hap應(yīng)用并他通過IDE工具安裝至開發(fā)板運(yùn)行。我們學(xué)會(huì)了hap程序的開發(fā),但是hap程序是運(yùn)行在標(biāo)準(zhǔn)系統(tǒng)的應(yīng)用,對(duì)于輕量和小型系統(tǒng)我們應(yīng)該如何進(jìn)行開發(fā)呢?接下來我們需要學(xué)習(xí)下如何開發(fā)JS應(yīng)用。

輕量、小型系統(tǒng)JS應(yīng)用

Ace(foundation/arkui/ace_engine_lite)是OpenHarmony的輕量級(jí)系統(tǒng)所使用的UI框架子系統(tǒng),為開發(fā)者提供JS-UI開發(fā)框架。包括.html,.css,.js。開發(fā)者可以通過DevEco工具進(jìn)行開發(fā)。其中JS的引擎采用三方庫里的JerryScript(jerryscript是IoT設(shè)備上的輕量級(jí)JS引擎,支持ECMAScript 5.1標(biāo)準(zhǔn),適配低內(nèi)存硬件,最小運(yùn)行在64KB RAM和小于200KB的flash,提供C API)。關(guān)于jerryscript的詳細(xì)介紹可以看如下參考鏈接(https://github.com/jerryscript-project/jerryscript )。

#沖刺創(chuàng)作新星# #跟著小白一起學(xué)鴻蒙# [十] JS應(yīng)用控制LED-開源基礎(chǔ)軟件社區(qū)

詳細(xì)的內(nèi)容介紹在一下鏈接內(nèi)可以看到官方的說明:

參考鏈接:https://gitee.com/openharmony/arkui_ace_engine_lite。

此樣例參考小熊派設(shè)計(jì),使用小熊派HM_Micro開發(fā)板進(jìn)行驗(yàn)證。

JS-UI開發(fā)流程

graph LR
--> 配置工程 --> 增加LED程序 --> 添加JSAPI接口

創(chuàng)建工程配置工程增加LED程序添加JSAPI接口編譯運(yùn)行。

建立[Lite]Empty Ability。

#沖刺創(chuàng)作新星# #跟著小白一起學(xué)鴻蒙# [十] JS應(yīng)用控制LED-開源基礎(chǔ)軟件社區(qū)

配置工程。

#沖刺創(chuàng)作新星# #跟著小白一起學(xué)鴻蒙# [十] JS應(yīng)用控制LED-開源基礎(chǔ)軟件社區(qū)

工程結(jié)構(gòu)說明。

#沖刺創(chuàng)作新星# #跟著小白一起學(xué)鴻蒙# [十] JS應(yīng)用控制LED-開源基礎(chǔ)軟件社區(qū)

工程目錄主要在entry里,有以下內(nèi)容:

  • .preview: 界面預(yù)覽目錄。
  • build: 工程編譯目錄。
  • src:包括i18n(國際化翻譯路徑),pages(界面目錄,index.css, index.hml, index.js)。

工程預(yù)覽。

#沖刺創(chuàng)作新星# #跟著小白一起學(xué)鴻蒙# [十] JS應(yīng)用控制LED-開源基礎(chǔ)軟件社區(qū)

添加按鍵功能控制LED燈。

  • 修改index.hml
<div class="container">
<text class="title">
{{ $t('strings.hello') }} {{ title }}
</text>

<div class="rowcontainer">
<text class="content" if="{{statu == '0'}}">[狀態(tài):{{ $t('strings.ledoff') }}]</text>
<text class="content" if="{{statu == '1'}}">[狀態(tài):{{ $t('strings.ledon') }}]</text>
<text class="content" onclick="ledon">
{{ $t('strings.ledon') }}
</text>
<text class="content" onclick="ledoff">
{{ $t('strings.ledoff') }}
</text>
<text class="content" onclick="ledtoggle">
{{ $t('strings.ledtoggle') }}
</text>
</div>
<text class="content" onclick="exit">
{{ $t('strings.exit') }}
</text>
</div>
  • 修改index.css
.container {
width: 100%;
height: 100%;
flex-direction: column;
justify-content: center;
align-items: center;
}
.title {
width: 200px;
font-size: 30px;
text-align: center;
}
.content{
width: 200px;
font-size: 30px;
text-align: center;
}
.rowcontainer {
width: 100%;
height: 50%;
flex-direction: row;
justify-content: center;
align-items: center;
}
  • 修改index.js
var led = {open:1,close:0,change:2}
import app from '@system.app';
export default {
data: {
title: "",
statu:'0'
},
onInit() {
this.title = this.$t('strings.world');
},
ledon(e) {
let that = this
console.info("ledon")
app.ledcontrol({
code:led.open,
success(res){
that.statu = res.led_status
},
fail(res,code){
console.error("ledon error")
},
complete(){
console.info("ledon complete")
}
})
},
ledoff(e) {
let that = this
console.info("ledoff")
app.ledcontrol({
code:led.close,
success(res){
that.statu = res.led_status
},
fail(res,code){
console.error("ledoff error")
},
complete(){
console.info("ledoff complete")
}
})
},
ledtoggle(e) {
let that = this
console.info("ledtoggle")
app.ledcontrol({
code:led.change,
success(res){
that.statu = res.led_status
},
fail(res,code){
console.error("ledtoggle failed")
},
complete(){
console.info("ledtoggle complete")
}
})
},
exit(e) {
app.terminate()
},
}
  • 預(yù)覽

#沖刺創(chuàng)作新星# #跟著小白一起學(xué)鴻蒙# [十] JS應(yīng)用控制LED-開源基礎(chǔ)軟件社區(qū)

  • 將代碼編譯成hap包:點(diǎn)擊編輯器最左下角的OhosBuild Varilants,打開編譯模式選擇視圖,編譯模式分debug和release,選擇release模式;
  • 點(diǎn)擊編輯器上方菜單欄的Build->Build Hap(s)/App(s)->Build Hap(s),系統(tǒng)就會(huì)開始自動(dòng)編譯代碼成hap包,等到下方Build Output無編譯錯(cuò)誤,就表示代碼編譯完成了。

增加JS的API接口。

  • 在app_module.h里增加接口

JSI::SetModuleAPI(exports, "ledcontrol", AppModule::ToggleLed);

  • 在app_module.cpp里增加接口實(shí)現(xiàn)
#include "hdf_sbuf.h"
#include "hdf_io_service_if.h"
#define LED_WRITE_READ 1
#define LED_SERVICE "hdf_led"
......
static int OnDevEventReceived(void *priv, uint32_t id, struct HdfSBuf *data)
{
uint32_t value;
HdfSbufReadUint32(data, &value);
HILOG_ERROR(HILOG_MODULE_ACE,"%s: dev event received: %u %u\n", (char *)priv, id, value);

return HDF_SUCCESS;
}
static int GpioWriteRead(struct HdfIoService *serv, int32_t eventData, int32_t *val)
{
int ret = HDF_FAILURE;
struct HdfSBuf *data = HdfSBufObtainDefaultSize();
struct HdfSBuf *reply = HdfSBufObtainDefaultSize();

if (data == NULL || reply == NULL) {
HILOG_ERROR(HILOG_MODULE_ACE,"fail to obtain sbuf data\n");
return ret;
}
if (!HdfSbufWriteUint8(data, (uint8_t)eventData))
{
HILOG_ERROR(HILOG_MODULE_ACE,"fail to write sbuf\n");
HdfSBufRecycle(data);
HdfSBufRecycle(reply);
return ret;
}
ret = serv->dispatcher->Dispatch(&serv->object, LED_WRITE_READ, data, reply);
if (ret != HDF_SUCCESS)
{
HILOG_ERROR(HILOG_MODULE_ACE,"fail to send service call\n");
HdfSBufRecycle(data);
HdfSBufRecycle(reply);
return ret;
}
if (!HdfSbufReadInt32(reply, val))
{
HILOG_ERROR(HILOG_MODULE_ACE,"fail to get service call reply\n");
ret = HDF_ERR_INVALID_OBJECT;
HdfSBufRecycle(data);
HdfSBufRecycle(reply);
return ret;
}
HILOG_ERROR(HILOG_MODULE_ACE,"Get reply is: %d\n", val);

HdfSBufRecycle(data);
HdfSBufRecycle(reply);
return ret;
}
JSIValue AppModule::ToggleLed(const JSIValue thisVal, const JSIValue *args, uint8_t argsNum)
{
HILOG_ERROR(HILOG_MODULE_ACE, "led button pressed.");
struct HdfIoService *serv = HdfIoServiceBind(LED_SERVICE);
if (serv == NULL)
{
HILOG_ERROR(HILOG_MODULE_ACE,"fail to get service2 %s\n", LED_SERVICE);
return JSI::CreateUndefined();
}
if ((args == nullptr) || (argsNum == 0) || (JSI::ValueIsUndefined(args[0]))) {
return JSI::CreateUndefined();
}
JSIValue success = JSI::GetNamedProperty(args[0], CB_SUCCESS);
JSIValue fail = JSI::GetNamedProperty(args[0], CB_FAIL);
JSIValue complete = JSI::GetNamedProperty(args[0], CB_COMPLETE);

int32_t num = (int32_t)JSI::GetNumberProperty(args[0], "code");

int32_t replyData = 0;

if (GpioWriteRead(serv, num, &replyData))
{
HILOG_ERROR(HILOG_MODULE_ACE,"fail to send event\n");
JSI::CallFunction(fail, thisVal, nullptr, 0);
JSI::CallFunction(complete, thisVal, nullptr, 0);
JSI::ReleaseValueList(success, fail, complete);
return JSI::CreateUndefined();
}
JSIValue result = JSI::CreateObject();
JSI::SetNumberProperty(result, "led_status", replyData);
JSIValue argv[ARGC_ONE] = {result};
JSI::CallFunction(success, thisVal, argv, ARGC_ONE);
JSI::CallFunction(complete, thisVal, nullptr, 0);
JSI::ReleaseValueList(success, fail, complete, result);

HdfIoServiceRecycle(serv);

return JSI::CreateUndefined();
}
  • 在foundation\ace\ace_engine_lite\ace_lite.gni中添加HDF頭文件路徑
ace_lite_include_dirs += [    
......
"http://drivers/framework/ability/sbuf/include",
"http://drivers/framework/include/core",
"http://drivers/framework/include/utils",
"http://drivers/adapter/uhdf/posix/include",
]
  • 添加編譯依賴
修改foundation\ace\ace_engine_lite\frameworks\BUILD.gn,在public_deps中添加以下代碼
"http://drivers/adapter/uhdf/manager:hdf_core",
修改foundation\ace\ace_engine_lite\test\ace_test_config.gni,在extra_deps中添加以下代碼
"http://drivers/adapter/uhdf/manager:hdf_core",

總結(jié)

  1. 基于JS擴(kuò)展的類Web開發(fā)范式的方舟開發(fā)框架,采用經(jīng)典的HML、CSS、JavaScript三段式開發(fā)方式。使用HML標(biāo)簽文件進(jìn)行布局搭建,使用CSS文件進(jìn)行樣式描述,使用JavaScript文件進(jìn)行邏輯處理。UI組件與數(shù)據(jù)之間通過單向數(shù)據(jù)綁定的方式建立關(guān)聯(lián),當(dāng)數(shù)據(jù)發(fā)生變化時(shí),UI界面自動(dòng)觸發(fā)更新。此種開發(fā)方式,更接近Web前端開發(fā)者的使用習(xí)慣,快速將已有的Web應(yīng)用改造成方舟開發(fā)框架應(yīng)用。主要適用于界面較為簡單的中小型應(yīng)用開發(fā);
  2. 通過appmodule調(diào)用framework層接口,然后通過framework接口調(diào)用Hdf接口。

這樣我們就有了自己的driver和配置,后面的章節(jié)我們會(huì)講如何在hap應(yīng)用里調(diào)用驅(qū)動(dòng)接口。

??想了解更多關(guān)于開源的內(nèi)容,請(qǐng)?jiān)L問:??

??51CTO 開源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??。

責(zé)任編輯:jianghua 來源: 51CTO開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2022-10-10 14:47:04

藍(lán)牙應(yīng)用鴻蒙

2022-10-17 14:29:24

鴻蒙應(yīng)用開發(fā)

2022-11-29 16:35:02

Tetris鴻蒙

2022-12-02 14:20:09

Tetris鴻蒙

2023-03-30 09:32:27

2022-11-14 17:01:34

游戲開發(fā)畫布功能

2023-02-27 16:30:32

鴻蒙開源協(xié)議分析

2022-08-19 19:02:20

開源鴻蒙操作系統(tǒng)

2023-03-30 09:19:54

SELinux安全子系統(tǒng)

2023-04-04 09:24:11

鴻蒙HiDumper

2022-12-09 15:34:38

2023-01-03 15:09:10

鴻蒙常用工具

2022-10-09 15:05:50

NAPI框架鴻蒙

2022-12-06 15:39:16

鴻蒙主干代碼

2022-11-24 14:34:41

Hap程序鴻蒙

2023-03-15 16:19:03

BinderIPC工具

2022-09-30 14:08:26

Hap應(yīng)用鴻蒙

2022-10-31 15:35:02

Wi-Fi藍(lán)牙子系統(tǒng)

2022-11-03 15:47:04

HTTP通信協(xié)議

2022-11-08 15:43:45

開源鴻蒙藍(lán)牙協(xié)議棧
點(diǎn)贊
收藏

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

国产一区二区三区高清播放| 久久精品国产www456c0m| 黄网站色欧美视频| 先锋影音日韩| 神马午夜在线观看| 青青草国产成人av片免费| 久久福利网址导航| www.av欧美| 亚洲一区二区三区中文字幕在线观看 | 91精品综合| 日韩成人中文字幕| 四虎成人在线播放| 欧美日韩视频免费观看| 亚洲国产成人va在线观看天堂| 欧美亚洲另类久久综合| www精品国产| 美女高潮久久久| 欧美一级大胆视频| 九九热国产在线| 日韩精品影视| 亚洲欧美在线免费| 中文字幕一区二区人妻电影丶| 在线观看欧美| 欧美三级视频在线播放| 国产91美女视频| 欧美xxx黑人xxx水蜜桃| 国产精品成人免费| 天堂资源在线亚洲视频| 色吊丝在线永久观看最新版本| 国产精品羞羞答答xxdd| 国产精品永久免费| 自拍偷拍校园春色| 久久三级福利| 2021国产精品视频| 中文字幕在线字幕中文| 欧美阿v一级看视频| 日韩视频欧美视频| 天天操天天摸天天舔| 国产videos久久| 精品亚洲一区二区三区在线播放 | 爽爽窝窝午夜精品一区二区| 日韩女优av电影在线观看| 国产性生活一级片| 亚洲aⅴ网站| 欧美日韩精品欧美日韩精品 | 黄色一级视频免费看| 日韩亚洲国产欧美| 91国产视频在线播放| 福利一区二区三区四区| 亚洲国产一区二区三区高清 | 国产日韩欧美大片| av免费在线观看网站| ...xxx性欧美| 黄色网zhan| 欧美人与性动交α欧美精品济南到| 亚洲精品亚洲人成人网在线播放| 懂色av粉嫩av蜜臀av| 激情成人四房播| 亚洲欧美另类久久久精品| 免费看污污视频| 国精产品一区一区三区mba下载| 一区二区三区在线看| 美女扒开大腿让男人桶| 男人久久天堂| 欧美亚洲综合一区| 日韩av.com| jizz国产精品| 亚洲欧美在线x视频| 中文字幕有码在线播放| 欧美xxxx中国| 欧美激情亚洲激情| 亚洲第一在线播放| 美腿丝袜亚洲一区| 91青青草免费观看| 四虎精品在永久在线观看 | 国产精品影视网| 国产精品福利视频| 麻豆av电影在线观看| 国产精品美日韩| av 日韩 人妻 黑人 综合 无码| 国产第一页在线| 色老头久久综合| 亚洲天堂网站在线| 亚洲专区视频| 欧美成人久久久| 日本va欧美va国产激情| 美女视频一区二区| 国产精品一区二区你懂得| 欧美成熟毛茸茸| 亚洲精品成人a在线观看| 欧美日韩成人免费视频| 亚洲二区av| 亚洲精品成人久久| 精品一区二区在线观看视频| 在线精品一区二区| 国产精品自拍小视频| 欧美一区二区公司| 国产精品色一区二区三区| 欧美中文字幕在线观看视频 | 亚洲国产精品久久91精品| 少妇光屁股影院| 婷婷激情图片久久| 欧美做受高潮电影o| 国产视频第二页| 久久久久久电影| 日本熟妇人妻xxxx| 2020国产精品小视频| 亚洲精品视频免费在线观看| 欧美日韩在线视频免费播放| 全国精品久久少妇| 久久久久久久免费| 天堂av最新在线| 欧美日韩国产综合视频在线观看| 青青草视频播放| 亚洲欧美亚洲| 国产一区二区视频在线观看| 欧洲一区av| 五月激情六月综合| 香蕉久久久久久av成人| 91欧美在线| 国产精品第100页| 少妇无码一区二区三区| 亚洲免费av网站| 亚洲成人福利在线| 精品久久美女| 欧美在线视频导航| 天堂网av在线播放| 亚洲成av人片在线观看无码| 日日夜夜精品视频免费观看| 欧美xxxxx视频| 国产精品视频区1| 精品一二三区视频| 欧美日韩国产一区二区| 日本黄色动态图| 亚洲成人中文| 国产三区二区一区久久| 青草视频在线免费直播| 日韩视频免费观看高清完整版| 一本一本久久a久久| 蜜臀av性久久久久蜜臀aⅴ| 日韩av电影免费播放| 3d性欧美动漫精品xxxx软件| 亚洲免费一在线| 男人天堂视频在线| 国产精品嫩草影院com| 亚洲免费看av| 欧美疯狂party性派对| 国产日韩专区在线| 黄网站视频在线观看| 欧美一区二区三区小说| 午夜少妇久久久久久久久| 国产福利不卡视频| 福利在线一区二区| 精品视频高潮| 国产成人一区二区三区| 国产福利小视频在线观看| 欧美婷婷六月丁香综合色| 久久av红桃一区二区禁漫| 国产在线视频一区二区| 国产精品视频一二三四区| 91精品国产乱码久久久竹菊| 97欧美精品一区二区三区| 日本五码在线| 欧美日韩一区二区三区不卡| 青娱乐91视频| 99re热这里只有精品视频| 成年人免费在线播放| 成人在线免费视频观看| 亚洲自拍偷拍网址| 日本在线啊啊| 永久555www成人免费| 国产乱码精品一区二区三区精东| 一区二区三区成人在线视频| 久久一区二区电影| 奇米综合一区二区三区精品视频| 制服丝袜综合日韩欧美| 99re8这里有精品热视频免费 | 国产区一区二| 97精品在线观看| 爱爱爱免费视频在线观看| 欧美一区二区三区啪啪| 日韩欧美中文字幕一区二区| 久久久99免费| 蜜桃视频无码区在线观看| 久久激情网站| 日本精品福利视频| 网友自拍区视频精品| 成人性生交大片免费观看嘿嘿视频| 蜜臀av在线| 国产亚洲欧洲在线| 亚洲欧美激情在线观看| 色欧美88888久久久久久影院| 日本中文字幕免费在线观看| www久久精品| 国产九九九视频| 日韩影院免费视频| 女人帮男人橹视频播放| 日韩精品四区| 久久精品综合一区| 日本精品视频| 国产精品精品视频| jizzjizz中国精品麻豆| 欲色天天网综合久久| 日本高清视频免费观看| 欧美日本国产视频| 免费精品一区二区| 粉嫩av一区二区三区免费野| 黄色片在线观看网站| 中文字幕av不卡| 中文在线一区二区三区| 国产成人在线观看| 中文av一区二区三区| 久久精品九九| 男人日女人视频网站| 欧美国产91| 一本久道久久综合| 精品视频97| 久久青青草综合| 久久亚洲道色| 国产精品v欧美精品v日韩| 自拍偷拍欧美日韩| 成人黄色av播放免费| 欧美va在线观看| 国产91精品在线播放| 亚洲精品福利电影| 97成人精品视频在线观看| 日本天码aⅴ片在线电影网站| 久久精品电影网| 免费av在线| 最新的欧美黄色| 伊人在线视频| 伊人久久大香线蕉av一区二区| 三级毛片在线免费看| 日韩av影视综合网| 理论片中文字幕| 亚洲а∨天堂久久精品喷水| 国产成人三级在线播放 | 亚洲人metart人体| 一区二区三区四区欧美日韩| 久久密一区二区三区| 亚洲一区二区三区精品视频| 日韩aaaa| 日韩三级电影| 四虎国产精品免费观看| 亚洲一区二区四区| 色无极亚洲影院| 99精品视频网站| 在线中文字幕第一区| 精品国产一区二区三区在线| 欧美久久综合| 可以看毛片的网址| 国产精品美女| 日本熟妇人妻xxxxx| 欧美aaa在线| 亚洲午夜精品一区| 国产91精品久久久久久久网曝门| 欧洲熟妇的性久久久久久| 成人高清免费观看| 熟女俱乐部一区二区视频在线| 国产日产欧美一区二区视频| 国产又粗又猛又爽又黄的视频四季| 中文字幕一区二区视频| 欧美日韩成人免费观看| 精品久久久国产| 一级久久久久久| 日韩一级片在线观看| 色婷婷av一区二区三区之红樱桃| 日韩精品在线看| 日本免费视频在线观看| 久久久久久亚洲| 国产精品极品美女在线观看| 国产在线观看精品| 操欧美女人视频| 日本一区二区三区免费看| 91中文字幕精品永久在线| av一区二区三区免费观看| 亚欧成人精品| www.污网站| 91麻豆国产精品久久| 亚洲aaa视频| 亚洲mv在线观看| 日本一区二区三区久久| 日韩精品一区二区三区在线观看| 六十路在线观看| 理论片在线不卡免费观看| 麻豆国产在线| 91探花福利精品国产自产在线| 亚洲丁香日韩| 在线观看18视频网站| 久久久精品网| 久久aaaa片一区二区| 久久精品亚洲麻豆av一区二区| 精品国产精品国产精品| 色激情天天射综合网| 亚洲成人久久精品| 色婷婷久久av| 欧美片第一页| 国产麻豆乱码精品一区二区三区| 日韩综合网站| 欧美少妇性生活视频| 粉嫩蜜臀av国产精品网站| 亚洲天堂av中文字幕| 黑丝美女久久久| www.国产麻豆| 久久精品一本久久99精品| 亚洲人免费短视频| 国产在线视频欧美一区二区三区| 国产精品麻豆久久| 四虎永久在线精品无码视频| 成人免费看黄yyy456| 日本黄色片免费观看| 欧美日韩免费观看一区二区三区 | 欧美午夜寂寞| 日本免费成人网| 国产一区在线观看视频| 国产精品suv一区二区88 | 国产成人久久精品77777综合| 在线观看欧美日韩| 美女100%一区| 精品无码久久久久久久动漫| 欧美视频亚洲视频| 一级黄色免费毛片| 中文字幕在线观看一区| 国产精品尤物视频| 亚洲无亚洲人成网站77777| 无遮挡在线观看| 精品久久久久亚洲| 日韩午夜av| www.17c.com喷水少妇| 亚洲图片欧美色图| 国产综合视频在线| 久久免费视频网站| 超碰在线成人| 日本手机在线视频| av高清久久久| 色播视频在线播放| 日韩高清欧美高清| 国产精品蜜芽在线观看| 精品视频第一区| 国产一区二区精品| 中文字幕一区二区久久人妻网站| 精品国产成人av| 手机看片福利在线观看| 欧美在线观看网址综合| 男男gay无套免费视频欧美| 久久久久久久久久久免费视频| 久久你懂得1024| 一级片在线观看免费| 国产一区二区三区在线免费观看| 日韩福利一区| 亚洲在线不卡| 国产激情偷乱视频一区二区三区| 精品处破女学生| 日韩精品极品视频免费观看| 日韩欧美看国产| 亚洲在线视频一区二区| 国产iv一区二区三区| 四虎永久在线精品| 亚洲美女av在线| 久久久加勒比| 成人污网站在线观看| 99久久99久久精品国产片果冻| 久久中文字幕免费| 色妞一区二区三区| japanese色系久久精品| 欧美激情成人网| 中文字幕在线不卡视频| 亚洲黄色a级片| 欧美亚洲成人xxx| 99九九热只有国产精品| 免费黄色在线播放| 欧美性猛交xxxx乱大交| 免费a级毛片在线播放| 国产麻豆一区二区三区在线观看| 美女日韩在线中文字幕| 亚洲区一区二区三| 亚洲第一黄色网| 国产一区二区主播在线| 成人国产一区二区三区| 91麻豆精品在线观看| 国产精品一区二区免费视频 | 欧美 日韩 精品| 久久资源免费视频| 无码日韩精品一区二区免费| 中文字幕第17页| 精品免费在线视频| 韩国av网站在线| 欧美精品一区三区在线观看| 国产一区二区日韩精品| av大全在线观看| 欧美日产国产成人免费图片| 俺要去色综合狠狠| 欧美xxxxx精品| 777精品伊人久久久久大香线蕉| 三妻四妾的电影电视剧在线观看| 中文字幕日韩精品一区二区| 91麻豆免费观看| 人妻偷人精品一区二区三区| 91精品久久久久久久久久久久久| 午夜在线精品偷拍|