在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當(dāng)前位置:雨林木風(fēng)下載站 > 應(yīng)用軟件教程 > 詳細(xì)頁面

微信小程序之小豆瓣圖書的介紹

微信小程序之小豆瓣圖書的介紹

更新時(shí)間:2025-09-27 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

導(dǎo)微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或搜一下即可打開應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一...
微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或搜一下即可打開應(yīng)用。小程序是一種不用下載就能使用的應(yīng)用,也是一項(xiàng)門檻非常高的創(chuàng)新,經(jīng)過將近兩年的發(fā)展,已經(jīng)構(gòu)造了新的小程序開發(fā)環(huán)境和開發(fā)者生態(tài)。
本篇文章主要介紹了微信小程序之小豆瓣圖書實(shí)例,具有一定的參考價(jià)值,有興趣的同學(xué)可以了解一下。

最近微信小程序被炒得很火熱,本人也抱著試一試的態(tài)度下載了微信web開發(fā)者工具,開發(fā)工具比較簡潔,功能相對(duì)比較少,個(gè)性化設(shè)置也沒有。了解完開發(fā)工具之后,順便看了一下小程序的官方開發(fā)文檔,大概了解了小程序的開發(fā)流程和一些常用的API。

了解了小程序之后,自己就有了想要做一個(gè)小demo的沖動(dòng),雖然自己對(duì)小程序還沒有做過很多實(shí)踐,只是在官方例子上徘徊,但是還是想做出點(diǎn)小東西。既然要做一個(gè)demo,自然需要到數(shù)據(jù),自己有又不想獨(dú)自搭建服務(wù)端,所以在網(wǎng)上搜索可以用來提供測(cè)試數(shù)據(jù)的免費(fèi)api,最后我選擇了豆瓣圖書。豆瓣圖書提供的api功能比較少,加上不開放appkey申請(qǐng),所以無法操作用戶數(shù)據(jù)。只能做點(diǎn)簡單的圖書查詢和圖書詳細(xì)信息展示,這個(gè)demo只有兩個(gè)頁面,非常之簡單。

豆瓣圖書API

demo中用到的豆瓣圖書api只有兩個(gè),一個(gè)是圖書搜索,另一個(gè)是獲取圖書詳情。

搜索圖書

GET https://api.douban.com/v2/book/search
參數(shù)意義備注
q查詢關(guān)鍵字q和tag必傳其一
tag查詢的tagq和tag必傳其一
start取結(jié)果的offset默認(rèn)為0
count取結(jié)果的條數(shù)默認(rèn)為20,最大為100

返回status=200

{
 "start": 0,
 "count": 10,
 "total": 30,
 "books" : [Book, ...]
}

獲取圖書詳情

GET https://api.douban.com/v2/book/:id
參數(shù)意義
:id圖書id

以下是具體圖書的詳情信息,部分demo中用不到的信息省略

{
  "id":"1003078",
  "title":"小王子",
  "alt":"https:\/\/book.douban.com\/subject\/1003078\/",
  "image":"https://img3.doubanio.com\/mpic\/s1001902.jpg",
  "author":[
    "(法)圣埃克蘇佩里"
    ],
  "publisher":"中國友誼出版公司",
  "pubdate":"2000-9-1",
  "rating":{"max":10,"numRaters":9438,"average":"9.1","min":0},
  "author_intro":"圣埃克蘇佩里(1900-1944)1900年,瑪雅·戴斯特萊姆......",
  "catalog":"序言:法蘭西玫瑰\n小王子\n圣埃克蘇佩里年表\n"
}

Demo編寫

創(chuàng)建項(xiàng)目

項(xiàng)目取名為DouBanBookApp,項(xiàng)目的結(jié)構(gòu)小程序默認(rèn)的結(jié)構(gòu)一樣

