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

【前端】嘿,Nest.js實(shí)戰(zhàn)開(kāi)發(fā)系列之 Nest.js初體驗(yàn)

開(kāi)發(fā) 前端
本文主要介紹使用Nest創(chuàng)建的首個(gè)項(xiàng)目,簡(jiǎn)要講解了創(chuàng)建過(guò)程,以及使用到的模塊概念。對(duì)路由、控制器、業(yè)務(wù)、模塊進(jìn)行了闡述。

[[406247]]

寫(xiě)在前面前面從小白視角學(xué)習(xí)了Typescript,并學(xué)習(xí)總結(jié)了ts的系列文章,希望能夠?qū)τ谧x者有所幫助。至于學(xué)習(xí)了TS基礎(chǔ)后,如何進(jìn)行開(kāi)發(fā)實(shí)踐,本系列將結(jié)合Nest.js的Node服務(wù)器框架進(jìn)行娓娓道來(lái)。

  • Nest (NestJS) 是一個(gè)用于構(gòu)建高效、可擴(kuò)展的Node.js服務(wù)器端應(yīng)用程序的框架。它使用漸進(jìn)式 JavaScript,使用TypeScript構(gòu)建并完全支持(但仍然允許開(kāi)發(fā)人員使用純 JavaScript 進(jìn)行編碼)并結(jié)合了 OOP(面向?qū)ο缶幊?、FP(函數(shù)式編程)和 FRP(函數(shù)式響應(yīng)式編程)的元素。

Nest使用了功能強(qiáng)大的HTTP Server框架,默認(rèn)支持Express框架,其是簡(jiǎn)單易上手的。Nest是在Express上進(jìn)行抽象而成的,結(jié)合TS強(qiáng)大的語(yǔ)言體系實(shí)現(xiàn)高效快捷開(kāi)發(fā)。

Nest是筆者繼接觸Express框架后感興趣的Node框架,對(duì)此還是比較熟悉的,選擇Nest也就簡(jiǎn)單易行。截止到筆者發(fā)布文章的時(shí)候,Github上Nest擁有37.7K個(gè)Stat,足以證明其受青睞程度。

Nest 提供開(kāi)箱即用的應(yīng)用程序架構(gòu),允許開(kāi)發(fā)人員和團(tuán)隊(duì)創(chuàng)建高度可測(cè)試、可擴(kuò)展、松散耦合且易于維護(hù)的應(yīng)用程序。該架構(gòu)深受 Angular 的啟發(fā)。

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

開(kāi)發(fā)環(huán)境

在項(xiàng)目開(kāi)展前,先行介紹下開(kāi)發(fā)環(huán)境:

  • node.js:14.15.1
  • typescript:3.8.3
  • nest.js:7.6.15

先決條件請(qǐng)確保您的操作系統(tǒng)上安裝了Node.js(>= 10.13.0,v13 除外)。

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

要使用 Nest cli創(chuàng)建項(xiàng)目,先得安裝相關(guān)腳手架,運(yùn)行下列命令創(chuàng)建第一個(gè)Nest項(xiàng)目。

  1. $ npm i -g @nestjs/cli 
  2. $ nest new project-name 

當(dāng)然也可以使用yarn命令進(jìn)行創(chuàng)建:

  1. $ yarn add @nest/cli 
  2. $ nest new project-name 

在輸入完上述命令后,得到以下內(nèi)容:

  1. G:\Code>nest new nest-test 
  2. ⚡  We will scaffold your app in a few seconds.. 
  3.  
  4. CREATE nest-test/.eslintrc.js (631 bytes) 
  5. CREATE nest-test/.prettierrc (51 bytes) 
  6. CREATE nest-test/nest-cli.json (64 bytes) 
  7. CREATE nest-test/package.json (1971 bytes) 
  8. CREATE nest-test/README.md (3339 bytes) 
  9. CREATE nest-test/tsconfig.build.json (97 bytes) 
  10. CREATE nest-test/tsconfig.json (339 bytes) 
  11. CREATE nest-test/src/app.controller.spec.ts (617 bytes) 
  12. CREATE nest-test/src/app.controller.ts (274 bytes) 
  13. CREATE nest-test/src/app.module.ts (249 bytes) 
  14. CREATE nest-test/src/app.service.ts (142 bytes) 
  15. CREATE nest-test/src/main.ts (208 bytes) 
  16. CREATE nest-test/test/app.e2e-spec.ts (630 bytes) 
  17. CREATE nest-test/test/jest-e2e.json (183 bytes) 
  18.  
  19. ? Which package manager would you ❤️  to use? yarn 
  20. ▹▹▹▸▹ Installation in progress... ☕ 

