• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于SpringBoot 的“喵站”寵物服務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

    2023-12-05 09:06:56艾鈺承朱海風(fēng)劉舟
    科技資訊 2023年22期

    艾鈺承 朱海風(fēng) 劉舟

    摘要:為了更好地幫助大多數(shù)寵物門(mén)店服務(wù)于顧客,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于SpringBoot的寵物服務(wù)平臺(tái)。系統(tǒng)分為管理員端和用戶端。管理員可以對(duì)已經(jīng)上架的商品進(jìn)行修改操作,也可以新增新的商品。用戶可以選擇自己需要的服務(wù)或商品進(jìn)行購(gòu)買。在結(jié)算時(shí)需要添加相關(guān)的地址信息,并且可以設(shè)置默認(rèn)地址。該系統(tǒng)可以促進(jìn)寵物門(mén)店的商品的銷售,也能為用戶提供一個(gè)良好的寵物服務(wù)平臺(tái)。

    關(guān)鍵詞:SpringBoot 寵物服務(wù)平臺(tái) MVC MyBatis-Plus

    Design and Implementation of the "Miao Zhan" Pet Service Platform Based on Springboot

    AI Yucheng ZHU Haifeng LIU Zhou

    (Pujiang Institute, Nanjing Tech University, Nanjing, Jiangsu Province, 210000 China)

    Abstract: In order to better assist most pet stores in serving customers, this article designs and implements a pet service platform based on springboot. The system is divided into the administrator side and the user side. Administrators can edit goods that have already been listed and also add new goods. Users can choose the services or goods they need to purchase, and they need to add relevant address information and can set a default addresses at checkout. This system can promote the sales of goods in pet stores and also provide users with the good pet service platform.

    Key Words: SpringBoot; Pet service platform; MVC; MyBatis-Plus

    隨著中國(guó)經(jīng)濟(jì)的快速發(fā)展、中國(guó)居民可支配收入的增長(zhǎng),越來(lái)越多的家庭開(kāi)始飼養(yǎng)寵物,寵物商店、寵物醫(yī)院和寵物寄養(yǎng)所等寵物服務(wù)機(jī)構(gòu)如雨后春筍般出現(xiàn)。為了能使這些機(jī)構(gòu)更好的服務(wù)用戶,本文設(shè)計(jì)并實(shí)現(xiàn)了一款基于SpringBoot的網(wǎng)絡(luò)寵物服務(wù)平臺(tái)。

    1 系統(tǒng)分析

    系統(tǒng)分為用戶端和后臺(tái)管理端。不同的使用者對(duì)應(yīng)不同的功能入口。在用戶端,用戶需要通過(guò)手機(jī)驗(yàn)證碼進(jìn)行登錄注冊(cè),進(jìn)入用戶頁(yè)面后,用戶可以選擇自己需要的服務(wù)或商品進(jìn)行購(gòu)買。在結(jié)算時(shí)需要添加相關(guān)的地址信息,并且可以設(shè)置默認(rèn)地址。后臺(tái)管理端可以對(duì)已經(jīng)上架的商品進(jìn)行修改操作,也可以新增新的商品。同時(shí),后臺(tái)管理端可以通過(guò)設(shè)置套餐形式將商品捆綁進(jìn)行銷售。在用戶下單后,管理端的訂單明細(xì)頁(yè)面會(huì)更新,并且歷史訂單會(huì)按照時(shí)間關(guān)系排列,管理員也可以通過(guò)輸入訂單號(hào)或時(shí)間區(qū)間進(jìn)行查詢。

    2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

    2.1 架構(gòu)設(shè)計(jì)

    本系統(tǒng)以Springboot為整體框架,采用MVC設(shè)計(jì)模式,選擇MySql為系統(tǒng)數(shù)據(jù)庫(kù)[3]。依賴MyBatis-Plus和Druid數(shù)據(jù)庫(kù)連接池[4]對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作實(shí)現(xiàn)對(duì)數(shù)據(jù)的增刪改查。

    利用Springboot框架,可以快速創(chuàng)建基于spring的程序[5]。使用Springboot框架,不需要人為地進(jìn)行Tomcat服務(wù)器的配置,他可以直接使用Java main方法啟動(dòng)內(nèi)嵌的Tomcat服務(wù)器運(yùn)行springboot程序,不需要部署war包[6,7]。同時(shí),Springboot可以根據(jù)項(xiàng)目的Maven依賴配置,自動(dòng)配置spring、springmvc等簡(jiǎn)化了開(kāi)發(fā)。

    MVC包括3個(gè)模塊:模型層(Model)、視圖層(View)、控制層(Controller)。與用戶的交互順序是用戶通過(guò)視圖層發(fā)送請(qǐng)求(如查詢賬戶信息request),視圖層的請(qǐng)求發(fā)送到控制層,控制層進(jìn)行中轉(zhuǎn)后,通過(guò)模型層與數(shù)據(jù)庫(kù)交互查詢[8]。模型層的查詢結(jié)果又經(jīng)由控制層形成響應(yīng)結(jié)果(response),在視圖層展示。它的優(yōu)點(diǎn)是分層設(shè)計(jì),可以讓各個(gè)部分的開(kāi)發(fā)單獨(dú)開(kāi)來(lái),減少重復(fù)的代碼,提高應(yīng)用程序的可維護(hù)性和可擴(kuò)展性[9]。其架構(gòu)圖如圖1所示。

    2.2 功能設(shè)計(jì)

    根據(jù)需求分析,本系統(tǒng)分為用戶端和后臺(tái)管理端。用戶端功能模塊有登錄模塊,購(gòu)物模塊,添加地址模塊,查詢歷史訂單模塊;后臺(tái)管理端的功能模塊有新增員工模塊,新增服務(wù)模塊,新增分類模塊,新增套餐模塊以及查詢用戶訂單模塊。系統(tǒng)功能模塊圖2所示。

    2.3 功能流程設(shè)計(jì)

    2.3.1 用戶端功能流程設(shè)計(jì)

    當(dāng)用戶輸入手機(jī)號(hào),驗(yàn)證碼準(zhǔn)備登錄時(shí),系統(tǒng)會(huì)判斷驗(yàn)證碼輸入是否正確。登錄成功進(jìn)入系統(tǒng)后,用戶可以選購(gòu)商品,被選購(gòu)的商品會(huì)進(jìn)入購(gòu)物車。當(dāng)用戶完成購(gòu)物后,提交訂單時(shí),系統(tǒng)會(huì)判斷用戶是否設(shè)置了默認(rèn)密碼,如果沒(méi)有設(shè)置,頁(yè)面會(huì)自動(dòng)跳到地址管理頁(yè)面;如果設(shè)置,則可以直接提交訂單。

    2.3.2 管理員端功能流程設(shè)計(jì)

    當(dāng)管理員輸入用戶名和密碼后點(diǎn)擊登錄,系統(tǒng)會(huì)進(jìn)行一次判斷,如果兩者之中有一個(gè)輸入錯(cuò)誤,就不能成功登錄,必須重新輸入。當(dāng)進(jìn)入系統(tǒng)后,管理員可以進(jìn)行員工管理,服務(wù)信息管理,分類信息管理,套餐信息管理,訂單管理的相關(guān)方面的操作。

    3 關(guān)鍵功能實(shí)現(xiàn)

    3.1 用戶手機(jī)驗(yàn)證碼登錄

    該功能邏輯為用戶在輸入手機(jī)號(hào)碼后收到驗(yàn)證碼并輸入后才能完成登錄,若輸入錯(cuò)誤后會(huì)登錄失敗。

    為了生成驗(yàn)證碼,需要?jiǎng)?chuàng)建一個(gè)隨機(jī)驗(yàn)證碼生成工具類。該工具類主要通過(guò)“Random().nextInt()”方法隨機(jī)生成驗(yàn)證碼。選擇的是4位驗(yàn)證碼,為了防止生成的隨機(jī)驗(yàn)證碼超過(guò)四位數(shù)需要將“nextint()”中的值定為9999,這樣的話生成的驗(yàn)證碼最大數(shù)是9 999。同時(shí)因?yàn)樯傻尿?yàn)證碼在0~9 999之間,所以有概率生成的驗(yàn)證碼是三位數(shù)。所以需要進(jìn)行判斷,若生成的驗(yàn)證碼小于四位數(shù),需要將該驗(yàn)證碼加1000。相關(guān)代碼如下:

    public static Integer generateValidateCode(int length){??? Integer code =null;??? if(length == 4){??????? code = new Random().nextInt(9999);//生成隨機(jī)數(shù),最大為9999??????? if(code < 1000){??????????? code = code + 1000;//保證隨機(jī)數(shù)為4位數(shù)字}

    return code;}

    當(dāng)用戶輸入手機(jī)號(hào)碼后點(diǎn)擊獲取驗(yàn)證碼后,驗(yàn)證碼生成工具類會(huì)生成一個(gè)四位驗(yàn)證碼,通過(guò)“session.setAttribute(phone,code);”語(yǔ)句將生成的驗(yàn)證碼存入session中,當(dāng)用戶獲取到驗(yàn)證碼并通過(guò)鍵盤(pán)輸入后,系統(tǒng)會(huì)進(jìn)行比對(duì),若輸入的驗(yàn)證碼與session中的驗(yàn)證碼相同時(shí),登錄成功;若不相同,則登陸失敗。因?yàn)榇嬖谛掠脩舻那闆r,所以需要設(shè)置查詢語(yǔ)句“LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(User::getPhone,phone);”通過(guò)比對(duì)之前數(shù)據(jù)庫(kù)中的存儲(chǔ)手機(jī)號(hào)碼判斷是否為新用戶。若為新用戶,則會(huì)通過(guò)“userService.save(user);”語(yǔ)句自動(dòng)完成注冊(cè)。

    用戶登錄頁(yè)面如圖3所示。

    3.2 地址簿模塊

    當(dāng)用戶進(jìn)入“地址管理”頁(yè)面中,系統(tǒng)先查詢存在的地址。首先從session中取出用戶id作為查詢條件代碼為“Long userId = (Long) session.getAttribute("user");”。取出后設(shè)置泛型為Addrsessbook的查詢語(yǔ)句 “LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();“利用該語(yǔ)句創(chuàng)建queryWapper對(duì)象。隨后利用之前從session中取出的用戶id作為查詢條件進(jìn)行查詢,具體代碼為”queryWrapper.eq(AddressBook::getUserId,userId);“,這樣即可完成地址簿的查詢。

    如果沒(méi)有地址,則用戶需要進(jìn)行地址的添加。首先需要設(shè)置地址簿的用戶id以確保該地址簿綁定在正確的用戶上。之后利用IService接口中提供的”save()”方法進(jìn)行對(duì)地址的保存。

    當(dāng)用戶需要更改時(shí),利用“addressBookService.updateById(addressBook);”該語(yǔ)句進(jìn)行對(duì)地址的修改;當(dāng)用戶需要?jiǎng)h除某個(gè)地址時(shí),利用“addressBookService.removeBatchByIds(ids);”進(jìn)行對(duì)地址的刪除。更新和刪除操作的原理皆是利用了IService接口中的方法,分別為“updateById()”和“removeBatchByIds ()”方法。

    為了方便用戶在結(jié)算時(shí)可以不用手動(dòng)添加地址,可以設(shè)置默認(rèn)地址。首先需要?jiǎng)?chuàng)建查詢對(duì)象,代碼為“LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>();”。創(chuàng)建完成后利用當(dāng)前用戶id作為查詢條件對(duì)地址簿進(jìn)行查詢,代碼為“updateWrapper.eq(AddressBook::getUserId,userId);”。因?yàn)槟J(rèn)地址有且僅有一個(gè),所以在設(shè)置默認(rèn)地址前需要將所有地址設(shè)置為非默認(rèn)地址。在數(shù)據(jù)庫(kù)中,地址的狀態(tài)被設(shè)置為布爾類型,0代表非默認(rèn)地址,1代表默認(rèn)地址,所以利用“updateWrapper.set(AddressBook::getIsDefault,0);”該語(yǔ)句把所有地址的狀態(tài)設(shè)置為0。完成以上操作后,通過(guò)setIsDefault()方法將用戶想要修改的地址的狀態(tài)設(shè)置為1。最后利用updateById()方法將地址簿進(jìn)行更新。具體代碼為:

    “addressBook.setIsDefault(1);addressBookService.updateById(addressBook);”。

    3.3 新增員工

    首先為員工設(shè)置默認(rèn)的登錄密碼123456。利用setPassword()方法完成添加,其中通過(guò)MD5加密對(duì)密碼加密。具體代碼為:

    “employee.setPassword(DigestUtils.md5DigestAsHex("123456".getBytes()));”。

    在完成相關(guān)信息填寫(xiě)后,系統(tǒng)調(diào)用IService接口中“save()”方法對(duì)用戶信息進(jìn)行保存,具體代碼為:“employeeService.save(employee);”。

    在新增完員工后需要將所有員工進(jìn)行分頁(yè)查詢后反映到相關(guān)頁(yè)面中。首先建立一個(gè)條件構(gòu)造器,以姓名作為查詢條件進(jìn)行查詢,其中需要添加過(guò)濾條件,防止姓名為空。具體代碼為:

    “LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();

    queryWrapper.like(StringUtils.isNotEmpty(name),Employee::getName,name);“

    在查詢結(jié)束后,引入分頁(yè)構(gòu)造器,利用員工新增的時(shí)間進(jìn)行降序排序。具體代碼為“Page pageInfo = new Page<>(page,pageSize);

    queryWrapper.orderByDesc(Employee::getUpdateTime);“。

    通過(guò)以上操作就能完成員工的新增和分頁(yè)查詢。

    3.4 新增服務(wù)

    新增功能主要通過(guò)IService接口中提供“save()”方法實(shí)現(xiàn),但是不同的是,一個(gè)服務(wù)可能有多種配置信息,所以新增服務(wù)功能實(shí)現(xiàn)了對(duì)兩張表的插入操作,一張表保存基本信息,另一張表保存服務(wù)的配置信息。

    保存基本信息利用“save()”方法即可。具體代碼為“this.save(serviceDto);”。保存配置信息,需要先創(chuàng)建一個(gè)stream流來(lái)將服務(wù)的id與配置信息進(jìn)行綁定,使服務(wù)與配置信息之間存在關(guān)聯(lián)。完成綁定后,再利用IService接口中提供的”saveBatch()”方法將配置信息進(jìn)行保存。功能具體代碼為:

    “Long serviceId = serviceDto.getId();//菜品idList flavors = serviceDto.getFlavors();flavors = flavors.stream().map((item) -> {??? item.setServiceId(serviceId);??? return item;}).collect(Collectors.toList());serviceFlavorService.saveBatch(flavors);”。

    若要?jiǎng)h除某個(gè)服務(wù),利用IService接口中提供的”removeBatchByIds()”方法進(jìn)行刪除。具體代碼為:

    ”public R delete(String ids) {??? String[] split = ids.split(",");??? List list = new ArrayList<>(Arrays.asList(split));serviceService.removeBatchByIds(list);??? return R.success("刪除成功!");}”

    在代碼中使用了split方法和ArrayList數(shù)組將選中的服務(wù)id封裝成數(shù)組,最后通過(guò)”removeBatchByIds()”方法可以完成刪除操作,這樣做既可以刪除單個(gè)商品,也能進(jìn)行批量刪除。

    若要進(jìn)行更新,仍然是利用IService接口中提供的”updateById()”方法。具體代碼為:

    “@PutMappingpublic R update(@RequestBody DishDto dishDto){??? boolean ret = dishService.updateById(dishDto);??? return ret? R.success("更新成功"):R.error("更新失敗");}”。

    3.5 新增套餐功能

    一個(gè)套餐可以包含多個(gè)商品,所以若要進(jìn)行套餐的新增,就要進(jìn)行兩張表的操作。首先通過(guò)“save()”方法將套餐的基本信息存入基本信息表中,具體代碼為”this.save(setMealDto);

    ”。接下來(lái)創(chuàng)建stream流將新增的套餐id賦予配置信息表中,最后再通過(guò)”saveBatch()”方法將配置信息批量保存進(jìn)配置信息表中。功能具體代碼為:

    ”List setmealServices = setMealDto.getSetmealServices();List< SetMealService> collect = setmealServices.stream().map((item) -> {??? item.setSetmealId(setMealDto.getId());??? return item;}).collect(Collectors.toList());setMealServiceService.saveBatch(collect);”。

    若要?jiǎng)h除套餐,先利用”removeByIds()”方法將套餐表中的數(shù)據(jù)刪除。具體代碼為“this.removeByIds(ids);”。刪掉基本內(nèi)容后,也需要清理配置信息表中的數(shù)據(jù)。首先建立一個(gè)條件構(gòu)造器,利用被刪除套餐的套餐id作為查詢條件將相關(guān)配置信息查詢出來(lái),最后利用”remove()”方法將相關(guān)配置信息刪除。具體代碼為:

    ”LambdaQueryWrapperlambdaQueryWrapper=newLambdaQueryWrapper<>();lambdaQueryWrapper.in(SetMealService::getSetmealId,ids);setmealServiceService.remove(lambdaQueryWrapper);”。

    3.6 公共字段自動(dòng)填充

    本系統(tǒng)多涉及到時(shí)間,創(chuàng)建者等方面的問(wèn)題,如用戶注冊(cè)時(shí)的時(shí)間、服務(wù)更新時(shí)的時(shí)間、是誰(shuí)進(jìn)行了服務(wù)的更新等。為了解決這些問(wèn)題,可以創(chuàng)建一個(gè)工具類,每當(dāng)進(jìn)行插入和更新操作以及其他操作時(shí),系統(tǒng)會(huì)自動(dòng)記錄下這些信息。

    為了完成上述功能,關(guān)鍵的是需要讓工具類繼承“MetaObjectHandler”接口,該接口是MyBatis-Plus提供的一個(gè)擴(kuò)展接口,可以利用這個(gè)接口在插入或者更新數(shù)據(jù)的時(shí)候,為一些字段指定默認(rèn)值。利用該接口可以快速的實(shí)現(xiàn)該功能。當(dāng)進(jìn)行插入操作時(shí)除了填充創(chuàng)建者和創(chuàng)建時(shí)間外,不能讓更新者和更新時(shí)間為空。所以要同時(shí)插入相關(guān)的值。具體代碼為:

    ”metaObject.setValue("createTime", LocalDateTime.now());metaObject.setValue("updateTime", LocalDateTime.now());metaObject.setValue("createUser", BaseContext.getCurrentId());metaObject.setValue("updateUser", BaseContext.getCurrentId());”。

    當(dāng)進(jìn)行更新操作時(shí),只需要改變更新時(shí)間和更新者就行,創(chuàng)建時(shí)間和創(chuàng)建者則不需要改變。具體代碼為:

    ”metaObject.setValue("updateTime", LocalDateTime.now());metaObject.setValue("updateUser", BaseContext.getCurrentId());”。

    通過(guò)上述操作,系統(tǒng)就能實(shí)現(xiàn)公共字段的自動(dòng)填充的功能。

    4? 結(jié)語(yǔ)

    “喵站”寵物綜合服務(wù)平臺(tái)成功實(shí)現(xiàn)了管理員新增服務(wù)、套餐、分類的功能,并且可以通過(guò)訂單號(hào)和時(shí)間區(qū)間進(jìn)行對(duì)訂單的查詢。用戶端用戶也能通過(guò)手機(jī)驗(yàn)證碼進(jìn)行登錄注冊(cè)并且可以進(jìn)行對(duì)商品的購(gòu)買、購(gòu)物車的管理、地址簿的管理,也具有查詢歷史訂單的功能。本平臺(tái)兼具用戶與后臺(tái),能較好地滿足用戶與門(mén)店操作方面的需求。

    參考文獻(xiàn)

    [1]姜麗莉,孫自梅.基于SSM的“C++微課堂”在線實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代信息科技,2022,6(3):36-38.

    [2]郭建衛(wèi).基于SpringBoot+Mybatis+Vue的學(xué)生德育量化考核系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代信息科技,2023,7(1):18-22.

    [3]李煥,彭科,姜琳琳,朱進(jìn).學(xué)生成長(zhǎng)檔案管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代信息科技,2022,6(3):5-8.

    [4]楊華.基于SSM的寵物店信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2019.

    [5]唐蘇旭.基于SpringBoot的房屋租賃系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:首都經(jīng)濟(jì)貿(mào)易大學(xué),2021.

    [6]田成龍,陸曉寒,嚴(yán)夢(mèng)瑤,周鑫.基于SpringBoot的成績(jī)排名系統(tǒng)[J].軟件,2021,42(10):129-132.

    [7]蘇小偉.基于SpringBoot的汽車維修企業(yè)智能化管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2022.

    欧美日韩国产亚洲二区| 国产av一区在线观看免费| 成人国产麻豆网| 黄色一级大片看看| 国产av一区在线观看免费| 成熟少妇高潮喷水视频| 久久久久精品国产欧美久久久| 色噜噜av男人的天堂激情| 啦啦啦观看免费观看视频高清| 在线观看午夜福利视频| 我的女老师完整版在线观看| 不卡一级毛片| 内射极品少妇av片p| 免费黄网站久久成人精品| 中国美女看黄片| 国产精品av视频在线免费观看| 天堂av国产一区二区熟女人妻| 桃色一区二区三区在线观看| 日日撸夜夜添| 在线观看免费视频日本深夜| 国产综合懂色| www.色视频.com| 亚洲经典国产精华液单| 国产91av在线免费观看| 99久国产av精品国产电影| 亚洲av成人av| 日日啪夜夜撸| 99视频精品全部免费 在线| 国产精品久久久久久久久免| 丰满乱子伦码专区| 永久网站在线| 亚洲人成网站在线观看播放| 欧美另类亚洲清纯唯美| 久久精品国产亚洲网站| 午夜精品在线福利| 日韩欧美精品免费久久| 日本爱情动作片www.在线观看 | 91午夜精品亚洲一区二区三区| 日日摸夜夜添夜夜添小说| 日本黄色片子视频| 超碰av人人做人人爽久久| 久久人人精品亚洲av| 久久精品91蜜桃| 老熟妇乱子伦视频在线观看| 看黄色毛片网站| 九九爱精品视频在线观看| 国产片特级美女逼逼视频| 老司机影院成人| 日本黄大片高清| 啦啦啦韩国在线观看视频| 男人的好看免费观看在线视频| 成人特级黄色片久久久久久久| 中文字幕免费在线视频6| 嫩草影院新地址| 久久亚洲精品不卡| 免费看a级黄色片| 99国产极品粉嫩在线观看| 日本与韩国留学比较| 亚洲av中文av极速乱| 悠悠久久av| 国内精品一区二区在线观看| 午夜福利成人在线免费观看| 日韩成人av中文字幕在线观看 | 俺也久久电影网| 亚洲熟妇熟女久久| 亚洲国产高清在线一区二区三| 99精品在免费线老司机午夜| 亚洲精品乱码久久久v下载方式| 51国产日韩欧美| 中国美女看黄片| 成人午夜高清在线视频| 国产成年人精品一区二区| 波多野结衣高清无吗| 变态另类成人亚洲欧美熟女| 亚洲无线观看免费| 久久精品国产亚洲av涩爱 | 美女xxoo啪啪120秒动态图| 男人舔奶头视频| 国内精品美女久久久久久| 中文字幕精品亚洲无线码一区| 黄色视频,在线免费观看| 国产精品无大码| 成人毛片a级毛片在线播放| 黄色欧美视频在线观看| 99国产精品一区二区蜜桃av| 亚州av有码| 精品久久久久久久久亚洲| 日本五十路高清| 波多野结衣巨乳人妻| 午夜激情福利司机影院| 能在线免费观看的黄片| 麻豆国产97在线/欧美| 深夜a级毛片| 我的老师免费观看完整版| 日韩国内少妇激情av| 成人欧美大片| 亚洲图色成人| 国产日本99.免费观看| 18禁在线无遮挡免费观看视频 | 成熟少妇高潮喷水视频| 亚洲人与动物交配视频| 久久久久国内视频| 一夜夜www| 黑人高潮一二区| 亚洲美女黄片视频| 国产亚洲精品久久久久久毛片| 亚洲在线自拍视频| a级毛色黄片| 欧美xxxx黑人xx丫x性爽| 欧美zozozo另类| АⅤ资源中文在线天堂| 日本黄色视频三级网站网址| 国产午夜精品论理片| 日韩欧美免费精品| 最新中文字幕久久久久| 亚洲成人中文字幕在线播放| 欧美bdsm另类| 亚洲精品粉嫩美女一区| 色哟哟·www| 中国国产av一级| 春色校园在线视频观看| 国产视频内射| 久久久久九九精品影院| 一区二区三区四区激情视频 | 一a级毛片在线观看| 亚洲自拍偷在线| 精品一区二区三区人妻视频| av福利片在线观看| 免费av观看视频| 欧美潮喷喷水| 天堂影院成人在线观看| 干丝袜人妻中文字幕| 国产片特级美女逼逼视频| 毛片女人毛片| 日本免费a在线| 久久精品影院6| 美女黄网站色视频| www日本黄色视频网| 日本五十路高清| 三级男女做爰猛烈吃奶摸视频| 97超碰精品成人国产| 啦啦啦观看免费观看视频高清| 欧洲精品卡2卡3卡4卡5卡区| 日本撒尿小便嘘嘘汇集6| 久久国内精品自在自线图片| av在线播放精品| 俄罗斯特黄特色一大片| 免费高清视频大片| 草草在线视频免费看| 国内揄拍国产精品人妻在线| 亚洲美女视频黄频| 久久久久久九九精品二区国产| 成人高潮视频无遮挡免费网站| 成人美女网站在线观看视频| 日韩欧美国产在线观看| 干丝袜人妻中文字幕| 国产中年淑女户外野战色| 毛片女人毛片| 午夜免费激情av| 欧美日韩乱码在线| 欧美性猛交黑人性爽| 亚洲内射少妇av| 日韩中字成人| 欧美又色又爽又黄视频| 国产精品综合久久久久久久免费| 亚洲成人av在线免费| 一个人看视频在线观看www免费| 91在线观看av| 啦啦啦韩国在线观看视频| 精品一区二区三区av网在线观看| 别揉我奶头 嗯啊视频| 一卡2卡三卡四卡精品乱码亚洲| 夜夜夜夜夜久久久久| 中文字幕精品亚洲无线码一区| 三级毛片av免费| a级毛色黄片| a级毛色黄片| 麻豆av噜噜一区二区三区| 成年免费大片在线观看| 国产69精品久久久久777片| 狂野欧美白嫩少妇大欣赏| 欧美xxxx性猛交bbbb| 午夜爱爱视频在线播放| 亚洲四区av| 国内精品宾馆在线| 亚洲高清免费不卡视频| 亚洲aⅴ乱码一区二区在线播放| 国产精品精品国产色婷婷| 亚洲最大成人av| 久久久久久国产a免费观看| 亚洲自偷自拍三级| 亚州av有码| 亚洲内射少妇av| 成人特级av手机在线观看| 男女边吃奶边做爰视频| 国产国拍精品亚洲av在线观看| 我的女老师完整版在线观看| 久久中文看片网| 丰满人妻一区二区三区视频av| 美女黄网站色视频| 国产欧美日韩精品亚洲av| 有码 亚洲区| 欧美性猛交黑人性爽| 国产黄色小视频在线观看| 我要搜黄色片| 六月丁香七月| 性色avwww在线观看| 男人的好看免费观看在线视频| 亚洲三级黄色毛片| 成年免费大片在线观看| 三级毛片av免费| 国产欧美日韩一区二区精品| 久久九九热精品免费| 午夜爱爱视频在线播放| 乱系列少妇在线播放| 一级黄片播放器| 麻豆av噜噜一区二区三区| 色av中文字幕| 99热这里只有是精品50| 午夜精品一区二区三区免费看| 青春草视频在线免费观看| 在线国产一区二区在线| 91狼人影院| 特级一级黄色大片| 尾随美女入室| 久久久久久久久久成人| 色综合色国产| 你懂的网址亚洲精品在线观看 | 久久人人爽人人爽人人片va| 天堂动漫精品| 亚洲精品国产成人久久av| 超碰av人人做人人爽久久| 欧美zozozo另类| 国模一区二区三区四区视频| 日韩亚洲欧美综合| 一进一出抽搐动态| 桃色一区二区三区在线观看| 亚洲av电影不卡..在线观看| 久久精品国产鲁丝片午夜精品| 免费人成在线观看视频色| 最近最新中文字幕大全电影3| 大又大粗又爽又黄少妇毛片口| 看黄色毛片网站| 内射极品少妇av片p| 亚洲人成网站在线播放欧美日韩| 全区人妻精品视频| 神马国产精品三级电影在线观看| 91av网一区二区| 国产成人福利小说| 午夜福利在线观看吧| 一本一本综合久久| 毛片女人毛片| 亚洲成a人片在线一区二区| 中文字幕免费在线视频6| 国产成人a区在线观看| 色5月婷婷丁香| 波野结衣二区三区在线| 人妻夜夜爽99麻豆av| 最好的美女福利视频网| 男女做爰动态图高潮gif福利片| 丰满的人妻完整版| 五月玫瑰六月丁香| 舔av片在线| 亚洲五月天丁香| 亚洲人与动物交配视频| 午夜精品国产一区二区电影 | 亚洲国产精品合色在线| 亚洲中文字幕日韩| 日日啪夜夜撸| 男人舔女人下体高潮全视频| 99热网站在线观看| 哪里可以看免费的av片| 深爱激情五月婷婷| 亚洲高清免费不卡视频| 亚洲人与动物交配视频| 成年av动漫网址| 18+在线观看网站| 国产白丝娇喘喷水9色精品| 身体一侧抽搐| 久久国产乱子免费精品| 99久久中文字幕三级久久日本| 日韩强制内射视频| 亚洲精品影视一区二区三区av| 性色avwww在线观看| 最近在线观看免费完整版| 成人二区视频| 成人综合一区亚洲| 不卡视频在线观看欧美| 国产一级毛片七仙女欲春2| 午夜福利18| 国产私拍福利视频在线观看| 久久综合国产亚洲精品| 亚洲精品久久国产高清桃花| 最近的中文字幕免费完整| 久久草成人影院| 亚洲三级黄色毛片| 一个人看视频在线观看www免费| 成年女人看的毛片在线观看| 国产三级在线视频| 亚洲自偷自拍三级| 岛国在线免费视频观看| 国产片特级美女逼逼视频| 国模一区二区三区四区视频| 麻豆国产av国片精品| 国产精品久久视频播放| 国产麻豆成人av免费视频| 又爽又黄a免费视频| 午夜免费男女啪啪视频观看 | 国产一区二区在线av高清观看| 日韩av在线大香蕉| 亚洲成a人片在线一区二区| 精华霜和精华液先用哪个| 亚洲熟妇熟女久久| 99久久无色码亚洲精品果冻| 熟女人妻精品中文字幕| 国产aⅴ精品一区二区三区波| 国内久久婷婷六月综合欲色啪| 国产伦精品一区二区三区四那| 亚洲经典国产精华液单| 亚洲精品日韩在线中文字幕 | 日韩精品青青久久久久久| 搡女人真爽免费视频火全软件 | 一边摸一边抽搐一进一小说| 一进一出抽搐动态| 国产又黄又爽又无遮挡在线| 内射极品少妇av片p| 不卡一级毛片| 国产不卡一卡二| 听说在线观看完整版免费高清| 亚洲婷婷狠狠爱综合网| 亚洲成a人片在线一区二区| 联通29元200g的流量卡| 网址你懂的国产日韩在线| 又粗又爽又猛毛片免费看| 亚洲av免费在线观看| 一区二区三区免费毛片| 极品教师在线视频| 波多野结衣巨乳人妻| 不卡一级毛片| 亚洲欧美成人综合另类久久久 | 亚洲中文日韩欧美视频| 熟女电影av网| 18禁黄网站禁片免费观看直播| 综合色av麻豆| 国产成人a∨麻豆精品| 在线免费十八禁| 午夜福利高清视频| .国产精品久久| 亚洲专区国产一区二区| 久久精品国产亚洲av涩爱 | 国产视频一区二区在线看| 国产精品亚洲一级av第二区| 中文亚洲av片在线观看爽| 小说图片视频综合网站| 亚洲激情五月婷婷啪啪| 无遮挡黄片免费观看| 热99在线观看视频| 日韩欧美免费精品| 别揉我奶头~嗯~啊~动态视频| 久久人人爽人人片av| 精品久久久久久久久久久久久| 可以在线观看毛片的网站| 小蜜桃在线观看免费完整版高清| 人妻制服诱惑在线中文字幕| 寂寞人妻少妇视频99o| 变态另类成人亚洲欧美熟女| 无遮挡黄片免费观看| 国产精品久久久久久精品电影| 欧美一区二区亚洲| 久久国内精品自在自线图片| 国产视频内射| 精品久久久久久成人av| 成人综合一区亚洲| 亚洲,欧美,日韩| 22中文网久久字幕| 日本 av在线| 国产国拍精品亚洲av在线观看| 女人十人毛片免费观看3o分钟| 亚洲精品国产av成人精品 | 久久热精品热| 五月玫瑰六月丁香| 一本久久中文字幕| 内地一区二区视频在线| 亚洲最大成人中文| 美女免费视频网站| 嫩草影院新地址| 欧美丝袜亚洲另类| 美女被艹到高潮喷水动态| 在线观看免费视频日本深夜| 草草在线视频免费看| 亚洲七黄色美女视频| 亚洲欧美精品综合久久99| 国产成人一区二区在线| 国产三级中文精品| 听说在线观看完整版免费高清| 亚洲人与动物交配视频| 真人做人爱边吃奶动态| av在线蜜桃| 亚洲精品粉嫩美女一区| 99久久精品国产国产毛片| 欧美一级a爱片免费观看看| 亚洲国产高清在线一区二区三| 日韩欧美一区二区三区在线观看| 深爱激情五月婷婷| 少妇熟女欧美另类| 少妇的逼水好多| 亚洲精品亚洲一区二区| 色哟哟·www| 在现免费观看毛片| 又黄又爽又刺激的免费视频.| 婷婷亚洲欧美| www.色视频.com| 午夜爱爱视频在线播放| 美女被艹到高潮喷水动态| 内射极品少妇av片p| 日韩一本色道免费dvd| 成人特级av手机在线观看| 欧美xxxx性猛交bbbb| 青春草视频在线免费观看| 在线天堂最新版资源| 久久久久久久久久黄片| 国产亚洲精品久久久com| 国产又黄又爽又无遮挡在线| 日本-黄色视频高清免费观看| 99久久中文字幕三级久久日本| 亚洲高清免费不卡视频| 99热这里只有精品一区| 亚洲,欧美,日韩| 午夜福利18| 搡老妇女老女人老熟妇| 一本一本综合久久| 美女被艹到高潮喷水动态| av天堂在线播放| 欧美一区二区亚洲| 久久99热6这里只有精品| 免费av观看视频| 99久久久亚洲精品蜜臀av| 麻豆国产97在线/欧美| 好男人在线观看高清免费视频| 大又大粗又爽又黄少妇毛片口| 成人特级黄色片久久久久久久| 国产精品人妻久久久影院| 好男人在线观看高清免费视频| 欧美人与善性xxx| 国产精品av视频在线免费观看| 精品欧美国产一区二区三| 99精品在免费线老司机午夜| 午夜福利在线在线| 欧美激情在线99| 国产成人a区在线观看| 精品人妻偷拍中文字幕| 午夜亚洲福利在线播放| 国产精品永久免费网站| 亚洲成人久久性| 国国产精品蜜臀av免费| 久久草成人影院| 真人做人爱边吃奶动态| 最新中文字幕久久久久| 亚洲最大成人手机在线| 内射极品少妇av片p| 欧美精品国产亚洲| 人妻久久中文字幕网| 不卡一级毛片| 欧美日韩乱码在线| 亚洲在线观看片| 菩萨蛮人人尽说江南好唐韦庄 | 久久精品国产亚洲av涩爱 | 丰满人妻一区二区三区视频av| 能在线免费观看的黄片| 特级一级黄色大片| 亚洲精品色激情综合| 老司机午夜福利在线观看视频| 大型黄色视频在线免费观看| 一边摸一边抽搐一进一小说| 国产精品亚洲美女久久久| 国产精品日韩av在线免费观看| 麻豆一二三区av精品| av在线蜜桃| 97热精品久久久久久| 搞女人的毛片| a级毛片a级免费在线| 久久精品国产亚洲av天美| 99国产极品粉嫩在线观看| 男人的好看免费观看在线视频| 日韩国内少妇激情av| 麻豆国产97在线/欧美| 午夜久久久久精精品| 久久人人精品亚洲av| 午夜激情欧美在线| 我的老师免费观看完整版| 99久久无色码亚洲精品果冻| 中文字幕av在线有码专区| 精品午夜福利在线看| 精品99又大又爽又粗少妇毛片| 国产真实伦视频高清在线观看| 国产美女午夜福利| 色哟哟哟哟哟哟| 久久久久国内视频| 亚洲色图av天堂| 免费大片18禁| 亚洲av中文字字幕乱码综合| 国产伦精品一区二区三区视频9| 成人鲁丝片一二三区免费| 寂寞人妻少妇视频99o| 国产午夜精品论理片| 日产精品乱码卡一卡2卡三| 特级一级黄色大片| 人人妻人人澡人人爽人人夜夜 | 国产极品精品免费视频能看的| 99视频精品全部免费 在线| 麻豆久久精品国产亚洲av| 久久久久久伊人网av| 欧美色视频一区免费| 成人综合一区亚洲| 国产女主播在线喷水免费视频网站 | 亚洲经典国产精华液单| 久久99热这里只有精品18| 久久久久九九精品影院| 波多野结衣巨乳人妻| 精品一区二区三区人妻视频| 国产精品日韩av在线免费观看| 成人亚洲精品av一区二区| 国产精品久久久久久久电影| 亚洲成人精品中文字幕电影| 国产高清视频在线观看网站| 一级av片app| 日本熟妇午夜| 在线观看一区二区三区| 毛片女人毛片| 久久亚洲国产成人精品v| 国产三级在线视频| 搡老妇女老女人老熟妇| 国产久久久一区二区三区| 国产高清不卡午夜福利| 我的女老师完整版在线观看| 精品午夜福利视频在线观看一区| 黄色一级大片看看| 亚洲综合色惰| 一级黄片播放器| 国产成人精品久久久久久| 亚洲国产欧美人成| 成人二区视频| 人人妻,人人澡人人爽秒播| 国产精品美女特级片免费视频播放器| 欧美日韩国产亚洲二区| 亚洲精品成人久久久久久| 午夜老司机福利剧场| 级片在线观看| 身体一侧抽搐| 久久久精品94久久精品| 中出人妻视频一区二区| 99视频精品全部免费 在线| 亚洲av成人av| 亚洲成人久久爱视频| 中国美白少妇内射xxxbb| 日本-黄色视频高清免费观看| 色综合站精品国产| 在线免费观看不下载黄p国产| 国产午夜精品论理片| av中文乱码字幕在线| 男人和女人高潮做爰伦理| 在线播放无遮挡| 亚洲综合色惰| 国产人妻一区二区三区在| 成人特级黄色片久久久久久久| 亚洲无线在线观看| 亚洲欧美精品综合久久99| 午夜福利在线观看免费完整高清在 | 日日干狠狠操夜夜爽| 最近最新中文字幕大全电影3| 日韩精品青青久久久久久| 一本久久中文字幕| 国产高清不卡午夜福利| 国产一区二区亚洲精品在线观看| 亚洲人成网站在线播| 亚洲成人精品中文字幕电影| 国产欧美日韩一区二区精品| 国内精品一区二区在线观看| 日日摸夜夜添夜夜爱| 久久久精品大字幕| 大型黄色视频在线免费观看| 桃色一区二区三区在线观看| 日本五十路高清| 国产成人影院久久av| av福利片在线观看| 丰满的人妻完整版| 男人狂女人下面高潮的视频| 国产精品福利在线免费观看| 欧美色视频一区免费| 色哟哟哟哟哟哟| 国产精品久久久久久av不卡| 白带黄色成豆腐渣| 男女边吃奶边做爰视频| 国产欧美日韩精品一区二区| 国产精品免费一区二区三区在线| 午夜久久久久精精品| 亚洲乱码一区二区免费版| 国产日本99.免费观看| 精品一区二区三区视频在线观看免费| 日本爱情动作片www.在线观看 | 国产成人freesex在线 | 国产精品一区二区免费欧美| 一进一出好大好爽视频| 中文字幕人妻熟人妻熟丝袜美| 久久精品国产清高在天天线| 特大巨黑吊av在线直播| 国内少妇人妻偷人精品xxx网站| 熟女人妻精品中文字幕| 亚洲精品亚洲一区二区| 精品无人区乱码1区二区| 亚洲真实伦在线观看| 秋霞在线观看毛片| 日韩av不卡免费在线播放| 国产中年淑女户外野战色| 婷婷精品国产亚洲av在线|