DouBanBookApp
  pages
    index 首頁
      index.js
      index.wxml
      index.wxss
    detail 詳情頁
      detail.js
      detail.wxml
      detail.wxss
  requests 
    api.js API地址
    request.js 網(wǎng)絡(luò)請(qǐng)求
  utils
    util.js 工具
  app.js
  app.json
  app.wxss

應(yīng)用的主調(diào)色參考了豆瓣app的色調(diào),采用了偏綠色。

首頁

首頁頂部展示搜索輸入框,用戶輸入圖書名稱,點(diǎn)擊搜索按鈕,展示圖書列表。圖書可能會(huì)很多,不能一下子全部展示,需要用到分頁,app上最常見的列表分頁就是上拉加載模式,根據(jù)小程序提供的組件中,找到了一個(gè)比較符合場(chǎng)景的scroll-view組件,這個(gè)組件有一個(gè)上拉到底部自動(dòng)觸發(fā)的bindscrolltolower事件。

先制作出界面的靜態(tài)效果,之后再整合API,由于本人對(duì)界面設(shè)計(jì)不敏感,所以隨便弄了一個(gè)粗糙的布局,看得過去就行了,嘿嘿~~

index.wxml

<view class="search-container">
 <input type="text" placeholder="輸入書名搜索"></input><icon type="search" size="20"/>
</view>

<scroll-view scroll-y="true" style="width:100%;position:relative;top:40px;height:200px">

  <view style="text-align:center;padding-top:50rpx;">
   <icon type="cancel" color="red" size="40" />
   <view><text>沒有找到相關(guān)圖書</text></view>
  </view>

  <view style="text-align:center;padding-top:50rpx;">
   <icon type="search" size="60" />
   <view><text>豆瓣圖書</text></view>
  </view>
  
  <view class="header">
   <text>圖書 10本圖書</text>
  </view>

  <view class="common-list">

  <view class="list-item">
   <view class="index-list-item">
    <view class="cover">
     <image class="cover-img" src="images/demo.png"></image>
    </view>
    <view class="content">
     <view class="title">圖書標(biāo)圖</view>
     <text class="desc">9.0/oopsguy/2016-07-08</text>
    </view>
   </view>
  </view>

  </view>

  <view class="refresh-footer">
   <icon type="waiting" size="30" color="reed" />
  </view>

</scroll-view>

index.wxss

page {
 background: #F2F1EE;
}

/*seach*/
.search-container {
 position: fixed;
 top: 0;
 right: 0;
 left: 0;
 background-color: #42BD56;
 color: #FFF;
 height: 40px;
 padding: 0 10rpx;
 z-index: 100;
}
.search-container input {
 background: #FFF;
 color: #AAA;
 margin-top: 5px;
 padding: 5px 10rpx;
 height: 20px;
 border-radius: 8rpx;
}
.search-container icon {
 position: absolute;
 top: 10px;
 right: 20rpx;
}

/*header*/
.header {
 padding: 20rpx 30rpx;
}
.header text {
 color: #A6A6A6;
}

/*common list*/
.list-item {
 position: relative;
 overflow: hidden
}

/*index list*/
.index-list-item {
 background: #FFF;
 padding: 15rpx 30rpx;
 overflow: hidden;
}
.index-list-item::active {
 background: #EEE;
}
.index-list-item .cover {
 float: left;
 width: 120rpx;
 height: 160rpx;
 overflow: hidden
}
.index-list-item .cover image.cover-img {
 width: 120rpx;
 height: 160rpx;
}
.index-list-item .content {
 margin-left: 140rpx;
}
.index-list-item .title {
 display: inline-block;
 height: 90rpx;
 padding-top: 20rpx;
 overflow: hidden;
}
.index-list-item .desc {
 display: block;
 font-size: 30rpx;
 padding-top: 10rpx;
 color: #AAA;
 white-space:nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
}

.refresh-footer {
 text-align: center;
 padding: 10rpx 0;
}

圖書詳細(xì)頁面

