日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

HarmonyOS JS UI

發布時間:2024/3/26 javascript 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HarmonyOS JS UI 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、簡介

什么是鴻蒙

鴻蒙操作系統 (HarmonyOS、鴻蒙OS) 是一款面向全場景的分布式操作系統。其開源項目為OpenHarmony。

歷史

  • 2012 年,華為開始規劃自有操作系統“鴻蒙”
  • 2019 年 8 月 9 日,華為在發布鴻蒙 1.0
  • 2020 年 9 月 10 日,華為發布鴻蒙 2.0
  • 2021 年 6 月 2 日,鴻蒙正式商用(華為正式發布 HarmonyOS 2 及多款搭載 HarmonyOS 2 的新產品)

鴻蒙的三大特征

  • 超級小程序
    • H5 只能使用瀏覽器的功能
    • 小程序可以調用微信的功能(掃碼、拍照、定位、查通訊錄)
    • 鴻蒙可以調用系統級別的功能(線程),而且可以調用其他設備的功能
  • 可剪裁系統
    • 可以跑在手機、平板、電視、可穿戴設備、智能硬件和?載系統上
    • 鴻蒙可以根據系統(芯片)的算力,選擇性地運行整個系統的某些部分
  • 模改通訊協議
    • IoT 互通互聯的標準語言(手機,微波爐,冰箱,汽?,手表,耳機)
    • 類似普通話,統一了方言

有用的網站

鴻蒙官網:https://www.harmonyos.com/
鴻蒙系統開發者:https://developer.harmonyos.com/
華為開發者:https://developer.huawei.com/
在線體驗:https://playground.harmonyos.com/
Gitee:https://gitee.com/openharmony
JS API:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-overview-0000001056361791

儲備知識

  • 熟悉前端技術棧(HTML、CSS、JS)
  • 熟悉微信小程序
  • 熟悉 Vue
  • 有安卓開發經驗更好

二、系統架構

鴻蒙系統架構一共分四層:應用層、框架層、系統服務層、內核層。


內核層

  • 內核子系統:HarmonyOS 采用多內核設計,支持針對不同資源受限設備選用適合的 OS內核。內核抽象層(KAL,Kernel Abstract Layer)通過屏蔽多內核差異,對上層提供基礎的內核能力,包括進程/線程管理、內存管理、文件系統、網絡管理和外設管理等。
  • 驅動子系統:硬件驅動框架(HDF)是 HarmonyOS 硬件生態開放的基礎,提供統一外設訪問能力和驅動開發、管理框架。

系統服務層
系統服務層是 HarmonyOS 的核心能力集合,通過框架層對應用程序提供服務。該層包含以下幾個部分:

  • 系統基本能力子系統集:為分布式應用在 HarmonyOS 多設備上的運行、調度、遷移等操作提供了基礎能力,由分布式軟總線、分布式數據管理、分布式任務調度、方舟多語言運行時、公共基礎庫、多模輸入、圖形、安全、AI 等子系統組成。其中,方舟運行時提供了C/C++/JS 多語言運行時和基礎的系統類庫,也為使用方舟編譯器靜態化的Java程序(即應用程序或框架層中使用Java語言開發的部分)提供運行時。
  • 基礎軟件服務子系統集:為 HarmonyOS 提供公共的、通用的軟件服務,由事件通知、電話、多媒體、DFX(Design For X) 、MSDP & DV 等子系統組成。
  • 增強軟件服務子系統集:為 HarmonyOS 提供針對不同設備的、差異化的能力增強型軟件服務,由智慧屏專有業務、穿戴專有業務、IoT 專有業務等子系統組成。
  • 硬件服務子系統集:為 HarmonyOS 提供硬件服務,由位置服務、生物特征識別、穿戴專有硬件服務、IoT 專有硬件服務等子系統組成。

根據不同設備形態的部署環境,基礎軟件服務子系統集、增強軟件服務子系統集、硬件服務子系統集內部可以按子系統粒度裁剪,每個子系統內部又可以按功能粒度裁剪。

框架層
框架層為 HarmonyOS 應用開發提供了 Java/C/C++/JS 等多語言的用戶程序框架和 Ability框架,兩種 UI 框架(包括適用于 Java 語言的 Java UI 框架、適用于 JS 語言的 JS UI 框架),以及各種軟硬件服務對外開放的多語言框架 API。根據系統的組件化裁剪程度,HarmonyOS 設備支持的 API 也會有所不同。

應用層

應用層包括系統應用和第三方非系統應用。HarmonyOS 的應用由一個或多個 FA(Feature Ability)或 PA(Particle Ability)組成。其中,FA 有 UI 界面,提供與用戶交互的能力;而 PA無 UI 界面,提供后臺運行任務的能力,以及統一的數據訪問抽象。FA 在進行用戶交互時所需的后臺數據訪問,也需要由對應的 PA 提供支撐。基于 FA/PA 開發的應用,能夠實現特定的業務功能,支持跨設備調度與分發,為用戶提供一致、高效的應用體驗。

JS UI 框架架構

JS UI 框架包括應用層(Application)、前端框架層(Framework)、引擎層(Engine)和平臺適配層(Porting Layer)。

詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-js-overview-0000000000500376


應用層

表示開發者使用 JS UI 框架開發的 FA 應用。

這里的 FA 應用特指 JS FA 應用。使用 Java開發FA應用請參考。Java UI框架

前端框架層

主要完成前端?面解析,以及提供 MVVM(Model-View-ViewModel)開發模式、?面路由機制和自定義組件等能力。

引擎層
主要提供動畫解析、DOM(Document Object Model)樹構建、布局計算、渲染命令構建與繪制、事件管理等能力。

適配層
主要完成對平臺層進行抽象,提供抽象接口,可以對接到系統平臺。比如:事件對接、渲染管線對接和系統生命周期對接等。

三、搭建開發環境

DevEco Studio

詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/installation_process-0000001071425528

簡介
DevEco Studio 是面向全場景多設備,提供一站式的分布式應用開發平臺,支持分布式多端開發、分布式多端調測、多端模擬仿真,全方位的質量與安全保障。

環境要求

下載

下載地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download

目前提供 Mac 和 Windows 兩大主流操作系統。針對自己的操作系統,下載對應的安裝包即可(以下內容是在 Mac 上的安裝截圖)

安裝

安裝過程

具體步驟

步驟操作步驟操作指導說明
1軟件安裝Windows系統軟件安裝安裝DevEco Studio
macOS系統軟件安裝
2配置開發環境(可選)設置Gradle代理網絡不能直接訪問Internet,需要通過代理服務器才可以訪問的情況下需要設置。如果無需代理即可訪問Internet,可跳過該步驟。
3配置開發環境(可選)設置IDE代理網絡不能直接訪問Internet,需要通過代理服務器才可以訪問的情況下需要設置。如果無需代理即可訪問Internet,可跳過該步驟。
4配置開發環境(可選)設置npm代理網絡不能直接訪問Internet,需要通過代理服務器才可以訪問的情況下需要設置。如果無需代理即可訪問Internet,可跳過該步驟。
5配置開發環境下載HarmonyOS SDK-
6運行HelloWorld創建工程使用模擬器運行Demo工程,驗證環境是否已經配置完成。
7運行HelloWorld運行應用 使用模擬器運行Demo工程,驗證環境是否已經配置完成。

執行安裝

運行

SDK 組件安裝


協議許可,點擊 Accept,然后 Next

安裝中(下載組件),等待…

安裝完成后,點擊 done。然后進入歡迎界面。左側有四個菜單

  • 創建鴻蒙項目
  • 打開項目
  • 在版本控制中獲取
  • 導入鴻蒙示例

接下來,我們可以點擊第一個菜單(Create HarmonyOS Project),去創建一個項目。

初始化項目

點擊歡迎?的 Create HarmonyOS Project

這里我選擇 List Tab Ability(JS)

四、初始化項目


初始化完成后,就會看到如下界面(如此熟悉的目錄的代碼,跟小程序?得很像有木有~)


查看效果

