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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

小程序----面试题总结

發(fā)布時(shí)間:2023/12/31 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小程序----面试题总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1. 簡(jiǎn)單描述下微信小程序的相關(guān)文件類型

微信小程序項(xiàng)目結(jié)構(gòu)主要有四個(gè)文件類型

  • WXML(WeiXin Markup Language)是框架設(shè)計(jì)的一套標(biāo)簽語(yǔ)言,結(jié)合基礎(chǔ)組件、事件系統(tǒng),可以構(gòu)建出頁(yè)面的結(jié)構(gòu)。內(nèi)部主要是微信自己定義的一套組件
  • WXSS (WeiXin Style Sheets)是一套樣式語(yǔ)言,用于描述 WXML 的組件樣式
  • js 邏輯處理,網(wǎng)絡(luò)請(qǐng)求
  • json 小程序設(shè)置,如頁(yè)面注冊(cè),頁(yè)面標(biāo)題及tabBar

主要文件

  • app.json
    必須要有這個(gè)文件,如果沒有這個(gè)文件,項(xiàng)目無法運(yùn)行,因?yàn)槲⑿趴蚣馨堰@個(gè)作為配置文件入口,整個(gè)小程序的全局配置。包括頁(yè)面注冊(cè),網(wǎng)絡(luò)設(shè)置,以及小程序的
    window 背景色,配置導(dǎo)航條樣式,配置默認(rèn)標(biāo)題

  • app.js 必須要有這個(gè)文件,沒有也是會(huì)報(bào)錯(cuò)!但是這個(gè)文件創(chuàng)建一下就行
    什么都不需要寫以后我們可以在這個(gè)文件中監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量

  • app.wxss 可選

2. 簡(jiǎn)述微信小程序原理

微信小程序采用 JavaScript、WXML、WXSS 三種技術(shù)進(jìn)行開發(fā),本質(zhì)就是一個(gè)單頁(yè)面應(yīng)用,所有的頁(yè)面渲染和事件處理,都在一個(gè)頁(yè)面內(nèi)進(jìn)行,但又可以通過微信客戶端調(diào)用原生的各種接口

微信的架構(gòu),是數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)模式,它的 UI 和數(shù)據(jù)是分離的,所有的頁(yè)面更新,都需要通過對(duì)數(shù)據(jù)的更改來實(shí)現(xiàn)

小程序分為兩個(gè)部分 webview 和 appService 。其中 webview 主要用來展現(xiàn) UI ,appService 有來處理業(yè)務(wù)邏輯、數(shù)據(jù)及接口調(diào)用。它們?cè)趦蓚€(gè)進(jìn)程中運(yùn)行,通過系統(tǒng)層 JSBridge 實(shí)現(xiàn)通信,實(shí)現(xiàn) UI 的渲染、事件的處理

3. 小程序的雙向綁定和vue哪里不一樣

小程序直接 this.data 的屬性是不可以同步到視圖的,必須調(diào)用:

this.setData({// 這里設(shè)置 })

4. 小程序的wxss和css有哪些不一樣的地方

WXSS 和 CSS 類似,不過在 CSS 的基礎(chǔ)上做了一些補(bǔ)充和修改

  • 尺寸單位 rpx

rpx 是響應(yīng)式像素,可以根據(jù)屏幕寬度進(jìn)行自適應(yīng)。規(guī)定屏幕寬為 750rpx。如在 iPhone6 上,屏幕寬度為 375px,共有 750 個(gè)物理像素,則 750rpx = 375px = 750 物理像素

  • 使用 @import 標(biāo)識(shí)符來導(dǎo)入外聯(lián)樣式。@import 后跟需要導(dǎo)入的外聯(lián)樣式表的相對(duì)路徑,用;表示語(yǔ)句結(jié)束
/** index.wxss **/ @import './base.wxss';.container{color: red; }

5. 小程序頁(yè)面間有哪些傳遞數(shù)據(jù)的方法

  • 使用全局變量實(shí)現(xiàn)數(shù)據(jù)傳遞 在 app.js 文件中定義全局變量 globalData, 將需要存儲(chǔ)的信息存放在里面
// app.jsApp({// 全局變量globalData: {userInfo: null} })

使用的時(shí)候,直接使用 getApp() 拿到存儲(chǔ)的信息

  • 使用 wx.navigateTo 與 wx.redirectTo 的時(shí)候,可以將部分?jǐn)?shù)據(jù)放在 url 里面,并在新頁(yè)面 onLoad
    的時(shí)候初始化
//pageA.js// Navigate wx.navigateTo({url: '../pageD/pageD?name=raymond&gender=male', })// Redirect wx.redirectTo({url: '../pageD/pageD?name=raymond&gender=male', })// pageB.js ... Page({onLoad: function(option){console.log(option.name + 'is' + option.gender)this.setData({option: option})} })

需要注意的問題:
wx.navigateTo 和 wx.redirectTo 不允許跳轉(zhuǎn)到 tab 所包含的頁(yè)面
onLoad 只執(zhí)行一次

  • 使用本地緩存 Storage 相關(guān)

6. 小程序的生命周期函數(shù)

  • onLoad 頁(yè)面加載時(shí)觸發(fā)。一個(gè)頁(yè)面只會(huì)調(diào)用一次,可以在 onLoad 的參數(shù)中獲取打開當(dāng)前頁(yè)面路徑中的參數(shù)

  • onShow() 頁(yè)面顯示/切入前臺(tái)時(shí)觸發(fā)

  • onReady() 頁(yè)面初次渲染完成時(shí)觸發(fā)。一個(gè)頁(yè)面只會(huì)調(diào)用一次,代表頁(yè)面已經(jīng)準(zhǔn)備妥當(dāng),可以和視圖層進(jìn)行交互

  • onHide() 頁(yè)面隱藏/切入后臺(tái)時(shí)觸發(fā)。 如 navigateTo 或底部 tab 切換到其他頁(yè)面,小程序切入后臺(tái)等

  • onUnload() 頁(yè)面卸載時(shí)觸發(fā)。如 redirectTo 或 navigateBack 到其他頁(yè)面時(shí)

詳見 生命周期回調(diào)函數(shù)

7. 怎么封裝微信小程序的數(shù)據(jù)請(qǐng)求

參考 這里
網(wǎng)絡(luò)請(qǐng)求小程序提供了wx.request, 仔細(xì)看一下 api,這不就是n年前的 $.ajax 嗎,好古老啊。

// 官方例子 wx.request({url: 'test.php', //僅為示例,并非真實(shí)的接口地址data: {x: '' ,y: ''},header: {'content-type': 'application/json' // 默認(rèn)值},success: function(res) {console.log(res.data)} })

小程序支持ES6,那么就應(yīng)該支持Promise 了,很開心~, 話不多說直接上代碼吧

Promise封裝