圖書詳細(xì)頁面就是展示具體的圖書信息,通用首頁穿過了的圖書id來獲取圖書信息之后在展示出來,獲取的過程中可能有延遲,需要一個(gè)加載效果來過渡。

detail.wxml

<view>
  <view class="cover-container">
    <image src="images/demo.png"></image>
  </view>

  <view class="book-meta">
    <view class="meta-info">
      <text class="book-title">圖書標(biāo)題</text>
      <text class="other-meta">作者:作者名稱</text>
      <text class="other-meta">出版社:xxx出版社</text>
      <text class="other-meta">出版日期:2010-05-07</text>
    </view>
    <view class="range">
      <text class="score">0</text>
      <text class="viewers">0</text>
    </view>
  </view>

  <view class="book-intro">
    <view class="intro-header"><text>簡介</text></view>
    <text class="intro-content">
      這是圖書簡介
    </text>
  </view>

  <view class="book-intro">
    <view class="intro-header"><text>作者</text></view>
    <text class="intro-content">
      這是作者簡介
    </text>
  </view>
</view>

<loading>
  加載中...
</loading>

detail.wxss

page {
  background: #EEE;
}
.cover-container {
  background: #42BD56;
  text-align: center;
  padding: 50rpx 0;
}
.cover-container image {
  display: inline-block;
  width: 300rpx;
  height: 400rpx;
}

.book-meta {
  position: relative;
  padding: 20rpx;
  overflow: hidden;
}
.book-meta .range {
  position: absolute;
  top: 30rpx;
  right: 20rpx;
  width: 180rpx;
  background: #FFF;
  padding: 20rpx 10rpx;
  text-align: center;
  box-shadow: 2px 2px 10px #CCC;
}
.book-meta .meta-info {
  margin-right: 200rpx;
}
.meta-info text {
  display: block
}
.book-title {
  font-weight: bold;
  font-size: 50rpx;
}
.other-meta {
  padding-top: 10rpx;
  color: #888;
  font-size: 30rpx;
}
.range text {
  display: block;
}
.range .score {
  font-size: 50rpx;
  font-weight: bold;
}
.range .starts {
  font-size: 40rpx;
}
.range .viewers {
  font-size: 30rpx;
}

.book-intro {
  padding: 20rpx;
  font-size: 40rpx;
}
.book-intro .intro-header {
  color: #888
}
.book-intro .intro-content {
  font-size: 35rpx;
  line-height: 45rpx;
}

做好了首頁和詳細(xì)頁的靜態(tài)頁面,接下來就是通過網(wǎng)絡(luò)請(qǐng)求api來獲取數(shù)據(jù),并顯示到頁面上來。

網(wǎng)絡(luò)請(qǐng)求和數(shù)據(jù)處理

為了更好的管理api,我把a(bǔ)pi專門放到了一個(gè)單獨(dú)的api.js文件中

api.js

const API_BASE = "https://api.douban.com/v2/book";

module.exports = {
 API_BOOK_SEARCH: API_BASE + "/search",
 API_BOOK_DETAIL: API_BASE + "/:id"
}

有些經(jīng)常用到的工具函數(shù)放到了util.js中

util.js

function isFunction( obj ) {
 return typeof obj === 'function';
}

module.exports = {
 isFunction: isFunction
}

微信小程序提供了一個(gè)用于網(wǎng)絡(luò)請(qǐng)求的api:wx.request(OBJECT),具體的參數(shù)跟jquery的ajax方法差不多,為了方便調(diào)用,我把網(wǎng)絡(luò)請(qǐng)求放到了request.js中

request.js

var api = require('./api.js');
var utils = require('../utils/util.js');

/**
 * 網(wǎng)路請(qǐng)求
 */
function request(url, data, successCb, errorCb, completeCb) {
  wx.request({
    url: url,
    method: 'GET',
    data: data,
    success: function(res) {
      utils.isFunction(successCb) && successCb(res.data);
    },
    error: function() {
      utils.isFunction(errorCb) && errorCb();
    },
    complete: function() {
      utils.isFunction(completeCb) && completeCb();
    }
  });
}

 
/**
 * 搜索圖書
 */