點擊 右側的 Previewer 查看效果(或者 View -> Tool Windows -> Previewer

五、安裝模擬器

打開 Device Manager

注冊并登錄

如果沒有注冊,請先注冊華為開發者賬號(注冊地址:https://developer.huawei.com/);
如果沒有登錄,請先登錄。登錄后,會看到如下?面


實名認證
點擊 Go Authentication 會看到下面的彈窗。然后點擊 here,然后會跳轉到華為開發者網站。

在華為開發者網站,注冊成為開發者。

是否有敏感應用上架?

  • 選擇 是 ,會彈出銀行卡認證的?面(后續需要支付相關的功能)
  • 選擇 否 ,推薦銀行卡認證(不強制);但是,我們可以選擇身份證認證。

選擇 是,進行銀行卡實名認證( 3 分鐘 - 認證速度快),認證成功后的效果如下:

選擇 否,然后進行身份證認證(1-2個工作日 - 認證速度慢)。

填寫基本信息,上傳身份證

提到并等待審核

安裝模擬器

賬戶認證通過后,就可以在 DevEco 中添加模擬器了。
Tools -> Device Manager


安裝后,看到如下效果

點擊運行,可能查看項目在模擬器上的運行效果。

模擬器(Simulator)與預覽器(Previewer)的區別:

  • 預覽器支持熱更新,模擬器不支持熱更新
  • 預覽器中不能直接返回接口數據,模擬器可以返回接口數據
  • 六、漢化菜單

    鴻蒙操作系統剛剛推出,為了更快的面向國際市場,編輯器默認采用英文。下面介紹一下漢化方法。

    操作步驟

  • 點選菜單 File -> Settings,
  • 然后點選 Plugins -> Marketplate,
  • 然后搜索 Chinese,
  • 然后選擇 Chinese(Simplified)Language Pack / 中文語言包。
  • 然后點擊 install 執行安裝
  • 安裝完成后重啟 IDE

    重啟后的效果

    可以看到,大部分的菜單都漢化了

    七、JS 框架

    詳情查看:https://developer.harmonyos.com/cn/documentation

    目錄結構

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-file-0000000000611396

    實例目錄

    單實例目錄

    多實例目錄


    文件(目錄)介紹

    作用

    • app.js 全局入口文件
    • pages 存放?面
    • common 公共資源
    • resources 資源配置文件
    • i18n 多語言目錄
    • share 多實例共享資源目錄(5+)

    注意:
    如下文件夾是開發保留文件夾,不可重命名:
    share
    如果 share 中的資源和實例 (default) 中的資源文件同名且目錄一致時,實例中資源的優先級高于share 中資源的優先級。
    其他文件,可以根據開發需要自行創建。

    訪問規則

    應用資源可通過絕對路徑或相對路徑的方式進行訪問,本開發框架中絕對路徑以"/“開頭,相對路徑以”./“或”…/"。具體訪問規則如下:

    • 引用代碼文件,需使用相對路徑,比如:…/common/utils.js。
    • 引用資源文件,推薦使用絕對路徑。比如:/common/xxx.png。
    • 公共代碼文件和資源文件推薦放在 common 下,通過以上兩條規則進行訪問。
    • CSS 樣式文件中通過 url() 函數創建 數據類型,如:url(/common/xxx.png)。

    ?面文件
    ?面中文件分類如下:

    • .hml 描述?面的布局結構。
    • .css 描述?面樣式。
    • .js 用于處理?面和用戶的交互。

    resources

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-resource-file-categories-0000001052066099

    1 resources 2 |---base // 默認存在的目錄 3 | |---element 4 | | |---string.json 5 | |---media 6 | | |---icon.png 7 |---en_GB-vertical-car-mdpi // 限定詞目錄示例,需要開發者自行創建 8 | |---element 9 | | |---string.json 10 | |---media 11 | | |---icon.png 12 |---rawfile // 默認存在的目錄

    resources 目錄分類


    資源組目錄

    資源文件的使用:https://developer.harmonyos.com/cn/docs/documentation/doc-
    guides/basic-resource-file-example-0000001051733014

    八、配置文件

    config.json

    簡介

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-config-file-overview-0000000000011951

    建議在 DevEco 中,以可視化窗口的方式,來理解各配置項的含義

    應用的每個 HAP 的根目錄下都存在一個“config.json”配置文件,文件內容主要涵蓋以下三個方面:

    • 應用的全局配置信息,包含應用的包名、生產廠商、版本號等基本信息。
    • 應用在具體設備上的配置信息,包含應用的備份恢復、網絡安全等能力。
    • HAP 包的配置信息,包含每個 Ability 必須定義的基本屬性(如包名、類名、類型以及Ability 提供的能力),以及應用訪問系統或其他應用受保護部分所需的權限等。

    config.json 采用 JSON 格式。即內容都是有 屬性: 值 組成的

    • 屬性,出現順序不分先后,且每個屬性最多只允許出現一次。
    • 值,每個屬性的值為JSON的基本數據類型(數值、字符串、布爾值、數組、對象或者null類型)。如果屬性值需要引用資源文件,可參?資源文件。

    常用配置

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-config-file-elements-0000000000034463

    module

    以下為 module 的配置想




    申請權限
    reqPermissions

    1 { 2 "module": { 3 "reqPermissions": [ 4 { 5 "name": "ohos.permission.CAMERA", 6 "reason": "$string:permreason_camera", 7 "usedScene": 8 { 9 "ability": ["com.mycamera.Ability", "com.myca mera.AbilityBackground"], 10 "when": "always" 11 } 12 },{13 ...14 }15 ]16 } 17 }

    defPermissions

    1 { 2 "module": { 3 "defPermissions": [ 4 { 5 "name": "com.myability.permission.MYPERMISSION", 6 "grantMode": "system_grant", 7 "availableScope": ["signature"] 8 }, { 9 ... 10 } 11 ] 12 } 13 }

    js

    pages

    1 "pages": [ 2 "pages/index/index", 3 "pages/detail/detail" 4 ]

    注意:
    pages 列表中第一個?面是應用的首?,即 entry 入口。
    ?面文件名不能使用組件名稱,比如:text.hml、button.hml 等。

    name
    JS 實例名稱
    window
    window 用于設置窗口配置。對于屏幕適配問題,有 2 種配置方法:
    指定 designWidth(屏幕邏輯寬度,在手機和智慧屏上默認 720px,智能穿戴默認454px),所有與大小相關的樣式(例如width、font-size)均以 designWidth 和實際屏幕寬度的比例進行縮放。

    例如在 designWidth 為 720 時,如果設置 width 為100px時,在實際寬度為 1440 物理像素的屏幕上,width 實際渲染像素為 200 物理像素。

    設置 autoDesignWidth 為 true,此時 designWidth 字段將會被忽略,渲染組件和布局 時按屏幕密度進行縮放。屏幕邏輯寬度由設備寬度和屏幕密度自動計算得出,在不同設備上可能不同,請使用相對布局來適配多種設備。

    例如:在 466*466 分辨率,320dpi 的設備上,屏幕密度為 2 (以160dpi為基準),1px等于渲染出的 2 物理像素。

    配置示例

    詳情參考:
    https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-config-file-example-0000000000034466

    九、生命周期

    應用生命周期

    onCreate:應用啟動時調用
    onDestroy:應用銷毀時調用

    ?面生命周期

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-syntax-js-0000000000611432#ZH-CN_TOPIC_0000001058562835__s962b82fb67304ec9a50fb06ffa977560



    ?面 A 的生命周期接口的調用順序

    • 打開?面 A:onInit() -> onReady() -> onShow() -> onActive()
    • 在?面 A 打開?面 B:onInactive() -> onHide()
    • 從?面 B 返回?面 A:onShow() -> onActive()
    • 退出?面 A:onBackPress() -> onInactive() -> onHide() -> onDestroy()
    • ?面隱藏到后臺運行:onInactive() -> onHide()
      ?面從后臺運行恢復到前臺:onShow()

    十、路由與導航

    在 config.json 中聲明路由

    1 {2 // ... 3 "module": { 4 "js": [ 5 { 6 // 聲明?面路由 7 "pages": [ 8 "pages/index/index", 9 "pages/details/details", 10 "pages/comp/comp" 11 ], 12 "name": "default", 13 "window": { 14 "designWidth": 720 , 15 "autoDesignWidth": false 16 } 17 } 18 ] 19 } 20 }

    在 pages 目錄下聲明對應的三個文件

    聲明導航
    引入 router

    1 import router from '@system.router';

    聲明導航方法

    1 export default { 2 // ... 3 4 launch: function () { 5 router.push({ 6 uri: 'pages/details/details', 7 }); 8 } 9 }

    除了上面的 push 方法以外,還有如下方法。

    十一、JS 語法

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-syntax-js-0000000000611432
    支持 ES 6 語法(但不支持最新的 ES 語法)
    鴻蒙 JS 是參考 Vue 2 封裝的

    JS 應用

    $def

    在?面中,通過 this.app.app.app.def,獲取在 app.js 中暴露的對象

    數據綁定

    data | public:類型是對象或者函數
    private:數據只能由當前?面修改

    數據修改

    this.set(′key′,value);this.set('key', value); this.set(key,value);this.delete(‘key’);

    獲取 DOM 元素

    $refs

    1 // index.hml 2 <text ref="target" >內容</div> 3 4 // index.js 5 const t = this.$refs.target; // 獲取 ref 屬性為 target 的 DOM 元素

    $element

    1 // index.hml 2 <text id="target" >內容</div> 34 // index.js 5 const t = this.$element("target"); // 獲取 id 屬性為 target 的 DOM 元素 6 7 // 獲取根組件對象 8 const t = this.$element();

    JS 架構

    • JS UI 框架
      • 類 Web 范式編程的 UI 界面展示
      • https://gitee.com/openharmony/ace_ace_engine
    • JS 應用開發框架
      • 輕量級的 MVVM 實現(仿 Vue 2)
      • https://gitee.com/openharmony/ace_engine_lite
    • JS 原生模塊(NAPI)
      • 實現 JS 與 C/C++ 代碼互相訪問
      • https://gitee.com/openharmony/ace_napi

    十二、HML 語法

    HML(HarmonyOS Markup Language)是一套類 HTML 的標記語言,通過組件,事件構建出?面的內容。?面具備事件綁定、數據綁定、列表渲染、條件渲染和邏輯控制等能力。

    詳情查看:
    https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-syntax-hml-0000000000611413

    十三、CSS 語法

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-syntax-css-0000000000611425

    基本語法

    尺寸單位
    只有像素和百分比

    樣式導入
    @import ‘…/…/common/style.css’;

    預編譯
    鴻蒙可以直接解析 sass 和 less(不需要自己安裝解析插件)

    屏幕適配

    基于設計稿

    假定設計稿尺寸(假定:720 px),終端尺寸(假定:1440 px)
    則縮放比例為 1440 px /720 px = 2.0
    根據縮放比例轉換實際尺寸 100 px X 2.0 = 200 px

    基于屏幕密度

    屏幕密度(dpi = dots per inch 每英寸點數)
    ldpi:低密度屏幕(~120dpi)(0.75 基準密度)
    mdpi:中密度屏幕(~160dpi)(1.0 基準密度)
    hdpi:高密度屏幕(~240dpi)(1.5 基準密度)
    xhdpi:加高密度屏幕(~320dpi)(2.0 基準密度)
    xxhdpi:超超高密度屏幕(~480dpi)(3.0 基準密度)
    xxxhdpi:超超超高密度屏幕(~640dpi)(4.0 基準密度)
    適配原理
    根據基準密度轉換實際尺寸(100 px X 2.0 = 200 px)

    十四、多語言支持

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-framework-multiple-languages-0000000000625923

    • i18n 目錄下存放語言包
      • 語言-地區.json(zh-CN.json)
    • $t() 獲取對應的內容
    • 切換系統語言時(模擬器或真機中),可以看到效果

    十五、組件

    組件是用來展示?面內容的,其功能定位與 HTML 標簽相同。

    需要強調的是, 華為提供的組件不是運行在瀏覽器環境下的 ,華為的組件,更像是小程序的組件。

    但是,為了降低學習成本,華為提供的組件名稱,大部分參考 HTML 標簽的命名。例如:button,div,
    input 等。雖然這些組件名稱與 HTML 標簽名一樣,但屬性和使用方式不盡相同。具體以官方文檔為準。


    基礎組件

    基礎組件提供了基本的內容展示功能,是最常用的一些組件。

    按鈕
    button

    提供按鈕組件,包括膠囊按鈕、圓形按鈕、文本按鈕、弧形按鈕、下載按鈕。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-button-0000000000621726

    toggle
    狀態按鈕

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-toggle-0000001061155984

    piece
    一種塊狀的入口,可包含圖片和文本。常用于展示收件人,例如:郵件收件人或信息收件人。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-piece-0000001060517794

    文本
    text
    用來顯示文本信息

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-text-0000000000611633

    span
    作為<text>的子組件提供文本修飾能力

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-span-0000000000611621

    marquee
    以跑?燈效果展示一行文本

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-marquee-0000000000611657

    textarea
    顯示多行文本

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-textarea-0000000000611748

    label
    標簽組件

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-label-0000000000611688

    圖片
    image
    用來渲染展示圖片

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-image-0000000000611597

    image-animator
    圖片幀動畫

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-image-animator-0000001050066126

    表單

    input
    輸入框,包括單選框,多選框,按鈕和單行文本輸入框。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-input-0000000000611673

    select
    下拉選擇組件

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-select-0000000000611712

    option
    可以作為 <select> 和<menu>的子組件來展示內容

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-option-0000000000611700

    search
    搜索組件

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-search-0000000000618599

    switch
    開關選擇器

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-switch-0000000000611736

    rating
    評分條

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-rating-0000000000611645

    picker
    選擇器,類型支持普通選擇器,日期選擇器,時間選擇器,時間日期選擇器,多列文本選擇器。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-picker-0000000000621791

    picker-view
    嵌入?面的滑動選擇器

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-picker-view-0000001050119874

    導航

    menu
    提供菜單組件,作為臨時性彈出窗口,用于展示用戶可執行的操作。其子組件是 option

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-menu-0000000000618614

    toolbar
    工具欄

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-toolbar-0000001062209279

    toolbar-item
    工具欄子項

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-toolbar-item-0000001061931453

    其他

    slider
    滑動條

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-slider-0000000000611724

    progress
    進度條

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-progress-0000000000611609

    divider
    分割器,用來分割不同的內容

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-divider-0000000000618583

    chart
    圖標組件

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-chart-0000001050030933

    qrcode
    生成并顯示二維碼

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-basic-qrcode-0000001051089032

    容器組件

    div
    用作?面結構的根節點或將內容進行分組。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-div-0000000000611484

    stack
    堆疊容器,子組件按照順序依次入棧,后一個子組件覆蓋前一個子組件。(相當于 z-index)

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-stack-0000000000611521

    badge
    徽章

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-badge-0000001060267851

    列表

    列表包含一系列相同寬度的列表項。適合連續、多行呈現同類數據,例如圖片和文本。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-list-0000000000611496

    list-item
    <list>的子組件,用來展示列表具體item

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-list-item-0000000000611509

    list-item-group
    <list>的子組件,用來展示分組,寬度默認充滿list組件。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-list-item-group-0000001050023049

    柵格

    提供柵格布局效果,通過柵格系統進行元素布局,主要提供 <grid-container><grid-row><grid-col> 柵格容器組件。
    柵格系統有 Margins,Gutters,Columns 三個屬性。

  • Margins:是用來控制元素距離屏幕最邊緣的距離關系,可以根據設備的不同尺寸,定義不同的Margin 值作為斷點系統中的統一規范。
  • Gutters:是用來控制元素和元素之間的距離關系,可以根據設備的不同尺寸,定義不同的Gutters值作為斷點系統中的統一規范。為了保證較好的視覺效果,Gutters 通常不會大于Margins 的取值。
  • Columns:是用來輔助布局的主要定位工具,不同的屏幕尺寸匹配不同的 Columns 數量來輔助布局定位。Columns 的寬度在保證 Margins 和 Gutters 符合規范的情況下,根據實際設備的寬度和 Columns 數量自動計算每一個 Columns 的寬度。
  • 格斷點系統
    柵格系統定義了不同水平寬度設備對應 Columns 的數量關系,形成了一套斷點規則定義。

    柵格系統以水平分辨率值作為斷點依據,不同的設備根據自身當前水平寬度 px 值(配置了autoDesignWidth 為 true) 在不同的斷點范圍內的情況,顯示不同數量的柵格數。

    • xs: 0<水平分辨率<320 時:2 Columns 柵格;
    • sm: 320<=水平分辨率<600 時:4 Columns 柵格;
    • md: 600<=水平分辨率<840 時:8 Columns 柵格;
    • lg: 840 <= 水平分辨率時:12 Columns 柵格;

    grid-container
    柵格布局容器根節點,包含 grid-row 與 gird-col 進行柵格布局。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-grid-container-0000001062133103

    grid-row
    grid-row 是柵格布局容器 grid-container 的子容器組件,使用 flex 橫向布局,排列每個grid-col 容器,justify-content 與 align-items 默認為 flex-start,支持折行顯示。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-grid-row-0000001062811276

    grid-col
    grid-col 是柵格布局容器 grid-row 的子容器組件。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-grid-col-0000001063130862

    選項卡

    tabs
    選項卡容器

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-tabs-0000000000611572

    tab-bar
    選項卡菜單

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-tab-bar-0000000000611548

    tab-content

    選項卡內容

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-tab-content-0000000000611560

    彈窗

    dialog
    自定義彈窗

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-dialog-0000001050068157

    popup
    氣泡彈窗

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-popup-0000000000611584

    panel
    可滑動面板。提供一種輕量的內容展示的窗口,可方便的在不同尺寸中切換。屬于彈出式組件。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-panel-0000001062321291

    步驟導航

    stepper
    步驟導航器。當完成一個任務需要多個步驟時,可以使用步驟導航器展示當前進展。

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-stepper-0000001060518078

    stepper-item

    步驟導航子組件

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-stepper-item-0000001060038131

    輪播圖

    輪播圖組件
    swiper

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-swiper-0000000000611533

    下拉刷新容器

    下拉刷新容器。
    refresh

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-components-container-refresh-0000000000618205

    通用組件

    媒體查詢

    基本語法

    1 @media [media-type] [and|not|only] [(media-feature)] { 2 CSS-Code; 3 }

    @media screen and (round-screen: true) { … } // 當設備屏幕是圓形時條件成立
    @media (max-height: 800) { … } // 范圍查詢,CSS level 3 寫法
    @media (height <= 800) { … } // 范圍查詢,CSS level 4 寫法,與 CSS level3 寫法等 價
    @media screen and (device-type: tv) or (resolution < 2) { … } // 同時包含媒體類型和多個媒體特征的多條件復雜語句查詢

    引入資源

    1 @import url [media-type] [and|not|only] [(media-feature)]; 2 3 # 例如 4 @import '../common/style.css' screen and (min-width: 600 ) and (max -width: 1200 );

    操作符

    and、or、not、only用于構成復雜媒體查詢,也可以通過comma(,)將其組合起來。
    在MediaQuery Level 4中引入了范圍查詢,使其能夠使用max-,min-的同時,也支持了 <=,>=,<,>操作符。

    媒體特征




    自定義組件

    自定義組件通過element引入到宿主?面。

    1 <element name='comp' src='../../common/component/comp.hml'></eleme nt> 2 <div> 3 <comp prop1='xxxx' @child1="bindParentVmMethod"></comp> 4 </div>
    • name 屬性指自定義組件名稱(非必填),組件名稱對大小寫不敏感,默認使用小寫。src 屬性指自定義組件 hml 文件路徑(必填),若沒有設置 name 屬性,則默認使用 hml 文件名作為組件名。
    • 事件綁定:自定義組件中綁定子組件事件使用(on|@)child1)語法,子組件中通過this.$emit(‘child1’, { params: ‘傳遞參數’ }) 觸發事件并進行傳值,父組件執行 bindParentVmMethod 方法并接收子組件傳遞的參數。

    子組件中使用駝峰命名法命名的事件,在父組件中綁定時需要使用短橫線分隔命名形式,例如:@children-event表示綁定子組件的 childrenEvent 事件,如 @children-event=“bindParentVmMethod”。

    事件傳遞

    子組件
    模板文件

    1 <!-- comp.hml --> 2 <div class="item"> 3 <text class="text-style" onclick="childClicked">點擊這里查看隱藏文 本</text> 4 <text class="text-style" if="{{showObj}}">hello world</text> 5 </div>

    JS 文件

    1 // comp.js 2 export default { 3 data: { 4 showObj: false, 5 }, 6 childClicked () { 7 this.$emit('eventType1'); 8 this.showObj = !this.showObj; 9 }, 10 }

    父組件

    模板文件

    1 <!-- xxx.hml --> 2 <element name='comp' src='../../common/component/comp.hml'></eleme nt> 3 <div class="container"> 4 <comp @event-type1="textClicked"></comp> 5 </div>

    JS 文件

    1 // xxx.js 2 export default { 3 textClicked () {}, 4 }

    參數傳遞

    子組件
    模板文件

    1 <!-- comp.hml --> 2 <div class="item">3 <text class="title-style">{{compProp}}</text> 4 </div>

    JS 文件

    1 // comp.js 2 export default { 3 props: ['compProp'], 4 }

    父組件

    1 <!-- xxx.hml --> 2 <element name='comp' src='../../common/component/comp/comp.hml'></ element> 3 <div class="container"> 4 <comp comp-prop="{{title}}"></comp> 5 </div>

    父組件 comp-prop => 子組件 compProp

    設置默認值

    1 // comp.js 2 export default { 3 props: { 4 compProp: { 5 default: '123', 6 }, 7 }, 8 }

    當用戶沒有在父組件中設置 comp-prop 的值時,會默認顯示 123

    數據單向性

    父子組件之間數據的傳遞是單向的,只能從父組件傳遞給子組件,子組件不能直接修改父組件傳遞下來的值,可以將 props 傳入的值用 data 接收后作為默認值,再對 data 的值進行修改。

    1 // comp.js 2 export default { 3 props: ['compProp'], 4 data() { 5 return { 6 count: this.compProp, 7 }; 8 }, 9 onClick() { 10 this.count = this.count + 1 ; 11 }, 12 }

    $watch

    監控數據變化

    1 // comp.js 2 export default { 3 props: ['title'], 4 onInit() { 5 this.$watch('title', 'onPropertyChange'); 6 }, 7 onPropertyChange(newV, oldV) { 8 console.info('title 屬性變化 ' + newV + ' ' + oldV); 9 }, 10 }

    computed

    計算屬性變化

    自定義組件中,經常需要在讀取或設置某個屬性時,進行預先處理,此時,就需要使用 computed 字段。computed 中的 getter 和 setter 方法,在屬性讀寫的時候進行觸發,使用方式如下:

    1 // comp.js 2 export default { 3 props: ['title'], 4 data() { 5 return { 6 objTitle: this.title, 7 time: 'Today', 8 }; 9 }, 10 computed: { 11 message() { 12 return this.time + ' ' + this.objTitle; 13 }, 14 notice: { 15 get() { 16 return this.time; 17 }, 18 set(newValue) { 19 this.time = newValue; 20 }, 21 }, 22 }, 23 onClick() { 24 console.info('get click event ' + this.message); 25 this.notice = 'Tomorrow'; 26 }, 27 }

    這里聲明的第一個計算屬性 message 默認只有 getter 函數,message 的值會取決于objTitle 的值的變化。getter 函數只能讀取不能改變值,當需要賦值給計算屬性時,可以提供一個 setter 函數,如示例中的 notice。

    事件參數

    子組件也可以通過綁定的事件向上傳遞參數,在自定義事件上添加傳遞參數的示例如下:
    子組件

    模板文件

    1 <!-- comp.hml --> 2 <div class="item"> 3 <text class="text-style" onclick="childClicked">點擊這里查看隱藏文 本</text> 4 <text class="text-style" if="{{showObj}}">hello world</text> 5 </div>

    JS 文件

    1 // comp.js 2 export default { 3 childClicked () { 4 this.$emit('eventType1', {text: '收到子組件參數'}); 5 this.showObj = !this.showObj; 6 }, 7 }

    父組件
    模板文件

    1 <!-- xxx.hml --> 2 <div class="container"> 3 <text>父組件:{{text}}</text> 4 <comp @event-type1="textClicked"></comp> 5 </div>

    JS 文件

    1 // xxx.js 2 export default { 3 data: { 4 text: '開始', 5 }, 6 textClicked (e) {7 this.text = e.detail.text; 8 }, 9 }

    插槽

    匿名插槽
    父組件:<tag><text>內容</text></tag>
    子組件:<slot></slot>

    具名插槽
    父組件:<tag><text slot="slotname">內容</text></tag>
    子組件:<slot name="slotname"></slot>

    十六、接口

    同步
    同步方法調用后,必須等到返回結果,然后才能繼續后續操作。
    沒有回調函數或有 Sync 后綴的,一般是同步操作

    1 var info = app.getInfo(); 2 console.log(JSON.stringify(info));

    異步

    異步方法調用時,不會阻礙調用者的工作。業務執行完成后,會調用開發者提供的回調函數。

    有回調函數或無 Sync 后綴的,一般是異步操作

    1 device.getInfo({ 2 success: function(data) { 3 console.log('成功,設備品牌:' + data.brand); 4 }, 5 fail: function(data, code) { 6 console.log('失敗. 錯誤碼:'+ code + '; 錯誤信息: ' + data); 7 }, 8 complete: function() { 9 console.log('get info complete'); 10 }, 11 });

    訂閱
    訂閱之后,該回調函數會在完成時,或者事件變化時再次進行回調;可以執行多次

    例如:訂閱地理位置,位置發生變化時,會再次執行回調函數。

    1 geolocation.subscribe({ 2 success: function(data) { 3 console.log('get location. latitude:' + data.latitude); 4 }, 5 fail: function(data, code) { 6 console.log('fail to get location. code:' + code); 7 }, 8 });

    十七、 基本功能

    應用上下文

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-basic-features-context-0000000000611801

    ?面路由

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-basic-features-routes-0000000000611824

    彈窗

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-basic-features-pop-up-0000000000611864

    定時器

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-basic-features-timer-0000001058085020

    十八、網絡功能

    上傳下載

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-network-uploading-downloading-0000000000626076

    數據請求

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-network-data-request-0000000000626077

    十九、文件數據

    數據存儲

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-data-storage-0000000000626080

    引入

    1 import storage from '@system.storage';

    使用

    1 // 設置內容 2 storage.set({ 3 key: 'storage_key', 4 value: 'storage value', 5 success: function() { 6 console.log('call storage.set success.'); 7 }, 8 fail: function(data, code) { 9 console.log('call storage.set fail, code: ' + code + ', data: ' + data); 10 }, 11 }); 12 13 // 獲取內容 14 storage.get({ 15 key: 'storage_key', 16 success: function(data) { 17 console.log('call storage.get success: ' + data); 18 }, 19 fail: function(data, code) { 20 console.log('call storage.get fail, code: ' + code + ', data: ' + data); 21 }, 22 complete: function() { 23 console.log('call complete'); 24 }, 25 }); 26 27 // 刪除內容 28 storage.delete({ 29 key: 'Storage1', 30 success: function() { 31 console.log('call storage.delete success.'); 32 }, 33 fail: function(data, code) { 34 console.log('call storage.delete fail, code: ' + code + ', da ta: ' + data); 35 }, 36 }); 37 38 // 清空內容 39 storage.clear({ 40 success: function() { 41 console.log('call storage.clear success.'); 42 }, 43 fail: function(data, code) { 44 console.log('call storage.clear fail, code: ' + code + ', dat a: ' + data); 45 }, 46 });

    文件存儲

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-file-storage-0000000000629445

    存儲目錄

    引入

    1 import file from '@system.file';

    使用

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-file-storage-0000000000629445

    二十、 系統功能

    通知消息

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-notification-0000000000626084

    引入

    1 import notification from '@system.notification';

    使用

    1 notification.show({ 2 contentTitle: 'title info', 3 contentText: 'text', 4 clickAction: { 5 bundleName: 'com.huawei.testapp', 6 abilityName: 'notificationDemo', 7 uri: '/path/to/notification', 8 }, 9 });

    震動

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-vibration-0000000000626085

    引入

    1 import vibrator from '@system.vibrator';

    使用

    1 vibrator.vibrate({ 2 mode: 'short', 3 success() { 4 console.log('success to vibrate'); 5 }, 6 fail(data, code) { 7 console.log('handle fail, data = ${data}, code = ${code}'); 8 }, 9 });

    傳感器

    詳情查看:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-sensor-0000000000626088

    引入

    1 import sensor from '@system.sensor';

    權限

    • 計步器:ohos.permission.ACTIVITY_MOTION
    • 心率:ohos.permission.READ_HEALTH_DATA
    • 加速度:ohos.permission.ACCELEROMETER

    使用

    1 // 觀察加速度數據變化。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用生效。 2 sensor.subscribeAccelerometer({ 3 interval: 'normal', 4 success: function(ret) { 5 console.log('get data x:' + ret.x); 6 console.log('get data y:' + ret.y); 7 console.log('get data z:' + ret.z); 8 }, 9 fail: function(data, code) { 10 console.error("subscribe accelerometer fail, code: ' + code + ', data: ' + data); 11 }, 12 });13 14 // 訂閱羅盤數據變化。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用生效。15 sensor.subscribeCompass({ 16 success: function(ret) { 17 console.log('get data direction:' + ret.direction); 18 }, 19 fail: function(data, code) { 20 console.error("subscribe compass fail, code: ' + code + ', da ta: ' + data); 21 }, 22 }); 23 24 // 訂閱環境光線感應數據變化。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用 生效。 25 sensor.subscribeLight({ 26 success: function(ret) { 27 console.log('get data intensity:' + ret.intensity); 28 }, 29 fail: function(data, code) { 30 console.error('subscribe light fail, code: ' + code + ', dat a: ' + data); 31 }, 32 }); 33 34 // 訂閱計步傳感器數據變化。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用生 效。 35 sensor.subscribeStepCounter({ 36 success: function(ret) { 37 console.log('get step value:' + ret.steps); 38 }, 39 fail: function(data, code) { 40 console.log('subscribe step count fail, code:' + code + ', da ta:' + data); 41 }, 42 }); 43 44 // 訂閱氣壓傳感器數據變化。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用生 效。 45 sensor.subscribeBarometer({46 success: function(ret) { 47 console.log('get data value:' + ret.pressure); 48 }, 49 fail: function(data, code) { 50 console.log('subscribe barometer fail, code: ' + code + ', da ta: ' + data); 51 }, 52 }); 53 54 // 訂閱心率傳感器數據變化。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用生 效。 55 sensor.subscribeHeartRate({ 56 success: function(ret) { 57 console.log('get heartrate value:' + ret.heartRate); 58 }, 59 fail: function(data, code) { 60 console.log('subscribe heart rate fail, code: ' + code + ', d ata: ' + data); 61 }, 62 }); 63 64 // 訂閱設備佩戴狀態。再次調用時,會覆蓋前一次調用效果,即僅最后一次調用生效。 65 sensor.subscribeOnBodyState({ 66 success: function(ret) { 67 console.log('get on-body state value:' + ret.value); 68 }, 69 fail: function(data, code) { 70 console.log('fail to get on body state, code:' + code + ', da ta: ' + data); 71 }, 72 }); 73 74 // 獲取設備佩戴狀態。 75 sensor.getOnBodyState({ 76 success: function(ret) { 77 console.log('on body state: ' + ret.value); 78 }, 79 fail: function(data, code) { 80 console.log('handling fail, message: ' + data + ', code: ' + code); 81 },82 });

    地理位置

    詳情參考:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-location-0000000000626089
    引入

    1 import geolocation from '@system.geolocation';

    權限

    ohos.permission.LOCATION

    使用

    1 // 獲取位置信息 2 geolocation.getLocation({ 3 success: function(data) { 4 console.log('經度:' + data.longitude); 5 console.log('緯度:' + data.latitude); 6 }, 7 fail: function(data, code) { 8 console.log('fail to get location. code:' + code + ', data:' + data); 9 }, 10 });

    網絡狀態

    詳情參考:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-network-0000000000626092

    權限

    • ohos.permission.GET_WIFI_INFO
    • ohos.permission.GET_NETWORK_INFO
    1 import network from '@system.network';

    使用

    1 network.getType({ 2 success: function(data) { 3 console.log('success get network type:' + data.type); 4 }, 5 fail: function(data, code) { 6 console.log('fail to get network type code:' + code + ', dat a:' + data); 7 }, 8 });

    設備信息

    詳情參考:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-device-info-0000000000626093

    使用

    1 import device from '@system.device';

    使用

    1 device.getInfo({ 2 success: function(data) { 3 console.log('Device brand:' + data.brand); 4 }, 5 fail: function(data, code) { 6 console.log('Error code:'+ code + '; Error information: ' + da ta); 7 }, 8 });

    屏幕亮度

    詳情參考:https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-system-screen-brightness-0000001050025075

    使用

    1 import brightness from '@system.brightness';1 brightness.getValue({ 2 success: function(data){ 3 console.log('success get brightness value:' + data.value); 4 }, 5 fail: function(data, code) { 6 console.log('get brightness fail, code: ' + code + ', data: ' + data); 7 }, 8 });y7

    二十一、 官方 Demo

    鴻蒙提供的一些具體應用實例。有代碼,有文字介紹,有效果演示

    詳情查看:https://developer.harmonyos.com/cn/develop/codelabs/

    JS 購物應用

    詳情查看:https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/JS-COMPONENTS

    JS 計步器卡片

    詳情查看:https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/Step-Card

    分布式新聞分享

    詳情查看:
    https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-NewsClient

    分布式親自教育

    詳情查看:
    https://developer.huawei.com/consumer/cn/codelabsPortal/carddetails/HarmonyOS-EducationSystem

    總結

    以上是生活随笔為你收集整理的HarmonyOS JS UI的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产伦理久久精品久久久久_ | 免费一级片观看 | 手机看片国产日韩 | 成人国产网站 | 久久99深爱久久99精品 | 欧美做受xxx | 毛片网免费| 久久久高清视频 | 色激情在线 | 日本特黄特色aaa大片免费 | 亚洲综合色丁香婷婷六月图片 | 成人午夜电影网 | 国产精品视频一二三 | 2019精品手机国产品在线 | 色av资源网 | 亚洲精品久久久久999中文字幕 | av成人资源 | 成人黄色av网站 | 久爱精品在线 | 又爽又黄又无遮挡网站动态图 | 亚洲韩国一区二区三区 | 99久久精品免费看国产一区二区三区 | 99在线精品视频在线观看 | 成人毛片在线观看视频 | 国产中文字幕91 | 久久久久高清毛片一级 | 国产在线视频在线观看 | 插插插色综合 | 国产一区二区三区免费在线 | 精品国产123 | 久久精品专区 | 毛片美女网站 | 99久久综合狠狠综合久久 | 日韩视频1区 | 久久爱www.| 99免费在线播放99久久免费 | 日韩乱码在线 | 九精品| 久久天堂亚洲 | av在线8| 24小时日本在线www免费的 | 一区中文字幕电影 | 日本精品午夜 | 亚洲第一伊人 | 特级免费毛片 | 中文字幕在线日亚洲9 | 日韩中文久久 | 丁香高清视频在线看看 | 粉嫩aⅴ一区二区三区 | 免费观看第二部31集 | 精品国产精品久久一区免费式 | 999久久久国产精品 高清av免费观看 | 精品毛片一区二区免费看 | 超级碰碰碰免费视频 | 婷婷色亚洲| 在线观看免费色 | 玖玖视频 | 一区在线电影 | 成人黄色大片 | 婷婷www| 玖玖视频在线 | 91视频在线免费 | 久久精品国产精品 | 麻豆精品视频在线观看免费 | 奇米影视在线99精品 | 69久久夜色精品国产69 | 久久综合九色综合欧美就去吻 | 激情视频在线高清看 | 欧美三人交 | 黄色片网站 | 国产一二区视频 | www.久久成人 | 成人国产网站 | 色国产视频 | 久久精品国产一区二区三区 | 四虎影视精品永久在线观看 | 亚洲国产午夜视频 | 91禁看片 | 欧美日韩a视频 | 免费国产在线精品 | 91天天视频| 激情图片区| 国产精品美女视频网站 | 欧美精品乱码久久久久久按摩 | 欧美国产大片 | 91精品国| 欧美日韩xxxxx| 久久久久欠精品国产毛片国产毛生 | 精品一二三四视频 | 国产伦理久久 | 久久婷亚洲五月一区天天躁 | 深爱激情久久 | 亚洲欧美激情插 | 欧美性做爰猛烈叫床潮 | 婷婷在线视频 | 日本中文字幕久久 | 成人av网址大全 | 国模一二三区 | 四虎影院在线观看av | 亚洲高清视频一区二区三区 | 成人高清在线观看 | 色综合在| 亚洲三级影院 | 久久久免费 | 国产精品岛国久久久久久久久红粉 | 国产亚洲人成网站在线观看 | 中文字幕在线免费播放 | 国产一二三区在线观看 | 国产91成人 | 久99久精品视频免费观看 | 日韩免费在线视频观看 | 国产一级91 | 久久精品国产一区二区电影 | 成人精品在线 | 热久久免费视频精品 | 五月天亚洲综合 | 波多野结衣电影一区二区三区 | 久久久久一区二区三区 | 久久成人国产精品一区二区 | 深夜免费福利视频 | 日韩在线视频播放 | 就要干b | 中文字幕av播放 | 天天在线视频色 | 日韩高清免费在线观看 | 久草久热 | 丁香婷婷综合激情五月色 | 射综合网 | 日韩精品在线视频 | 日韩欧美在线视频一区二区 | 成人久久精品视频 | 最近久乱中文字幕 | 91超碰在线播放 | 成人国产精品久久久久久亚洲 | 97视频亚洲| 日韩最新中文字幕 | 亚州成人av在线 | 成年人在线免费看视频 | 国产一区二区精 | 婷婷开心久久网 | 九九久久精品视频 | 日本精品二区 | 黄av资源| zzijzzij亚洲日本少妇熟睡 | 欧美日韩久久 | 91少妇精拍在线播放 | 国产成人精品在线 | 亚洲黄色免费在线 | 婷婷久久久久 | 欧美9999 | 丝袜美腿一区 | 黄色特一级片 | 国产裸体无遮挡 | 久久深夜| 夜夜操网| 九九综合九九 | 777视频在线观看 | 中文字幕精品一区二区精品 | 欧美性做爰猛烈叫床潮 | 丁香激情视频 | 性色av免费在线观看 | 欧美专区国产专区 | 成人欧美一区二区三区在线观看 | 丁香午夜 | 91精品视频免费看 | 久久99亚洲精品 | 96av视频| 国产精美视频 | av国产网站 | 一区二区欧美激情 | 国产视频精品免费 | 久久久久亚洲国产 | 色无五月 | av免费观看高清 | 97在线观看视频 | 狠狠88综合久久久久综合网 | 久久麻豆视频 | av中文字幕在线播放 | 亚欧洲精品视频在线观看 | 久久视频一区二区 | 国产午夜精品一区二区三区嫩草 | 日韩高清不卡一区二区三区 | 97超碰国产精品女人人人爽 | 免费三级在线 | 日韩1级片| 亚洲国产精品第一区二区 | av成人在线播放 | 狠狠色丁香婷婷 | 中文在线√天堂 | 看片的网址 | 中文一二区 | 911精品美国片911久久久 | 奇米影视8888 | 欧美va在线观看 | 成人免费一级片 | 91免费高清视频 | 国产精品久久久久久久久久久久久久 | 久久久久国产成人精品亚洲午夜 | 在线免费观看国产 | 国产区网址| 久久国产免费看 | 操操操综合 | 日本在线视频网址 | 韩日av一区二区 | 亚洲免费av网站 | 色综合天天综合在线视频 | 伊人五月婷 | av中文字幕网址 | 91精品久久久久久久久久入口 | 日韩中文免费视频 | 中文在线a√在线 | 香蕉久久久久 | 国产成人精品在线播放 | 99热在线观看 | 亚洲国产999| 久久久综合香蕉尹人综合网 | 亚洲国产中文字幕在线观看 | 国产精品久久久久久久久久妇女 | 精品视频一区在线 | 人人搞人人爽 | 黄色片视频免费 | 国产精品欧美日韩在线观看 | 亚洲精品免费在线播放 | a色网站| 免费在线91| 国产精品青草综合久久久久99 | 国产成人在线精品 | 2018好看的中文在线观看 | 国产在线视频一区二区三区 | 韩日电影在线 | 久久九九免费 | 午夜色性片 | 精品美女久久 | 亚洲欧洲成人精品av97 | 国产香蕉久久精品综合网 | 欧美日韩精品在线观看 | 成年人网站免费在线观看 | 99视频一区二区 | 蜜臀91丨九色丨蝌蚪老版 | 久久久久久精 | 91精品人成在线观看 | 国产麻豆电影在线观看 | 成年人在线免费看视频 | 人人盈棋牌 | 麻豆视频免费播放 | 麻豆影音先锋 | 五月激情丁香婷婷 | 97精品视频在线 | 偷拍区另类综合在线 | 永久免费的av电影 | 丁香在线 | 手机在线小视频 | 97碰在线 | 中文字幕av在线播放 | 成人97人人超碰人人99 | 久久成人精品 | 婷婷六月激情 | 日本电影黄色 | 国产蜜臀av | 成人毛片100免费观看 | 在线观看视频在线 | 国产成人精品一区二区在线 | 久久久久久高潮国产精品视 | 国产三级精品在线 | 精品久久久久久久久久久院品网 | 91亚洲网 | 日本三级国产 | 最近中文字幕免费 | 在线观看黄色国产 | 97超碰在线久草超碰在线观看 | 亚洲天天综合 | a黄在线观看 | 香蕉视频一级 | 久久免费视频在线观看30 | 99视频在线精品 | 欧美日韩国产xxx | 久久婷婷一区 | 九九影视理伦片 | 91人人澡人人爽 | 国产高清av免费在线观看 | 欧美激情综合色 | 激情综合久久 | 91黄色在线视频 | 欧美综合干 | 亚洲欧美日韩国产一区二区 | 成人永久免费 | 免费在线观看av的网站 | 欧美日韩一级视频 | 午夜视频不卡 | 国产一区福利在线 | 色资源二区在线视频 | 国产日韩欧美视频 | 97成人免费视频 | 亚洲久草在线视频 | 在线看国产日韩 | 97av在线| 国产精品一区二区av影院萌芽 | 国产精品入口麻豆www | 国产一级特黄电影 | 欧美先锋影音 | 九九视频免费在线观看 | 国产在线中文字幕 | 亚洲第一区精品 | 成人免费看片98欧美 | 久久久久久久久久免费 | 日韩资源在线播放 | 亚洲激情中文 | 一区二区 不卡 | 午夜黄色 | 国产精品综合在线 | 97在线精品视频 | 亚洲专区中文字幕 | 日韩av中文字幕在线免费观看 | 国产精品成人a免费观看 | av片子在线观看 | 国内精品视频在线播放 | 国产精品久久久久影院 | 99热九九这里只有精品10 | 丁香激情五月婷婷 | 97超碰免费在线观看 | 五月婷婷深开心 | 国产分类视频 | 成年人视频在线免费 | 国产色啪 | www.com.黄| 日韩大陆欧美高清视频区 | 中国成人一区 | 国产精品精品久久久久久 | 天天爱综合 | 欧美日韩久久不卡 | 亚洲经典视频在线观看 | 久久久免费观看 | 久草a在线| 婷婷综合影院 | 成人午夜电影在线观看 | 免费观看第二部31集 | 日韩中文免费视频 | 国产流白浆高潮在线观看 | 在线观看免费成人av | 日日久视频 | 日本精a在线观看 | 黄色avwww | 成人va在线观看 | 丁香花在线视频观看免费 | 国产精品资源在线观看 | 亚洲无吗视频在线 | 中文字幕日本在线 | 99re国产视频 | 五月婷婷导航 | 久草网视频在线观看 | 国产系列 在线观看 | 婷婷久草 | 色诱亚洲精品久久久久久 | 国产亚州av | 日韩欧美在线观看一区二区三区 | 欧美色综合久久 | 精品黄色视 | 在线观看完整版 | 午夜精品一区二区三区四区 | 日韩欧美专区 | 欧美在线不卡一区 | 国产精品区二区三区日本 | 欧亚日韩精品一区二区在线 | 日韩电影精品 | 天天激情天天干 | 国产成人99久久亚洲综合精品 | 91麻豆看国产在线紧急地址 | 日本久久精品 | 亚洲国产成人精品在线 | 国产精品一级在线 | 国产一级在线观看视频 | 欧美激情xxxx性bbbb | 亚洲视频综合在线 | 久久精品96 | 伊人激情综合 | 国产精品乱码久久久久久1区2区 | 日韩激情第一页 | 成人小电影在线看 | 日韩成人看片 | 黄色小说在线观看视频 | 91黄色在线看 | av中文在线影视 | 国产综合激情 | 亚洲成人免费观看 | 久久综合毛片 | 久久精品99国产国产精 | 久草免费在线观看 | 亚洲综合狠狠干 | 国产破处视频在线播放 | 五月综合激情网 | 一级成人免费 | av一区二区在线观看中文字幕 | 久久精品一区二区三 | 狠狠色狠狠色 | 成人超碰97 | a午夜电影 | 久久国内精品视频 | 久久久麻豆视频 | 日韩免费大片 | 日本三级人妇 | 成人欧美一区二区三区在线观看 | 国产高清黄 | 天天夜夜亚洲 | 午夜视频在线观看一区二区三区 | 九九在线高清精品视频 | 日本免费久久高清视频 | 黄色大片免费播放 | 福利一区二区 | 性色va | 国产精品99久久久精品免费观看 | 中中文字幕av在线 | 欧美性性网 | 欧美色操| 国产精品s色 | 五月天丁香视频 | 91视频高清免费 | 精品电影一区 | 日日躁天天躁 | 中国一级片在线播放 | 欧美日韩一级久久久久久免费看 | 97国产精品 | 久久免费看视频 | 9992tv成人免费看片 | 91最新视频 | 色综合小说 | 国产精品久久久久久久午夜片 | 亚洲第一中文网 | 国产二区视频在线 | 久久激情综合网 | 欧美性猛片, | 中文字幕专区高清在线观看 | 国产精品一区二区三区免费看 | 国产精品美女久久久久久2018 | 一级黄色大片在线观看 | 一二区精品 | 久草在线资源免费 | 国产夫妻av在线 | 日韩成人在线免费观看 | 午夜视频在线观看网站 | 午夜aaaa | 午夜精品福利一区二区 | 91成人在线观看高潮 | 午夜久久影视 | 国产高清黄色 | 成人黄色大片网站 | 久久免费视频观看 | 国产精品2020 | 中文字幕 在线看 | 中文字幕在线视频免费播放 | 精品福利网站 | 蜜桃麻豆www久久囤产精品 | 免费观看成人网 | 中文区中文字幕免费看 | 中文成人字幕 | 久久久久女人精品毛片 | 国产精品久久久999 国产91九色视频 | 国产精品三级视频 | 在线网址你懂得 | 成人欧美日韩国产 | 精品久久久久久亚洲综合网站 | 91精品久久久久久粉嫩 | 国产中文在线字幕 | 色搞搞 | 黄色小说18 | 久草在线中文888 | 人人爽人人爱 | 国产亚洲资源 | 精品免费观看 | 五月婷婷色丁香 | 久久久国产精品人人片99精片欧美一 | 国产亚洲欧美日韩高清 | 亚洲国产精品成人av | 久久久久免费精品视频 | 在线视频欧美日韩 | 免费观看一区二区三区视频 | 天天爽夜夜爽人人爽曰av | 欧美激情精品一区 | 久久精品亚洲一区二区三区观看模式 | av午夜电影 | av字幕在线 | 久久精品中文视频 | 久久久久国产精品一区二区 | 久久精品香蕉视频 | 成人免费网站在线观看 | 婷婷av综合 | 亚洲va在线va天堂va偷拍 | 91影视成人 | 蜜臀久久99静品久久久久久 | 在线观看视频亚洲 | 天天干天天操天天搞 | 国产精品12| 国产在线成人 | 免费看v片 | 亚洲欧美经典 | 国产精品永久久久久久久久久 | 中文字幕人成乱码在线观看 | 日韩综合视频在线观看 | 一区二区中文字幕在线 | 99视频精品在线 | 激情网五月天 | 亚洲最大成人网4388xx | 欧美久久99 | 西西www4444大胆在线 | 一区二区欧美日韩 | 国产亚洲精品久久久久久久久久久久 | 久久久久久久久久久久久久av | 最近最新mv字幕免费观看 | 国产69久久精品成人看 | 激情婷婷网| 日韩伦理片hd| 日韩最新av在线 | 国产精品地址 | 在线观看免费福利 | 免费看搞黄视频网站 | 天天摸天天舔天天操 | 91在线免费看片 | 有码视频在线观看 | 国产黄免费在线观看 | 免费日韩av片 | 久久久片 | 久久福利电影 | 久久综合狠狠综合 | a一片一级 | 成人黄色中文字幕 | 最近更新中文字幕 | 免费在线视频一区二区 | 日韩极品视频在线观看 | 色噜噜狠狠色综合中国 | 亚洲高清视频在线观看免费 | 三级黄色大片在线观看 | 黄色一二级片 | 婷婷四房综合激情五月 | 免费观看xxxx9999片 | 99国产高清| 奇米影视999| 欧美一二三区播放 | 婷婷视频| 最近日韩中文字幕中文 | av资源在线看 | 色com| 韩国av电影网 | 久久精选| 一区二区三区四区精品视频 | 色a资源在线 | 久久都是精品 | 黄网站a | www99久久 | 91精品国产网站 | 久久免费视频6 | 精品字幕 | 日韩欧美一区二区在线 | 国产午夜剧场 | www.婷婷色| 超碰在线国产 | 少妇bbbb搡bbbb搡bbbb | 香蕉色综合 | 日韩在线观看网址 | 久久在线 | 免费精品视频 | 99久久精品一区二区成人 | 高清av在线免费观看 | 美女黄频在线观看 | 99精品国产一区二区三区麻豆 | 天天拍夜夜拍 | 免费看片网址 | www视频免费在线观看 | 久久成人国产精品入口 | 国产成人精品一区二区三区免费 | 日日干网址 | 国产裸体永久免费视频网站 | 美女免费av | www.黄色 | 日韩电影在线观看中文字幕 | 四虎在线观看视频 | 成人在线免费视频观看 | 四虎影视成人精品国库在线观看 | av日韩av | 在线免费观看黄 | 97超碰国产在线 | 中文字幕在线观看你懂的 | 国产精品毛片久久久久久久久久99999999 | 亚洲日本欧美在线 | 国产精品欧美久久久久三级 | 久久伊人国产精品 | 日本护士三级少妇三级999 | 国产精品精 | 69精品视频 | 日韩欧美69 | 国产精品理论片在线观看 | 亚洲最新精品 | 亚洲国产成人精品久久 | 日韩免费大片 | 四虎国产精| 麻豆果冻剧传媒在线播放 | 99精品免费久久久久久日本 | 96亚洲精品久久久蜜桃 | 欧美大片第1页 | 亚洲精品在线视频网站 | 亚洲欧美视频在线 | 久久精品电影 | 国产成人久久久久 | 欧美最猛性xxxxx(亚洲精品) | 午夜骚影 | 精品久久久久久一区二区里番 | 欧美色一色 | 国产亚洲综合性久久久影院 | 国产成人精品综合久久久 | 国产精品成人久久久久久久 | 日韩精品一区二区三区三炮视频 | 在线观看小视频 | 玖玖在线资源 | 天天av在线播放 | 人人干网站 | 五月天亚洲婷婷 | 午夜免费福利视频 | 日日爱网站 | 日韩免费播放 | 免费在线观看av网址 | 美女视频黄在线 | 九九免费精品视频在线观看 | 亚洲手机天堂 | 日韩中字在线 | 成人av在线电影 | 视频在线观看日韩 | 国产欧美在线一区二区三区 | 看av免费| 超碰在线97免费 | 黄网站app在线观看免费视频 | 久久久久久久久久久久电影 | 国产精品久免费的黄网站 | 亚洲精品乱码久久久久 | 天天干天天射天天爽 | 免费国产在线观看 | 97国产在线| 国产日产精品久久久久快鸭 | av免费黄色 | 色婷婷亚洲精品 | 国产精品剧情在线亚洲 | 免费av黄色| av青草| 麻豆高清免费国产一区 | 日韩激情综合 | 青青河边草观看完整版高清 | 97超碰站| 国产中文在线字幕 | 久久国产午夜精品理论片最新版本 | 天天操,夜夜操 | 亚洲精品高清视频在线观看 | 91精品国产一区 | 日韩在线观看网址 | 五月激情丁香婷婷 | 久草视频在线播放 | 国产成人av在线 | 日一日干一干 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 免费精品在线视频 | 干综合网| 国产手机精品视频 | 97夜夜澡人人爽人人免费 | 97电影手机 | av免费看电影 | 人人添人人澡人人澡人人人爽 | 亚洲成 人精品 | 国产成人精品三级 | 成人性生交大片免费观看网站 | 久久色在线观看 | 国产成人精品国内自产拍免费看 | 久久开心激情 | 日韩av不卡在线播放 | 中文字幕一区二区三区在线观看 | 日韩av一区二区在线影视 | 中文字幕在线观看网 | 欧美巨乳网 | 国产二区视频在线观看 | 五月香视频在线观看 | 一级黄色片在线免费看 | 在线看成人片 | 日韩欧美高清在线 | 国产精品久久久久久久久久新婚 | 久久刺激视频 | 日韩视频一 | 国产传媒中文字幕 | 日韩欧美在线观看 | 国产99一区 | 女女av在线| 免费观看xxxx9999片 | 久久成人国产精品入口 | 欧美日韩中文字幕在线视频 | 91视频免费看网站 | 日韩系列在线 | 亚洲精品国产日韩 | 国产一区影院 | 中文字幕亚洲欧美 | 午夜精品久久久久久久久久久久久久 | 亚洲国产剧情 | 亚洲黄色软件 | 特级免费毛片 | 日韩手机在线观看 | 国产123区在线观看 国产精品麻豆91 | 色91av| 欧美一级高清片 | 天天爽网站 | 亚洲视频精品 | 国产精品18久久久久久首页狼 | 色婷婷视频 | 久久视频 | 狠狠的干狠狠的操 | 国产日本亚洲 | 国产在线观看你懂得 | 亚洲天堂网在线视频观看 | 草在线 | 热久久精品在线 | 国产最新视频在线 | 欧美日韩午夜 | av在线免费观看黄 | 亚洲精品字幕在线观看 | 国产一区二区播放 | 久久国产精品小视频 | 99久久这里只有精品 | 中文字幕 91| 麻豆影视网站 | 麻豆视频www| 夜夜骑日日操 | 亚洲一区精品人人爽人人躁 | 在线看一区二区 | 99在线观看精品 | 国产麻豆果冻传媒在线观看 | 免费看黄色毛片 | 日本精品视频在线观看 | av电影免费 | 国产视频69 | 日韩午夜在线播放 | 黄色大片日本 | 伊人久久影视 | 国产亚洲精品xxoo | 日韩资源在线播放 | 91麻豆精品国产91久久久无需广告 | 日b黄色片 | 国产日韩欧美在线影视 | 色综合久久久久综合体桃花网 | 波多野结衣在线观看一区二区三区 | 91精品久久久久久久91蜜桃 | 国产美女久久 | 婷婷av网| 人人舔人人舔 | 国产精品视频免费 | 成人av动漫在线观看 | av久久在线 | 免费亚洲婷婷 | 久久久一本精品99久久精品 | 欧洲视频一区 | 色中射 | 久久精品福利视频 | 国产一区二区在线观看免费 | 色综合天天综合网国产成人网 | 午夜精品久久久久久久99无限制 | 在线视频日韩欧美 | 深爱五月网 | 成人少妇影院yyyy | 人人爽人人乐 | 国产成人精品免费在线观看 | 精品国产自在精品国产精野外直播 | 中文字幕日韩有码 | 超碰97av在线 | 欧洲精品码一区二区三区免费看 | 日韩丝袜视频 | 五月天.com| 色婷婷激情 | 麻豆91视频 | 丝袜av网站| 国内精品久久久久久久影视简单 | 国产精美视频 | 香蕉在线影院 | 久久久久久久久久久高潮一区二区 | 色资源网免费观看视频 | 亚洲91视频| 干干干操操操 | 国产精品视频最多的网站 | 99久久精品视频免费 | 国产小视频免费在线网址 | 亚洲理论在线观看电影 | 亚洲乱码精品 | 日韩a欧美 | 99国产在线 | 国产高清成人在线 | 韩国av免费观看 | 97人人模人人爽人人喊网 | 久久久久久久久久网站 | 成人黄色电影在线观看 | 欧美一级大片在线观看 | 精品一区av | 国产精品麻豆91 | 久久精品超碰 | 免费在线中文字幕 | 欧洲视频一区 | 91成年人网站 | 国产一区二区在线播放视频 | 九九综合在线 | 欧美色综合久久 | 少妇bbbb搡bbbb搡bbbb | 国产午夜精品理论片在线 | 欧美aa一级 | 青草视频免费观看 | 日本中文字幕影院 | 毛片网免费| 成片人卡1卡2卡3手机免费看 | 亚洲精品国产精品久久99热 | 久久国产精品久久精品国产演员表 | 国产视频精品久久 | 久久不射网站 | 一区二区视频在线播放 | 欧美一级片播放 | av网站有哪些 | 亚洲欧美日韩不卡 | 丁香综合激情 | 麻豆视频国产精品 | 欧洲av在线| 看片黄网站| 国产综合福利在线 | 国产日韩视频在线播放 | 亚洲精品乱码久久久久久写真 | 精品国产一区二区三区不卡 | 国产精品免费观看国产网曝瓜 | 久草在线资源网 | 9999激情 | 国产精品99久久久精品免费观看 | 丁香六月色 | 狠狠狠色| 国产亚洲视频系列 | 丁香视频全集免费观看 | 久久久综合精品 | 婷婷色资源 | 亚洲精品在线一区二区三区 | 亚洲精品av中文字幕在线在线 | a成人在线| 91最新在线视频 | 成人欧美一区二区三区黑人麻豆 | 欧洲在线免费视频 | 97网在线观看 | 大胆欧美gogo免费视频一二区 | 久久久精品影视 | 欧美一区二区三区免费观看 | 永久精品视频 | 色com| 国产欧美精品一区二区三区 | 欧美午夜a | 激情综合色播五月 | 免费av在线| 狠狠色狠狠色综合日日92 | 久久久国产精华液 | av丝袜美腿| 超碰97.com | 欧美精品在线视频 | 国产精品va在线观看入 | 久久综合久久综合久久 | 最新av网站在线观看 | 国内成人综合 | 特级西西444www大精品视频免费看 | 国产精品嫩草在线 | 五月开心婷婷 | 亚洲在线视频观看 | 国产精品女教师 | 国产在线va | 91视频免费播放 | 日韩电影一区二区在线 | 久草视频在线免费播放 | 精品伊人久久久 | 日韩精品一区二区免费 | 国产在线永久 | 欧美日韩伦理一区 | 97看片网| 菠萝菠萝蜜在线播放 | 亚州av网站大全 | 奇米网网址| 毛片一级免费一级 | 天天综合狠狠精品 | h视频在线看 | 久久精品精品 | 欧美激情综合五月色丁香 | 99热亚洲精品 | 久久久久电影网站 | 国产永久免费高清在线观看视频 | 久久国内精品视频 | 国产小视频91 | 婷婷色网| 人人干人人草 | 亚洲精品2区 | 国产 一区二区三区 在线 | 成人高清在线观看 | 成人免费视频网站 | 久久亚洲欧美日韩精品专区 | 四虎国产免费 | 九九视频免费在线观看 | 中文一区二区三区在线观看 | h动漫中文字幕 | 97福利在线观看 | 久久国产区 | 国产欧美精品一区二区三区四区 | 国产亚洲婷婷免费 | 久要激情网 | 亚洲专区免费观看 | 欧美日韩在线免费观看 | 在线三级av| 中文字幕av在线电影 | 国产一级在线 | av三级av| 国产高清视频免费观看 | 日本性视频 | 麻豆视频免费网站 | 亚洲精品一区二区在线观看 | 91视频免费看片 | 麻豆视频免费在线 | 天天干天天摸天天操 | 手机av资源| 国产精品亚洲精品 | 久久黄色网页 | 六月天综合网 | 亚洲日本va在线观看 | 久久久久亚洲精品中文字幕 | 久久在线免费观看视频 | 日韩一区二区三区在线观看 | 国产亚洲成人精品 | 亚洲视频免费在线观看 | 人人插人人草 | 亚洲国产日韩一区 | 99久久精品午夜一区二区小说 | 国产精品爽爽久久久久久蜜臀 | 黄色片网站av | 国产精品一区二区三区99 | 国产一区二区手机在线观看 | 一区二区久久 | 精品久久久久_ | 天天曰视频 | 天天色天天 | 亚洲另类人人澡 | www色av| 九九九九九精品 | 人人爽人人看 | 美女免费黄视频网站 | 国产在线精品一区二区三区 | 久久精品视频网站 | 久久久午夜视频 | 欧美一区二区在线免费看 | 射久久 | 国产精品自产拍在线观看 | 麻豆国产网站入口 | 成人小电影在线看 | 亚洲国产成人久久综合 | av黄在线播放 | 久久久久久久久久久久久久电影 | 最新中文字幕在线观看视频 | av在线免费观看不卡 | 激情综合中文娱乐网 | 久久香蕉影视 | 九九免费观看视频 | 91视频国产高清 | 午夜在线免费视频 | 91精品视频导航 | 在线观看国产高清视频 | 亚洲欧美精品一区 | 久久av中文字幕片 | 欧美一二三视频 | 欧美国产亚洲精品久久久8v | 日韩在线欧美在线 | av在线亚洲天堂 | 狠狠色狠狠色综合日日小说 | 天天操天天艹 | 国产精品入口久久 | 黄色软件大全网站 | 久久国产高清视频 | 91精品久久久久久综合乱菊 | 97国产在线观看 | 亚洲成人家庭影院 | 国产专区一 | 久久av免费 | 成人中心免费视频 | 午夜美女福利直播 | 久草在线视频免费资源观看 | 涩av在线| 亚洲在线日韩 | av高清一区二区三区 | 精品成人免费 | 91观看视频 | 成年人国产在线观看 | 久久毛片视频 | a国产精品 | 精品国产不卡 | 国产精品白浆视频 | 久久最新网址 | 久久97精品 | 日韩在线观看视频中文字幕 | 久久午夜电影院 | 五月激情六月丁香 | 美女视频黄,久久 | 久久久久久久久亚洲精品 | 日韩中文字幕电影 | 天天射天天干天天插 | 国产精品久久久久久久免费观看 |