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

HarmonyOS 項目實戰之通訊錄Demo(JS)

開發 前端 OpenHarmony
通訊錄demo主要分為聯系人界面、設置緊急聯系人、服務卡片3個模塊,分為Java和JS兩個版本,本篇主要講解用盡可能的用純JS去實現,實在無法實現的地方采用JS與Java結合。

[[439628]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

1 簡介

通訊錄demo主要分為聯系人界面、設置緊急聯系人、服務卡片3個模塊,分為Java和JS兩個版本,本篇主要講解用盡可能的用純JS去實現,實在無法實現的地方采用JS與Java結合。

1.1 原型

感興趣的小伙伴,可以自己根據原型效果自己嘗試著去實現【通訊錄demo簡易原型】。

#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區

1.2 場景延伸

通過學習與練習本demo,可以延伸至以下場景。

#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區

2 功能開發

2.1 聯系人列表

2.1.1 實現效果

#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區

2.1.2 核心代碼

參考:基于JS擴展的類Web開發范式-組件-容器組件-list

關鍵屬性 indexer=“true”

  1. <!-- list --> 
  2.     <list id="address_list" class="list-wrapper" indexer="true" indexerbubble="true" shapemode="rect" 
  3.           initialindex="0"
  4.         <block for="{{ list_data }}"
  5.             <list-item section="{{ $item.item_section }}" class="todo-item"
  6.                 <div class="item-wrapper" @click="onItemClick($item)" @longpress="onItemLongPress($item)"
  7.                     <image class="item-icon" src="{{ $item.item_icon }}"></image> 
  8.                     <text class="item-name">{{ $item.item_name }}</text> 
  9.                 </div> 
  10.             </list-item> 
  11.         </block> 
  12.     </list> 

2.2 三方跳轉

2.2.1 實現效果

#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區

2.2.2 js和java通信

js打開三方應用目前還不知道如何操作,我們通過js調java方法來實現跳轉。

JS LocalParticleAbility機制請看官方鏈接:API 6開始支持

參考:JS LocalParticleAbility機制-概述

通過js 獲取到java接口

  1. export default { 
  2.     data: { 
  3.        javaInterface: {} 
  4.     }, 
  5.  
  6.     onInit() { 
  7.         console.log(TAG + " ;onInit())"); 
  8.     }, 
  9.  
  10.     onShow() { 
  11.         console.log(TAG + " ;onShow())"); 
  12.         // onInit生命周期中Java接口對象還未創建完成,請勿在onInit中調用。 
  13.         this.javaInterface = createLocalParticleAbility('com.pvj.addresslistdemo.MyLocalParticleAbility'); 
  14.     } 
  15.      
  16.     onClickPhone() { 
  17.     this.javaInterface.doDial(this.item_phone) 
  18.     }, 
  19.     onClickMail() { 
  20.     this.javaInterface.doMessage(this.item_phone) 
  21.     } 

java實現

  1. public class MyLocalParticleAbility implements LocalParticleAbility { 
  2.     private static MyLocalParticleAbility instance; 
  3.     Context applicationContext; 
  4.     Context context; 
  5.  
  6.     private MyLocalParticleAbility(Context context) { 
  7.         this.context = context; 
  8.         this.applicationContext = context.getApplicationContext(); 
  9.     } 
  10.  
  11.     public static MyLocalParticleAbility getInstance(Context applicationContext) { 
  12.         if (instance == null) { 
  13.             instance = new MyLocalParticleAbility(applicationContext); 
  14.  
  15.         } 
  16.         return instance; 
  17.     } 
  18.  
  19.     /** 
  20.      * 跳轉系統撥打電話界面 
  21.      */ 
  22.     public void doDial(String destinationNum) { 
  23.       ... 
  24.     } 
  25.  
  26.     public void doMessage(String telephone) { 
  27.       .... 
  28.     } 
  29.  

LocalParticleAbility 需要 register與 deregister

  1. public class MainAbility extends AceAbility { 
  2.     @Override 
  3.     public void onStart(Intent intent) { 
  4.         super.onStart(intent); 
  5.         .... 
  6.         MyLocalParticleAbility.getInstance(getContext()).register(this); 
  7.     } 
  8.  
  9.     @Override 
  10.     public void onStop() { 
  11.         super.onStop(); 
  12.         MyLocalParticleAbility.getInstance(getContext()).deregister(this); 
  13.     } 
  14.  } 

 2.2.3 撥打電話與發送短信

  1. /** 
  2.  * 跳轉系統撥打電話界面 
  3.  */ 
  4. public void doDial(String destinationNum) { 
  5.     Intent intent = new Intent(); 
  6.     Operation operation = new Intent.OperationBuilder() 
  7.         .withAction(IntentConstants.ACTION_DIAL) // 系統應用撥號盤 
  8.         .withUri(Uri.parse("tel:" + destinationNum)) // 設置號碼 
  9.         .withFlags(2) 
  10.         .build(); 
  11.     intent.setOperation(operation); 
  12.     // 啟動Ability 
  13.     context.startAbility(intent, 10); 
  14.  
  15. //發送短信 
  16. public void doMessage(String telephone) { 
  17.     Intent intent = new Intent(); 
  18.     Operation operation = new Intent.OperationBuilder() 
  19.         .withAction(IntentConstants.ACTION_SEND_SMS) 
  20.         .withUri(Uri.parse("smsto:" + telephone)) // 設置號碼 
  21.         .withFlags(Intent.FLAG_NOT_OHOS_COMPONENT) 
  22.         .build(); 
  23.     intent.setOperation(operation); 
  24.     context.startAbility(intent, 11); 

2.3 緊急聯系人

2.3.1 實現效果

#星光計劃2.0# HarmonyOS 項目實戰之通訊錄Demo(JS)-鴻蒙HarmonyOS技術社區

2.3.2 js數據存儲

js關系型數據庫: 優先用關系型數據庫,發現 JS從API Version 7開始支持。

js輕量級存儲:

① 它是key-value的存儲的方法,從 API Version 6 開始支持;

參考:數據管理-輕量級存儲

② 麻煩的是:每次存數據前,需要取一次,再新增數據;

在實現服務卡片更新信息時,需要動態的更新數據,而java的輕量級存儲與JS存儲的不是同一目錄,目錄改成一致程序出錯,最終只能采用js與java通信,由java側統一完成數據新增與插入。

2.3.3 java數據存儲實現

java代碼:

  1. public class MyLocalParticleAbility implements LocalParticleAbility { 
  2.     private static MyLocalParticleAbility instance; 
  3.     private static final HiLogLabel TAG = new HiLogLabel(HiLog.DEBUG, 0x0, MyLocalParticleAbility.class.getName()); 
  4.     Preferences preferences; 
  5.     public static final String KEY = "key_list"
  6.     Context applicationContext; 
  7.     Context context; 
  8.  
  9.     private MyLocalParticleAbility(Context context) { 
  10.         this.context = context; 
  11.         this.applicationContext = context.getApplicationContext(); 
  12.  
  13.         DatabaseHelper databaseHelper = new DatabaseHelper(applicationContext); 
  14.         String fileName = "main_list.xml";  
  15.         // fileName表示文件名,其取值不能為空,也不能包含路徑,默認存儲目錄可以通過context.getPreferencesDir()獲取。 
  16.         preferences = databaseHelper.getPreferences(fileName); 
  17.     } 
  18.  
  19.  
  20.     public static MyLocalParticleAbility getInstance(Context applicationContext) { 
  21.         if (instance == null) { 
  22.             instance = new MyLocalParticleAbility(applicationContext); 
  23.  
  24.         } 
  25.         return instance; 
  26.     } 
  27.  
  28.  
  29.     public String getContactPersonList() { 
  30.         // context入參類型為ohos.app.Context。 
  31.         String preferencesString = preferences.getString(KEY""); 
  32.         HiLog.info(TAG, "getContactPersonList preferencesString : " + preferencesString); 
  33.         return preferencesString; 
  34.     } 
  35.  
  36.  
  37.     public void addContactPersonList(String content) { 
  38.         HiLog.info(TAG, "addContactPersonList content : " + content); 
  39.         preferences.putString(KEY, content); 
  40.         preferences.flushSync(); 
  41.     } 

js代碼:

  1. import prompt from '@system.prompt'
  2.  
  3.  onItemLongPress(item) { 
  4.         console.log(TAG + " ;onItemLongPress:" + item.item_name); 
  5.         let THIS = this; 
  6.         //點擊刪除時彈出對話框 
  7.         prompt.showDialog({ 
  8.             title: "操作提示"
  9.             message: "添加" + item.item_name + "為緊急聯系人嗎?"
  10.             buttons: [{ 
  11.                           "text""確定"
  12.                           "color""" 
  13.                       }, 
  14.                       { 
  15.                           "text""取消"
  16.                           "color""" 
  17.                       }], 
  18.             success: function (data) { 
  19.                 if (data.index == 0) { 
  20.                     THIS.addContactPersonList(item); 
  21.                 }  
  22.             } 
  23.         }); 
  24.     } 
  25.  
  26.   async addContactPersonList(item) { 
  27.         let content =  await this.getContactPersonList(); 
  28.         console.info(TAG + "addContactPersonList content: " + content); 
  29.  
  30.         let list = [] 
  31.         if(content != ""){ 
  32.             list = JSON.parse(content); 
  33.         } 
  34.         list.push(item); 
  35.         let temp = JSON.stringify(list); 
  36.         console.info(TAG + "addContactPersonList temp: " + temp); 
  37.  
  38.         this.javaInterface.addContactPersonList(temp).then(); 
  39.         return true 
  40.         // store.putSync(keytemp); 
  41.     }, 
  42.    async getContactPersonList() { 
  43.         let ret = await this.javaInterface.getContactPersonList() 
  44.         console.info(TAG + "getContactPersonList ret:" + ret); 
  45.         return ret 
  46.     } 

2.4 js服務卡片

2.4.1 實現效果

2.4.2 創建卡片模板

2.4.3 卡片數據綁定

  1. public ProviderFormInfo bindFormData(long formId) { 
  2.     HiLog.info(TAG, "bind form data"); 
  3.     ZSONObject zsonObject = new ZSONObject(); 
  4.     String contactPersonList = MyLocalParticleAbility.getInstance(context.getApplicationContext()).getContactPersonList(); 
  5.     JSONArray jsonArray = JSON.parseArray(contactPersonList); 
  6.     for (int i = 0; i < jsonArray.size(); i++) { 
  7.         String name = jsonArray.getJSONObject(i).getString("item_name"); 
  8.         String phone = jsonArray.getJSONObject(i).getString("item_phone"); 
  9.         if (i == 0) { 
  10.             zsonObject.put("titleText"name); 
  11.             zsonObject.put("contentText", phone); 
  12.         } else if (i == 1) { 
  13.             zsonObject.put("titleText1"name);  
  14.             zsonObject.put("contentText1", phone); //傳遞的是string;是否支持其他類型?比如數組 
  15.         } else { 
  16.             break; 
  17.         } 
  18.         HiLog.info(TAG, "bind form data :" + jsonArray.getJSONObject(i).get("item_name")); 
  19.         HiLog.info(TAG, "bind form data :" + jsonArray.getJSONObject(i).get("item_phone")); 
  20.     } 
  21.  
  22.     ProviderFormInfo providerFormInfo = new ProviderFormInfo(); 
  23.     providerFormInfo.setJsBindingData(new FormBindingData(zsonObject)); 
  24.  
  25.     return providerFormInfo; 

2.4.4 事件處理

  1.   "data": { 
  2.     "appName""緊急聯系人"
  3.     "contactPersonList"""
  4.     "titleText""Title"
  5.     "contentText""Introduction"
  6.     "titleText1"""
  7.     "contentText1"""
  8.     "actionName1""Action 1"
  9.     "actionName2""Action 2" 
  10.   }, 
  11.   "actions": { 
  12.     "routerEvent": { 
  13.       "action""router"
  14.       "abilityName""com.pvj.addresslistdemo.MainAbility"
  15.       "params": { 
  16.         "message""weather" 
  17.       } 
  18.     }, 
  19.     "callEvent1": { 
  20.       "action""message"
  21.       "params": { 
  22.         "mAction""callEvent1" 
  23.       } 
  24.     }, 
  25.     "callEvent2": { 
  26.       "action""message"
  27.       "params": { 
  28.         "mAction""callEvent2" //  
  29.       } 
  30.     } 
  31.   } 

call 就是前面的播打電話的方法

  1. @Override 
  2. public void onTriggerFormEvent(long formId, String message) { 
  3.     HiLog.info(TAG, "handle card click event." + message); 
  4.  
  5.     ZSONObject zsonObject = ZSONObject.stringToZSON(message); 
  6.  
  7.     // Do something here after receive the message from js card 
  8.     ZSONObject result = new ZSONObject(); 
  9.     switch (zsonObject.getString("mAction")) { 
  10.         case "callEvent1"
  11.             call(0); 
  12.             break; 
  13.         case "callEvent2"
  14.             call(1); 
  15.             break; 
  16.     } 

3 注意事項

Demo還有很多需要完善的地方

刪除時,索引不會被刪除;

索引想要自定義樣式,目前實現不了;

運行在api為7的手機的bug,一開始莫名的#顯示;

純js實現一個應用,目前還是行不通;

js官方文檔上,有些不是很完善和穩定,對入門選手極其不友好。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-01-04 15:34:31

鴻蒙HarmonyOS應用

2011-09-05 14:08:21

微信Andriod安卓

2014-09-24 10:29:14

微信企業號開發

2011-09-16 14:05:42

Andrioid應用iPhone應用Symbian應用

2014-09-28 22:30:13

微信企業號

2014-09-28 22:26:11

微信企業號

2012-02-09 09:10:44

Path通訊錄隱私

2010-06-18 22:42:42

智能手機平臺Android網秦

2013-03-18 10:19:27

安卓軟件手機通訊錄隱私信息

2012-06-05 13:53:03

天天聯系華為

2012-12-21 14:51:52

手機中國

2010-09-26 08:35:01

火種通訊錄

2011-07-20 08:49:24

jQuery MobiAndroid

2010-09-08 23:11:01

2010-05-12 14:42:20

2015-07-30 15:58:15

EC企信企業即時通訊

2017-09-06 14:51:21

Swift

2012-01-09 16:43:13

點心通訊錄

2011-11-28 14:37:32

點心通訊錄

2011-07-19 17:25:14

jQuery MobiAndroid
點贊
收藏

51CTO技術棧公眾號

中文字幕在线视频播放| 精品中文字幕av| 蜜桃视频久久一区免费观看入口| 亚洲日本视频| 这里只有精品在线观看| 北条麻妃亚洲一区| 在线观看的黄色| 国产精品盗摄一区二区三区| αv一区二区三区| 中文字幕xxxx| 欧美日韩精品| 一区二区欧美久久| youjizz.com日本| 99久久综合国产精品二区| 一区二区三区四区中文字幕| 日本一区二区在线| 午夜精品久久久久久久96蜜桃| 免费在线亚洲欧美| 久久99视频精品| 国产又粗又黄又猛| 日韩电影在线观看完整免费观看| 欧美日韩国产三级| 日本a级片免费观看| 亚洲91av| 亚洲三级小视频| 日韩精品一区二区三区外面| 少妇高潮一区二区三区69| 久久精品99久久久| 国产成人精品优优av| 久久久久久久久久综合| 99久久精品网站| 亚洲欧美综合区自拍另类| 日韩成人av影院| 欧美二区观看| 91精品国产综合久久香蕉的特点 | 日韩精品一区二区三区在线观看| 天天操天天爱天天爽| 三级中文字幕在线观看| 亚洲午夜在线电影| 久久香蕉视频网站| 成人免费网址| 成人欧美一区二区三区1314| 欧美一区二区影视| 日本一二三区在线视频| av在线播放不卡| 国产日韩二区| 欧美一级免费片| 成人一区二区三区在线观看| 99久久国产免费免费| 91tv国产成人福利| 激情综合色综合久久综合| 91精品免费看| 国产免费视频一区二区三区| 国产一区二区美女| 91欧美日韩一区| www国产一区| 国产传媒一区在线| 99电影在线观看| 欧美 日韩 国产 成人 在线| 大尺度一区二区| 狠狠爱一区二区三区| 日韩有码第一页| 91麻豆精东视频| 欧美一区免费视频| av在线免费播放网站| 国产精品久线观看视频| 不卡中文字幕在线| 免费毛片在线看片免费丝瓜视频| 亚洲成av人片在线观看无码| 一区二区传媒有限公司| 亚洲永久av| 欧美日韩在线直播| 成人av毛片在线观看| 2020最新国产精品| 亚洲精品一区中文字幕乱码| 精品人妻一区二区三区蜜桃视频| 日韩在线观看| 欧美激情videoshd| 国产高潮久久久| 麻豆成人在线观看| 动漫一区二区在线| 日本一区视频| 一区在线中文字幕| 精品成在人线av无码免费看| 都市激情亚洲综合| 欧美精品久久久久久久久老牛影院| 天天操精品视频| 久久午夜影院| 最近日韩中文字幕中文| www.av视频在线观看| 日韩精品色哟哟| 91gao视频| 免费在线黄色电影| 亚洲三级在线看| 欧美 激情 在线| 精品国产第一国产综合精品| 日韩av在线网址| 免费在线观看h片| 羞羞答答国产精品www一本| 国产日韩av在线| 天堂中文字幕av| 亚洲人午夜精品天堂一二香蕉| 国产免费观看高清视频| 亚洲人体在线| 国产视频一区在线| 欧美国产精品一二三| 老司机精品久久| 懂色一区二区三区av片| 免费在线观看黄色| 色综合网色综合| 少妇丰满尤物大尺度写真| 国产在线日韩精品| 韩日欧美一区二区| 国产男男gay体育生网站| 久久品道一品道久久精品| 大桥未久一区二区三区| 中韩乱幕日产无线码一区| 亚洲成人黄色网| 五月天婷婷色综合| 卡一卡二国产精品 | 一本久道久久综合中文字幕| 亚洲一区二区中文字幕在线观看| 欧美系列电影免费观看| 91国语精品自产拍在线观看性色| 国产毛片一区二区三区va在线| 国产色产综合色产在线视频| 内射国产内射夫妻免费频道| 亚洲一区二区免费在线观看| 久久资源免费视频| 一区二区视频网站| 久久久国际精品| 成人免费观看视频在线观看| 国产亚洲精品美女久久| 色综合久久88| 亚洲国产精品欧美久久| 亚洲欧美激情一区二区| 欧美特黄aaa| 婷婷综合在线| 91免费高清视频| 韩国中文字幕在线| 欧美精品日韩一区| 娇小11一12╳yⅹ╳毛片| 日韩经典一区二区| 日韩高清三级| 99蜜月精品久久91| 中文字幕日韩欧美在线| 欧美在线视频精品| 欧美韩日一区二区三区四区| 日韩一级免费在线观看| 国产剧情在线观看一区| 国产精品久久激情| 日本蜜桃在线观看| 69av一区二区三区| 亚洲综合网在线| 粉嫩13p一区二区三区| 久久久久久久9| 国产一区二区三区亚洲| 欧美一二三视频| 九色在线免费| 欧美日韩国产另类不卡| 免费在线观看a级片| 国产美女主播视频一区| 高清无码视频直接看| 国产主播性色av福利精品一区| 97精品在线视频| 黄色国产在线| 欧美精品一级二级| 啪啪一区二区三区| 国产jizzjizz一区二区| 欧日韩免费视频| 午夜a一级毛片亚洲欧洲| 国产精品福利观看| a视频在线播放| 亚洲国产婷婷香蕉久久久久久| 在线观看日韩中文字幕| 国产日产亚洲精品系列| 爱豆国产剧免费观看大全剧苏畅| 国内久久精品| 欧美一区激情视频在线观看| 香蕉成人在线| 97精品国产91久久久久久| 久青青在线观看视频国产| 欧美色欧美亚洲另类二区| 免费高清在线观看电视| 97超碰欧美中文字幕| 国产免费又粗又猛又爽| 欧美日一区二区在线观看 | 91亚洲va在线va天堂va国 | 亚洲永久无码7777kkk| 日韩电影在线免费观看| av影院在线播放| 免费观看久久av| 91传媒视频免费| 日韩欧美精品电影| 欧美大码xxxx| sese在线视频| 亚洲成人xxx| 国产片在线播放| 狠狠色噜噜狠狠狠狠97| 欧美大片xxxx| 国产人妖乱国产精品人妖| 色哟哟网站在线观看| 久久久天天操| 青青在线免费观看| 久久网站免费观看| 久久久久久高清| 精品视频国内| 国产精品日韩欧美大师| 欧美裸体视频| 欧美国产日韩二区| 免费日本一区二区三区视频| 精品亚洲aⅴ在线观看| av中文字幕播放| 欧美日韩精品欧美日韩精品| 久久久久久91亚洲精品中文字幕| 一级日本不卡的影视| 日韩欧美视频免费观看| 久久久久高清精品| 亚洲精品乱码久久| 国产成人自拍网| 午夜影院免费观看视频| 蜜桃视频一区二区三区在线观看| 国产极品粉嫩福利姬萌白酱| 国语精品一区| 日本三级中文字幕在线观看| 欧美丝袜激情| 日韩高清三级| 精品国产一区二区三区| 欧美不卡1区2区3区| 欧洲在线一区| 国产一区二区三区高清| 在线精品视频一区| 91手机在线播放| 国产精品色婷婷在线观看| 国产精品视频成人| 97欧美成人| 国产乱肥老妇国产一区二 | 欧美日韩国产高清一区| 小泽玛利亚一区二区三区视频| 色综合久久88色综合天天6| 男人的天堂一区| 午夜视频久久久久久| 日韩av片在线播放| 亚洲成人一区在线| 日韩精品一区三区| 午夜日韩在线电影| 国产成人愉拍精品久久| 黑人极品videos精品欧美裸| 国产特黄大片aaaa毛片| 精品毛片网大全| 中文字字幕在线中文| 色综合天天综合给合国产| 久久久久久久久久成人| 91国偷自产一区二区使用方法| 亚洲欧美综合另类| 91黄视频在线观看| 中文字幕精品一区二区精| 欧美日韩免费视频| 国产美女三级无套内谢| 91精品国产入口| 亚洲乱码在线观看| 欧美不卡一区二区三区| 蜜桃av中文字幕| 亚洲欧美三级伦理| 1pondo在线播放免费| 久久av红桃一区二区小说| av网站在线免费看推荐| 久久久久久香蕉网| 一区二区三区短视频| 国产精品日韩电影| 免费一级欧美片在线观看网站| 国产伦精品一区二区三区在线 | 韩国精品视频在线观看| 91色p视频在线| 欧美日韩直播| 亚洲国产成人不卡| 欧美黄色aaaa| 国产欧美在线一区| 九九国产精品视频| 无码国产精品一区二区免费式直播| 2020国产成人综合网| 国产精品无码无卡无需播放器| 亚洲日本va在线观看| 日韩欧美中文字幕一区二区| 欧美三区免费完整视频在线观看| 99国产成人精品| 亚洲欧美制服中文字幕| 好操啊在线观看免费视频| 2019中文字幕在线观看| 色狠狠一区二区三区| 国产美女在线精品免费观看| 少妇精品久久久| 成人在线观看毛片| 久久高清一区| 国产a级片视频| 国产精品久久久久9999吃药| 日本少妇做爰全过程毛片| 欧美日韩综合在线| 无码h黄肉3d动漫在线观看| 精品国产一区久久久| 中文在线а√在线8| 亚洲一区亚洲二区| 精品国产成人| 人人妻人人添人人爽欧美一区| 久久精品国产99国产| 在线不卡av电影| 亚洲午夜久久久久久久久电影院| 中文字幕在线观看国产| 亚洲精品一区av在线播放| 污污网站在线看| 成人网欧美在线视频| 国产亚洲一区| 欧美色图色综合| 成人精品视频.| 国产精品99久久久久久成人| 在线国产电影不卡| 天堂av中文在线资源库| 欧美人在线视频| 久久av网站| 国产系列第一页| 美日韩一区二区三区| 亚洲最大成人网站| 精品国产1区2区| 亚洲第一色视频| 久久午夜a级毛片| 深夜福利亚洲| 亚洲综合欧美日韩| 日韩av一区二区三区四区| 无码人妻精品一区二区三区温州| 亚洲一区二区四区蜜桃| 国产av一区二区三区精品| 日韩小视频网址| 日本电影久久久| 一本一本久久a久久精品综合妖精| 日韩黄色免费网站| www在线观看免费视频| 欧美午夜宅男影院在线观看| 无码精品视频一区二区三区 | 成人h动漫精品| 久久高清无码视频| 精品国产网站在线观看| 国产区美女在线| 国产日韩欧美一区二区| 亚洲福利国产| 亚洲av成人片色在线观看高潮| 亚洲成人综合视频| 特黄视频在线观看| 国产91精品久久久久久| 秋霞综合在线视频| 男人天堂网视频| 国产性天天综合网| 中文字幕a级片| 久久久精品一区二区| 国产精品一区二区精品| 欧美日韩午夜爽爽| 成人性生交大片免费看中文| 国产第一页在线播放| 亚洲国产欧美一区二区丝袜黑人 | 午夜免费福利在线观看| 国产日韩在线看| 中文无码久久精品| 亚洲欧美日韩色| 欧美性猛交xxxx富婆| 福利视频在线导航| 成人写真视频福利网| 国产字幕视频一区二区| 中文字幕乱码一区| 色成年激情久久综合| 天堂а√在线官网| www.成人av.com| 视频在线观看一区| 视频国产一区二区| 亚洲国产欧美在线成人app| 欧美成人性网| 国产精品啪啪啪视频| 99久久国产综合精品色伊| 欧美国产一级片| 欧美人与性动交| 激情五月综合| 午夜性福利视频| 色婷婷久久综合| 91香蕉在线观看| 日韩wuma| 高清在线观看日韩| 国产又粗又猛又爽又| 欧美成人黑人xx视频免费观看| 欧洲亚洲视频| 亚洲图片 自拍偷拍| 富二代精品短视频| 麻豆视频在线观看免费网站| 国产精品国产亚洲精品看不卡15| 久久久精品五月天| 欧美黑吊大战白妞| 亚洲午夜国产成人av电影男同| 精品中文在线| 国产九九在线视频| 午夜国产不卡在线观看视频| 一级毛片视频在线观看| 精品乱码一区| 粉嫩欧美一区二区三区高清影视|