function requestSearchBook(data, successCb, errorCb, completeCb) {
  request(api.API_BOOK_SEARCH, data, successCb, errorCb, completeCb);
}

/**
 * 獲取圖書詳細(xì)信息
 */
function requestBookDokDetail(id, data, successCb, errorCb, completeCb) {
  request(api.API_BOOK_DETAIL.replace(':id', id), data, successCb, errorCb, completeCb);
}

module.exports = {
 requestSearchBook: requestSearchBook,
 requestBookDokDetail: requestBookDokDetail
}

首頁有圖書搜索和列表展示,上拉加載的效果。微信小程序中沒有了DOM操作的概念,一切的界面元素的改變都要通過數(shù)據(jù)變化來改變,所以需要在js中的Page中的data中聲明很多數(shù)據(jù)成員。

用戶在輸入數(shù)據(jù)時(shí),輸入框的input綁定了searchInputEvent事件,就回捕獲到輸入的數(shù)據(jù),把輸入的數(shù)據(jù)更新的data中的searchKey中。

searchInputEvent: function( e ) {
  this.setData( { searchKey: e.detail.value });
}

當(dāng)點(diǎn)擊搜索按鈕是,觸發(fā)tap事件,其綁定了searchClickEvent

searchClickEvent: function( e ) {
  if( !this.data.searchKey )
   return;
  this.setData( { pageIndex: 0, pageData: [] });
  requestData.call( this );
}

requestData中封裝了請(qǐng)求圖書列表的方法

/**
 * 請(qǐng)求圖書信息
 */
function requestData() {
 var _this = this;
 var q = this.data.searchKey;
 var start = this.data.pageIndex;

 this.setData( { loadingMore: true, isInit: false });
 updateRefreshBall.call( this );

 requests.requestSearchBook( { q: q, start: start }, ( data ) => {
  if( data.total == 0 ) {
   //沒有記錄
   _this.setData( { totalRecord: 0 });
  } else {
   _this.setData( {
    pageData: _this.data.pageData.concat( data.books ),
    pageIndex: start + 1,
    totalRecord: data.total
   });
  }
 }, () => {
  _this.setData( { totalRecord: 0 });
 }, () => {
  _this.setData( { loadingMore: false });
 });
}

上拉加載的效果是一個(gè)小球不停的變換顏色,需要一個(gè)顏色列表

//刷新動(dòng)態(tài)球顏色
var iconColor = [
 '#353535', '#888888'
];

然后用一個(gè)定時(shí)器來動(dòng)態(tài)改變小球圖標(biāo)的顏色

/**
 * 刷新上拉加載效果變色球
 */
function updateRefreshBall() {
 var cIndex = 0;
 var _this = this;
 var timer = setInterval( function() {
  if( !_this.data[ 'loadingMore' ] ) {
   clearInterval( timer );
  }
  if( cIndex >= iconColor.length )
   cIndex = 0;
  _this.setData( { footerIconColor: iconColor[ cIndex++ ] });
 }, 100 );
}

詳細(xì)頁面的顯示需要到首頁點(diǎn)擊了具體圖書的id,所以需要首頁傳值過來,這里用到了小程序土工的wx.navigateTo方法,給其指定的url參數(shù)后面帶以查詢字符串格式形式的參數(shù),被跳轉(zhuǎn)的頁面就會(huì)在onLoad方法中得到值。

//跳轉(zhuǎn)到詳細(xì)頁面
toDetailPage: function( e ) {
  var bid = e.currentTarget.dataset.bid; //圖書id [data-bid]
  wx.navigateTo( {
   url: '../detail/detail?id=' + bid
  });
}

detail.js中接受參數(shù)

onLoad: function( option ) {
  this.setData({
   id: option.id
  });
}