上述所示,會(huì)詢(xún)問(wèn)你選擇yarn還是npm進(jìn)行包管理,筆者此處選擇的是yarn。

  1. 🚀  Successfully created project nest-test 
  2. 👉  Get started with the following commands: 
  3.  
  4. $ cd nest-test 
  5. $ yarn run start 
  6.  
  7.  
  8.                           Thanks for installing Nest 🙏 
  9.                  Please consider donating to our open collective 
  10.                         to help us maintain this package. 
  11.  
  12.  
  13.                🍷  Donate: https://opencollective.com/nest 

經(jīng)歷過(guò)歲月靜好,電腦后臺(tái)已經(jīng)為我們負(fù)重前行,最終創(chuàng)建成功。

根據(jù)上述提示,我們進(jìn)入項(xiàng)目進(jìn)行操作,項(xiàng)目目錄如下所示:

運(yùn)行yarn start或npm run start后執(zhí)行運(yùn)行項(xiàng)目,啟動(dòng)項(xiàng)目服務(wù)。

此時(shí),在瀏覽器地址欄輸入http://localhost:3000即可看到hello world。

 

詳情介紹

路由

當(dāng)打開(kāi)src目錄下main.ts文件時(shí),看到@Controller()裝飾器中使用路由前綴可以更方便地進(jìn)行路由分組,最大程度減少代碼重復(fù)。

