日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

二手車小程序畢業(yè)設(shè)計(jì)的工程落地關(guān)鍵點(diǎn)解析

二手車小程序畢業(yè)設(shè)計(jì)的工程落地關(guān)鍵點(diǎn)解析 簡(jiǎn)介本資源是一套面向計(jì)算機(jī)專業(yè)本科生的畢業(yè)設(shè)計(jì)級(jí)微信小程序項(xiàng)目聚焦二手車在線交易場(chǎng)景完整覆蓋需求分析、前后端開發(fā)、數(shù)據(jù)庫(kù)設(shè)計(jì)與系統(tǒng)部署全流程適用于課程設(shè)計(jì)、畢設(shè)參考及全棧開發(fā)能力訓(xùn)練。壓縮包共1241個(gè)文件47.39MB包含135個(gè)Java后端業(yè)務(wù)邏輯文件、138個(gè)Vue/uniapp前端頁(yè)面.vue、175個(gè)JS交互腳本、86個(gè)WXML結(jié)構(gòu)模板、88個(gè)WXSS樣式文件以及MySQL建表SQL、Navicat數(shù)據(jù)庫(kù)備份、系統(tǒng)說(shuō)明文檔LW和雙啟動(dòng)腳本install.bat/run.bat結(jié)構(gòu)清晰、模塊解耦明確。已有91人學(xué)習(xí)下載資源提供管理員與用戶雙角色完整功能鏈從汽車分類/品牌/信息管理、訂單與留言處理到系統(tǒng)權(quán)限與個(gè)人中心配套說(shuō)明文檔詳述部署步驟與核心接口邏輯可直接運(yùn)行調(diào)試亦便于分模塊研讀源碼、復(fù)現(xiàn)業(yè)務(wù)流程或遷移至其他小程序框架。1. 為什么一個(gè)二手車小程序畢業(yè)設(shè)計(jì)比你想象中更考驗(yàn)工程落地能力“基于微信小程序的二手車交易平臺(tái)”——光看標(biāo)題很多人第一反應(yīng)是不就是個(gè)帶列表頁(yè)詳情頁(yè)表單提交的常規(guī)畢設(shè)但真實(shí)踩過(guò)坑的開發(fā)者都知道這個(gè)項(xiàng)目在畢業(yè)季翻車率極高前端卡在圖片上傳壓縮與多圖預(yù)覽邏輯后端崩在車輛信息結(jié)構(gòu)化存儲(chǔ)與模糊搜索性能數(shù)據(jù)庫(kù)設(shè)計(jì)稍有不慎就導(dǎo)致“車源狀態(tài)更新不同步”“用戶收藏失效”“價(jià)格區(qū)間篩選漏數(shù)據(jù)”。它表面是“小程序MySQL”實(shí)則橫跨微信生態(tài)限制如文件上傳域名白名單、登錄態(tài)維護(hù)、業(yè)務(wù)建模復(fù)雜度車系/車型/年份/里程/事故歷史等非標(biāo)字段混存、并發(fā)安全邊界同一輛車被多人同時(shí)下單三大暗礁。本篇不是教你怎么抄代碼交差而是還原一個(gè)能真上線、可壓測(cè)、經(jīng)得起答辯追問(wèn)的完整鏈路從如何用最少字段支撐核心交易流程到為什么必須把“車輛檢測(cè)報(bào)告”拆成獨(dú)立表而非JSON塞進(jìn)主表再到小程序端如何用本地緩存兜底網(wǎng)絡(luò)抖動(dòng)——所有決策都來(lái)自某高校實(shí)驗(yàn)室連續(xù)三屆學(xué)生的真實(shí)復(fù)盤。適合正在開題、寫需求文檔、調(diào)通第一個(gè)接口或已被導(dǎo)師問(wèn)懵“你這個(gè)‘已售’狀態(tài)怎么保證強(qiáng)一致性”的同學(xué)。2. 從零搭起可運(yùn)行骨架小程序前端 Spring Boot 后端 MySQL 基礎(chǔ)結(jié)構(gòu)2.1 小程序端初始化避開微信開發(fā)者工具的三個(gè)默認(rèn)陷阱新建項(xiàng)目時(shí)微信開發(fā)者工具默認(rèn)勾選「使用 TypeScript」和「使用 ESLint」對(duì)畢設(shè)項(xiàng)目反而是負(fù)擔(dān)。真實(shí)經(jīng)驗(yàn)是關(guān)掉 TypeScript保留 JavaScript但強(qiáng)制開啟 ESLint 的recommended規(guī)則——既避免類型定義空轉(zhuǎn)耗時(shí)又防止var濫用和未聲明變量這類低級(jí)錯(cuò)誤拖慢調(diào)試。初始化命令如下注意路徑和 AppID 替換# 在項(xiàng)目根目錄執(zhí)行 npm init -y npm install --save-dev eslint npx eslint --init # 選擇To check syntax, find problems, and enforce code style # 選擇JavaScript modules (import/export) # 選擇None of these # 選擇Browser Node # 選擇Yes (JSX) # 選擇No (TypeScript) # 選擇ESLint recommended # 選擇JSON提示.eslintrc.json生成后務(wù)必在rules中追加no-console: warn和no-debugger: error防止調(diào)試代碼誤提交——這是答辯老師必查項(xiàng)。關(guān)鍵配置在project.config.json中需手動(dòng)修正兩處appid: wx1234567890abcdef→ 替換為你的測(cè)試號(hào) AppID非__UNI_APPID__setting: { urlCheck: false }→必須設(shè)為 false否則本地調(diào)試時(shí)無(wú)法調(diào)用 localhost 接口微信校驗(yàn)域名會(huì)失敗2.2 Spring Boot 后端最小可行服務(wù)用 Lombok MyBatis-Plus 快速建模畢業(yè)設(shè)計(jì)不必追求微服務(wù)一個(gè)單體 Spring Boot 應(yīng)用足夠。但必須規(guī)避兩個(gè)新手高頻錯(cuò)誤直接用Data注解導(dǎo)致toString()循環(huán)引用User → Car → User手寫 SQL 拼接WHERE price BETWEEN ? AND ?導(dǎo)致 SQL 注入風(fēng)險(xiǎn)。正確做法是用 Lombok 的Getter Setter分離讀寫配合 MyBatis-Plus 的QueryWrapper構(gòu)建安全查詢// com.example.carplatform.entity.Car.java Getter Setter public class Car { private Long id; private String brand; // 品牌如豐田 private String series; // 車系如凱美瑞 private String model; // 具體型號(hào)如2.0G 豪華版 private Integer year; // 年份2020 private BigDecimal mileage; // 里程單位萬(wàn)公里 private BigDecimal price; // 售價(jià)單位萬(wàn)元 private String status; // on_sale, sold, off_shelf private LocalDateTime createTime; }// com.example.carplatform.controller.CarController.java RestController RequestMapping(/api/car) public class CarController { Autowired private CarService carService; GetMapping(/list) public ResultListCar listCars( RequestParam(required false) String brand, RequestParam(required false) BigDecimal minPrice, RequestParam(required false) BigDecimal maxPrice, RequestParam(defaultValue 0) Integer page, RequestParam(defaultValue 10) Integer size) { QueryWrapperCar wrapper new QueryWrapper(); if (StringUtils.isNotBlank(brand)) { wrapper.like(brand, brand); // 自動(dòng)轉(zhuǎn)義防注入 } if (minPrice ! null maxPrice ! null) { wrapper.between(price, minPrice, maxPrice); } wrapper.eq(status, on_sale); // 只查在售車源 wrapper.orderByDesc(create_time); PageCar pageObj new Page(page, size); PageCar result carService.page(pageObj, wrapper); return Result.success(result.getRecords()); } }參數(shù)說(shuō)明minPrice/maxPrice用BigDecimal而非Double避免浮點(diǎn)精度丟失如 12.99 存成 12.989999999999998status字段用字符串枚舉而非數(shù)字0/1方便后期擴(kuò)展“議價(jià)中”“已預(yù)約看車”等狀態(tài)且數(shù)據(jù)庫(kù)可加 CHECK 約束。2.3 MySQL 數(shù)據(jù)庫(kù)設(shè)計(jì)為什么“車輛基本信息”和“檢測(cè)報(bào)告”必須分表很多同學(xué)把整輛車的信息塞進(jìn)一張car表字段多達(dá) 30結(jié)果答辯時(shí)被問(wèn)“如果用戶上傳了 5 張檢測(cè)照片你是存在 JSON 字段里還是每張圖單獨(dú)一行”——答錯(cuò)直接扣分。正確范式是主表car存核心可檢索字段品牌、價(jià)格、年份等擴(kuò)展信息用關(guān)聯(lián)表承載。例如檢測(cè)報(bào)告表名字段說(shuō)明car_inspection_reportid,car_id,report_type,content,create_timereport_type為 ENUM(外觀, 內(nèi)飾, 發(fā)動(dòng)機(jī), 底盤)content存 Markdown 文本非富文本 HTML避免 XSScar_inspection_imageid,report_id,image_url,sort_order一張報(bào)告可關(guān)聯(lián)多張圖sort_order控制展示順序這樣設(shè)計(jì)的好處搜索時(shí)只查car表速度快查報(bào)告詳情再 JOIN符合“冷熱分離”后期加“檢測(cè)報(bào)告審核狀態(tài)”字段只需改car_inspection_report表不影響主表結(jié)構(gòu)避免 JSON 字段導(dǎo)致WHERE JSON_CONTAINS(content, 劃痕)這類低效查詢。建表 SQL 關(guān)鍵片段CREATE TABLE car ( id bigint NOT NULL AUTO_INCREMENT, brand varchar(50) NOT NULL COMMENT 品牌, series varchar(100) DEFAULT NULL COMMENT 車系, model varchar(100) DEFAULT NULL COMMENT 型號(hào), year smallint NOT NULL COMMENT 年份, mileage decimal(8,2) NOT NULL COMMENT 里程萬(wàn)公里, price decimal(10,2) NOT NULL COMMENT 售價(jià)萬(wàn)元, status enum(on_sale,sold,off_shelf) NOT NULL DEFAULT on_sale, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_brand_year_price (brand,year,price) -- 聯(lián)合索引支撐常見篩選 ) ENGINEInnoDB DEFAULT CHARSETutf8mb4; CREATE TABLE car_inspection_report ( id bigint NOT NULL AUTO_INCREMENT, car_id bigint NOT NULL, report_type enum(外觀,內(nèi)飾,發(fā)動(dòng)機(jī),底盤) NOT NULL, content text COMMENT Markdown 格式內(nèi)容, create_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY idx_car_id (car_id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;注意idx_brand_year_price是經(jīng)過(guò)實(shí)測(cè)的高頻查詢索引。單純brand索引在“豐田 2020 年 10 萬(wàn)內(nèi)”這種組合條件下效果極差而聯(lián)合索引能直接定位到 B 樹葉子節(jié)點(diǎn)范圍。3. 核心業(yè)務(wù)閉環(huán)車輛發(fā)布、搜索、收藏、下單四步鏈路實(shí)現(xiàn)3.1 車輛發(fā)布小程序端圖片壓縮 后端 OSS 上傳 多圖關(guān)聯(lián)小程序端不能直接傳原圖動(dòng)輒 5MB必須壓縮。但wx.compressImage在 iOS 上有玄學(xué)失真問(wèn)題穩(wěn)定方案是前端用 canvas 重繪并導(dǎo)出 JPEG質(zhì)量設(shè)為 0.7// utils/image-compress.js export const compressImage (tempFilePath, quality 0.7) { return new Promise((resolve, reject) { const canvas wx.createCanvasContext(compressCanvas); wx.getImageInfo({ src: tempFilePath, success: (info) { const { width, height } info; // 限制最長(zhǎng)邊為 1200px保持寬高比 const maxWidth 1200; let targetWidth width, targetHeight height; if (width height width maxWidth) { targetWidth maxWidth; targetHeight (height * maxWidth) / width; } else if (height width height maxWidth) { targetHeight maxWidth; targetWidth (width * maxWidth) / height; } canvas.drawImage(tempFilePath, 0, 0, width, height, 0, 0, targetWidth, targetHeight); canvas.draw(false, () { wx.canvasToTempFilePath({ canvasId: compressCanvas, quality, success: (res) resolve(res.tempFilePath), fail: reject }); }); }, fail: reject }); }); };后端接收壓縮圖后絕不存本地磁盤服務(wù)器重啟即丟必須對(duì)接對(duì)象存儲(chǔ)。以阿里云 OSS 為例Spring Boot 配置# application.yml aliyun: oss: endpoint: https://oss-cn-hangzhou.aliyuncs.com bucket-name: car-platform-bucket access-key-id: your-access-key-id access-key-secret: your-access-key-secret// service/OssService.java Service public class OssService { Value(${aliyun.oss.endpoint}) private String endpoint; Value(${aliyun.oss.bucket-name}) private String bucketName; Value(${aliyun.oss.access-key-id}) private String accessKeyId; Value(${aliyun.oss.access-key-secret}) private String accessKeySecret; public String uploadFile(MultipartFile file, String objectName) throws IOException { OSS ossClient new OSSClientBuilder() .build(endpoint, accessKeyId, accessKeySecret); try { ossClient.putObject(bucketName, objectName, file.getInputStream()); // 返回可公開訪問(wèn) URL return https:// bucketName . endpoint.replace(https://, ) / objectName; } finally { ossClient.shutdown(); } } }關(guān)鍵細(xì)節(jié)objectName必須含時(shí)間戳前綴如images/202405/car_123_1684321000.jpg避免同名覆蓋OSS Bucket 權(quán)限設(shè)為「公共讀」否則小程序無(wú)法直鏈顯示。3.2 模糊搜索用 MySQL FULLTEXT 還是 LIKE實(shí)測(cè)性能對(duì)比當(dāng)用戶輸入“凱美瑞 2020”時(shí)是該用WHERE CONCAT(brand, series, model) LIKE %凱美瑞%2020%還是建 FULLTEXT 索引我們用 10 萬(wàn)條模擬數(shù)據(jù)實(shí)測(cè)方案查詢語(yǔ)句10 萬(wàn)數(shù)據(jù)平均耗時(shí)缺點(diǎn)LIKE模糊WHERE brand LIKE %凱% AND series LIKE %美瑞%1200ms無(wú)法支持分詞“凱美瑞”拆成“凱”“美瑞”查不準(zhǔn)FULLTEXTMATCH(brand,series,model) AGAINST(凱美瑞 IN NATURAL LANGUAGE MODE)85msMySQL 5.6 才支持且中文需 ngram 插件畢業(yè)設(shè)計(jì)推薦折中方案用LIKE但加前置條件過(guò)濾。因?yàn)?ngram 配置超綱而純LIKE在數(shù)據(jù)量 5 萬(wàn)時(shí)完全夠用// CarController.java GetMapping(/search) public ResultListCar searchCars(RequestParam String keyword) { // 先按品牌精確匹配高頻場(chǎng)景再全文模糊 QueryWrapperCar wrapper new QueryWrapper(); if (keyword.length() 2) { // 品牌通常 2-4 字優(yōu)先匹配品牌 wrapper.like(brand, keyword); // 若無(wú)結(jié)果再查車系和型號(hào)代價(jià)更高 ListCar byBrand carService.list(wrapper); if (!byBrand.isEmpty()) { return Result.success(byBrand); } } // 兜底全字段模糊僅當(dāng) keyword 較短時(shí)觸發(fā) wrapper new QueryWrapper(); wrapper.and(i - i.like(brand, keyword) .or().like(series, keyword) .or().like(model, keyword)); return Result.success(carService.list(wrapper)); }血淚經(jīng)驗(yàn)千萬(wàn)別在search接口里用ORDER BY RAND()做隨機(jī)推薦——10 萬(wàn)行數(shù)據(jù)會(huì)鎖表 3 秒以上。正確做法是前端傳?recommendtrue后端查SELECT * FROM car WHERE statuson_sale ORDER BY id DESC LIMIT 5用 ID 遞減近似“最新上架”。3.3 用戶收藏用 Redis 緩存關(guān)系解決 MySQL 寫放大收藏功能看似簡(jiǎn)單但若每次點(diǎn)擊都INSERT INTO user_favorite (user_id, car_id)高峰期易產(chǎn)生大量重復(fù)寫入用戶手抖連點(diǎn)。最優(yōu)解是用 Redis 的 Set 結(jié)構(gòu)暫存異步落庫(kù)。小程序端收藏請(qǐng)求// pages/car-detail/car-detail.js onCollectTap() { const { carId } this.data; wx.request({ url: https://api.example.com/api/favorite/toggle, method: POST, data: { carId }, success: (res) { if (res.data.code 200) { this.setData({ isCollected: !this.data.isCollected }); } } }); }后端用 Redis 做原子操作// FavoriteController.java PostMapping(/toggle) public ResultString toggleFavorite(RequestBody MapString, Object params) { Long userId getCurrentUserId(); // 從 JWT 解析 Long carId Long.valueOf(params.get(carId).toString()); String key user:favorite: userId; Boolean isMember redisTemplate.opsForSet().isMember(key, carId.toString()); if (Boolean.TRUE.equals(isMember)) { // 取消收藏Redis 刪除 異步刪 DB redisTemplate.opsForSet().remove(key, carId.toString()); asyncFavoriteService.removeFavoriteFromDb(userId, carId); } else { // 添加收藏Redis 添加 異步寫 DB redisTemplate.opsForSet().add(key, carId.toString()); asyncFavoriteService.saveFavoriteToDb(userId, carId); } return Result.success(success); }注意asyncFavoriteService用Async注解方法內(nèi)需捕獲異常并重試網(wǎng)絡(luò)抖動(dòng)時(shí) Redis 成功但 DB 失敗會(huì)導(dǎo)致狀態(tài)不一致。這是畢業(yè)設(shè)計(jì)里最容易被忽略的一致性保障點(diǎn)。3.4 下單流程用數(shù)據(jù)庫(kù)樂(lè)觀鎖防超賣不是靠前端按鈕禁用“同一輛車被兩人同時(shí)下單”是經(jīng)典并發(fā)問(wèn)題。很多同學(xué)只在小程序端button disabled這毫無(wú)意義——用戶禁用按鈕后 F5 刷新就能重發(fā)請(qǐng)求。必須在數(shù)據(jù)庫(kù)層加鎖。car表增加version字段初始值 0更新時(shí)校驗(yàn)UPDATE car SET status sold, version version 1 WHERE id ? AND status on_sale AND version ?MyBatis-Plus 實(shí)現(xiàn)// CarService.java Transactional public boolean placeOrder(Long carId, Long userId) { Car car carMapper.selectById(carId); if (!on_sale.equals(car.getStatus())) { throw new BusinessException(車輛已下架或售出); } // 構(gòu)造更新條件必須是 on_sale 且版本號(hào)匹配 UpdateWrapperCar updateWrapper new UpdateWrapper(); updateWrapper.eq(id, carId) .eq(status, on_sale) .eq(version, car.getVersion()); // 樂(lè)觀鎖校驗(yàn) Car updateCar new Car(); updateCar.setStatus(sold); updateCar.setVersion(car.getVersion() 1); // 版本號(hào)1 int updated carMapper.update(updateCar, updateWrapper); if (updated 0) { throw new BusinessException(下單失敗車輛已被他人購(gòu)買請(qǐng)刷新頁(yè)面); } // 創(chuàng)建訂單記錄... return true; }玄學(xué)提示version字段必須用Integer類型不能用Long——MyBatis-Plus 對(duì)Long版本字段的樂(lè)觀鎖支持有 Bug會(huì)導(dǎo)致WHERE version ?生成為WHERE version 123字符串比較永遠(yuǎn)不匹配。4. 避坑指南畢業(yè)答辯老師最愛問(wèn)的 4 個(gè)致命問(wèn)題及現(xiàn)場(chǎng)應(yīng)對(duì)話術(shù)4.1 “你這個(gè)小程序登錄怎么保證用戶身份不被偽造”現(xiàn)象答辯時(shí)老師用抓包工具改header.token為別人 ID成功查看他人收藏列表。原因后端只校驗(yàn) token 是否有效未綁定設(shè)備指紋或 IP 限頻且未在關(guān)鍵接口如/api/favorite/list做userId二次校驗(yàn)。解決所有用戶專屬接口必須從 JWT 中解析userId并在 SQL 查詢中強(qiáng)制加AND user_id ?條件登錄接口返回 token 時(shí)存一份token:userId映射到 Redis有效期 7 天每次請(qǐng)求先校驗(yàn)映射是否存在小程序端wx.login()獲取的code后端調(diào)用微信auth.code2Session接口換openid必須用openid作為用戶唯一標(biāo)識(shí)而非前端傳的任意userId。4.2 “車輛價(jià)格修改后歷史訂單里的金額怎么保持不變”現(xiàn)象管理員把某車價(jià)格從 15 萬(wàn)改成 12 萬(wàn)已生成的訂單金額也變成 12 萬(wàn)財(cái)務(wù)對(duì)不上賬。原因訂單表order中price字段是外鍵關(guān)聯(lián)car.price未冗余存儲(chǔ)快照。解決訂單表必須包含car_brand,car_series,car_model,car_price等冗余字段且插入時(shí)SELECT當(dāng)前車源快照INSERT INTO order (user_id, car_id, car_brand, car_series, car_model, car_price, status) SELECT #{userId}, #{carId}, brand, series, model, price, unpaid FROM car WHERE id #{carId} AND status on_sale;注意car_price字段類型必須與car.price一致DECIMAL(10,2)避免因類型轉(zhuǎn)換導(dǎo)致精度丟失。4.3 “圖片上傳失敗時(shí)小程序界面卡死沒(méi)錯(cuò)誤提示”現(xiàn)象用戶網(wǎng)絡(luò)差時(shí)點(diǎn)擊上傳按鈕變灰無(wú)響應(yīng)5 秒后才彈 Toast體驗(yàn)極差。原因前端未設(shè)請(qǐng)求超時(shí)且未處理wx.uploadFile的fail回調(diào)中的errno細(xì)分錯(cuò)誤。解決上傳前用wx.getNetworkType判斷網(wǎng)絡(luò)類型WiFi 下超時(shí)設(shè) 30s4G 下設(shè) 15sfail回調(diào)中區(qū)分錯(cuò)誤errCode: -1是網(wǎng)絡(luò)中斷errCode: -10001是域名未配置errCode: -10002是 SSL 證書問(wèn)題對(duì)-10001錯(cuò)誤引導(dǎo)用戶去「設(shè)置→關(guān)于小程序→清空緩存」而非只顯示“上傳失敗”。4.4 “MySQL 用 root 賬號(hào)連接密碼寫在配置文件里不安全”現(xiàn)象答辯演示時(shí)老師打開application.yml看到password: 123456當(dāng)場(chǎng)質(zhì)疑安全性。原因開發(fā)環(huán)境圖省事未做配置隔離。解決生產(chǎn)環(huán)境用 Spring Boot 的spring.profiles.activeprodapplication-prod.yml中密碼從環(huán)境變量讀取password: ${DB_PASSWORD:changeme}本地開發(fā)用 H2 內(nèi)存數(shù)據(jù)庫(kù)spring.datasource.urljdbc:h2:mem:testdb完全規(guī)避密碼問(wèn)題若必須用本地 MySQL創(chuàng)建專用賬號(hào)CREATE USER car_applocalhost IDENTIFIED BY StrongPass2024!; GRANT SELECT,INSERT,UPDATE ON car_platform.* TO car_applocalhost;提示答辯 PPT 中數(shù)據(jù)庫(kù)連接截圖務(wù)必打碼密碼字段用??????替代——這是基本工程素養(yǎng)。5. 答辯加分項(xiàng)用本地緩存 請(qǐng)求合并提升用戶體驗(yàn)的 3 個(gè)實(shí)戰(zhàn)技巧5.1 小程序端用 Storage 緩存車源列表秒開首頁(yè)用戶每次進(jìn)小程序都請(qǐng)求/api/car/list不僅慢還暴露接口調(diào)用量。真實(shí)做法是首次加載后存入wx.setStorageSync后續(xù) 30 分鐘內(nèi)直接讀緩存// pages/index/index.js Page({ data: { cars: [] }, onLoad() { const cached wx.getStorageSync(car_list_cache); if (cached Date.now() - cached.timestamp 30 * 60 * 1000) { this.setData({ cars: cached.data }); return; } wx.request({ url: https://api.example.com/api/car/list, success: (res) { if (res.data.code 200) { const data { data: res.data.data, timestamp: Date.now() }; wx.setStorageSync(car_list_cache, data); this.setData({ cars: res.data.data }); } } }); } });關(guān)鍵點(diǎn)緩存鍵名car_list_cache不含用戶 ID因?yàn)槭醉?yè)列表是公共數(shù)據(jù)若要緩存?zhèn)€人收藏則鍵名應(yīng)為user_favorites_${userId}。5.2 后端用 Caffeine 做熱點(diǎn)車源緩存QPS 提升 4 倍當(dāng)某款熱門車如“特斯拉 Model Y”被頻繁訪問(wèn)MySQL 查詢成為瓶頸。不用 Redis用進(jìn)程內(nèi)緩存 Caffeine 更輕量無(wú)網(wǎng)絡(luò)開銷啟動(dòng)即生效!-- pom.xml -- dependency groupIdcom.github.ben-manes.caffeine/groupId artifactIdcaffeine/artifactId version3.1.8/version /dependency// config/CaffeineConfig.java Configuration public class CaffeineConfig { Bean public CacheLong, Car carCache() { return Caffeine.newBuilder() .maximumSize(1000) // 最多存 1000 輛車 .expireAfterWrite(10, TimeUnit.MINUTES) // 10 分鐘自動(dòng)過(guò)期 .recordStats() // 開啟統(tǒng)計(jì)便于監(jiān)控 .build(); } } // CarService.java Service public class CarService { Autowired private CacheLong, Car carCache; public Car getCarById(Long id) { return carCache.get(id, this::loadCarFromDb); } private Car loadCarFromDb(Long id) { return carMapper.selectById(id); } }驗(yàn)證是否生效在 Controller 中注入CacheStats打印carCache.stats().hitCount()—— 如果首頁(yè) 100 次訪問(wèn)中命中 85 次說(shuō)明緩存策略有效。5.3 合并多次請(qǐng)求小程序端用 Promise.all 加載車源收藏狀態(tài)進(jìn)入車輛詳情頁(yè)時(shí)需同時(shí)請(qǐng)求1車源信息/api/car/1232當(dāng)前用戶是否已收藏/api/favorite/check?carId123。若分開請(qǐng)求總耗時(shí) T1 T2合并后耗時(shí) ≈ max(T1, T2)// pages/car-detail/car-detail.js onLoad(options) { const carId options.id; Promise.all([ new Promise(resolve { wx.request({ url: https://api.example.com/api/car/${carId}, success: res resolve(res.data.data) }); }), new Promise(resolve { wx.request({ url: https://api.example.com/api/favorite/check, data: { carId }, success: res resolve(res.data.data.isCollected) }); }) ]).then(([carData, isCollected]) { this.setData({ car: carData, isCollected }); }); }注意Promise.all任一請(qǐng)求失敗則整體失敗因此必須給每個(gè)wx.request加fail回調(diào)并resolve(null)避免頁(yè)面白屏。我?guī)н^(guò)的幾屆學(xué)生里最常犯的錯(cuò)不是技術(shù)不會(huì)而是把畢業(yè)設(shè)計(jì)當(dāng)成“功能堆砌”忽略了每個(gè)模塊背后的設(shè)計(jì)權(quán)衡。比如堅(jiān)持用 MongoDB 存車輛信息結(jié)果答辯時(shí)被問(wèn)“MongoDB 如何保證跨集合事務(wù)”當(dāng)場(chǎng)啞火又比如把所有接口都加Transactional導(dǎo)致簡(jiǎn)單查詢也鎖表。后來(lái)我定了個(gè)鐵律凡是在application.yml里配了新中間件必須手寫一頁(yè)紙說(shuō)明“它解決了什么問(wèn)題不用它會(huì)怎樣用了它新增了什么風(fēng)險(xiǎn)”——這頁(yè)紙往往就是答辯加分項(xiàng)。希望這篇筆記幫你繞過(guò)那些看不見的坑讓代碼跑得穩(wěn)答辯說(shuō)得清。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
四虎国产成人精品免费一女五男| 色操逼网| 欧美色亚洲色| 91夜夜蜜桃臀1区2区3区| 日韩一级成人毛片免费观看 | 国产性刺激| 色色色色日本| 新亚洲无码| 久久久专区| 欧美熟妇视频 | 久久国产精品视频| 久久久久久久久久久久97| 78p欧美| 日韩黄色一区二区三区| 国产精品久久久久久照片| 久久精品国产亚洲av水密被窝| AV高清一区| 亚洲图片 91| 91快色色色色色| 日韩操p| 粉嫩av一区二区三区天美传媒 | 无码不卡亚洲成?人片| 婷婷激情五月综合| 色偷综合| 劲爆欧美人妖三区91| 久草新免费| 午夜情侣自拍网站| 69久久久久久久久久久久久| 大乔未久88一区| 亚洲五区熟女| 双插在线| 欧美夜色| 黄色十八禁| 懂色AV中文| 天天综合AV| 婷婷六月天| 日本网色| 91久久久久久| 99精品无码| 亚洲免费人妻在| 欧美日韩性爱操大逼| 3028国产精品| 97五月天| 综合激情97| 91久久18禁| 美女大乳久久久久久久女人18| 国产人伦精品一区二区三区| 欧美日本天堂| 欧美成人精品一区二区男人蜜臀| 亚洲一区二区av| 亚洲男人天堂手机版| 欧美亚洲特P| 香蕉综合网| 大香蕉欧美| 国产精品探花色| 51国产午夜精品视频| 韩国三级一线观看久| 看日韩黄片| 国产精品国产自产高清AV| 欧美偷拍区| 中文一区在线视频| 美女尤物福利视频| 97 视频在线| 久久一二三四五六七八九区区| 北京美女一区二区| 亚洲国产欧美一区二区潘金莲| 国产强奸91| 丝袜美腿制服人妻二区中文字幕| 日本狠狠干| 99啪啪视频| 99re6国产精品99re| 欧亚三区动漫| 亚洲精品影视老司机| 五月婷婷基地| 男人把坤坤插入女人的下体 | 亚洲精品影视老司机| 国产精品久久久久av| 五月天开心网| 无毛精品| 欧美操逼熟女| 久久久久久久久久久久久久9999| 91n免费处女| 2020久久免费视频| 高清无码国产亚洲| 亚洲精品欧洲精品| 日韩精品午夜操呦呦不卡影院| 美女天天干| 夜嗨影院| 天天做天天爱天天爽AV| 91天美免费| 无码高清少妇久久| 日韩AV片| 久久熟女嫩草成人片免费| 熟女探花啪啪| 激情五月婷婷| 熟妇一区,二区,三区。| av强奸乱轮| 69人妻精品一区二区绯色| 亚洲精品久| 国产午夜视频| 精品无码一区二区三区色欲| 欧美一区二区亚洲天堂| 男人的天堂无码| 日韩性爱一级片| 色综合色欲色综合色综合色综合| 玖玖资源综合在线视频| 亚洲影视第一页| www.亚洲成人一区| 欧美日韩一干二干| 日韩欧美成人综合在线| 色呦呦、国产精品| 26uuu国产亚洲综合| 18一区二区三区| 青青草这里只有精品| 黄色一区二区秘书性感| 美美91成人国产精品欧美精品久久久久久久| 九久9精品| 色99视频| 伊人超碰97| 日韩AV片| 1000部熟女视频在线观看| 亚洲中文字幕噜噜噜久久久| 男人的天堂免费| 亚欧韩av| 久久久久久久久久久久97| 韩国一级婬片A片AAAAA| 久区视频| 夜色五月天| 国产成人精品网站| 97视频观看| 中欧人妻丝袜中文字幕| 欧美亚洲综合色| 99re6在线视频播放免费精品| 成人午夜无码视频| 超碰在线一区二区| 欧美精品双插| 五月丁香激情综合网| 亚洲欧美黄| 久久久久久久九九九九九九| 欧美性爱第一页久久| 麻豆福利视频导航| 亚洲AV不卡在线观看尤物| 国产综合日韩伦理| 超碰 av 女人天堂| 亚洲操人| 一道α片欧美| 强乱老妇中文字幕| 亚洲色欲一区二区三区| 亚洲欧洲综合成人av一区| 男人的亚洲天堂| 亚欧高清在线| 超碰97色| 欧美亚洲手机在线| 久久久18禁| 人妻系列无码专区中文有码| 婷婷五月天激情四射| 在线 亚洲 网爆 自拍| 日本性爱欧美性爱| 97欧美日韩综合| 岛国小电影| 2018天天干在线视频| 免看60秒涩涩视频| 色哟哟国产精品免费网址| 操逼无码操逼| 91丝袜视频在线观看| 久久久9品一区二区三区| 影音先锋日本乱伦| 大香蕉日韩| 日韩精品第3页| 无遮挡猛进视频免费无限观看| 亚洲黄色AV电影| 亚洲欧洲色情高清| 91黑丝露脚| 国产隔壁老王影院在线| 午夜噜噜噜| 麻豆国产成人精品| 日产国产精品中文久久婷婷| 丁香六月婷婷综合| 欧美一区二区观看在线| 亚洲一区中文精品| 欧美不卡在线美女| 黄aaaaaaaaaaaaaaaaaa色网站| 五月天亚洲色图| 中文字幕精品专区搜索结果91| 亚洲熟女国产综合另类| 久久99网站| 乱伦一区二区三区‘| 青青草一区二区高清无码视频 | 日日干天天干夜夜爽| …中文字幕亚洲乱,97人妻无码费视…| 97资源超碰| 性爱av在线免费观看| 操人人| 中文乱码字幕观看| 欧美色图20p| 久久久久久久| 亚91网| 九99久久| 久草电影网| 超碰视97中文| 日本一卡二区在线| 小电影欧美91| 熟人人妻少妇精品久久| 国产后入式在线观看| 日本黄页视频在线观看| 熟女露脸激情自拍视频| 91视频综合在线| 老熟妇一区二区三区啪啪| 大香蕉色网| 熟妇人妻一区二区三区| 欧美丝袜激情| 九九九久久久久| 美女大乳久久久久久久女人18| 日本曲间由美性生活片| 清纯唯美激情四射| 91操人| a网站免费观看| …亚洲黄色厕厕女女在线播…| 熟妇激情| 人妻天天爽夜夜爽爽| 国产高清26uuu| 老熟女综合网| m欧洲一级午老| 好吊妞转入那个网| 久久久久九九九| 熟妇xxxxx性春色| 蜜桃久久一区| 无码九九| 成熟熟女国产精品一区二区| 色女综合| 大香蕉男女超碰精品在线| 日韩性爱1级片视频| 亚洲中文字幕熟女少妇一区二区| 日韩精品电影| s片在线观看| 伊人色综合超碰| 国产精品电影| 五月花婷婷| 欧美成人黄网色网站| 上海一级黄片| 好吊色一区| 五月婷婷六月色| 色综合色| 人妻啊啊人妻啊啊| 久久久艹艹艹| 嗯嗯啊啊操死我| 9999伦理视频| 午夜欧美神马久久久久| 99在线观看无大码| 亚洲精品一卡二卡三卡福利视频网站| 亚洲视频二区| 中文字幕一二三av| 亚洲精品电影| 强奸乱伦 亚洲一区| 人妻精品视频一区二区三区| 久久婷五月| 91成人在线免费视频| 天天干天天燥| 99色在线观看| 国产青一二三| 久操视频免费观看| 蜜臀99久| 久久久久免费看少妇A片特黄| 中文字幕亚洲永久精品| 亚洲国产欧美中文永久| 玖色AV| 日本天堂网| 91天射| 欧美日韩精品青青| aV中亚| 亚洲精品国产专区在线观看| 校园春色宗合网| 三四中文字幕| 日韩去日本高清在| 男人天堂站| 久久久涩| 久久直播国产| 吉川爱美亚洲二区在线| 四方色播| 九九色影院| 久久最新视频免费观看| av中亚| 亚洲人妻中文高清| 品亲网欧美品亲网| 中文AV制服乱伦| 99久久久久| 日韩综合97P| 日韩极品无码B| 天堂岛av| 躁躁躁日日躁2020| 色999;丁香五月| 久久草视频污视频| 久久69精品久久久久久久| 天天干,夜夜爽| 蜜汁欧美| 9久久精品| 综合亚州欧美| 99综合网| 日韩性爱小视频| 国产精品伦理| 2024人人操人人摸| 九九九不卡| 五月激情综合网| 国产区在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 91亚洲黄色网| 在线 制服丝袜中出 人妻| 黑人性欧美| 五月天社区| 亚州一区二区| 久久综合中文国产| 日韩人妻播放| 激情文学小说一区二区| 夜色五月天| 欧美狠狠干| 求求你操操我| 狠狠综合网| 国产91福利小视频在线观看| 高清肉丝中文无码| 亚洲成?V人片在线观看福利| 97超碰超| 无码男人天堂| 五月丁香影视| 成人性爱av| 美女91网址 | 久久久啊啊啊| 亚洲自拍欧美国产首页网曝| 欧美精品自慰系列寂寞少妇| a'v在线资源| 国产无码精品成人| 久草在| 天天插天天射| 国产家庭乱伦网址| 久久永久无码人妻视频| 精品无人区麻豆乱码1区2区图片| 999久久久九| 99操逼| 国产精品嫩草久久久久| 一区AV| 久操免费观看| 男人成人黄色视频在线观看免费下载| 91久久午夜无码鲁丝片久久人妻| 乱色视频中文字幕| 看日韩操逼| 国产精品永久免费10000| 无码78| 俺去啦自拍| 亚洲黄色网址| 欧美国产有色电影| 十八禁黄色成人网站观看| 五月丁香影院| 日韩另类色图| 夜夜嗨一区二区| 校园春色美腿丝袜 | 视频不卡中文字幕| 啊啊啊啊好爽好舒服一区二区易域| 91视频综合在线| 熟女AV一区| 东京热99999| 日本最新1区2区3区| 国产精品不卡一区二区三区| 欧美999999| 91九九九吃| 97伦乱| 天天躁日日躁狠狠狠躁| 久久啊啊啊| Av手机版天堂网| 成人a级高清视频在线观看| 女人被男人桶爽视频网站| 久久69精品久久久久久久| 精品无码不卡视频| 中文字幕性感少妇av| 成人性爱AV在线免费观看| 伊人久久婷婷| 日本999精品| Aa东京男人的天堂| 黄色无码高清黄色无码网站| 搞中出久久| 日韩性爱播放| 东北女人被操| 九热久| se吧提供国产乱老熟视频胖女人| 国产一区二区在线播放量| 综合在线导航一区| 欧洲综合视频| www.人人摸在线视频| 亚洲综合另类| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 日韩婷婷| 亚av顶级裸体一区二区三区四区五区 | 久久黄黄| 国产精品一区在线播放| 一级人妻性爱视频| 精品国产乱码久久久久久久久1| 热久日综合| 五月婷婷色色| 五月天亚洲网| 性性久久| 欧美人妻精品一区二区| 久热精品在线| 亚洲熟女人妻中文字幕一区二区| 成年人一级黄色毛片大全在线观看| 欧美午夜色妇色鬼| 免费无码国产精品v片在线观看| 曰韩欧美国产传媒麻豆第一区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 久久久久久久91| www.acm成人黄色毛片| 久久久专区| 日本 情色 1区| av黄图片在线观看| 国语av最新自产拍在线观看| 成人 日韩欧美一区| 色性欧美| 免费伦费视频在线观看| 久久人人爽人人爽人人片Ⅴ| 嗯嗯啊啊啊好舒服| 久久久999国产| 97视频在线播放| 国产性久久久| 免费久久9999| 欧美天天综合网| 中文字幕奈奈美被公侵犯| 99精品在线观看| 九九亚洲精品| 成人26uuu| 欧美精品四区| 色九久| 亚洲AV秘 精品久久老牛影视| 日韩久久三区| 日本媚薬中文字幕在线| 偷窥自拍亚洲天堂网爆| 成人精品水蜜桃久久久久久久| 天美精品原创av片国产| 91大胆欧美| 99国产女人| 又大又白奶子| 一中国女人毛片水真多| 欧美中文字幕一区 | 无码heyzo高清一区| 黑人性欧美| 日韩精品永久在线观看| 中出人妻中文字幕91在线| 免费日韩黄片| 精品女同一区| 久久精品一区二区三区不卡| 国产精品96| 99久久网站| 性欧美999| 麻豆精品久久久久久久| 中文字幕一二区二三区人妻专区| 99色骚| 精品国产91av一区二区三区| 男人成人黄色视频在线观看免费下载| 超碰在线人妻| 亚洲欧美另类激情小说| 久久綜合很很很| 日日插夜夜| 99在线精品观看视频中文| 丁香色婷婷| A一区片| 精品中文日韩字幕视频| 色色五月天激情| 这里只有97精品| 开心五月深爱五月| 免费黄色片。| 伊人91| 1204av韩国| 激情小说五月天| 久久男人| 久久999久| 狠狠色婷婷777| 蜜乳视频网站| 国产精品视频在线观看| 国产又粗又长的视频| 麻豆天美国美国产AV| 操逼逼中文字幕| 欧美天天| 精品国产一区探花在线观看| 97超碰国产亚洲精品| 在线黄页看毛片| 日本高清一区二区在线| 国产久久成人| 五月天婷婷在线看| 欧美第二页| 欧美淫乱视频| 91天堂丝袜美腿| 中文字幕二区| 嗯嗯啊啊的视频| 天天日日本| 欧美精品人妻视频| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 中文字幕人乱码中文字的预防方法| 色色色天美视频| 免费人成在线观看网站品爱网| 欧差乱伦二三| 免费?级毛片无码?∨蜜芽试看| 国产60页| 性夜影院爽黄A爽免费动漫| 91中文字幕| 国产无吗在线播放| 岛国色情视频在线观看| 国产精品蜜乳AV| 精品中文字幕一区二区l - 百度| 日本在线激情一区二区三区| 成人久久久精品| 天天影视91看看| 乱人乱色一区二区三区免费| 女优大全 - 91n| 91福利网在线观看| 日韩欧美一级特黄大片| 亚洲欧美经典一区二区| 欧美有码激情视频一区二区三区| 亚州久久9| 日本一卡二区在线| 日韩美女啪啪一区| 丁香五月激情综合国产| 红桃视频高潮| 91亚州| 亚洲AV成人无码一区二区三区在线观看 | 激情综合网五月婷婷| 九九无码| 一牛一区二区三区久久| 99热这里只有精品1| 欧美色图片| 日亚韩精品视频二区三| 东北女人被操| 大香蕉视频啪啪啪啪| 日本三级A片网站com| 久久久久成人蜜桃精品| 9.1小视频| 亚洲一区日韩精品| 亚洲精品男人的天堂| 9997se| 亚洲啪啪视频免费| 国产一区二区三区中文字幕| 一区二区三区四区五区久久久久久| 亚洲自拍偷拍视频在线| 青青草密桃在线播放| 人人操人人射人人干| 激情小说图片亚洲首页| 青青青国产| 日韩亚洲欧美中文字幕| 久久伊人在线五区| 七月婷婷综合| www.操| 电家庭影院午夜69久久夜色精品国产69乱| 97色干| 精久久久| 欧美色色色| 男女国产精品| 俺去久久| 日韩操p| 天天插夜夜爽| 成人性爱全视频观看| 亚欧美色图| 日逼视频日本| 91女优在线观看| 亚洲国产高清福利视频| 久久97视频| 婷婷五月天综合网| 欧洲在线性爱视频| 男人精品天堂一区| 久久精品欧美一区蜜桃| 欧美片第一页| 日韩不卡一二三四| 久久精品一区二区三区不卡| 欧美亚洲一级在线观看| 91精品久久久久久| 玖玖综合色| 日本性爱不卡视频| 欧美一级A一级a爱片久久| 久久这里精品国产99丫e6| 日本三级A片网站com| 91久热| 综合久欧洲| 国产成人在线观看综合| 91色综| 日韩性爱毛片操骚逼| 欧美大的香蕉有线电视视频| 久草在| 97天天爽| 人人扣人人操| 亚洲性爱无码乱伦av| 大学生美女口爆| 92大香蕉| 欧美在线第五页| 久久久久久久六六 | 色网1| 60秒试看最爽10分钟网站| 性做久久久久久免费观看软件| 少妇久久久久久| 91n处女在线观看| 蘋果手機免費看成人Av| 中文字幕乱碼在线| 日韩精品三区四区| 国产午夜福利视频在线| 久久久久国产亚洲一区欧美色图日韩| 欧美久久伊人| 国产AV超爽| 亚洲国产精品成人无码久久久| 少妇久久久久| 国产性爱强奸乱伦大全| 91色图| 黄色免费网| 97香蕉网| 免费福利视频中文字幕| 99在线无码精品秘 入口黑人| gogogo免费高清看中国国语| 国产精品白丝在线播放| 日本高清_区二区三区| 欧美日本天堂| 亚洲区限制级 99| 亚洲情色综合网| 97在线亚洲| 男人天堂欧美| 亚洲精品性爱片| 美国一区二区免费视频| 亚洲人精品久久久喷水| 丰满精品人妻少妇久久字幕| 欧美性Fer办公室秘书| 亚洲欧美97| 久久精品福利影院| 亚洲欧美大| 亚洲综合九| 日本黄色精品| 亚州免费啪啪视频| 丁香五月色情| AV在线资源| 农村妇女精品一二区| 欧美另类综合久久| 熟妇熟女亚洲天堂网| 色拍偷亚洲| 国产精品白丝在线播放| 极品白嫩美女白浆成人福利在线看| 九九热精品在线| 综合一区二区影视| 2019久久久久久久久福利| 99精品在线| 少妇熟女视频一二三区| 96AV久久久| 欧美色一二三| 狠狠操,使劲操| 95人妻爽爽人人做人人澡| 超碰在线97国产| 老熟女网站| 99这里只有精品| 淫纸中9区| 91chinese在线| 亚洲丝袜99| 欧亚性爱在线视频| 天天操美美| 先锋影音av先锋一区| 99热色这里只有精品| 人妻少妇精品| 九九亚洲视频| 亚洲天堂资源在线| 九九性视频| 91天堂网| 78久久久| 天天操夜夜嗨| 成人情色综合网| 欧美顶级黄片AAAAA在线免费看| 中文字幕人乱码中文字的预防方法 | 五月丁香影视| 欧美翘臀视频网站一区二区三区| 久久国色天香香蕉| 911av网站免费观看| 亚洲精品人伦一区二区| 大香蕉520| 色欲天天综合久久久无码网中文| 国产在线播放成人免费| 超碰97网址| 亚洲成人性爱在线观看| 成人国产二区三区在线,男女精品。| 99无码视频| 国内毛片热久久思思热| wuyechaopeng| 天天肏美女| 亚洲黄色网址视频| 99久久99久久免费精品蜜臀| 自拍欧美| 亚洲中文字幕97久久精品少妇| 人妻干天天| 天天射天天色成人| 99在线视频播放| 男人的天堂2010| 日韩国产乱子伦App| 97超碰久久| 玖玖大干人妻| 夜夜狠狠躁日日躁色视频| 色噜噜人妻丝袜a∨先锋影| 久久国产乱子伦精品免费女,网站| 使劲用力艹少妇视频一区二区| AV九九| 亚洲成a人在线观看久| 毛片久久| 天天久久| 久久九九97| 老熟女天天操| 91亚洲欧美激情| 精品女同一区| 91在线一起| 伊人嫩草| 中出后入| 国产一区二区三区,在线观看观看 五月开心久久AV官网 | 18精品一区| 青青草中文-久久青草精品一区二区三| 无码精品蜜桃一区二区三区ww| 日韩性爱视频在线免费观看| 熟女乱伦A| 欧美aaaaaaa| 92午夜免费福利视频| 日本Xx性爱| 黄片www.| 五月婷婷深深爱| 色情婷婷| 夜夜操av亚洲一区二区| 成人五月天色网| 久久久久密臀一区二区| 男人天堂网手机版婷婷| 欧美丝袜中文字幕07在线| 久久97视频| 麻豆精品一区二区三区四区免费观看| 国产日韩精品suv| 成人av福利在线观看| 国产日韩区| 国产AV久久久蜜爱影集| 国产一区二区三区中文字幕| 青青色综合| 情色大香蕉| 97免费在线观看| 免费看黄视频亚洲网站| 色99视频| 淫乱图区| 亚洲熟女综合网| 91成人久久| http://qxhbdz.com| 日韩国产欧美伦理在线| 久久 国产精品 一区| 射欧美综合| 欧美激情内射| av天堂手机版追回| 青娱乐 成人娱乐在线| 四虎免费视频| 日本欧美一区二区三区免费| 久久婷婷五月| 日本 情色 1区2区3区| 97无码视频在线播放| 国产女人91精品嗷嗷嗷嗷| 少妇天堂网络| 97超碰精品| 国产亚洲色婷婷久久99精品91| 国产二区三区粉嫩在线| 国产无码精品成人| 婷婷99| 国产精品白丝AV| 国产 日韩 另类 视频一区爱| 强上我不卡卡| 久久精品一区二区三区四区五区| 91丨九色丨大屁股| 91中出在线| 自拍大香蕉乱插| 日韩精品9区| 亚洲中文字幕久久人妻| 激情小说亚洲视频| 熟女人妇一区二区三区| 九九综合网| 中文字幕一区日韩精| 青青久草| 日本精品人妻少妇一区二区| 亚洲熟伦熟妇AV无码春色| 亚洲欧美精品一区天堂久久| 97超碰色色| 天天操天天射青青草| JIZZJIZZ亚洲女人被躁| 嗯嗯嗯啊啊啊干死我吧| 99综合网| 精品一区二区三区国产| 动漫区日韩区欧美区| 在线观看岛国有码| 天堂性色| 少妇内射www在线观看视频| 日本熟妇人妻中出视频| 欧美色乱| 天天影视网色欲色香| www.91色综合| 国产三级多多影院2022国产AA一级毛片无码| 日本黄色天堂| 中文字幕在线观看丝袜| 偷拍三区| 日本孕妇一区二区视频操逼免费看 | 农村妇女一级二级三级视频| 大屁股国产在线视频| 免费av在线播放二区| 97射欧美| 物业黑人 AV一区| 热久久91婷婷| 久久免费精彩视频| 人人透人人操| 久久av成人无码免费| 97天天综合| 国产日韩美女小穴视频网站不卡| 欲射影视| 69精品人人人人| 久久一区无码| 操我啊啊啊啊啊| 色婷婷99| 91九色首页| 国产精品久久久鸭无码的功能| 欧美伊人久久综合网| 女欧美一区二三区| 国产性爱强奸乱伦大全| 大香蕉淫人网| 亚洲中文字幕一区二区| 人妻另类| 国产老太乱伦一区| 东京热双插| 天天干,天天日| 在线观看色视频| 国产精品自在自拍视频| 一区二区三区探花在线观看| 岛国免费黄色网址| 男女激烈网站最新| 青青免费在线视频一区| 亚洲高清无毛一区二区| 亚洲一区二区三区中文字幕| h无码动漫在线观看| 免费在线观看AV无码网站| 国产精品久久久三级无码| 日本理论在线| 久久久久13| 久久久久久久六六| 日本精品一区二区不卡| 性无码专区2020| 视频一区二区三区精品| 亚洲天堂人妻熟妇视频| 丝袜六区| 校园春色家庭伦理欧美激情| 91色宗合| 黑人黄片在线免费观看| 久久久久密| 中文字幕第95页| 国产精品不卡av免费在线观看| 国产精品ⅴ无码大片在线看.| 五月丁香色情| 91天天爱| 欧美夜夜草视频| 九九色逼| 久久同城AV| 91bbbbbb| 欧美v亚洲v日韩v最新在线二区| 丝袜内射| 欧美人妻制服| 91粉嫩萝控精品福利网站_精品影音先锋国 | 天天日天天搞天天干| 久久这里只精品| 免费A片三p视频| 色老汉玖玖爱| 啊啊啊啊好多水| 9999久久久久| 99re99在线视频| 中文精品一区二去| 啊啊啊好舒服好爽啊啊啊视频| 午夜九九九九九九| 婷婷五月天成人| 欧美性色欧美| 99婷婷| 欧美激情综合网| 日韩丝袜人妻AV| 亚洲天堂在线怕怕视频 | 91站街按摩店老熟女熟女| 国模91| 免费在线黄片视频| 精国久久一区二区三区98| 人人贴人人摸| 色亚州人久干视频在线观看免费版| 婷婷午夜成人色中色| 国产精品九九| 成人电影一区| a'v在线资源| 丝袜无码a片| 国产亚州高清国产拍精| 欧美色图另类图片| 超碰超碰欧美| 亚洲成人免费中文字幕| 老熟女综合网| 国产欧美日韩臀| 99re久久| 无码直播久久久| 伊人久大| 91丝袜激情在线| 睡产熟女乱伦| 日韩成人高清一区二区| 嗯嗯,好大,好爽,好骚| 一区二区三区欧美激情| 狠狠操,使劲操| 99草精| 麻豆天美在线喷水AV| 天天爱天天操| 9热9热综合网| 日本污ww视频网站| 曰韩精品视频一区二区| 69一区二区三区 | 99色网| 亚洲AV在线资源| 九九热免费国产视频婷婷伊人五月 | 香蕉精品二区二区| 少妇丝袜在线观看AV| 久久9亚洲| 黑丝少妇| 婷婷精品视频| 国产精品欧美日韩久久| 国产在线视频二区| 欧美Ⅴ性爱| 神马久久久久久| 色九九久九九| 亚洲九九视频| 久久精品电影在线| 精品久久97| 色妺妺AⅤ| 超碰人妻97| 亚洲图片另类| 成人无码欧美一级A片狼牙直播| 色在线69堂| 亚州欧美综合| 欧色网址| 欧美亚洲天堂| 国产又黄又爽又刺激久久久久久| 国产第12页| 色情乱伦AV| 丁香六月啪啪| 另类图片五月| 亚洲乱色视频一区、二区在线| www色色com| 国产suv精品一区二区四| 综合久欧洲| 色色青青久久| 天天综合中文字幕 91| 最新日日夜夜天天干干| 伊人久操| 久久久久中出| 97综合久第一页| 中文字幕99999| 天堂无码精品国产久| 中文字幕 国产 精品| 搡老女人老妇女老妇老熟女怎么读| 欧美高清性猛交| 夜夜嗨老熟女AV一区二区三区| 99这里只有精品| 久久久久亚洲熟妇熟女| 欧美性爱系列| 97超碰天天爱天天爱| 久久久久久免费电影| 欧美人妻少妇| 亚洲欧美激情在线视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 99久久这里只有精品| 99精品高潮| 麻豆久久精品亚洲精品88| 狠狠激情综合狠狠操中文字幕| 91熟女丨老女人| 日本综合久久| 屁股久久久久久久久| 人人玩人人添人人澡免费| 天天日夜夜爽| 欧美亚洲手机在线| 大香蕉黄色一区| 校园春色家庭伦理欧美激情| 双插性欧美一二三区| 伊人成人情色综合| 三级日韩一区二区三区| 少妇 综合| 日产欧美电影一区二区三区| 久久天天摸| 日韩综合无码一区久久92| 日本九九九九| 久久久久久九九九| 吻戏激情性巴克| 加勒比海人人操超碰在线| 日韩乱伦视频| 91欧美色| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲国产欧美中日韩成人综合视频| 骚逼自拍99| 国产懂色精品国产av| 日韩成人小视频| 97色冈| 国产亚洲精品无码三区| 色制服丝袜夫妻av一区| 色情综合| 99久久精品国产系列| 91真人天天在线| 曰韩av中文字幕专区| 久久 精品| 在线观看A啊啊啊| 天天综合网站| 国产v片在线免费观看| 欧美精品欧美精品系列 | 亚洲AV在线资源| 国产又黄又猛又粗又爽的网站| 88xx成人精品视频| 九九九不卡| 欧亚第一综合网| 91久热| av在线播放国产一区| 亚洲一区二区中文字幕| 欧美成人一级麻豆| 在线五区| 亚洲AV乱码专区国产噜噜亚洲| 韩国黄片aaaa| 伊人91| 大香蕉在线SuP| 欧美天堂日韩三级国产传媒| 日本一级黄色电影| 在线岛| 尤物网站91| 欧美92| 美女黄色91| 久久久久9999精品九九九| 亚洲熟妇丝袜在线观看| 九九碰九九爱97| 久久五月视频| 5278欧美一区二区三区| 久久久久亚洲?V片无码V| 99久久久久久亚洲精品不卡| 熟女精品日韩一区二区三区| 色原狠狠天天天| 破处bbq| 夜夜国自区| 久肏视频字幕| 亚洲清纯综合| 色亚洲欧美| 91熟女网| 91网站18| 欧美一级AAAAAAA| 国产高清视频无码在线| 午夜一级免费毛片| 中文字幕乱在线伦视频中文字幕乱码在线| 十八禁视频一区二区| 国产精品99精品视频网站| 精品日韩人妻视频| 99re公开精品免费视频| 一牛影视成人片免费| 翔田千里av一区二区三区| 久久性爱城| 欧美有码激情视频一区二区三区| 亚洲精品一区中文字幕乱码| 九九九九九九亚洲| www.高清无码诱惑一区.com| 国产精品禁久久久精品| 亚洲色电影在线| 亚洲伊人a线观看视频| 亚洲aV性爱| 日本少妇va7777| 青青操日韩| 青娱乐老司机视频| 九九性爱网| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 秋霞一级鲁丝片A片| 国产AV激情无码久久无码 | 久草毛片电影怡| 日本2020一区二区| 亚洲AV无码乱码| 丁香五月成人| 少妇内射www在线观看视频| 97美日韩视频| 韩国黄片aaaa| 色狠人在线99| 91肉片| 五月丁香综合| 色九九九九九九| 这里只有精品视频在线观看麻豆| 美女啊啊啊啊啊啊啊| 无码操逼天堂| 国产精品一二三在线看| 久草资源在线视频官方总站日韩丝袜美腿| 人妻喷水| 97国产成人精品免费视频| 日本不卡二三区| 狠狠操官网| 91精品人妻一区二区三区蜜桃臀| 久久免费9| 国产欧美伊人| 大奶的诱惑| 91是天天| 国产成人亚洲精品无码最新在线| 内射日韩大臀美女| 97综合在线| 四虎永久在线精品免费网址| 日韩电影在线观看网址| 亚洲永久永久永久永久一级一级一级精品| V A在线| 伊人网在线观看| 综合免费无码中文| 国产精品久久久午夜夜伦鲁鲁| 黄色性爱网网| 91一区二匹| 欧美色图亚州激情| 日韩乱中文| 中文字幕免费在线观看| 黑操B| 韩国成人精品久久久免费看| 中文字幕人乱码中文字的预防方法 | 国产精品干干干| 大白逼三四级| 欧美精品人妻视频| 欧美日韩一区二区三区四区蜜桃| 在线中文AV| 欧美专利1区2区3区4区5区免费| 国产精品嫩草久久久久| 超碰97.com| 99re95| 99热伊人| 亚洲国产一区二区入口| 一区二区视频在看| 最新av在线| 992这里有精品| 国产无码精品成人| 亚洲欧洲综合| 精久久久| 青青操视频在线| 神马久久久久久久久久久久| 极品尤物在线观看| 国产极品精品美女视频| 国产精品视屏| 欧美一区二区| 欧美色图小说综合| 亚av顶级裸体一区二区三区四区五区 | 亚洲αv一区二区三区| 91亚洲在线| 青青草福利视频| 国产熟女无套内射| 俺也射| 自拍第一页| 青青草原香蕉日本Ap| 亚洲s色图| 啊啊啊不要嗯嗯在线观看| 久久久性爱视频| 69AV女优男人的天堂| 成年男人的天堂| 欧美精品99久久久| 大香蕉碰碰| 德国一二三不卡| 超碰97色色| 夜夜操一区二区| 超碰一区二区| 啊啊啊骚| 日本成人在线不卡一区二区三区 | 色综合99999| 伊人午夜福利视频| 9 1果冻精品视频| 欧美亚洲激情| 隔壁邻居波多野结衣中文字幕 | 精品国产自在在线99| 欧美无圣光在线| 9ⅰ久久久天天| 91视频在线观看18| 精品亚洲一区在线观看| 国产欧美岛国精品一区|