其實(shí)小程序的頁面制作跟平時(shí)的html和css差不多,只是頁面中不能用傳統(tǒng)的html標(biāo)簽,而是改用了小程序提供的自定義標(biāo)簽,小程序?qū)ss的支持也有限制,注意哪些寫法不兼容也差不多懂了。操作頁面變化是通過數(shù)據(jù)變化來表現(xiàn)出來的,這點(diǎn)有點(diǎn)像react和vue。以上的demo用到的知識(shí)點(diǎn)并不多,主要是頁面的數(shù)據(jù)綁定、事件綁定、模版知識(shí)和網(wǎng)絡(luò)請(qǐng)求等相關(guān)api。仔細(xì)看看文檔也差不多可以做出一個(gè)小例子。

最終效果圖

總體來說,Demo很簡單,只有兩個(gè)頁面,界面也是丑丑的T_T,算是我入門小程序的第一課吧。

示例代碼

微信小程序之小豆瓣圖書的介紹

微信小程序之小豆瓣圖書的介紹

微信小程序之小豆瓣圖書的介紹

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP中文網(wǎng)!

相關(guān)推薦:

微信小程序使用radio顯示單選項(xiàng)功能【附源碼】

關(guān)于微信小程序 歡迎界面開發(fā)的介紹

微信小程序中藍(lán)牙的鏈接

以上就是微信小程序之小豆瓣圖書的介紹的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