const baseUrl = 'https://api.it120.cc';const http = ({ url = '', param = {}, ...other } = {}) => {wx.showLoading({title: '請(qǐng)求中,請(qǐng)耐心等待..'});let timeStart = Date.now();return new Promise((resolve, reject) => {wx.request({url: getUrl(url),data: param,header: {'content-type': 'application/json' // 默認(rèn)值 ,另一種是 "content-type": "application/x-www-form-urlencoded"},...other,complete: (res) => {wx.hideLoading();console.log(`耗時(shí)${Date.now() - timeStart}`);if (res.statusCode >= 200 && res.statusCode < 300) {resolve(res.data)} else {reject(res)}}})}) }const getUrl = (url) => {if (url.indexOf('://') == -1) {url = baseUrl + url;}return url }// get方法 const _get = (url, param = {}) => {return http({url,param}) }const _post = (url, param = {}) => {return http({url,param,method: 'post'}) }const _put = (url, param = {}) => {return http({url,param,method: 'put'}) }const _delete = (url, param = {}) => {return http({url,param,method: 'put'}) } module.exports = {baseUrl,_get,_post,_put,_delete }// 使用 const api = require('../../utils/api.js') // 單個(gè)請(qǐng)求 api.get('list').then(res => {console.log(res) }).catch(e => {console.log(e) })// 一個(gè)頁(yè)面多個(gè)請(qǐng)求 Promise.all([api.get('list'),api.get(`detail/${id}`) ]).then(result => {console.log(result) }).catch(e => {console.log(e) })

登陸問題
做一個(gè)應(yīng)用,肯定避免不了登錄操作。用戶的個(gè)人信息啊,相關(guān)的收藏列表等功能都需要用戶登錄之后才能操作。一般我們使用token做標(biāo)識(shí)。

小程序并沒有登錄界面,使用的是 wx.login 。 wx.login 會(huì)獲取到一個(gè) code,拿著該 code 去請(qǐng)求我們的后臺(tái)會(huì)最后返回一個(gè)token到小程序這邊,保存這個(gè)值為 token 每次請(qǐng)求的時(shí)候帶上這個(gè)值。

一般還需要把用戶的信息帶上比如用戶微信昵稱,微信頭像等,這時(shí)候就需要使用 wx.getUserInfo ,這里涉及到一個(gè)用戶授權(quán)的問題

帶上用戶信息就夠了嘛? too young too simple!我們的項(xiàng)目不可能只有小程序,相應(yīng)的微信公眾平臺(tái)可能還有相應(yīng)的App,我們需要把賬號(hào)系統(tǒng)打通,讓用戶在我們的項(xiàng)目中的賬戶是同一個(gè)。這就需要用到微信開放平臺(tái)提供的 UnionID 。

登陸

//app.js App({onLaunch: function () {console.log('App onLaunch');var that = this;// 獲取商城名稱wx.request({url: 'https://api.it120.cc/'+ that.globalData.subDomain +'/config/get-value',data: {key: 'mallName'},success: function(res) {wx.setStorageSync('mallName', res.data.data.value);}})this.login();this.getUserInfo();},login : function () {var that = this;var token = that.globalData.token;// 如果有tokenif (token) {// 檢查token是否有效wx.request({url: 'https://api.it120.cc/' + that.globalData.subDomain + '/user/check-token',data: {token: token},success: function (res) {// 如果token失效了if (res.data.code != 0) {that.globalData.token = null;that.login(); // 重新登陸}}})return;}// 【1】調(diào)用微信自帶登陸wx.login({success: function (res) {// 【2】 拿到code去訪問我們的后臺(tái)換取其他信息wx.request({url: 'https://api.it120.cc/'+ that.globalData.subDomain +'/user/wxapp/login',data: {code: res.code},success: function(res) {// 如果說這個(gè)code失效的if (res.data.code == 10000) {// 去注冊(cè)that.registerUser();return;}// 如果返回失敗了if (res.data.code != 0) {// 登錄錯(cuò)誤 wx.hideLoading();// 提示無法登陸wx.showModal({title: '提示',content: '無法登錄,請(qǐng)重試',showCancel:false})return;}// 【3】 如果成功后設(shè)置token到本地that.globalData.token = res.data.data.token;// 保存用戶信息wx.setStorage({key: 'token',data: res.data.data.token})}})}})},// 注冊(cè)?? [這個(gè)看需求]registerUser: function () {var that = this;wx.login({success: function (res) {var code = res.code; // 微信登錄接口返回的 code 參數(shù),下面注冊(cè)接口需要用到wx.getUserInfo({success: function (res) {var iv = res.iv;var encryptedData = res.encryptedData;// 下面開始調(diào)用注冊(cè)接口wx.request({url: 'https://api.it120.cc/' + that.globalData.subDomain +'/user/wxapp/register/complex',data: {code:code,encryptedData:encryptedData,iv:iv}, // 設(shè)置請(qǐng)求的 參數(shù)success: (res) =>{wx.hideLoading();that.login();}})}})}})},// 獲取用戶信息getUserInfo:function() {wx.getUserInfo({success:(data) =>{this.globalData.userInfo = data.userInfo;wx.setStorage({key: 'userInfo',data: data.userInfo})return this.globalData.userInfo;}})},globalData:{userInfo:null,subDomain:"34vu54u7vuiuvc546d",token: null} })

授權(quán)問題

getUserInfo: function () {// 先調(diào)用wx.getSetting 獲取用戶權(quán)限設(shè)置wx.getSetting({success(res) {console.log('1');if (!res.authSetting['scope.userInfo']) {wx.authorize({scope: 'scope.userInfo',success() {// 用戶已經(jīng)同意小程序使用錄音功能,后續(xù)調(diào)用 wx.getUserInfo接口不會(huì)彈窗詢問wx.getUserInfo({success: (data) => {this.globalData.userInfo = data.userInfo;wx.setStorage({key: 'userInfo',data: data.userInfo})return this.globalData.userInfo;}})}})} else {console.log(2);}}})},

授權(quán)2
小程序登錄流程
這里引用下官方的一張登錄流程圖,我就按照登錄流程圖來講下我的理解。

第一步
客戶端(小程序)獲取當(dāng)前微信登錄用戶的登錄憑證(code)
可通過wx.login api獲得。這里有地方需要注意
1.wx.login不會(huì)彈授權(quán)彈框
2.wx.login換取的code只能使用一次,如果需要新code只能重新調(diào)用wx.login接口

wx.login({success:(res)=>{let code= res.code}})

第二步
通過上一步獲得的臨時(shí)登錄憑證傳給服務(wù)器端獲取openid和session_key.服務(wù)器端需要通過appid、appsecret、(這里的數(shù)據(jù)可以從小程序管理后臺(tái)獲得)code(第一步獲取到的code)向微信服務(wù)端發(fā)送請(qǐng)求獲取seeeion_key和openid。為了安全。建議將獲得的session_key加密后再傳給客戶端。

第三步
客戶端獲得加密后的登錄態(tài)后把登錄態(tài)存在本地以便后面進(jìn)行業(yè)務(wù)請(qǐng)求。由于小程序中不存在cookie機(jī)制。所以可以把登錄態(tài)存儲(chǔ)在storage中。

以上就是微信官方登錄流程圖的一個(gè)大體過程。

但是在實(shí)際應(yīng)用中可能要復(fù)雜點(diǎn)?我們接下來看。

登錄態(tài)在實(shí)際應(yīng)用中的維護(hù)

這里看一下微信官方的說明
通過 wx.login 接口獲得的用戶登錄態(tài)擁有一定的時(shí)效性。
用戶越久未使用小程序,用戶登錄態(tài)越有可能失效。

反之如果用戶一直在使用小程序,則用戶登錄態(tài)一直保持有效。
具體時(shí)效邏輯由微信維護(hù),對(duì)開發(fā)者透明。

開發(fā)者只需要調(diào)用 wx.checkSession 接口檢測(cè)當(dāng)前用戶登錄態(tài)是否有效。

這說明如果用戶一直在使用小程序。登錄態(tài)就不會(huì)過期。反之就會(huì)過期。這里可以通過wx.checkSession api 來判斷登錄態(tài)是否過期。

接下來上代碼。來看下在應(yīng)用中的登錄態(tài)維護(hù)。
目前在小程序中需要拉起微信登錄授權(quán)的彈框。需要在wxml文件中調(diào)用button組件來調(diào)用:如下

<button bindgetuserinfo="getInfo" hover-class="none" open-type="getUserInfo"></button>

這樣用戶點(diǎn)擊按鈕的時(shí)候會(huì)彈出授權(quán)獲取用戶信息的彈窗。用戶點(diǎn)擊允許我們就可以拿到數(shù)據(jù)進(jìn)行登錄并進(jìn)行業(yè)務(wù)請(qǐng)求。 如果點(diǎn)擊拒絕可以獲取不需要登錄可查看的數(shù)據(jù)請(qǐng)求,并安利用戶拒絕后的結(jié)果。重新引導(dǎo)用戶進(jìn)行授權(quán)。

下面是用戶非首次進(jìn)入應(yīng)用的一個(gè)登錄態(tài)維護(hù)(首次進(jìn)入通過button來授權(quán)。所以success回調(diào)是不會(huì)執(zhí)行的。直接fail的回調(diào)。)

// 小程序啟動(dòng)判斷用戶是否授權(quán),根據(jù)是否授權(quán)來請(qǐng)求不同的業(yè)務(wù)數(shù)據(jù) wx.getSetting({success: (res) => {//用戶已授權(quán)if (res.authSetting['scope.userInfo']) {// 判斷登錄態(tài)是否過期wx.checkSession({// 登錄態(tài)未過期,直接進(jìn)行業(yè)務(wù)請(qǐng)求success: (res) => {//業(yè)務(wù)請(qǐng)求代碼。。。},// 登錄態(tài)已過期 。重新調(diào)用wx.login進(jìn)行登錄換取codefail: (res) => {// 可以在這里進(jìn)行重新登錄后的回調(diào)wx.login({success: function(res) {let code = res.code;}})}})}// 為授權(quán) else {// 執(zhí)行未授權(quán)的業(yè)務(wù)代碼}} })

附上登錄態(tài)過期的回調(diào)。

/*** 登錄失敗后重新登錄*/getToken: function(fn) {let that = this;let getLogin = new Promise((resolve, reject) => {//登錄獲取codewx.login({success: function(res) {var code = res.code;that.globalData.code = code;resolve([fn, code]);},fail: function(res) {reject();}})});getLogin.then(([fn, code]) => {return new Promise((resolve, reject) => {//使用該api需要在頁(yè)面通過button組件觸發(fā)授權(quán)彈窗wx.getUserInfo({success: function(res) {//這里的iv,encryptedData等數(shù)據(jù)是用來服務(wù)器端進(jìn)行解密的。let requestData = {"Data": {"IV": res.iv,"EncryptedData": res.encryptedData,"JsCode": code,},}//發(fā)送請(qǐng)求wx.request({url: that.apiList.login.getLogin,data: requestData,method: "POST",success: function(res) {//獲取到自定義登錄態(tài)存入storageif (res.data && res.data.Success) {that.globalData.token = res.data.Data.Key;wx.setStorageSync('LoginSessionKey', res.data.Data.Key);resolve(fn);} else {reject();}},fail: function() {Hq.tipMaskNoneIcon('您的網(wǎng)絡(luò)開小差了');}})}})});}).then((fn) => {that.getCountryInfo(fn);}, function() {}))},//執(zhí)行fn回調(diào)函數(shù)getCountryInfo: function(fn) {if (typeof fn == 'function') {//登錄成功后進(jìn)行業(yè)務(wù)請(qǐng)求。fn();} else {Hq.afterSend();}},

以上就是我的一些理解。有語(yǔ)句不通,邏輯不清晰的地方,請(qǐng)不吝留言賜教!

8. 哪些方法可以用來提高微信小程序的應(yīng)用速度

1、提高頁(yè)面加載速度
2、用戶行為預(yù)測(cè)
3、減少默認(rèn) data 的大小
4、組件化方案

9. 微信小程序的優(yōu)劣勢(shì)

優(yōu)勢(shì)

  • 即用即走,不用安裝,省流量,省安裝時(shí)間,不占用桌面
  • 依托微信流量,天生推廣傳播優(yōu)勢(shì)
  • 開發(fā)成本比 App 低

缺點(diǎn)

  • 用戶留存,即用即走是優(yōu)勢(shì),也存在一些問題
  • 入口相對(duì)傳統(tǒng) App 要深很多
  • 限制較多,頁(yè)面大小不能超過2M。不能打開超過10個(gè)層級(jí)的頁(yè)面

10. 怎么解決小程序的異步請(qǐng)求問題

小程序支持大部分 ES6 語(yǔ)法

  • 在返回成功的回調(diào)里面處理邏輯
  • Promise 異步

11. 小程序關(guān)聯(lián)微信公眾號(hào)如何確定用戶的唯一性

如果開發(fā)者擁有多個(gè)移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用、和公眾帳號(hào)(包括小程序),可通過 unionid 來區(qū)分用戶的唯一性,因?yàn)橹灰峭粋€(gè)微信開放平臺(tái)帳號(hào)下的移動(dòng)應(yīng)用、網(wǎng)站應(yīng)用和公眾帳號(hào)(包括小程序),用戶的 unionid 是唯一的。換句話說,同一用戶,對(duì)同一個(gè)微信開放平臺(tái)下的不同應(yīng)用,unionid 是相同的

12. 如何實(shí)現(xiàn)下拉刷新

  • 首先在全局 config 中的 window 配置 enablePullDownRefresh
  • 在 Page 中定義 onPullDownRefresh 鉤子函數(shù),到達(dá)下拉刷新條件后,該鉤子函數(shù)執(zhí)行,發(fā)起請(qǐng)求方法
  • 請(qǐng)求返回后,調(diào)用 wx.stopPullDownRefresh 停止下拉刷新

參考 這里:(https://juejin.im/post/5a781c756fb9a063606eb742)
下拉刷新和上拉加載是業(yè)務(wù)上一個(gè)很常見的需求,在微信小程序里,提供了下拉刷新的方法 onPullDownRefresh 。而實(shí)現(xiàn)上拉加載相對(duì)來說就比較不方便了。
下拉刷新
雖然微信的官方文檔有很多坑,但下拉刷新介紹的還是很全面的。在這里稍稍帶過。

  • 首先在全局 config 中的 window 配置 enablePullDownRefresh .
  • 在 Page 中定義 onPullDownRefresh 鉤子函數(shù)。到達(dá)下拉刷新條件后,該鉤子函數(shù)執(zhí)行,發(fā)起請(qǐng)求方法。
  • 請(qǐng)求返回后,調(diào)用 wx.stopPullDownRefresh 停止下拉刷新。

config

config = {pages: ['pages/index'],window: {backgroundTextStyle: 'light',navigationBarBackgroundColor: '#ccc',navigationBarTitleText: 'WeChat',navigationBarTextStyle: '#000',enablePullDownRefresh: true}}

page

onPullDownRefresh() {wepy.showNavigationBarLoading() setTimeout(()=>{this.getData = '數(shù)據(jù)拿到了'wepy.stopPullDownRefresh()wepy.hideNavigationBarLoading()this.$apply()},3000) }

效果如下:

你會(huì)發(fā)現(xiàn)下拉的過程有些僵硬。這實(shí)際上是沒有添加背景色的原因,加上背景色后再試試。

現(xiàn)在感覺好多了吧。下拉刷新有現(xiàn)成的配置和方法,很容易實(shí)現(xiàn),可上拉加載就不同了。

上拉加載

首先看一下要實(shí)現(xiàn)的效果,這是3g端的上拉加載。小程序要實(shí)現(xiàn)同樣的效果。

首先功能有

  • 點(diǎn)擊回到頂部 這個(gè)很好實(shí)現(xiàn),有對(duì)應(yīng)的回到頂部函數(shù)
  • 滑動(dòng)屏幕記錄當(dāng)前頁(yè)數(shù) 這個(gè)也很好實(shí)現(xiàn),主要是監(jiān)聽滾動(dòng)事件,判斷對(duì)應(yīng)滾動(dòng)條高度,去計(jì)算其與子容器的高度即可。
  • 上拉加載動(dòng)畫

這里有兩個(gè)實(shí)現(xiàn)的方案。一個(gè)是 page 自帶的下拉觸底鉤子事件 onReachBottom 能做的只是下拉到底部的時(shí)候通知你觸底了,一個(gè)是 scroll-view 標(biāo)簽自帶事件。現(xiàn)在用兩個(gè)方法分別實(shí)現(xiàn)一下上拉加載。

上拉觸底事件 onReachBottom

模板

<template><view class="loading"></view><view class="container" @touchmove="moveFn" @touchstart="startFn" @touchend="endFn"style="transform:translate3d(0,{{childTop}}px,0)"><repeat for="{{list}}" key="index" index="index" item="item"><view>{{ item }}<text>{{index}}</text></view></repeat></view> </template>

鉤子函數(shù)

data = {getData: '',top: 0,lastTop: 0,canDrag: false,list: [] } onReachBottom() {this.canDrag = true } methods = {moveFn(ev) {let nowY = ev.changedTouches[0].clientYnowY = nowY-this.lastTopif(nowY > 0 )this.canDrag = falseif( nowY<=0 && this.canDrag ) {this.top = nowY}if( -this.top>= this.maxTop )this.top = -this.maxTop},startFn(ev) {this.lastTop = ev.changedTouches[0].clientY },endFn() {if(this.top <= -this.maxTop) {this.text = "去請(qǐng)求數(shù)據(jù)了"setTimeout(()=>{this.text = "請(qǐng)求回來了"this.canDrag = falsethis.list.push(...["數(shù)據(jù)","數(shù)據(jù)","數(shù)據(jù)"])this.$apply()this.top = 0;return},1000)}},gotoTop() {wepy.pageScrollTo({scrollTop: 0})} }

滾動(dòng)容器實(shí)現(xiàn)上拉加載
scroll-view: 可滾動(dòng)視圖區(qū)域。

它的具體用法不贅述,看官方文檔就行了。這里提解決上述問題的方法即可。

  • bindscrolltolower 類比原生全局鉤子 onReachBottom

模板

<scroll-view scroll-y id="content" @scroll="scroll" @scrolltolower="lower" scroll-top="{{gotoTopNum}}" lower-threshold="100" style="transform:translate3d(0,{{childTop}}px,0)"><view class="sty-search" @touchmove="moveContent" @touchstart="startContent" @touchend="endContent">...</view> </scroll-view>

以上就是最終的模板,你可能在想為什么這么復(fù)雜。雖然復(fù)雜,但每個(gè)屬性都是有用的,當(dāng)然這其中有幾個(gè)坑在等著我們。

首先節(jié)點(diǎn)分為滾動(dòng)容器和子容器。

Q:為什么滾動(dòng)容器里嵌套一個(gè)子容器,并且將拖動(dòng)的三個(gè)方法綁定在它上面。
A:這是第一個(gè)坑,因?yàn)?scroll-view 容器不能綁定 touchmove 事件,那如果綁定了會(huì)怎么樣呢?不會(huì)怎么樣,事件鉤子不會(huì)調(diào)用。(這個(gè)坑在官方文檔查不出來,當(dāng)時(shí)綁定了不調(diào)用,在社區(qū)找到了解決方法,就是將touchmove事件綁定到子容器)

再來看代碼

methods = {async lower() {this.canDrag = true},scroll (ev) {this.scrollTop = ev.detail.scrollTopif (ev.detail.deltaY > 0) {this.canDrag = false}let nowSet = this.documentHeight+this.scrollTop-this.contentHeaderlet num = Math.ceil(nowSet/this.listHeight) - 1num = Math.floor(num / this.pageBean.pageSize) + 1num = (num > this.pageBean.pageNo) ? this.pageBean.pageNo : num if(num != this.page) {this.page = numthis.$apply()}},startContent(ev) {this.lastTop = ev.changedTouches[0].clientYif(!this.documentHeight){this.documentHeight = wx.getSystemInfoSync().windowHeight}/* 這句是解決回到頂部的bug */if (this.gotoTopNum || this.gotoTopNum==0) { this.gotoTopNum = undefined }},moveContent (ev) {let {pageNo,pageSize,totalCount} = this.pageBeanlet nowY = ev.changedTouches[0].clientYnowY = nowY-this.lastTopif (this.canDrag && nowY) {this.state = 1;if (nowY <= -this.maxMove) {nowY = -this.maxMove}if (nowY <= 0) {this.childTop = nowY} }},async endContent(ev) {let {pageNo,pageSize,totalCount} = this.pageBeanif (this.childTop === -this.maxMove) {/* 狀態(tài) */if (pageNo >= this.maxPage || pageNo * pageSize >= totalCount) {this.state = 0} else {this.pageBean.pageNo++ await this.fillData()this.childTop = 0this.canDrag = falsethis.$apply()}}/* 如果沒超過刷新高度則重置 */this.childTop = 0},gotoTop() {this.gotoTopNum = 0}, }

Q: 為什么要在 touchStart 的時(shí)候 將 gotoTopNum 置為 undefined?
A: 因?yàn)檫@個(gè)頁(yè)面有一個(gè)回到頂部的功能,當(dāng)回到頂部時(shí),gotoTopNum 置為0,再次下翻時(shí),雖然實(shí)際的 scrollTop 改變了,但是 gotoTopNum 還為0,再次點(diǎn)擊回到頂部時(shí),因?yàn)閿?shù)據(jù)未改變,視圖層就不會(huì)去更新。所以在 touchStart 的時(shí)候給 gotoTopNum 一個(gè)無效的值,再次點(diǎn)擊回到頂部時(shí),視圖層也就更新了。

原生滾動(dòng) OR scroll-view

END…了嗎…
并沒有。

真機(jī)測(cè)試
實(shí)現(xiàn)的上拉加載在模擬器上跑的很流暢,不存在問題。可是。
如果是蘋果機(jī)的話(暫時(shí)測(cè)試iphone5 和 iPhone7),存在這樣一個(gè)問題,上拉或下拉回彈效果,這個(gè)效果會(huì)影響上拉的距離。
這個(gè)問題想了很久,目前不能優(yōu)雅的解決。
所以就找產(chǎn)品經(jīng)理修改了需求,去掉了上拉動(dòng)畫效果 所以最終的效果就變成:

總結(jié)
1.在微信小程序里操作節(jié)點(diǎn)是昂貴的,比在瀏覽器里操作還昂貴(這是通過比較上拉加載功能在3g端和微信小程序的流暢度得來的),在 1.4.0 版本發(fā)布之后,雖然給出了很多操作節(jié)點(diǎn)的方法,比如得到一個(gè)節(jié)點(diǎn)的寬高、或者通過 id 選擇器得到一個(gè)節(jié)點(diǎn)。請(qǐng)盡量減少這些方法的調(diào)用頻率( 函數(shù)節(jié)流 )或 緩存結(jié)果
2.動(dòng)手之前先動(dòng)腦!!!不然會(huì)走很多彎路…

13. bindtap和catchtap的區(qū)別是什么

相同點(diǎn):首先他們都是作為點(diǎn)擊事件函數(shù),就是點(diǎn)擊時(shí)觸發(fā)。在這個(gè)作用上他們是一樣的,可以不做區(qū)分

不同點(diǎn):他們的不同點(diǎn)主要是bindtap是不會(huì)阻止冒泡事件的,catchtap是阻值冒泡的

14. 簡(jiǎn)述下 wx.navigateTo(), wx.redirectTo(), wx.switchTab(), wx.navigateBack(), wx.reLaunch()的區(qū)別

  • wx.navigateTo():保留當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面。但是不能跳到 tabbar 頁(yè)面
  • wx.redirectTo():關(guān)閉當(dāng)前頁(yè)面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面。但是不允許跳轉(zhuǎn)到 tabbar 頁(yè)面
  • wx.switchTab():跳轉(zhuǎn)到 abBar 頁(yè)面,并關(guān)閉其他所有非 tabBar 頁(yè)面
  • wx.navigateBack()關(guān)閉當(dāng)前頁(yè)面,返回上一頁(yè)面或多級(jí)頁(yè)面。可通過 getCurrentPages()
    獲取當(dāng)前的頁(yè)面棧,決定需要返回幾層
  • wx.reLaunch():關(guān)閉所有頁(yè)面,打開到應(yīng)用內(nèi)的某個(gè)頁(yè)面

總結(jié)

以上是生活随笔為你收集整理的小程序----面试题总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

亚洲国产婷婷 | 日韩色高清 | 亚洲国产成人精品在线 | 日韩二三区| 96av在线| 91成人在线看 | 久草免费在线视频观看 | 日韩精品久久久久久中文字幕8 | 粉嫩高清一区二区三区 | 日本高清免费中文字幕 | av电影在线观看完整版一区二区 | 91av原创 | 国产精品高潮呻吟久久av无 | 五月天开心 | 狠狠久久婷婷 | 欧美巨大| 五月婷在线播放 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 玖玖爱免费视频 | 91chinesexxx | 狠狠色丁香婷婷综合最新地址 | 免费久草视频 | 久久99热这里只有精品国产 | 91精品国产99久久久久 | 天天曰 | 精品国产电影一区二区 | 色综合国产 | 久久国产精品久久国产精品 | 久久精品一级片 | 日韩亚洲欧美中文字幕 | 国产免费黄视频在线观看 | 在线免费三级 | 在线精品播放 | 免费亚洲黄色 | 日本在线视频一区二区三区 | 97精品国产91久久久久久久 | 成人午夜电影在线播放 | 午夜色婷婷 | 91天堂素人约啪 | 色资源网在线观看 | 久久久久久久久影院 | 成人免费视频免费观看 | 在线观看色网 | 国产一区视频在线播放 | 亚洲国产电影在线观看 | 99操视频| 天天综合久久综合 | 亚洲成人黄色 | 美女久久久久久久 | 91麻豆精品国产91久久久久 | 国产精品永久久久久久久www | 看国产黄色大片 | 欧美 亚洲 另类 激情 另类 | 韩国av免费观看 | 欧美国产日韩一区二区三区 | 亚洲精品五月天 | 欧美激情精品久久久久 | 中文字幕在线资源 | 国产精品第52页 | 久久久久这里只有精品 | 色.com| 91精品天码美女少妇 | 97视频免费在线 | 国产日本在线播放 | 欧美日韩国产一区 | 最近中文字幕大全 | 久久久久亚洲精品国产 | 精品一二三区视频 | 免费亚洲精品 | 性色在线视频 | 日韩中文在线字幕 | 欧美精品国产综合久久 | 97超碰人人澡 | 丁香花中文在线免费观看 | 国产成人精品一二三区 | 91成人在线网站 | 91在线看片 | 欧美 激情 国产 91 在线 | 91cn国产在线 | 日韩久久激情 | 久久久久久久久久久影院 | 亚洲精品自拍视频在线观看 | 精品国产日本 | 久久久黄视频 | 国产美女视频 | 亚洲激情在线播放 | 久久99国产精品视频 | 免费精品国产va自在自线 | 女人18精品一区二区三区 | 亚洲成av人片一区二区梦乃 | 在线视频 亚洲 | 亚洲一级片在线观看 | 一区二区三区 中文字幕 | 国产亚洲精品久久久网站好莱 | 奇米影视在线99精品 | 欧美黑人性猛交 | 成人黄色中文字幕 | 麻豆网站免费观看 | 六月婷操 | www.狠狠| 亚洲情感电影大片 | 免费福利片2019潦草影视午夜 | 精品一区二区免费视频 | 亚州精品天堂中文字幕 | 五月婷婷狠狠 | 国产精品丝袜 | 国产伦理久久 | 久久免费在线观看 | 看片一区二区三区 | 久久无码av一区二区三区电影网 | 天天色天天射天天综合网 | 久久精品免费看 | 操操日日 | 日韩av免费在线看 | 精品国产乱码久久久久久1区2匹 | www色网站 | 一区二区成人国产精品 | 国产系列在线观看 | 91色偷偷 | 成人久久国产 | 免费黄色网址大全 | 免费观看高清 | 天天干婷婷 | 九九热在线视频免费观看 | 91精品啪在线观看国产81旧版 | 久久综合久色欧美综合狠狠 | 国产美女视频免费观看的网站 | 亚洲欧美日韩一级 | 色综合久久久网 | 久久久久麻豆 | 最近2019年日本中文免费字幕 | 黄色免费视频在线观看 | 国产精品成人自产拍在线观看 | 精品久久国产一区 | 91av视屏 | 国产在线播放一区 | av看片网址| 日韩亚洲在线视频 | a在线播放| 亚洲2019精品 | 91av视频免费在线观看 | www.国产在线视频 | 亚洲天堂网在线视频观看 | 97精品国产 | 看污网站| 99久久婷婷国产一区二区三区 | 婷婷色网 | 伊人激情综合 | 国产一区二区三区 在线 | 久久天堂亚洲 | 精品国模一区二区三区 | 最新av在线网站 | 99久久精品国产网站 | 国产va饥渴难耐女保洁员在线观看 | 国产九九热 | 国产免费一区二区三区最新6 | 黄色小网站在线 | 一区二区亚洲精品 | 午夜精品福利一区二区三区蜜桃 | 久久久久免费精品国产 | 久久 亚洲视频 | 日本在线观看一区 | 亚洲精品国产品国语在线 | 中文在线www| 久草a视频 | 色在线网站 | 久久久久女人精品毛片 | 毛片888| 国产一级在线播放 | 天天色官网 | 精品免费视频. | 国产精品第三页 | 精品在线免费视频 | 久久99精品久久久久久 | 免费在线观看成人 | 欧美精品视| 国产黄在线看 | 成人黄色大片在线观看 | av片子在线观看 | 久久伊99综合婷婷久久伊 | 欧美精品一区在线发布 | 91久久久久久久一区二区 | 999国内精品永久免费视频 | 国产99免费视频 | 999成人网 | 日韩欧美成 | 亚洲国产视频a | 久久久久免费精品 | 五月婷婷.com | 午夜12点 | 国产综合视频在线观看 | 黄色成人在线观看 | 在线国产91 | 九九视频在线播放 | 精品久久亚洲 | 黄在线免费观看 | 手机av在线不卡 | 欧美性极品xxxx娇小 | 日韩精品中文字幕av | 午夜av免费看| 狠狠躁18三区二区一区ai明星 | 国产精品久久久久久久午夜片 | 一本一本久久a久久精品牛牛影视 | 免费高清在线观看成人 | 久久免费看av | 国产精品永久免费视频 | 毛片精品免费在线观看 | 五月天天av | 久久美女电影 | 精品国产乱码久久久久久1区二区 | 亚洲欧美成人 | 国产99久久久精品视频 | 911亚洲精品第一 | 国产91精品一区二区麻豆网站 | 亚洲精品中文字幕视频 | 久久理论电影 | 热久久国产 | 天天综合网 天天 | 免费视频91蜜桃 | 国产色视频一区二区三区qq号 | 成人91免费视频 | 99精品久久99久久久久 | 久久av免费观看 | ww亚洲ww亚在线观看 | 黄色毛片一级片 | 天天操天天操天天爽 | 欧美精品一区二区三区一线天视频 | 丁香婷婷激情网 | 日日爽天天爽 | 国产成人一区二区三区影院在线 | 亚洲热久久| 国产一区二区在线免费观看 | 国产91成人在在线播放 | 日本中文字幕在线看 | 国产日本在线播放 | 国产精品mv | 午夜精品电影一区二区在线 | 99精品免费 | 久久精品一区二 | 免费黄色网止 | 日韩激情网 | 久久视讯 | 国产精品久久久久久久久久久久久久 | 九九九毛片 | 午夜电影久久久 | www99精品| 成人综合免费 | 成人91免费视频 | 色婷婷丁香 | 久久国产亚洲 | 日本在线成人 | 日韩在线观看av | 国产欧美日韩精品一区二区免费 | 欧美日韩在线观看一区二区三区 | 国产伦理一区二区三区 | 欧美日韩国产一区二区三区在线观看 | 国产尤物一区二区三区 | 国产女教师精品久久av | 黄色aaa毛片| 欧美动漫一区二区三区 | av资源在线看 | 国产精品2019 | 青草视频在线免费 | 在线观看一二三区 | 久久免费看视频 | 久久99久久99精品免观看粉嫩 | 91精品国产乱码在线观看 | 日韩免费观看一区二区 | 久久黄色片子 | 视频成人免费 | 综合久久久久久 | 日韩高清免费无专码区 | 男女啪啪网站 | 69精品视频| 国产在线精品观看 | 日韩网站在线播放 | 网站在线观看日韩 | 久久爱综合 | 久久人人精品 | 久久久久久国产精品亚洲78 | 国产精品婷婷 | 九精品 | 色综合久久久久久久 | 五月婷婷综合网 | 国产精品观看在线亚洲人成网 | 一区二区三区国产欧美 | 日韩毛片在线免费观看 | 91桃花视频 | 日韩高清一| 亚洲天堂网视频在线观看 | 特及黄色片| 中文字幕欧美三区 | 国产精品综合av一区二区国产馆 | 7777xxxx| 97品白浆高清久久久久久 | 日韩中出在线 | 久久久久久久久久国产精品 | 欧美亚洲精品一区 | 开心激情网五月天 | 蜜桃视频在线观看一区 | 在线观看午夜 | 国产群p视频 | 免费黄色一区 | 国产精品黑丝在线观看 | 操久在线 | 二区三区在线 | 亚洲观看黄色网 | 日本韩国在线不卡 | 日韩一区精品 | 亚洲资源视频 | 久久不卡av | 久久国产精品免费一区 | 中文在线字幕观看电影 | 欧美日韩国产一二三区 | 欧美激情亚洲综合 | 日日草天天草 | 国产1区2 | a级国产乱理论片在线观看 伊人宗合网 | 91黄视频在线 | 国产免费不卡av | 国产在线 一区二区三区 | 欧美日韩国产精品久久 | 久久99国产精品久久 | 国产精品21区| 亚洲精品视 | 久久影院午夜论 | 久久99精品国产麻豆婷婷 | 婷五月天激情 | 欧美性成人| 婷婷色站 | 中文字幕一区二区三区四区在线视频 | 狠狠色丁香久久婷婷综合_中 | 国产精品久久久久久久毛片 | 欧美怡红院视频 | 丁香 久久 综合 | 91亚洲精品国产 | 国产精品观看在线亚洲人成网 | 黄色av观看 | 激情欧美一区二区免费视频 | 精油按摩av| 久久高清国产视频 | 欧美a视频在线观看 | 国产福利一区在线观看 | 天天拍天天操 | 夜夜干夜夜 | 日本中文字幕在线视频 | 九9热这里真品2 | 在线a亚洲视频播放在线观看 | 91精品国产一区二区在线观看 | 五月婷婷在线播放 | 日韩理论在线 | 操老逼免费视频 | 亚洲理论在线观看 | 久久综合久久综合九色 | 日韩理论在线视频 | 黄毛片在线观看 | 亚洲精品免费播放 | 欧美视频18 | 国产亚洲综合性久久久影院 | 午夜精品久久久久99热app | 黄色日本片 | 日本久久综合网 | 天天干亚洲 | 日本三级香港三级人妇99 | 一级一级一片免费 | 欧美激情视频在线观看免费 | 一本一道久久a久久综合蜜桃 | 国产精品2区 | 91成人网在线观看 | 亚洲精品欧洲精品 | 国模精品一区二区三区 | 久久视频在线视频 | 免费看91的网站 | 日本三级国产 | 亚洲四虎 | 69精品在线观看 | 免费在线观看午夜视频 | 婷婷免费视频 | 免费国产在线视频 | 天天做天天爱天天爽综合网 | 91成人精品国产刺激国语对白 | 日韩免费视频网站 | 在线99视频 | 国产只有精品 | 精品亚洲欧美一区 | 免费看色网站 | 国产成人在线观看免费 | 免费网站污 | 精品一区中文字幕 | 日韩一二三在线 | 日韩在线免费视频 | 国产永久免费高清在线观看视频 | 69久久99精品久久久久婷婷 | 欧美日韩在线免费视频 | 黄色视屏在线免费观看 | 色综合天天视频在线观看 | 久久精品毛片 | 国产99久久久国产精品免费看 | 日韩极品在线 | www.99久久.com | 亚洲精品国产成人av在线 | 国产中文字幕第一页 | 91在线免费观看网站 | 激情久久婷婷 | 在线成人一区 | 国产一区在线观看视频 | 成人国产精品免费 | 香蕉影院在线 | 亚洲精品99久久久久中文字幕 | 亚洲国产高清视频 | 在线观看91网站 | 欧美一级性生活 | 中文字幕高清av | 最近高清中文在线字幕在线观看 | 黄色大片免费播放 | 高清中文字幕av | 中文字幕视频网 | 九九热精品视频在线观看 | 国产精品一区二区三区免费视频 | 日本韩国精品在线 | 麻豆国产网站 | av一区二区三区在线播放 | 少妇bbw撒尿 | 欧美少妇xxx| 500部大龄熟乱视频使用方法 | 久久激情婷婷 | 欧美 激情在线 | 欧美午夜精品久久久久 | 免费看片色 | 激情综合五月网 | 久久综合九色欧美综合狠狠 | 欧美精品亚洲精品日韩精品 | 成年人视频在线免费 | 国产伦精品一区二区三区在线 | 69中文字幕 | 日日添夜夜添 | 日韩激情视频在线观看 | 九九亚洲精品 | 91av中文字幕 | 91香蕉亚洲精品 | 亚洲精品免费在线观看 | 亚洲精品视频在线观看网站 | 国产精品成人在线 | 色综合久久88色综合天天 | av亚洲产国偷v产偷v自拍小说 | www成人精品 | 91成人小视频 | 日日夜夜天天操 | 国产小视频免费在线观看 | 男女免费视频观看 | 国产精品手机视频 | 欧美影片 | 中文字幕在线看片 | 欧美一区二区免费在线观看 | 天天操天天干天天玩 | 国产精品久久久久久久久免费 | 午夜视频免费在线观看 | 欧美激情精品久久久 | 精品无人国产偷自产在线 | 国产区欧美 | 五月综合激情网 | 在线观看完整版 | 国产成人av片 | 久久草网| 精品一区电影 | a黄在线观看 | 日日日操 | 久久网址 | 国产流白浆高潮在线观看 | 国产精品国产自产拍高清av | 操操操com| 在线观看黄色 | 成人网大片 | 成人在线观看你懂的 | 日韩特黄一级欧美毛片特黄 | 婷婷国产视频 | 国产欧美精品在线观看 | 日韩一区在线免费观看 | 91麻豆精品国产91久久久久久久久 | 日韩在线电影一区二区 | 国产在线欧美 | 久草网免费 | 九九电影在线 | 色丁香久久 | 久草精品网 | 亚洲一区视频免费观看 | 久久国产精品99久久久久久进口 | 国产黄色观看 | 中文字幕丰满人伦在线 | 久久成人国产精品一区二区 | 五月花丁香婷婷 | 日韩精品不卡在线观看 | 亚洲一级特黄 | 色婷婷激情五月 | 中文字幕精品一区二区精品 | 免费影视大全推荐 | 欧美日韩精品在线免费观看 | 久久亚洲免费视频 | av蜜桃在线 | 少妇bbw搡bbbb搡bbb | 黄色午夜网站 | 91视频一8mav | 性色在线视频 | 久久久福利视频 | 久久国产一区二区三区 | 国产精品免费久久久久 | 91丨九色丨91啦蝌蚪老版 | 日日狠狠 | 亚洲精品中文在线 | 日韩中文字幕亚洲一区二区va在线 | 国产精品18p | 国产免费嫩草影院 | 亚洲a色| 黄色在线观看www | 国产美女被啪进深处喷白浆视频 | 字幕网资源站中文字幕 | 在线天堂日本 | 亚洲精品女 | 8x成人免费视频 | 国产精品久久久久久久久久久久久 | 韩国av一区二区 | 99热免费在线 | 激情深爱五月 | 999久久久久 | 激情综合网五月 | 久久久国产精品久久久 | 在线成人高清电影 | 免费观看一级特黄欧美大片 | 国产一级不卡毛片 | 色av男人的天堂免费在线 | 99久久精品国产一区二区成人 | 少妇av网 | 亚洲情感电影大片 | 五月婷婷狠狠 | 国产精品久久综合 | 色视频网站在线 | 在线黄色av | 91精品999| 毛片区| 91亚洲精品在线观看 | 久久国产精品一区二区三区四区 | 欧美日韩中字 | 在线观看黄 | 久久久www成人免费毛片 | 91人人澡人人爽 | 成人91av| 九九热精品在线 | 亚洲国产欧美一区二区三区丁香婷 | 婷婷六月在线 | 四虎在线观看 | 久久久91精品国产一区二区三区 | 成年人免费在线播放 | 国产麻豆剧果冻传媒视频播放量 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 97超视频在线观看 | 久久久亚洲精华液 | 日本成人黄色片 | 久草在线视频国产 | 9999激情 | 97国产情侣爱久久免费观看 | 成人在线免费观看网站 | 国产又粗又猛又黄视频 | 99热精品久久 | 五月激情站 | 婷婷丁香激情综合 | 开心激情网五月天 | 国产精品视频永久免费播放 | av三级av | 国产在线观看黄 | 国产小视频你懂的 | 最新国产精品亚洲 | 美女精品在线观看 | 日韩欧美一区二区三区免费观看 | 日韩欧美视频在线免费观看 | 免费看在线看www777 | 久久综合五月天婷婷伊人 | 一区在线观看 | 超碰97在线看| 精品国产免费人成在线观看 | 88av色 | 国产乱码精品一区二区蜜臀 | 草久视频在线观看 | 国产成人三级在线观看 | 天天操天天干天天综合网 | 97碰碰碰| 色综合亚洲精品激情狠狠 | av黄色成人 | 毛片a级片 | 亚洲精品www久久久久久 | 人人精品久久 | 国产视频中文字幕 | 亚洲在线 | 日本在线观看一区二区 | 日本三级中文字幕在线观看 | 天天干天天摸天天操 | 99视频这里只有 | 亚洲成人一二三 | 亚洲四虎在线 | 国产九九精品视频 | 91亚州 | 成人av电影免费 | 国产成人一区二区啪在线观看 | 久久国产精品99久久久久久进口 | av丝袜在线 | 最近日本韩国中文字幕 | 亚洲春色奇米影视 | 天天干夜夜夜操天 | 五月激情视频 | 人人射人人射 | 91在线在线观看 | 91免费日韩| 免费看黄电影 | 久久99国产精品 | 在线视频 国产 日韩 | 免费在线观看国产黄 | 国产黄影院色大全免费 | www亚洲精品| 欧美极品裸体 | 国产视频亚洲精品 | 国产999精品久久久久久绿帽 | 96亚洲精品久久久蜜桃 | 成人在线免费小视频 | 成人h视频 | 麻豆传媒在线视频 | 国产自产在线视频 | 九九热在线播放 | 中文一区在线 | 久99久中文字幕在线 | 91精品久久久久久久久久入口 | 91视频大全 | 日本午夜免费福利视频 | 中文字幕在线国产精品 | 国产97免费 | 丝袜av一区 | 国产直播av | 国产精品免费久久久久影院仙踪林 | 久久久蜜桃一区二区 | 久久精品老司机 | 久草剧场| 精品产品国产在线不卡 | 亚洲专区视频在线观看 | 久久综合久色欧美综合狠狠 | 免费高清国产 | 天天干天天碰 | 国产亚洲欧美精品久久久久久 | 国产一区精品在线观看 | 欧美精品在线观看免费 | 久草精品视频 | 视频1区2区 | 色鬼综合网 | 中文字幕乱码日本亚洲一区二区 | 91成人观看 | 激情网五月天 | 日韩高清av在线 | 免费看搞黄视频网站 | 国产精品免费麻豆入口 | 亚洲欧美日韩精品一区二区 | 成人欧美一区二区三区在线观看 | 亚洲精品88欧美一区二区 | 国内久久精品 | 亚洲免费资源 | 国产在线观看,日本 | 亚洲黄色片在线 | 亚洲永久精品视频 | 久久久久日本精品一区二区三区 | 一区二区三区电影在线播 | 亚洲专区欧美 | 麻豆传媒电影在线观看 | 国产精品video爽爽爽爽 | 国产精品久久久久久久久久了 | 日韩一区二区免费在线观看 | 婷婷在线精品视频 | 五月婷婷.com | 午夜视频日本 | 久久夜色精品国产欧美乱 | 在线观看国产一区二区 | 99久久婷婷国产一区二区三区 | 日日干夜夜操视频 | 色综合天天狠天天透天天伊人 | 又黄又爽免费视频 | 日韩av电影手机在线观看 | 夜夜夜精品 | 色综合天天色综合 | 在线色亚洲 | 9992tv成人免费看片 | av成人在线播放 | 最近日韩免费视频 | 国产大片免费久久 | 久久久精品一区二区 | 中文字幕久久网 | 亚州欧美精品 | 国产小视频在线观看 | 色噜噜狠狠狠狠色综合久不 | 免费在线成人av电影 | 日本不卡一区二区三区在线观看 | 国产日韩欧美中文 | 久久99精品久久久久久 | 免费观看的黄色片 | 夜夜夜影院 | 国际精品网 | 91精品91 | 天天天天干 | 成人黄色国产 | 国产精品麻豆三级一区视频 | 夜夜躁日日躁狠狠久久av | 久久久一本精品99久久精品66 | 久久人人爽人人爽人人 | 日韩超碰在线 | 色偷偷人人澡久久超碰69 | 天天爱综合 | 亚洲欧美激情精品一区二区 | 91精品国产乱码久久桃 | 91av影视 | 国产中文伊人 | а中文在线天堂 | 日韩免费一级a毛片在线播放一级 | 久久久99精品免费观看 | 欧美另类网站 | 亚洲国产精品va在线看黑人 | 亚洲精品免费在线 | 91成人区| 在线一二三区 | 亚洲三级在线播放 | 亚洲更新最快 | 国产精品视频你懂的 | 在线日本看片免费人成视久网 | 成人黄色影片在线 | 欧美xxxxx在线视频 | 亚洲欧洲一区二区在线观看 | 亚洲激情六月 | av中文字幕日韩 | 国产剧在线观看片 | 国产成人精品综合久久久久99 | 免费人成在线观看 | 天天操天天拍 | 免费下载高清毛片 | 国产成人a亚洲精品 | 日韩精品你懂的 | 曰韩在线 | 色av网站 | 国产二区视频在线观看 | 在线观看黄色免费视频 | 久久国产热视频 | 日韩欧美高清不卡 | 国产精品久久久久久久久蜜臀 | 国产精品福利视频 | 久久久亚洲影院 | 日韩精品久久一区二区三区 | 婷婷日 | 久久免费看毛片 | 精品成人国产 | 亚洲精品免费在线视频 | 97超碰在线视 | 久久久综合香蕉尹人综合网 | 成人精品一区二区三区中文字幕 | 日韩在线不卡av | 国产精品视频在线观看 | 日韩一区二区三区高清在线观看 | 中国黄色一级大片 | 国产91国语对白在线 | 成人av电影免费 | 久久人人爽人人 | 国产欧美久久久精品影院 | 综合久久精品 | 中文字幕91视频 | 日韩在线一区二区免费 | 2024av | 丁香婷五月 | 久久夜色电影 | 久久精品看 | 中文字幕一区二区三区乱码在线 | 天天视频色版 | 国产99久久久久久免费看 | 久久精品99国产精品亚洲最刺激 | 亚洲欧美综合 | 久久免费视频4 | av线上免费看 | 久久久久久久av麻豆果冻 | 欧美一区二区三区四区夜夜大片 | 444av| 日韩欧美国产视频 | 色是在线视频 | 国产精品资源在线 | 午夜视频黄 | 日韩精品一区二区三区水蜜桃 | 欧美一区二区三区在线播放 | 日日夜夜精品免费观看 | 五月天天在线 | 国产黄色片免费在线观看 | 中文字幕av一区二区三区四区 | 日韩精品一区二区免费视频 | 久久婷婷精品视频 | 久久99久久99精品免视看婷婷 | 免费人人干 | 久久国产精品一二三区 | 免费日韩 精品中文字幕视频在线 | 亚洲精品视频在线免费播放 | 中文字幕区 | 在线成人免费电影 | 国产高清在线看 | 日韩毛片在线播放 | 中文字幕一区二区三区精华液 | 97在线视频观看 | 久久亚洲二区 | 四虎最新入口 | 黄色福利网站 | 中文字幕免费在线 | 日韩av网页| 这里只有精品视频在线观看 | 日本资源中文字幕在线 | 精品国产电影一区 | 亚洲综合五月 | 亚洲永久国产精品 | 色综合久久精品 | 国产在线高清 | 久久精品国产一区二区电影 | 日韩综合一区二区三区 | 欧美日性视频 | av色影院| 在线免费观看一区二区三区 | 久久精品国产v日韩v亚洲 | 91私密视频 | 在线三级av | 最新成人在线 | 激情欧美一区二区三区 | 久久九九国产视频 | 欧美一区二区在线免费观看 | 92av视频 | 中文字幕日本电影 | 麻豆传媒视频在线播放 | 97在线看| 日韩夜夜爽 | 九七视频在线 | 中文字幕视频免费观看 | 欧美一区免费在线观看 | 免费高清看电视网站 | 久久精品国产亚洲精品 | 天天操天天色天天射 | 国产免费xvideos视频入口 | 国产成人av网站 | 日韩在线观看视频中文字幕 | 一色屋精品视频在线观看 | 日韩网站在线免费观看 | 麻豆视频在线 | 成人黄性视频 | 国产 日韩 欧美 中文 在线播放 | 天天色天天操天天爽 | 久久爱资源网 | 青草草在线 | 国产99亚洲 | 色噜噜在线观看视频 | 久久精品视频免费 | 在线草| 91在线看黄 | 亚洲va在线va天堂va偷拍 | 亚洲国产日韩一区 | 欧美一级电影片 | 2019天天干夜夜操 | 97在线观看免费高清完整版在线观看 | 97免费在线观看视频 | 中文字幕 国产视频 | 成人免费一区二区三区在线观看 | 精品a在线| 日韩草比| 国产日韩欧美在线看 | 国产精品一区二区在线 | 精品欧美日韩 | 香蕉在线播放 | 欧美日韩综合在线观看 | 欧美精品第一 | 欧美地下肉体性派对 | 丰满少妇对白在线偷拍 | 精品一区 在线 | 色婷婷av一区二 | 久久乐九色婷婷综合色狠狠182 | 日本黄网站 | 韩国一区二区三区在线观看 | 久草精品免费 | 亚洲精品乱码久久久久久蜜桃动漫 | 91最新中文字幕 | av丝袜美腿| 视频国产在线观看18 | 免费99精品国产自在在线 | 九九久久精品视频 | 视频在线一区 | 国产精品一区二区在线看 | 麻豆免费观看视频 | 午夜精品在线看 | 国产免码va在线观看免费 | 丁香导航| 国产精品免费视频网站 | av中文字幕在线免费观看 | 久久精品美女 | 天天色天天操综合 | 国产一级片网站 | 97在线观看视频 | 中文字幕免费不卡视频 | 国产精品综合久久久久久 | 欧美一区免费观看 | 日韩欧美一区二区在线观看 | 一区二区三区四区五区在线视频 | 免费av视屏| 91av官网 | 97在线影视 | 欧美日韩三区二区 | 亚洲精品国产精品国自产观看浪潮 | 午夜色大片在线观看 | 天天操天天干天天操天天干 | 伊人狠狠操 | 激情亚洲综合在线 | 国产成人av网 | 免费在线黄色av | 欧美成人影音 | 国产第一页在线播放 | 黄色网免费 | 精品亚洲二区 | 国产精品99久久久久久有的能看 | 欧美三级高清 | 免费av网站在线看 | 精品女同一区二区三区在线观看 | 久久精品网站免费观看 | 欧美视频一区二 | 激情五月婷婷网 | 久久理论电影网 | 99人久久精品视频最新地址 | 免费精品久久久 | 亚洲成人av一区二区 | 日韩精品视频一二三 | 久久婷亚洲五月一区天天躁 | 97在线视频免费看 | 狠狠干网站 | 久久高清视频免费 | 精品国产成人 | 国产一区二区三区午夜 | 免费看黄的视频 | 亚洲精品久久久久www | 欧美日韩精品在线 | 欧美一区二区三区在线视频观看 | 国产专区视频在线观看 | 色婷婷激情| 国产亚洲免费的视频看 | 欧美亚洲专区 | 麻豆一区二区三区视频 | 中文字幕二区在线观看 | 这里有精品在线视频 | 色噜噜噜噜| 超碰在线91 | 狠狠色丁香久久婷婷综合丁香 | 日韩中文字幕a | 亚洲成人黄| 久久九九国产精品 | 婷婷精品国产欧美精品亚洲人人爽 | 在线播放精品一区二区三区 | 亚洲精品88欧美一区二区 | 天天摸夜夜添 | 欧美亚洲久久 | 最新中文字幕在线观看视频 | 日韩色爱 | 亚洲国产美女精品久久久久∴ | 日韩在线免费 | 在线你懂的视频 | 国产精品入口久久 | 99热精品视 | 9i看片成人免费看片 | 精品一区欧美 | 一区二区 精品 | 国产精品成人国产乱 | 久久久精品国产免费观看同学 | 91香蕉视频好色先生 | 日本久久精品视频 | 日本中文字幕久久 | 一区二区理论片 | 激情久久网 | 一区二区 不卡 | 91久久久国产精品 | av资源在线观看 | 亚洲成人精品久久 | 久久久亚洲精品 | 国产手机视频 | 亚洲国产美女久久久久 | 欧美婷婷综合 | 精品在线视频播放 | av在线电影免费观看 | 日韩动态视频 | 国产中年夫妇高潮精品视频 | 亚洲狠狠丁香婷婷综合久久久 | 成人99免费视频 | 成人av播放| 18久久久| 亚洲国产色一区 | 日批网站在线观看 | 中文字幕之中文字幕 | 亚洲影院国产 | 成年性视频| 天天曰| 久久99国产精品久久 | 美女免费黄网站 | 一区二区在线不卡 |