main.ts

  1. import { NestFactory } from '@nestjs/core'
  2. import { AppModule } from './app.module'
  3.  
  4. async function bootstrap() { 
  5.   const app = await NestFactory.create(AppModule);//表示使用nest的工廠函數(shù)創(chuàng)建了AppModule 
  6.   await app.listen(3000);//表示項(xiàng)目監(jiān)聽(tīng)的端口是3000 
  7. bootstrap(); 

控制器是控制傳入的請(qǐng)求返回到客戶端的顯示內(nèi)容,當(dāng)然也可以進(jìn)行添加指定的路由。我們可以在app.controller.ts文件中添加以下代碼:

  1. @Get("/home"
  2. getHome(): string { 
  3.   return "my home"

運(yùn)行得到:

設(shè)置局部路由前綴

路由還可以設(shè)置局部和全局的前綴,使用前綴可以避免在所有路由共享通用前綴時(shí)出現(xiàn)沖突的情況。

在@Controller()寫(xiě)入best,可以表示當(dāng)前文件中所有路由設(shè)置前綴best。如下所示:

  1. @Controller("best"
  2. export class AppController { 
  3.   constructor(private readonly appService: AppService) {} 
  4.  
  5.   @Get() 
  6.   getHello(): string { 
  7.     return this.appService.getHello(); 
  8.   } 

運(yùn)行結(jié)果:

設(shè)置全局路由前綴

可以在main.ts文件中添加app.setGlobalPrefix()設(shè)置全局路由前端:

  1. app.setGlobalPrefix('nest-test'); // 全局路由前綴 

運(yùn)行結(jié)果:

controller控制器

控制器負(fù)責(zé)處理傳入的請(qǐng)求并將響應(yīng)返回給客戶端。控制器的目的是接收應(yīng)用程序的特定請(qǐng)求。在路由該控制器接收哪些請(qǐng)求機(jī)構(gòu)的控制。很多時(shí)候,每個(gè)控制器有多個(gè)路由,不同的路由可以執(zhí)行不同的動(dòng)作。


為創(chuàng)建一個(gè)基本的控制器,我們使用類(lèi)和裝飾器。裝飾器將類(lèi)與所需的元數(shù)據(jù)相關(guān)聯(lián),并使 Nest 能夠創(chuàng)建路由映射(將請(qǐng)求綁定到相應(yīng)的控制器)。

app.controller.ts

  1. import { Controller, Get } from '@nestjs/common'
  2. import { AppService } from './app.service'
  3.  
  4. @Controller() 
  5. export class AppController { 
  6.   constructor(private readonly appService: AppService) {} 
  7.  
  8.   @Get() 
  9.   getHello(): string { 
  10.     return this.appService.getHello(); 
  11.   } 

同樣的,我們可以使用命令進(jìn)行創(chuàng)建新的控制器模塊,便于對(duì)項(xiàng)目的管理。

  1. $ nest g controller users 

此時(shí)在src中生成了users目錄文件:

初始化的controller文件如下:

users.controller.ts

  1. import { Controller } from '@nestjs/common'
  2.  
  3. @Controller('users'
  4. export class UsersController {} 

Services業(yè)務(wù)

我們看到前面controller文件中,可以實(shí)現(xiàn)簡(jiǎn)單業(yè)務(wù)邏輯的處理,但是在實(shí)際開(kāi)發(fā)中應(yīng)當(dāng)將控制器和業(yè)務(wù)進(jìn)行分開(kāi),對(duì)代碼進(jìn)行解耦。

  1. $ nest g service users 

此時(shí)在src中的users目錄下生成了業(yè)務(wù)文件:

users.service.ts

  1. import { Injectable } from '@nestjs/common'
  2.  
  3. @Injectable() 
  4. export class UsersService { 
  5.   // 添加用戶的業(yè)務(wù)邏輯 
  6.   addUser(username: string, password: string): string{ 
  7.     console.log(`create user:username--${username} password--${password}`); 
  8.      
  9.     return "add user success"
  10.   } 

users.controller.ts

  1. import { Body, Controller, Post } from '@nestjs/common'
  2. import { UsersService }from "./users.service"
  3. @Controller('users'
  4. export class UsersController { 
  5.   constructor(private readonly usersService: UsersService) {}//Nest 是圍繞通常稱(chēng)為依賴(lài)注入的強(qiáng)大設(shè)計(jì)模式構(gòu)建的。Nest 將UsersService通過(guò)創(chuàng)建并返回一個(gè)實(shí)例usersService。 
  6.    
  7.   @Post("add"
  8.   addUser(@Body() body){ 
  9.     return this.usersService.addUser(body.username,body.password); 
  10.   } 

使用postman進(jìn)行模擬用戶請(qǐng)求,運(yùn)行結(jié)果如下:

Module模塊

模塊是用@Module()裝飾器注釋的類(lèi),@Module()裝飾器提供元數(shù)據(jù)利用的組織應(yīng)用程序結(jié)構(gòu)。


每個(gè)應(yīng)用程序至少有一個(gè)模塊和一個(gè)根模塊。根模塊是 Nest 用于構(gòu)建應(yīng)用程序圖的起點(diǎn)- Nest 用于解析模塊和提供者關(guān)系和依賴(lài)關(guān)系的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。雖然理論上非常小的應(yīng)用程序可能只有根模塊,但這不是典型情況。我們要強(qiáng)調(diào)的是,強(qiáng)烈推薦使用模塊作為組織組件的有效方式。因此,對(duì)于大多數(shù)應(yīng)用程序,最終的架構(gòu)將采用多個(gè)模塊,每個(gè)模塊封裝一組密切相關(guān)的功能。

所述@Module()裝飾采用單個(gè)對(duì)象,其屬性描述該模塊:

我們看到上面創(chuàng)建的Service和Controller是如何進(jìn)行訪問(wèn)運(yùn)行的呢?

打開(kāi)app.modelu.ts 可以看到:

  1. import { Module } from '@nestjs/common'
  2. import { AppController } from './app.controller'
  3. import { AppService } from './app.service'
  4. import { UsersController } from './users/users.controller'
  5. import { UsersService } from './users/users.service'
  6.  
  7. @Module({ 
  8.   imports: [], 
  9.   controllers: [AppController, UsersController], 
  10.   providers: [AppService, UsersService], 
  11. }) 
  12. export class AppModule {} 

在我們創(chuàng)建了子模塊后,創(chuàng)建了UsersController和UsersService,即使不新建module文件也能通過(guò)路由訪問(wèn),因?yàn)橄到y(tǒng)會(huì)自動(dòng)添加到app.module.ts文件中。

當(dāng)然,我們也可以根據(jù)需求進(jìn)行創(chuàng)建子模塊的module文件,只需要執(zhí)行下列命令即可:

  1. $ nest g module users 

此時(shí)看到生成了module子模塊文件:

初始化的文件如下所示:

  1. import { Module } from '@nestjs/common'
  2.  
  3. @Module({}) 
  4. export class UsersModule {} 

此時(shí)需要將users模塊的UsersController和UsersService組裝到module文件中。這樣,其他module模塊想要引入U(xiǎn)sers模塊時(shí),不需要同時(shí)Controller和Service了,方便對(duì)本模塊進(jìn)行管理。

  1. import { Module } from '@nestjs/common'
  2. import { UsersController } from './users.controller'
  3. import { UsersService } from './users.service'
  4.  
  5. @Module({ 
  6.   imports: [UsersModule], 
  7.   controllers: [UsersController], 
  8.   providers: [UsersService], 
  9. }) 
  10. export class UsersModule {} 

當(dāng)然,需要對(duì)app.module.ts文件進(jìn)行修改,因?yàn)樽幽K已經(jīng)引入了Controller和Service了。

  1. import { Module } from '@nestjs/common'
  2. import { AppController } from './app.controller'
  3. import { AppService } from './app.service'
  4. // import { UsersController } from './users/users.controller'
  5. // import { UsersService } from './users/users.service'
  6. import { UsersModule } from './users/users.module'
  7.  
  8. @Module({ 
  9.   imports: [UsersModule], 
  10.   controllers: [AppController], 
  11.   providers: [AppService], 
  12. }) 
  13. export class AppModule {} 

小結(jié)

本文主要介紹使用Nest創(chuàng)建的首個(gè)項(xiàng)目,簡(jiǎn)要講解了創(chuàng)建過(guò)程,以及使用到的模塊概念。對(duì)路由、控制器、業(yè)務(wù)、模塊進(jìn)行了闡述,后續(xù)概念會(huì)進(jìn)行詳細(xì)講解,更詳細(xì)的請(qǐng)見(jiàn)官方文檔。

 

責(zé)任編輯:姜華 來(lái)源: 前端萬(wàn)有引力
相關(guān)推薦

2021-06-29 06:25:22

Nest.jsTypeORM數(shù)據(jù)庫(kù)

2022-03-18 21:51:10

Nest.jsAOP 架構(gòu)后端

2022-02-02 20:21:24

短信驗(yàn)證碼登錄

2021-12-22 06:56:06

MySQCrudjs

2022-03-02 14:00:46

Nest.jsExpress端口

2024-05-06 08:48:18

nestjava?MVC?

2022-12-27 09:22:06

Nest.js框架

2024-02-04 19:15:09

Nest.js管理項(xiàng)目

2021-10-28 17:40:22

Nest.js前端代碼

2024-05-21 10:35:34

2021-12-27 20:29:21

機(jī)制PipeExceptionFi

2023-01-30 09:01:34

DecoratorsJS語(yǔ)法

2024-03-15 09:26:59

2011-11-01 10:30:36

Node.js

2016-11-01 19:10:33

vue.js前端前端框架

2020-09-28 06:57:39

Node.jsGraphQLAPI

2009-06-09 13:52:58

Bing API體驗(yàn)

2021-12-24 16:55:44

前端開(kāi)發(fā)JavaScript

2020-04-20 16:00:05

Node.js框架JavaScript

2011-06-24 11:03:31

Qt 多線程 線程
點(diǎn)贊
收藏

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

狠狠色丁香久久婷婷综合_中| 欧美久久精品| 亚洲美女偷拍久久| 国产成人看片| 欧美日韩一级黄色片| 国产精品入口久久| 欧美欧美欧美欧美| 欧美精品自拍视频| 成人高清免费在线播放| 久久69国产一区二区蜜臀| 久久91精品国产91久久跳| 国产伦精品一区三区精东| 欧美xnxx| 亚洲国产精品久久久久婷婷884 | 成人网在线免费视频| 尤物在线观看一区| 久久综合给合久久狠狠色| 一个人看的www日本高清视频| 国产精品v日韩精品v欧美精品网站| 日韩成人久久久| 日韩视频在线观看一区二区三区| 92久久精品| 国产精品乱人伦| 国产精品一区二区三区在线 | 性8sex亚洲区入口| 久久这里只有精品视频首页| 国产成人无码精品久久二区三| 日本在线成人| 欧美在线一区二区| 自拍日韩亚洲一区在线| 国产黄a三级三级三级av在线看 | 精品免费国产一区二区三区四区| 一区二区三区免费播放| 国产拍在线视频| 亚洲丝袜另类动漫二区| 亚洲精品国产精品国自产| 四虎永久在线观看| 国产成人免费av在线| 国产精品网址在线| 国产一级片免费在线观看| 一区在线播放| 欧美精品情趣视频| 亚洲少妇xxx| 国产欧美日韩在线观看视频| 亚洲国产精品99| 日本人妻一区二区三区| 免费欧美网站| 亚洲欧洲综合另类在线| 亚洲午夜精品久久| 国产对白叫床清晰在线播放| 99国产精品久久久| 国产99在线播放| 国产精品无码在线播放 | 国产精品成人午夜| 先锋影音网一区| 国产高清视频在线| 国产欧美一区二区三区鸳鸯浴| 久久99欧美| 日本加勒比一区| 成人午夜在线视频| 国产无套精品一区二区| 天天操天天干天天操| 暴力调教一区二区三区| 狠狠色综合一区二区| 欧美 日韩 人妻 高清 中文| 播五月开心婷婷综合| 69av在线播放| 国产精品999在线观看| 亚洲国内欧美| 57pao成人永久免费视频| 日韩不卡视频在线| 亚欧美中日韩视频| 国产精品看片资源| 中文字幕 视频一区| 久久99国产精品久久99果冻传媒| 91久久综合亚洲鲁鲁五月天| 99国产精品99| 不卡的av中国片| 免费久久久一本精品久久区| 国产高清在线| 亚洲男人电影天堂| 日韩中字在线观看| 欧美大胆性生话| 欧美日韩视频在线一区二区| 91丝袜超薄交口足| 波多野结衣在线一区二区| 日韩成人在线观看| 国产黄色大片免费看| 久久精品一区二区不卡| 欧美精品久久久久久久久| 精品在线播放视频| 麻豆精品新av中文字幕| 99一区二区| 黄色片在线免费观看| 国产一区二区电影| 国产女主播一区二区三区| 欧美3p视频在线观看| 国产精品国产三级国产普通话蜜臀 | 久久夜色精品国产欧美乱| 日韩免费av片| 琪琪一区二区三区| 国产高清在线精品一区二区三区| 欧美日韩激情视频一区二区三区| 亚洲视频在线一区| 男人和女人啪啪网站| 亚洲日日夜夜| 亚洲精品成a人在线观看| 日本不卡一区视频| 国产视频欧美| 亚洲专区国产精品| 国产福利在线| 亚洲午夜免费电影| 欧美男女交配视频| 四虎884aa成人精品最新| 久久精品国产2020观看福利| 久久久久久久久久影院| 国产一区二区网址| 日韩福利一区二区三区| 国产精品探花在线| 91精品国产福利在线观看| 国产免费一区二区三区网站免费| 国内精品99| 国产日韩亚洲欧美| 精品资源在线看| 亚洲成av人片观看| 无码国产精品一区二区高潮| 黑丝美女一区二区| 欧美性视频网站| www.综合色| ●精品国产综合乱码久久久久| 男人天堂999| 成人精品动漫一区二区三区| 精品国产一区二区三区久久久| 国产成人免费看| 成人精品电影在线观看| 一二三四中文字幕| 亚洲热av色在线播放| 日韩在线视频线视频免费网站| 在线天堂中文字幕| av中文字幕亚洲| 精品久久久久久无码中文野结衣| 亚洲成人影音| 欧美高清在线观看| 国产99对白在线播放| 亚洲视频在线一区二区| 久久6免费视频| 久久人体视频| 国产在线观看精品| 一级毛片视频在线| 欧美日韩的一区二区| 亚洲熟女少妇一区二区| 免费观看成人av| 一本一道久久久a久久久精品91 | 91沈先生在线观看| 免费在线看黄| 制服丝袜国产精品| 粉嫩av性色av蜜臀av网站| 国产麻豆精品95视频| 黄黄视频在线观看| 成午夜精品一区二区三区软件| 欧美激情xxxx性bbbb| 日本黄色大片视频| 色综合久久中文字幕| xxxx日本黄色| 久久国产精品无码网站| 一级全黄肉体裸体全过程| 国产精品视频一区二区三区综合| 大胆人体色综合| 亚洲xxxx天美| 婷婷一区二区三区| 黄色aaa视频| 蜜乳av一区二区| 老汉色影院首页| 99精品中文字幕在线不卡 | 欧美大陆国产| 超碰精品一区二区三区乱码| 欧美视频一二区| 一本大道av伊人久久综合| 国产欧美小视频| 国产精品资源在线看| 97超碰在线人人| 久久成人av| 亚洲精品免费av| 国产福利电影在线播放| 国产亚洲美女精品久久久| 国产乱淫a∨片免费观看| 亚洲成年人网站在线观看| 一级欧美一级日韩片| 日韩1区2区日韩1区2区| 国产激情在线看| 国产成人黄色| 亚洲va久久久噜噜噜| 欧美亚洲日本精品| 日韩中文字幕国产精品| 男人天堂一区二区| 欧美三级乱人伦电影| 久久久99精品| 国产欧美日韩综合| 精品国产乱码久久久久夜深人妻| 久久人人精品| 日韩欧美猛交xxxxx无码| 国产亚洲欧美日韩在线观看一区二区| 91沈先生在线观看| 精品成人av| 久久久噜噜噜久久久| 91在线视频| 亚洲精品久久久久中文字幕欢迎你 | 在线观看完整版免费| 亚洲第一区在线| 一区二区的视频| 欧美性xxxx极品高清hd直播| 久久国产高清视频| 国产婷婷一区二区| 欧美激情 亚洲| 精品在线播放午夜| 无人在线观看的免费高清视频| 国产精品v欧美精品v日本精品动漫| 水蜜桃亚洲一二三四在线| 日韩高清一级| 99精品国产一区二区| 深夜福利亚洲| 国产久一一精品| xx欧美xxx| 97香蕉超级碰碰久久免费软件| 国产丝袜在线| 深夜福利国产精品| 欧美巨乳在线| 亚洲精品国产免费| 丁香六月色婷婷| 欧美一级二级在线观看| 中文字幕在线观看第二页| 欧美性猛交xxxx久久久| 日本少妇毛茸茸高潮| 一区二区三区在线观看网站| 国产jk精品白丝av在线观看| www国产成人免费观看视频 深夜成人网| 久久久久无码精品| 国产原创一区二区| 国产乱叫456| 韩国一区二区在线观看| 依人在线免费视频| 美女性感视频久久| 日韩中文字幕a| 免费人成精品欧美精品| www.日本xxxx| 美国一区二区三区在线播放| 婷婷六月天在线| 美腿丝袜亚洲色图| 91女神在线观看| 久久99国产精品麻豆| 国产精品探花在线播放| 国产一区二区免费看| 老女人性生活视频| 国产91丝袜在线播放九色| 欧美成人精品一区二区综合免费| 国产成人一区在线| 91精产国品一二三| 北岛玲一区二区三区四区 | 国产精品久久夜| 69xxx免费| 亚洲色图清纯唯美| 黑人巨大精品一区二区在线| 亚洲一区二区三区精品在线| 豆国产97在线 | 亚洲| 激情av一区二区| 无码一区二区三区在线观看| 欧美在线观看视频一区二区 | 午夜精品一区二区三级视频| 亚洲毛片av在线| 久久免费视频99| 欧美特级www| 中文字幕人妻一区二区三区视频| 欧美喷水一区二区| 亚洲美女性生活| 亚洲精品在线91| eeuss影院www在线观看| 久久亚洲精品一区| 91九色在线播放| 国产精品老牛影院在线观看| 亚洲精品在线a| 免费看污久久久| 97精品国产| 丰满少妇久久久| 蜜桃视频在线一区| 佐佐木明希电影| 久久久噜噜噜久久中文字幕色伊伊| 一区二区三区在线播放视频| 夜夜嗨av一区二区三区中文字幕 | www久久日com| 97婷婷大伊香蕉精品视频| 久久久加勒比| 福利视频一区二区三区| 久久av电影| 毛片av在线播放| 日本亚洲视频在线| 亚洲天堂2024| 中文字幕在线一区免费| 日韩无码精品一区二区三区| 欧美无乱码久久久免费午夜一区 | 亚洲精品自产拍| 国产盗摄在线观看| 国产91热爆ts人妖在线| 一区二区三区在线资源| 亚洲国产成人不卡| aa级大片欧美三级| www.五月天色| 日本一区二区三区高清不卡| 精品处破女学生| 欧美色男人天堂| 四虎在线视频| 久久99国产综合精品女同| 欧美日韩国产网站| 九九九九九精品| 欧美日韩国产在线一区| 色播五月综合网| 久久久国产精品不卡| 久久久久久天堂| 7777精品久久久大香线蕉 | 免费av在线一区| 日韩中文视频| 蜜桃传媒视频第一区入口在线看| 中文精品久久| 中文字幕 日韩 欧美| 久久精品一区四区| 黄色在线免费观看| 亚洲国产精品va在线观看黑人| 四虎影院观看视频在线观看 | 中国一区二区视频| 精品一区二区电影| 91九色在线播放| 国产精品一区二区在线观看| 欧美一区国产在线| 天天操狠狠操夜夜操| 中文字幕第一区| 男人天堂av在线播放| 日韩成人在线网站| 黄频免费在线观看| 国产chinese精品一区二区| 中文无码久久精品| 日韩高清一二三区| 一区二区三区产品免费精品久久75| 国产精品久久欧美久久一区| 自拍偷拍亚洲在线| 欧美日韩视频精品二区| 97久久精品国产| 免费看久久久| 日韩欧美国产综合在线| 成人黄色a**站在线观看| 久久精品国产亚洲AV无码麻豆 | 在线观看欧美一区二区| 亚洲色图欧美偷拍| 国产精品久久久国产盗摄| 久久精品久久久久| 国产亚洲字幕| 久久久久久久9| 成人高清伦理免费影院在线观看| 九九九国产视频| 亚洲国产精品久久精品怡红院| av影院在线免费观看| 久久国产欧美精品| 久久精品主播| 福利视频第一页| 欧美一区二区三区人| 蜜臀av在线| 精品欧美国产一区二区三区不卡| 国产精品一级| 国产熟女一区二区| 欧美精品vⅰdeose4hd| 宅男网站在线免费观看| 国产精品一区二区在线观看 | 欧洲美女亚洲激情| 亚洲制服丝袜在线| 色视频在线看| 国产日韩av在线| 欧美三级小说| 一级做a爰片毛片| 欧美日韩电影一区| 欧美人体视频xxxxx| 欧美一区激情视频在线观看| 久久精品99国产国产精| 国产一级在线视频| 亚洲欧美日韩精品| 在线日韩三级| 人妻久久久一区二区三区| 欧美国产丝袜视频| 国产视频手机在线| 欧美亚洲视频在线看网址| 欧美一区二区三区激情视频| 中文字幕第六页| 色94色欧美sute亚洲线路二| 成人福利在线观看视频| 久久大片网站| 精品亚洲成a人在线观看| 久久精品国产亚洲av香蕉| 在线免费观看羞羞视频一区二区| 亚洲日本va中文字幕| 午夜欧美福利视频| 亚洲成人免费视频| 一级毛片视频在线观看| 美乳视频一区二区|