小程序是一種不需要下載安裝即可使用的應(yīng)用,它實(shí)現(xiàn)了應(yīng)用“觸手可及”的夢(mèng)想,用戶掃一掃或者搜一下即可打開應(yīng)用。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 五月婷婷六月丁香激情| 影音先锋男人的网站| 国产免费一区二区视频| 亚洲色图欧美自拍| 少妇一级淫免费播放| 日韩精品无码一区二区三区免费 | 色乱码一区二区三区在线| 国产成人无码一二三区视频| 黑人糟蹋人妻hd中文字幕| 欧美色图另类小说| 久热免费在线观看| 超碰在线人人爱| 蜜臀一区二区三区精品免费视频| 2025韩国理伦片在线观看| 九色porny自拍| 91精品国产三级| 男人添女荫道口图片| 无码无遮挡又大又爽又黄的视频| 亚洲中文字幕久久精品无码喷水| 国产男女激情视频| 北条麻妃亚洲一区| 人妻夜夜添夜夜无码av| 九热视频在线观看| 麻豆中文字幕在线观看| 成人午夜精品久久久久久久蜜臀| 欧美日韩在线视频一区二区三区| 色国产在线视频| 成年在线观看视频| 国产免费一区二区三区视频| 91女神在线观看| 日韩精品一区二区三区四| 欧洲av无码放荡人妇网站| 亚洲图片 自拍偷拍| 日韩免费一级视频| 在线视频一二区| 春日野结衣av| 欧美xxxx吸乳| 亚洲人辣妹窥探嘘嘘| 日韩精品一区二区三区电影| 国产视频在线视频| 欧美人成在线观看| 成人性生交视频免费观看| 日本三级免费观看| 17c丨国产丨精品视频| 乌克兰美女av| 久久无码高潮喷水| 日韩视频在线视频| 毛片在线视频观看| 久久久久久久久久一区二区| 18禁免费无码无遮挡不卡网站| 男女啪啪的视频| 91小视频网站| 日本久久精品一区二区| 国产免费黄视频| 国自产拍偷拍精品啪啪一区二区| 国产5g成人5g天天爽| 99re精彩视频| 99免费视频观看| 黄色片一级视频| 日日碰狠狠躁久久躁婷婷| 欧美三级一级片| 女人和拘做爰正片视频| 黄色一级片在线看| 欧美精品久久久久久久久久久| 日本免费黄色小视频 | 日本a在线免费观看| 欧美一级免费在线观看| 手机免费看av网站| 五月天六月丁香| 国产美女视频免费看| 九一精品久久久| 色撸撸在线观看| 中国老女人av| 高清无码一区二区在线观看吞精| 91制片厂免费观看| 永久av免费在线观看| 最近中文字幕免费mv| a级片一区二区| 久操网在线观看| 激情网站五月天| 天堂av手机在线| 超级碰在线观看| 自拍日韩亚洲一区在线| 福利在线一区二区三区| 欧洲美女亚洲激情| 久久久久99精品成人片| 美女福利视频在线| 女人高潮一级片| 久久这里只有精品23| aⅴ在线免费观看| 99999精品| 中国丰满人妻videoshd| 亚洲欧美日本一区二区三区| 老司机午夜网站| 日本精品免费在线观看| 亚洲精品免费一区亚洲精品免费精品一区 | 亚洲欧美在线精品| 成年人网站国产| 天天干天天草天天| 国产色一区二区三区| 亚洲另类第一页| 18禁免费观看网站| 性久久久久久久久久久久久久| 日本中文字幕网址| 亚洲精品免费一区亚洲精品免费精品一区| 久久国产精品免费观看| 不卡av免费在线| 欧美日韩二三区| 热久久最新网址| 天天干天天玩天天操| 欧美 丝袜 自拍 制服 另类| 五月天av在线播放| 妞干网在线免费视频| 日本久久久网站| 超碰91在线播放| 久久婷五月综合| 日日摸天天爽天天爽视频| 日本久久久网站| 五月天色婷婷综合| 久久人人爽av| 久久久精品在线视频| 欧美日韩二三区| 国产一级不卡视频| 欧美激情第四页| 91丝袜超薄交口足| 天天干天天玩天天操| av在线无限看| 黄色片视频在线| 第四色婷婷基地| 欧美美女一级片| 性生活免费在线观看| www.精品在线| 亚洲欧美日韩一二三区| 成人亚洲免费视频| 欧美 国产 精品| 精品无码一区二区三区爱欲| 黄色一级视频在线播放| 美女日批免费视频| 女人扒开屁股爽桶30分钟| 无码人妻h动漫| 熟妇人妻无乱码中文字幕真矢织江 | 精品久久久久久无码中文野结衣| 国产制服91一区二区三区制服| 秋霞在线一区二区| 成人免费网站入口| 黄色片网址在线观看| 国产精品wwwww| 天堂av2020| avav在线播放| 国产极品粉嫩福利姬萌白酱| av动漫免费看| 国产成人强伦免费视频网站| 黄瓜视频免费观看在线观看www| 麻豆一区二区三区在线观看| 僵尸世界大战2 在线播放| 免费大片在线观看| 麻豆中文字幕在线观看| 97超碰人人澡| 国内自拍第二页| 99精品人妻少妇一区二区| 亚洲欧洲日本精品| 精品久久久久久无码中文野结衣| 久久久久久久久久久久久久国产| 色噜噜狠狠一区二区| 成人午夜精品久久久久久久蜜臀| 波多野结衣家庭教师视频| 国产成人精品免费看在线播放| 东北少妇不带套对白| 91网址在线播放| 可以看毛片的网址| 日本高清一区二区视频| 国产 福利 在线| 99中文字幕在线观看| 色片在线免费观看| 国产青青在线视频| 51xx午夜影福利| 第四色婷婷基地| 丰满少妇被猛烈进入高清播放| 在线播放 亚洲| 亚洲综合婷婷久久| 不卡影院一区二区| 啊啊啊一区二区| 黄色一级片黄色| 992tv人人草| 三级性生活视频| 538任你躁在线精品免费| 久久国产成人精品国产成人亚洲| 久久精品在线免费视频| av在线免费看片| 在线免费黄色网| 亚洲在线观看网站| 天天插天天操天天射| 黄www在线观看| 四虎永久在线精品无码视频| 国产男女免费视频| 欧美不卡在线播放| 欧美一级欧美一级| 久久久性生活视频| 久久精品国产精品亚洲色婷婷| 日韩伦理在线免费观看|