免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

SpringBoot+Vue林業(yè)產(chǎn)品推薦系統(tǒng)畢設(shè)項(xiàng)目:前后端分離與協(xié)同過濾算法實(shí)踐

SpringBoot+Vue林業(yè)產(chǎn)品推薦系統(tǒng)畢設(shè)項(xiàng)目:前后端分離與協(xié)同過濾算法實(shí)踐 畢設(shè)選題季一到后臺私信里問得最多的就是“有沒有一個能拿得出手、工作量適中、技術(shù)棧又主流的項(xiàng)目”。我通常第一反應(yīng)就是推薦SpringBootVue這套前后端分離的組合——如果再給它安上一個“推薦系統(tǒng)”的業(yè)務(wù)場景那基本就是一石三鳥技術(shù)棧夠新、業(yè)務(wù)有深度、論文也好寫。這篇博文就完整拆解一個SpringBootVue林業(yè)產(chǎn)品推薦系統(tǒng)管理平臺的源碼設(shè)計(jì)思路從需求拆解、技術(shù)選型、數(shù)據(jù)庫設(shè)計(jì)到前后端核心實(shí)現(xiàn)、部署答辯把整個項(xiàng)目的來龍去脈都捋清楚。不管你是正在做畢設(shè)的應(yīng)屆生、想寫課設(shè)的在校生還是單純想練手前后端分離加推薦算法的開發(fā)者這篇文章都能讓你少走不少彎路。1. 項(xiàng)目到底做什么需求拆解與功能模塊很多人拿到項(xiàng)目標(biāo)題第一反應(yīng)是“敏度”第二反應(yīng)是“下一個關(guān)鍵詞”。實(shí)際上任何一個畢設(shè)項(xiàng)目能拿高分第一步不是寫代碼而是把需求拆明白。推薦系統(tǒng)管理平臺看起來是個通用詞但加上“林業(yè)產(chǎn)品”這個限定詞之后它的業(yè)務(wù)邏輯就有了明確的落點(diǎn)。1.1 角色與核心業(yè)務(wù)場景這個系統(tǒng)本質(zhì)上是一個商城加推薦服務(wù)兩類角色普通用戶消費(fèi)者瀏覽林業(yè)產(chǎn)品比如各類木制品、林下食用菌、堅(jiān)果類、苗木花卉等查看推薦位、搜索產(chǎn)品、加購物車、下單購買、評價打分、收藏關(guān)注。管理員運(yùn)營方)負(fù)責(zé)產(chǎn)品上架下架、庫存管理、訂單審核、用戶管理、推薦策略配置、數(shù)據(jù)統(tǒng)計(jì)展示。兩類角色對應(yīng)兩套完全不同的界面和接口邏輯這在前后端分離的項(xiàng)目中非常清晰前端做兩套路由體系后端按角色劃分接口權(quán)限。從業(yè)務(wù)場景上說推薦系統(tǒng)的價值在于“用戶進(jìn)來之后不需要自己費(fèi)力搜索就能看到感興趣的產(chǎn)品”。林業(yè)產(chǎn)品有很強(qiáng)的分類屬性和產(chǎn)地區(qū)分比如“東北產(chǎn)的紅松子”、“浙江的竹制品”、“云南的野生菌”這些天然的屬性標(biāo)簽非常適合做基于內(nèi)容的推薦同時用戶的瀏覽、收藏、購買行為又可以為協(xié)同過濾提供數(shù)據(jù)來源——所以這個題目天然適合做混合推薦工作量不大但講出來很有深度。1.2 功能模塊清單把系統(tǒng)拆成模塊來看大致如下模塊子功能說明用戶認(rèn)證注冊、登錄、個人資料JWT無狀態(tài)鑒權(quán)密碼加密存儲產(chǎn)品管理產(chǎn)品CRUD、分類管理、圖片上傳管理端核心功能推薦引擎熱門推薦、基于內(nèi)容推薦、協(xié)同過濾推薦根據(jù)用戶行為動態(tài)生成推薦列表交易流程購物車、訂單提交、訂單管理簡潔版交易閉環(huán)評價互動評分、評論、收藏為推薦算法提供行為數(shù)據(jù)統(tǒng)計(jì)報表銷售統(tǒng)計(jì)、用戶增長、產(chǎn)品熱度ECharts可視化后臺管理用戶列表、訂單處理、數(shù)據(jù)看板面向管理員看到這個清單你就可以判斷這個項(xiàng)目的代碼量非常適中后端大概二十多個接口前端十個左右頁面絕對適合一個人在一到兩個月內(nèi)完成。推薦引擎部分可以做成一個獨(dú)立的service工作量大的時候?qū)憦?fù)雜一點(diǎn)時間緊就做基于內(nèi)容推薦的簡化版靈活性很高。2. 技術(shù)選型解析為什么這套組合最適合畢設(shè)很多學(xué)生糾結(jié)于“構(gòu)架用什么好”其實(shí)這個問題根本不復(fù)雜畢設(shè)項(xiàng)目的核心訴求是穩(wěn)定、主流、能講清楚而不是標(biāo)新立異。SpringBootVue這套組合能成為國內(nèi)容器之間的事實(shí)標(biāo)準(zhǔn)是有充分理由的。2.1 后端SpringBoot為什么是默認(rèn)答案SpringBoot幾乎就是當(dāng)前Java后端開發(fā)的事實(shí)標(biāo)準(zhǔn)這一點(diǎn)在面試和答辯中天然有說服力。它的核心優(yōu)勢有三點(diǎn)自動化配置不用像SSM那樣寫大量XML配置一個啟動類外加幾個注解項(xiàng)目就能跑起來這對時間有限的畢設(shè)學(xué)生來說極其友好。生態(tài)齊全MyBatis-Plus簡化數(shù)據(jù)庫操作Spring Security或JWT做鑒權(quán)Redis可插拔文件上傳、郵件發(fā)送、定時任務(wù)都有現(xiàn)成starter遇到問題網(wǎng)上的文檔和博客一搜一大把。部署輕量打成jar包直接運(yùn)行配合前端靜態(tài)資源一臺普通服務(wù)器就能跑完整套系統(tǒng)演示非常方便。在具體實(shí)現(xiàn)上我建議優(yōu)先選擇SpringBoot 2.7.x版本。這是一個非常成熟的穩(wěn)定版本兼容性好遇到坑的概率低。如果你用SpringBoot 3.x需要同時考慮JDK17和javax到j(luò)akarta的遷移問題對畢設(shè)來說完全沒有必要增加這個負(fù)擔(dān)。2.2 前端技術(shù)棧怎么搭配最省心Vue的版本選擇上我的建議很直接如果你對Vue還不熟或者指導(dǎo)老師比較傳統(tǒng)就用Vue2Element UI這套組合的資料最多、組件最全、報錯搜索最容易找到答案。如果你有一定前端基礎(chǔ)可以直接上Vue3ViteElement Plus構(gòu)建速度更快組合式API寫起來也更清爽。前端還需要搭配以下工具Vue Router路由管理實(shí)現(xiàn)頁面跳轉(zhuǎn)與權(quán)限控制。AxiosHTTP請求庫統(tǒng)一封裝請求頭、攔截器攜帶JWT令牌。Pinia或Vuex全局狀態(tài)管理用于保存登錄狀態(tài)和用戶信息。ECharts數(shù)據(jù)可視化圖表庫后臺統(tǒng)計(jì)頁面的柱狀圖和折線圖靠它實(shí)現(xiàn)。這里我必須強(qiáng)調(diào)一個選型原則畢設(shè)不是技術(shù)競賽能快速實(shí)現(xiàn)、穩(wěn)定演示、方便抄襲不是——方便查找資料的技術(shù)棧才是最優(yōu)解。你在答辯時不會因?yàn)橛昧俗钚掳鎂ue3.4加分但會因?yàn)楣δ芡暾?、演示流暢而拿到好分?jǐn)?shù)。2.3 推薦算法怎么選三種方案與適配度對比推薦系統(tǒng)是項(xiàng)目的核心亮點(diǎn)也是論文里最有話可寫的部分。根據(jù)難度遞增排列有三種方案方案類型原理復(fù)雜度推薦場景基于內(nèi)容的推薦根據(jù)產(chǎn)品分類、產(chǎn)地、價格區(qū)間等特征匹配用戶已購/收藏的類似品低新用戶冷啟動基于用戶的協(xié)同過濾(UserCF)找到與當(dāng)前用戶興趣相似的其他用戶推薦那些用戶喜歡的物品中用戶行為數(shù)據(jù)積累基于物品的協(xié)同過濾(ItemCF)分析用戶行為計(jì)算物品間相似度推薦相似物品中商城類系統(tǒng)實(shí)際應(yīng)用最多我見過很多學(xué)生一上來就選“協(xié)同過濾”但其實(shí)他們對這個算法完全說不出所以然。我的建議是如果你要寫論文最好把“基于內(nèi)容推薦基于物品協(xié)同過濾的混合推薦策略”作為主要賣點(diǎn)——先用用戶對產(chǎn)品的分類偏好做初篩再用物品間相似度做排序這樣既解決了冷啟動問題又保證了推薦結(jié)果有行為數(shù)據(jù)支撐邏輯非常完整。2.4 數(shù)據(jù)庫MySQL為什么夠用MySQL對畢設(shè)項(xiàng)目來說遠(yuǎn)遠(yuǎn)夠用。整套系統(tǒng)的數(shù)據(jù)量很小單表幾十萬條已經(jīng)是上限建議使用MySQL 8.0版本配備Navicat或DataGrip作為可視化工具。字符集一定要選utf8mb4否則中文亂碼會讓你懷疑人生。3. 數(shù)據(jù)庫設(shè)計(jì)推薦系統(tǒng)的地基數(shù)據(jù)庫設(shè)計(jì)決定了推薦算法的上限。很多人的推薦效果差不是算法寫得不對而是表里根本沒有能用于推薦的行為數(shù)據(jù)。這一節(jié)我把表結(jié)構(gòu)、字段規(guī)劃、關(guān)聯(lián)關(guān)系講清楚你可以照著建庫。3.1 核心表結(jié)構(gòu)總覽整個項(xiàng)目至少需要以下數(shù)據(jù)表表名用途關(guān)鍵字段sys_user用戶表id, username, password, role, nickname, avatar, create_timeproduct產(chǎn)品表id, name, category, price, stock, origin, image, description, statuscategory分類表id, name, sort_ordercart_item購物車表id, user_id, product_id, quantityorder_info訂單表id, order_no, user_id, total_amount, status, create_timeorder_item訂單明細(xì)表id, order_id, product_id, quantity, pricerating評分表id, user_id, product_id, score, comment, create_timefavorite收藏表id, user_id, product_id, create_timebehavior_log瀏覽記錄表id, user_id, product_id, behavior_type, create_time3.2 核心字段設(shè)計(jì)與關(guān)聯(lián)關(guān)系先說用戶表。密碼字段必須用BCrypt加密存儲長度至少設(shè)為60不要用MD5因?yàn)镸D5在答辯時只要被問一句“安全嗎”就很難接住。角色字段建議用字符串類型比如admin和user而不是用int類型加注釋這樣在JWT里直接存角色名比較好判斷。再看產(chǎn)品表這是整個系統(tǒng)的中心表。category和origin兩個字段對推薦算法至關(guān)重要category決定了產(chǎn)品在內(nèi)容維度上的歸屬origin則是一個被很多人忽略但非常好用的特征——林業(yè)產(chǎn)品的原產(chǎn)地標(biāo)簽非常明顯用戶可能對特定產(chǎn)地的產(chǎn)品有偏好例如北方用戶更喜歡東北林區(qū)的堅(jiān)果菌類長三角用戶對安吉竹制品有天然認(rèn)同感。這個字段可以用來做內(nèi)容推薦的特征向量之一。行為數(shù)據(jù)表是重中之重。很多學(xué)生只建了訂單表做了推薦功能但推薦找不到數(shù)據(jù)輸入這是個邏輯缺口。我在設(shè)計(jì)時增加了一個behavior_log表專門記錄用戶的行為流view表示瀏覽、favorite表示收藏、cart_add表示加購、purchase表示購買。這張表在用戶每次訪問產(chǎn)品詳情頁時寫入一條記錄后面推薦算法直接從這張表取數(shù)據(jù)非常方便。3.3 如何讓數(shù)據(jù)支撐推薦算法推薦算法的核心是構(gòu)造“用戶-物品”興趣矩陣。在代碼實(shí)現(xiàn)里你可以通過如下思路從behavior_log中提取特征-- 查詢用戶對每個分類的偏好權(quán)重 SELECT user_id, p.category_id, COUNT(*) AS score FROM behavior_log b JOIN product p ON b.product_id p.id GROUP BY user_id, p.category_id瀏覽記1分收藏記3分加購記5分購買記10分——這種權(quán)重設(shè)置雖然簡單但非常有效也非常適合在論文里展開說明。所有推薦策略的計(jì)算都建立在這個權(quán)重體系之上說服力很強(qiáng)。另外需要注意評分表rating建議獨(dú)立出來讓用戶對已購買的產(chǎn)品進(jìn)行1到5星評分。這是協(xié)同過濾算法最標(biāo)準(zhǔn)的數(shù)據(jù)來源也是論文里可以詳細(xì)描述的“顯式反饋”數(shù)據(jù)和behavior_log的“隱式反饋”形成互補(bǔ)。4. 后端核心實(shí)現(xiàn)從登錄到推薦這一節(jié)進(jìn)入正題講講后端代碼怎么組織、核心模塊怎么實(shí)現(xiàn)。我按照一個完整的開發(fā)順序來講你也可以照著這個順序?qū)懘a。4.1 項(xiàng)目結(jié)構(gòu)與分層設(shè)計(jì)后端項(xiàng)目的包結(jié)構(gòu)建議如下com.example.forestry ├── config // 配置類CORS、攔截器、MyBatis-Plus分頁 ├── controller // 控制器層接收前端請求 │ ├── admin // 管理員相關(guān)接口 │ └── user // 用戶相關(guān)接口 ├── service // 業(yè)務(wù)邏輯層 ├── mapper // MyBatis-Plus的數(shù)據(jù)訪問層 ├── entity // 實(shí)體類對應(yīng)數(shù)據(jù)庫表 ├── dto // 數(shù)據(jù)傳輸對象接收前端參數(shù) ├── vo // 視圖對象返回給前端的數(shù)據(jù) ├── utils // 工具類JWT工具、Result封裝 └── recommendation // 推薦算法核心邏輯分層設(shè)計(jì)的意義不僅僅是“規(guī)范”更重要的是讓答辯時你能清楚地解釋每一層在做什么。Controller只負(fù)責(zé)接收參數(shù)和返回結(jié)果Service負(fù)責(zé)業(yè)務(wù)邏輯Mapper只做數(shù)據(jù)庫交互這種標(biāo)準(zhǔn)的三層結(jié)構(gòu)是面試官和答辯老師最認(rèn)的套路。4.2 JWT登錄鑒權(quán)的完整實(shí)現(xiàn)當(dāng)前端請求/api/user/login時后端流程如下接收用戶名和密碼調(diào)用UserService.login()方法。根據(jù)用戶名查詢用戶用BCrypt校驗(yàn)密碼。校驗(yàn)通過后利用JWT工具類生成token將用戶id和角色寫入token的payload。返回給前端前端存儲到localStorage或Pinia。之后的每次請求前端在axios攔截器中把token放入Authorization請求頭。后端需要有一個攔截器統(tǒng)一攔截需要登錄的請求。我的實(shí)現(xiàn)習(xí)慣是寫一個AuthInterceptor在preHandle中從請求頭取出token解析并校驗(yàn)然后把用戶信息放ThreadLocal中方便后續(xù)業(yè)務(wù)代碼取用。Component public class AuthInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token request.getHeader(Authorization); if (StringUtils.hasText(token)) { Claims claims JwtUtil.parseToken(token.replace(Bearer , )); if (claims ! null) { UserThreadLocal.set(claims.get(userId, Integer.class), claims.get(role, String.class)); return true; } } response.setStatus(401); return false; } }注意管理員的接口需要額外校驗(yàn)角色我建議在攔截器里加一個簡單的路徑判斷邏輯凡是/api/admin/**開頭的接口必須要求角色為admin。4.3 產(chǎn)品管理和圖片上傳產(chǎn)品管理對后端來說就是標(biāo)準(zhǔn)的CRUD但圖片上傳是個容易踩坑的點(diǎn)。林業(yè)產(chǎn)品圖片往往比較大我的建議是后端接口接收MultipartFile保存到本地磁盤的/upload目錄。文件名用UUID 原始后綴名拼接避免重名覆蓋。返回給前端時返回相對路徑比如/upload/20240101103000_a1b2c3.jpg。配置一個WebMvcConfigurer把/upload/**映射到實(shí)際存儲目錄實(shí)現(xiàn)靜態(tài)資源訪問。前端在Element UI的el-upload組件中配置action為后端接口地址headers中帶上token上傳成功后把返回的圖片路徑綁定到表單的image字段。這里最常見的問題是本地文件拿不到權(quán)限需要在application.yml中配置file: upload-path: /Users/yourusername/forestry/upload/這種本地存儲方案對畢設(shè)來說完全可行。如果以后想優(yōu)化可以換OSS云存儲但那是加分項(xiàng)不是必選項(xiàng)。4.4 推薦算法的核心代碼思路這一節(jié)是整個項(xiàng)目的靈魂。我基于前面提到的行為權(quán)重給出一個基于物品協(xié)同過濾的簡化實(shí)現(xiàn)思路。第一步從behavior_log計(jì)算每個用戶的“產(chǎn)品-行為權(quán)重向量”。public MapInteger, Double getUserPreferenceVector(Integer userId) { // 查詢用戶的所有行為記錄 ListBehaviorLog logs behaviorLogMapper.selectList( new LambdaQueryWrapperBehaviorLog().eq(BehaviorLog::getUserId, userId)); MapInteger, Double productScoreMap new HashMap(); for (BehaviorLog log : logs) { double weight BehaviorWeight.getWeight(log.getBehaviorType()); productScoreMap.merge(log.getProductId(), weight, Double::sum); } return productScoreMap; }第二步計(jì)算物品間相似度。最常用的方式是余弦相似度需要構(gòu)建“產(chǎn)品-用戶”倒排表然后計(jì)算兩兩之間的余弦值。如果直接從零開始寫這部分代碼工作量其實(shí)不小。我的建議是只計(jì)算當(dāng)前用戶已行為過的物品與其他物品之間的相似度而不是計(jì)算全部物品對。第三步生成推薦列表——取當(dāng)前用戶最喜歡的N個物品找到與它們最相似的M個物品過濾掉用戶已經(jīng)購買過的按相似度加權(quán)得分排序取前K個。public ListProduct recommendForUser(Integer userId, int topN) { MapInteger, Double userVector getUserPreferenceVector(userId); SetInteger seenProducts userVector.keySet(); MapInteger, Double recommendScores new HashMap(); for (Integer interactedProductId : seenProducts) { MapInteger, Double similarProducts itemSimilarityService.getTopSimilar(interactedProductId); for (Map.EntryInteger, Double entry : similarProducts.entrySet()) { if (seenProducts.contains(entry.getKey())) continue; recommendScores.merge(entry.getKey(), userVector.get(interactedProductId) * entry.getValue(), Double::sum); } } // 排序取前N個返回產(chǎn)品列表 }這種實(shí)現(xiàn)的可解釋性非常強(qiáng)因?yàn)槟憧梢哉f“用戶收藏了潮州鳳凰單叢茶該產(chǎn)品與福建武夷山紅茶相似度0.82所以推薦了后者”這在論文的案例分析章節(jié)里非常好用。第三步里有個點(diǎn)需要特別說明物品相似度表怎么計(jì)算和存儲。為了提高效率我建議寫一個定時任務(wù)每天凌晨用Scheduled(cron 0 0 2 * * ?)重新計(jì)算一次物品相似度矩陣存入一張獨(dú)立的product_similarity表。這樣推薦接口只需要查詢這張表響應(yīng)速度非??觳粫瑫r。5. 前端Vue實(shí)踐從頁面設(shè)計(jì)到權(quán)限控制后端搭好了前端才是用戶看得見摸得著的部分。Vue這邊最核心的工作是工程結(jié)構(gòu)搭建、路由權(quán)限控制、接口封裝、頁面組件實(shí)現(xiàn)。5.1 前端工程結(jié)構(gòu)與路由設(shè)計(jì)我推薦的前端目錄結(jié)構(gòu)如下src ├── api // 接口定義按模塊拆分 ├── assets // 靜態(tài)資源 ├── components // 公共組件如ProductCard、Pagination ├── router // Vue Router配置 ├── store // Pinia狀態(tài)管理 ├── views │ ├── user // 用戶端頁面首頁、產(chǎn)品列表、詳情、購物車、訂單 │ └── admin // 管理端頁面控制臺、產(chǎn)品管理、用戶管理、數(shù)據(jù)分析 ├── utils // axios封裝、token存取 └── App.vue路由設(shè)計(jì)上建議有明確的嵌套關(guān)系。用戶端和管理端使用不同的布局組件例如AdminLayout包含側(cè)邊欄UserLayout包含頂部導(dǎo)航欄。路由懶加載用() import(...)就能實(shí)現(xiàn)這可以有效減小首屏加載體積是一個值得在答辯中提到的優(yōu)化點(diǎn)。5.2 路由守衛(wèi)與權(quán)限控制前端做權(quán)限控制有兩個層路由守衛(wèi)和后端接口鑒權(quán)。路由守衛(wèi)負(fù)責(zé)“不讓沒權(quán)限的人進(jìn)入頁面”接口鑒權(quán)負(fù)責(zé)“即使前端繞過了路由后端也拒絕返回數(shù)據(jù)”。router.beforeEach((to, from, next) { const token localStorage.getItem(token); if (to.meta.requiresAuth !token) { next(/login); } else if (to.meta.requiresAdmin localStorage.getItem(role) ! admin) { next(/403); } else { next(); } });這個守衛(wèi)邏輯寫起來非常簡單但對系統(tǒng)安全性的提升卻很直接。配合后端攔截器就形成了雙重防線。5.3 axios封裝與Token管理axios封裝是前端的公共基礎(chǔ)模塊建議做以下配置const request axios.create({ baseURL: /api, timeout: 10000 }); request.interceptors.request.use(config { const token localStorage.getItem(token); if (token) { config.headers.Authorization Bearer token; } return config; }); request.interceptors.response.use(response { const res response.data; if (res.code ! 200) { ElMessage.error(res.message); return Promise.reject(new Error(res.message)); } return res; }, error { if (error.response error.response.status 401) { localStorage.removeItem(token); router.push(/login); } return Promise.reject(error); });在封裝中統(tǒng)一處理401跳轉(zhuǎn)是很多線上項(xiàng)目必備的基礎(chǔ)能力加了這段代碼答辯時老師問“如果token過期了怎么辦”你可以直接給出完整方案。5.4 推薦位、產(chǎn)品展示和后臺看板的實(shí)現(xiàn)要點(diǎn)用戶端首頁是推薦系統(tǒng)的門面。我建議頁面布局為頂部搜索欄下面是3行產(chǎn)品卡片第一行“為你推薦”第二行“熱門產(chǎn)品”第三行“同類新品”。每行展示4個產(chǎn)品卡片每個卡片展示產(chǎn)品主圖、名稱、價格、產(chǎn)地標(biāo)簽、評分星星。點(diǎn)擊進(jìn)入產(chǎn)品詳情頁。后臺統(tǒng)計(jì)頁面用ECharts畫3張圖銷售趨勢折線圖按月份統(tǒng)計(jì)訂單金額。分類銷售占比餅圖按產(chǎn)品分類統(tǒng)計(jì)銷售數(shù)量。用戶活躍度柱狀圖每天的用戶訪問量。數(shù)據(jù)接口可以由后端的/api/admin/statistics統(tǒng)一返回用Map封裝好各圖表對應(yīng)的數(shù)據(jù)結(jié)構(gòu)前端拿到數(shù)據(jù)后setOption即可。這里有一個很實(shí)用的技巧讓后端直接返回前端要的JSON格式不要在ECharts里做復(fù)雜的數(shù)據(jù)格式化省時省力不出錯。6. 前后端聯(lián)調(diào)、打包部署與答辯包裝代碼寫完不是終點(diǎn)。聯(lián)調(diào)、部署、寫論文、準(zhǔn)備答辯每個環(huán)節(jié)都有講究。6.1 前后端聯(lián)調(diào)那些事最常見的聯(lián)調(diào)坑就是跨域。后端的CORS配置要做三層保障SpringBoot中寫一個CorsConfig允許所有來源。如果使用了Spring Security需要在安全配置中也放行OPTIONS請求。前端部署時通過Nginx反向代理把/api轉(zhuǎn)發(fā)到后端端口這從根本上避免跨域問題。此外前后端接口字段的命名一致性也非常重要。建議約定后端返回JSON統(tǒng)一為{code: 200, message: success, data: {...}}格式所有時間字段統(tǒng)一為yyyy-MM-dd HH:mm:ss格式分頁參數(shù)統(tǒng)一為current和size。不要小看這些約定它們能讓你在調(diào)試時省一半時間。6.2 部署方案本地演示和服務(wù)器發(fā)布畢設(shè)演示最穩(wěn)妥的方式是本地運(yùn)行。前端npm run build后生成dist目錄后端打成jar包兩者放在同一臺機(jī)器上。最簡單的部署方式有兩種方案一后端jar包 前端dist目錄放SpringBoot的static目錄下打成同一個jar直接運(yùn)行。方案二前端dist放到Nginx的html目錄Nginx配置反向代理轉(zhuǎn)發(fā)/api請求到后端8080端口。我推薦方案二因?yàn)镹ginx的配置過程本身就可以在答辯時多講兩句“生產(chǎn)環(huán)境部署”顯得專業(yè)。關(guān)鍵配置如下server { listen 80; server_name localhost; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }配置單里try_files是解決history模式路由刷新404的關(guān)鍵很多人第一次部署都栽在這里這里提前給你排掉這個坑。6.3 從代碼到論文工作量與答辯要點(diǎn)論文結(jié)構(gòu)可以參考我的建議順序第一章緒論寫背景、國內(nèi)外研究現(xiàn)狀、研究內(nèi)容。第二章相關(guān)技術(shù)介紹寫SpringBoot、Vue、推薦算法、MySQL。第三章系統(tǒng)需求分析寫用例圖、功能需求、非功能需求。第四章數(shù)據(jù)庫設(shè)計(jì)寫ER圖、表結(jié)構(gòu)詳細(xì)的字段描述。第五章系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)寫推薦模塊的算法流程、核心代碼截圖、頁面截圖。第六章系統(tǒng)測試寫測試用例表和測試結(jié)果。需要特別注意推薦算法章節(jié)是論文中最能體現(xiàn)技術(shù)含量的部分。建議在這一章畫一個清晰的算法流程圖比如“用戶行為采集 → 行為權(quán)重計(jì)算 → 用戶偏好向量構(gòu)建 → 物品相似度計(jì)算 → Top-N推薦列表生成”配合一個具體案例完整走一遍推薦過程例如“用戶A收藏了東北松子系統(tǒng)推薦了云南核桃相似度0.76”這會讓答辯組眼前一亮。答辯時PPT的核心頁面也應(yīng)圍繞推薦系統(tǒng)展開第一頁放功能架構(gòu)圖中間講3分鐘推薦模塊的算法實(shí)現(xiàn)最后一頁放演示截圖。只要你把推薦邏輯講透其他CRUD頁面一句帶過就足夠了因?yàn)槔蠋熆粗械牟皇琼撁娑嗌俣悄阌袥]有真正理解核心代碼。7. 踩坑實(shí)錄實(shí)戰(zhàn)中常見問題與排查技巧最后分享一些我在實(shí)操中真實(shí)遇到且非常高頻的坑。這些問題如果你提前知道至少能省出三五天查資料的時間。問題現(xiàn)象原因與解決前端刷新頁面404項(xiàng)目部署到Nginx后直接刷新子路由頁面顯示404Vue Router history模式需Nginx配合location /添加try_files $uri $uri/ /index.html跨域請求失敗瀏覽器Console顯示CORS錯誤后端未配置CORS或配置了但攔截器先攔截了OPTIONS預(yù)檢請求需放行OPTIONS中文亂碼數(shù)據(jù)庫中文顯示為問號數(shù)據(jù)庫連接URL加characterEncodingutf8建表時charset設(shè)utf8mb4JWT過期后跳轉(zhuǎn)失效用戶操作時一直報401但不跳登錄頁前端axios響應(yīng)攔截器需統(tǒng)一處理401狀態(tài)碼清除token并跳轉(zhuǎn)/login文件上傳成功但圖片不顯示控制臺404訪問/upload/xxx.jpg找不到未配置靜態(tài)資源映射需要WebMvcConfigurer中addResourceHandlers(/upload/**, file:絕對路徑/)分頁數(shù)據(jù)不正確后端返回total為0或分頁數(shù)據(jù)缺失MyBatis-Plus需要注冊PaginationInnerInterceptor分頁插件并不是引入依賴就自動生效時間字段顯示為時間戳前端顯示一串?dāng)?shù)字后端實(shí)體類時間字段加JsonFormat(patternyyyy-MM-dd HH:mm:ss, timezoneGMT8)推薦接口響應(yīng)超慢用戶點(diǎn)擊推薦位轉(zhuǎn)圈很久不要實(shí)時計(jì)算相似度使用定時任務(wù)預(yù)計(jì)算存入表中接口直接查結(jié)果這些問題中前四個是出現(xiàn)概率最高的。如果你在開發(fā)過程中遇到直接對照表格排查基本都能解決。還要提一個容易被忽略的點(diǎn)密碼安全問題。很多畢設(shè)項(xiàng)目把用戶密碼明文存儲答辯時老師一旦問起就會很尷尬。你只需要在Service層調(diào)用一下BCryptPasswordEncoder的encode和matches方法代碼量不超過10行卻能把項(xiàng)目整體安全性提升一個檔次千萬不要省這個功夫。另外關(guān)于代碼注釋。我見過很多學(xué)生的源碼注釋極其稀缺CI/CD、Docker這些詞離畢設(shè)太遙遠(yuǎn)但“注釋變量作用、說明方法用途”這種基礎(chǔ)專業(yè)素養(yǎng)是必須的。特別是推薦算法這段代碼代碼塊要寫清楚每一步做了什么這既方便你自己回顧代碼也是答辯時回應(yīng)質(zhì)疑的底氣。寫在最后一些比較實(shí)在的建議這個項(xiàng)目做完之后我個人最大的體會就是畢設(shè)選題無所謂高大上關(guān)鍵是你有沒有把一個點(diǎn)真正吃透。SpringBootVue這套技術(shù)棧真正練過一遍后端分層、前端交互、數(shù)據(jù)庫設(shè)計(jì)、部署調(diào)試這些基本功都能過一遍而這些恰恰是相關(guān)崗位面試時最常被考察的內(nèi)容。推薦系統(tǒng)作為一個業(yè)務(wù)亮點(diǎn)既不會要求你啃多么復(fù)雜的數(shù)學(xué)公式——用余弦相似度和加權(quán)融合策略完全可以講清楚——又能讓你在答辯中有一段完整的推導(dǎo)過程可以展開性價比非常高。如果你時間比較緊可以先把基本CRUD跑通保證系統(tǒng)能正常演示再逐步完善推薦功能如果你時間充裕我建議你在推薦模塊的基礎(chǔ)上再加一個簡單的搜索關(guān)鍵詞聯(lián)想功能或者給后臺增加一個基于時間范圍的銷售統(tǒng)計(jì)導(dǎo)出Excel這些錦上添花的小功能能讓項(xiàng)目完成度明顯提升。最后分享一個小經(jīng)驗(yàn)項(xiàng)目做完之后建議你花一個晚上的時間把推薦接口從頭到尾捋一遍然后對著代碼畫一張邏輯流程圖。這既是寫論文的素材也是應(yīng)付“請介紹一下你這個項(xiàng)目的核心模塊”這類面試題的最好準(zhǔn)備。拿到這份源碼之后多問自己“為什么這么設(shè)計(jì)”而不是急著啟動運(yùn)行收獲會大得多。祝你的畢設(shè)答辯順利。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九 九九九AV| 丁香五月五月婷婷欧美大香蕉| 色你久久| www,99视频| 亚洲精品99| 草草视频91| 99ree6| 五月婷婷六月丁香综合在线| 亚洲国产精品成人va在线观看| 婷婷丁香色性爱| 色情五月综合婷婷| 欧美日韩成人在线网站| se99视频| 色婷婷丁香香香蕉视频| 六月丁香婷婷色综合| 九九视屏| 丁香五月大香蕉AV| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 99福利导航| 国产淫熟妇| 九九热大香蕉| 欧美丁香五月| 五月婷婷丁香网| 久久免费精品小视频| 免费色婷婷| 天天色天天| 99热精品在这里| 五月婷高清视频| 91超碰在线观看| 九月色婷婷综合亚洲| 色色婷婷五月天| 影音先锋天天日| www开心激情网| 五月开心婷婷极品激情| 婷婷月五天在线在线看| 欧美日韩91| 色色影院黄大片| 超PEN精品在线| 99国产精品久久久久久久久久久| 午夜大香蕉| 色婷婷综合网| 欧美三级A做爰在线观看| 99热网站| 色婷婷成人做爰A片免费看网站| 五月婷婷中文字幕| 国产精品久久久久久久久久| 男女啪啪做爰高潮无遮挡| 丁香五月,开心五月,成人婷婷| 在线99色| 色五月婷婷中文字幕在线观看| 四月婷婷五月丁香| 五月色网| 色五月婷婷开心| 国产99精品免费视频| 九九色中文| 草草操操| 啪啪五月天啪啪| 天天拍夜夜撸| 婷婷五月天资源| 婷婷五月丁香五月天| 久热这里只有精品在线观看 | 精a品a视a频| 丁香五月婷婷激情网| 黄网网站在线播放| 丰满老熟妇BBBBB搡BBB| 综合色图婷婷| 91人人操| 这里只有精品视频国产| 91人人爽久久涩噜噜噜| 91热爆在线| 国产激情综合| 久久艹 五月天| 综合色图婷婷| 婷婷激情九月| 狠狠撸激情综合丁香五月天俺来啦| 亚洲丁香网| 婷婷五月天久久久| 另类激情五月| 啪啪综合| 激情五月天婷婷播播久久综合91| 丁香五月婷婷天堂大香蕉| 色激情五月| 成人五月天丁香| 97中文在线| 99开心五月五月丁香激情| 99这里有精品视频3| 丁香色五月直播| 婷婷五月 丁香六月| se色99| 欧美性丁香色色五月天| WWW.99视频| www.婷婷| 久久99久久99精品免观看粉| 丁香婷婷六月激情综合| 久热婷婷| 日韩无码乱轮| 99久久思思| 这里只有精品在线视频在线观看| 99精品在线| 四色五月婷婷| 国产va在线视频| 欧美va在线| 91精品无码| 欧美电影在线观看| 丁香五月天AV在线| 久久久久激情| 六月丁香婷婷综合影院| 久操激情| 色护士综合| 久久99免费视屏| 婷婷六月视频| 狠狠操狠狠狠| 综合色播| 人妻操逼视频| 九月大香蕉| 婷婷五月四狠狠| 五月婷婷六月丁香色| 免费视频99| 九九99在线| 天天色伊人| www.久久爱.com| 99热有精品在线观看| 97色啪| 九九九成人在线视频| 免费黄色片子| 大香蕉五月天婷婷丁香91| 五月婷色丁香| 五月天婷婷影院| 丁香五月中文字幕| 色五月婷婷基地| 色护士综合| 五月夜丁香| www.色99| 久久九九免费视频| 五月婷婷偷拍| 亚洲精品在线视频| 人伦30P| 啪啪小说五月天| 国产乱人偷精品人妻A片| 五月婷婷丁香| 久久伊人大香蕉| 99色干| 婷婷综合成人| 婷婷五月天奸女| 丁香五月婷婷在线| 一月婷婷色色| 五月婷婷色色色| 艹天天射| 亚洲网视屏| 操日视频| 色99在线视频| 色欲五月天| 激情婷婷| 五月婷婷深爱六月| 五月天久草| www.五月丁香av| 婷婷丁香社区| 狠狠干综合网| 4438激情网| 99热地址| 91九九| 色域五月婷婷丁香| 老司机午夜福利视频金瓶梅| AV大片在线播放| 五月婷婷五月天天| 婷婷五月综合视频免费播放| 丁香五月综合久久| www色色com| 9l视频自拍9l九色9l成人| 日欧大屏操| 99热全是精品| av狠狠操| 丁香欧美| 婷婷伊人综合中文字幕| 97色色视频| 五月 丁香 欧美| 五月丁香婷婷欧美色图视频五月丁香777电影 | 精品怡红九九九| www五月婷婷88导航| 艹| 欧美日本国产| 色优久久| 色综合色综合网| 国产色五月| 久久色午夜在线导航| 国产密乳av一区二区三区四区| 婷婷激情五月视频| 婷婷午夜| 丁香久久五月婷综合| 异能之下短剧免费观看全集| 日本韩国视频在线观看社区免费的9| 婷婷精品综合| 五月丁了香蕉综合| 日韩在线成人电影| 大色鬼综合| 思思热精品在线观看| 99内射视频| 天天激情站| 色欲丁香久久| 日韩综合久久| 丁香五月婷婷av影院| 99国产在线| 99久久久免费| 五月婷婷精品| 亚州激情在线视频| www.色色com| 日韩人妻在线观看| 79色色色色| 久久综合爱| 成人.在线日韩| 激情六月天婷婷| 五月丁香六月婷综合成人综合| 这里只有精品久久| 五月天精品视频| www.色色色色| 久久这里有精品99| 亚洲第一色色色| 久久五月情| 99视频自拍| 色综合久久88色综合天天99| 久久婷婷亚洲五月天| 国产精品色婷婷99久久精品| 色99欧洲色19| 激情小说色五月| 五月婷婷天| www,26uuu,c0m,色情| 日韩欧美五月丁综合| 免费色婷婷| 婷婷91| 丁香五月日韩| 欧美日韩成人在线网站| 五月丁香六月激情在线| 色婷婷五月视频| 亚洲色情一区二区三区四区| 888精品福利地址| 99精品97| 亚洲乱码w在线观看| 日本44久久在线| 色五月婷婷色| 五月婷婷六月丁香| 欧美S码亚洲码精品M码| 色五月激情网| 激情网五月天| 99精品视频在线观看| 色色色综合网| 婷婷欧美| 国产精品18久久久| 国产成人精品亚洲线观看| 人人干av| 丁香五月婷婷在线| 欧洲毛片基地c区| 610018岁成人视频| 97碰碰九九视频| 人妻无码视频网| 丁香五月婷婷基地| 色日本颜射| 香蕉AV777XXX色综合一区| 色色色综合网| 婷婷五月天在线观看| 成人在线精品| 综合激情五月丁香| 天天揷综合网| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 日韩在线视频中文字幕| 大香蕉久久| 色色99| 欧美六月| 欧美顶级少妇做爰HD| 五月激情天| 极品少妇XXXX精品少妇偷拍| 琪琪色网在线| 婷婷色基地在线看| 久久性操| 亚洲色五月天是什么| 26uuu欧美日韩| 国产日批视频免费播放| 六月色国内综合| 色婷婷五月亚洲| 99r这里| 激情综合网五月激情网| 超碰女人天堂| 国产真实乱了老女人视频| 激情五月婷婷综合网| 超碰天堂网| 性爱五月婷| 大香蕉人人人| 色婷婷成人丁香| 五月天色婷婷视频| 色色色色色色色色色色色色色97| 丁香五月综合| 91VIP在线观看| 久久性刺激| a色色色色色| 色天天狠狠干| 人妻aV在线| www.婷婷五月| 秋霞网在线免费基地五月婷婷丁香| 激情AV中文| 久久99久久99精品免视看婷婷| 九九精品片一| 五月丁香六月激情视频| 亚洲中文字幕在线观看| 九九色天堂| 99久在线精品99re8热| 情五月亚洲婷婷| 色五月丁香五月婷婷五月成人网| 九九99久久| 国产精品99久久久久久久女警| 色偷偷综合| 婷婷五月天网| 亚洲熟女乱色综合亚洲网站| 森林影视大全,最好看的2019年视频 | 色色色色色综合| 大香蕉综合网| 伊人五月天97| 婷婷五月AV| 91婷婷在线| 色综合77777| 精品婷婷| 五月婷婷偷拍| 久9热插入| 婷香五月网在线| 婷婷丁香五月色| 久久婷婷五月天| 六月婷婷网| 五月综合婷婷网| 久久婷婷五月天激情| 少妇水多A片太爽了| 99九九在线观看免费| 欧美日本一区二区三区| 欧美色五月| 色五月天丁香婷婷| 狠狠色狠狠操| 久久久9久| 热99热| 超碰激情网| 日韩久久日| 丁香五月激情欧欧美| 91玖玖| 婷婷五月欧美| 五月好婷婷| 91精品91久久久中77777| 五月丁香网站| 欧美99视频| 在线一起草av| 丁香六月在线| 午夜九九九九九九| 亚洲va欧洲va国产va不卡| 国产全是老熟女太爽了| 日本五月婷婷久久久六月丁香| 亚洲AV人人操| 婷婷伊人久久| 开心激情五月天网| 九九家庭影院| 五月婷婷六月丁香| 人妻videos人妻高清| 久久99网| 青草性爱视频| 成人做爰黄A片免费看直播室男男| 欧美五月丁香在线| www.色婷婷.com| 婷婷五月69| 久久色区| 亚洲五月丁香综合网| 久久激情视频| 丁香五月婷婷成人综合| 99热国产在线| 色婷婷丁香五月在线观看| 欧美三级大片AA在线看| 狠狠干,狠狠操| 青青草婷婷久久| WWW,五月| 人人操日| 色色色网站| wwW天天干| 中文字幕网伦射乱中文| 99日这里只有精品| 国产激情av| 久久五月网| 超碰精品在线| 狠狠精品干练久久久无码中文字幕| 激情图片婷婷| 97艹| 九九热精品| 久久人妻爱爱| 五月天大香蕉视频| 九九五月天| 婷婷丁五月| 校花娇喘呻吟校长陈若雪视频 | 狠狠色五月| 婷婷伊人网| 久碰视频| 亚洲色优| 久思思热视频在线观看| 超碰天堂网| 丁香五月天激情视频| XX久久| 丁香六月婷婷久久综合| 亭亭五月天成人| 久久九九精彩| 中文字幕丰满孑伦无码专区| 激情五月天视频| 午夜丁香| 狠狠爱五月婷婷综合六月| 激情第四色| bbwcuckold精品熟妇| 色欲五月丁香| 六月婷婷中文字幕| 五月丁香五月综合欧美| 人人色性网| 四色五月视频| 97夫妻超碰| 色综合久久中文| 久久杏爱视频| 日韩久热| 岛国资源站| 久久这里都是精品| 噜噜国产| 日韩十国产极品久久| 五月丁香色| 亚洲在线免费成人| 天天插天天爱| 91激情五月开心| 狠狠狠激情网| 操91| 人妻视频在线| 九九美女视频| 色婷婷综合久久| 超碰成人免费| 丁香激情网| 伊人丁香花综合影院| 无码人妻激情| 色婷婷五月影院| 亚洲日韩成人三级av| 色一情一乱一乱一区91| 激情文学五月丁香六月婷婷| 久久婷婷五月激情网站| www久久99com| 99啪啪视频| 色婷婷影音| 亚洲欧洲中文日韩久久AV乱码| 亚洲午夜视频| 亚洲网站999| www.五月瑟| 五月天婷婷青青| 久久视网36| 99乱视频| 日本色图综合| 色婷婷婷婷| 嫩草视频观看| 六月丁香婷婷色狠狠久久| 激情综合丁香| 大香蕉丁香婷婷| 香蕉综合网| 亚洲第一第二网站| 激情网五月天| 五月丁香啪| 亚洲色频| 免费观看的av| 国产AV一区二区三区日韩| 狠狠操狠狠操| 99热啪啪| 国产精自产拍久久久久久蜜| 色www久视频| 亚洲午夜av| 青草五月天| 人妻中文在线| 激情婷婷五月| 国产乱妇无乱码大黄AA片| 大香蕉久| 中文字幕乱码亚洲精品一区| 婷婷的五月天另类视频| 激情婷婷激情在线不卡| 999精品久久久久久久| 久久五月热| 欧美日韩国产成人在线| 色婷在线视频| 亚洲综合色色| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 91色久| 噜噜噜噜噜久| 色婷婷丁香特级性爱视频| 影音先锋 91工厂| 五月丁香五月激情综合色综合| 538久久| 亚洲婷婷六月天| 婷婷五月天美女视频| 丁香成人色情五月天| 五月天婷婷激情在线色图| 91午夜激情| 任你操精品免费| 激情五月天丁香| 极品少妇高潮啪啪AV无码| 五月天大香蕉av| 五月丁香综合网| www.henhenl| 激情五月天色色| 六月色色综合| 99激情视频| 亚洲综合在线视频| 五月色情| 色五月婷婷91| 五月天久久婷婷婷| 99啪99| 91久久婷婷| 婷婷五月天丁香综合网| 影音先锋一区二区三区| 久久视频九九视频| 久久女婷| 色色999三级片| 成人精品人妻| 狠狠五月天激情| 激情性爱五月| 激情小说色五月| 97五月久久丁香婷婷| 99er免费在线观看| 亚洲综合草草| 婷婷五月天av小说| www.25五月婷婷| 99热这里只有精品2| 久久久久婷婷| 热久久这里只有三级视频| 激情综合亚洲| 亚洲人成色A777777在线观看| www久| 91九色在线观看免费| 色五月丁香六月资源站| 天天天在线观看| 午夜精品人妻无码一区二区三区| 九九久久五月天综合伊人| 男人综合网| 丁香五月网址| 婷婷久久婷婷| 色情五月天A片| 婷婷婷婷婷婷婷五月丁香| 狠狠色中色| 综合激情网五月激情| 综合噜噜| 五月天婷婷丁香人人操91| 色丁香五月婷婷婷| 久99久视频| 亚洲免费电影2| oVV4WIB3vFi8D| 思思热精品在线视频| 免费在线a| 丁香五月在线观看综合| 亚洲成人在线播放| 丁香五月婷婷亚洲人| www.夜夜| 美国不卡视频| 色色色免费视频| 操操操97| 午夜无码精品色综合久久| 激情丁香五月| 国产99美少妇| 人人摸人人摸| 久久激情网| 91婷婷色 | 六月丁香婷婷色狠狠久久| 丁香五月色五月婷婷宗合| 婷婷丁香六月天| 午夜婷婷| 婷婷爱五月| 2015好吊操| 丁香色色色| 婷婷五月综合色拍| 玖玖综合色| 大香蕉99热| 久久婷网| 337p大胆噜噜噜噜噜91Av| 超碰免费人妻| 丁香综合婷婷开心激情网| 99性视频| site:xmssd.com| 五月天久久婷婷| www.激情| 国产精产国品一二三在观看| 五月丁香欧美| 婷婷五月开心六月AV| 天天天天色天天天天天干| 91干网站| 五月婷婷综合在线| 激情久久五月天| 五月色色色| 色综天天综合| 日本色色影片| 蜘蛛女侠2003满天星免费观看| 丁香狠狠操| 婷婷六月综合基地| 婷婷香蕉| 91日在线视频| 碰97久久| 九九免费视频在线| 色约约视频一区二区三区四区五区| 日本颜色视频人人爱| 高清国产AV| www.久久久久| 99热99精品在线观看| 97日本操| 婷婷九月激情| 色婷婷六月综合| 亚洲 成人 电影av在线观看| 99热自拍| 三十路磁力链接| 欧美男女婷婷| 婷婷激情六月| 无码色色| 色五月丁香五月| 中国女人做爰A片| 五月天久久91| 天天噜天天插| 婷婷六月久久| 久色视频| 高清无码视频网址| wuyuedingxiang99| 久久五月情| 99免费在线视频| 5月丁香六月婷婷| 亚洲免费99| WWW色五月天| 99久久婷婷综合| 六月婷婷色综合| 中文字幕 久久9999| 玖玖激情五月天| 国产精品美女久久久久AV超清| 天天操夜夜橾| 亚州欧美国产久精国产99综合视频| 在线日韩av| 深爱激情五月网| 婷婷色五月在线视频| 丁香五月天在线观看视频| 182tv992tv人之初午夜免费观看| 婷婷六月丁香五月| 色天五月天在线观看视频| 99久久国产成人精品| 激情久久丁香| 婷婷五月天VI| 久久综合五月天| 丁香五月人妻| av操一操| 色五月视频无码播放| 欧美久久婷婷| 欧美在线视频免费播放| 九九热视频精品999| 天天爽夜夜操| 婷婷99视频精品| 丁香成人视频| 9这里只有精品| 色综合色婷婷色伊人| 国产.亚洲.欧洲视频在线| 久久探花91swag| 激情五月天啪啪视频| 国精产品一区二区三区| 丁香五月停停av| 性做久久久久久久免费看| 综合久久综合久久| 91视频五月丁香| www.狠狠艹| 六月亭亭久久综合激情| 伊人综合网4| 久久婷婷成人视频| 国产1区2区3区在线观| 91色噜噜狠狠狠狠色综合| 久久九九一區| 伊人大香蕉毛片| 国产精品91抖高| 欧美69久成人做爰视频| 青草视频在线观看视频| 开心婷婷五月| 日日干日日| 九九热在线精品| 激情亚洲网| 色色丁香| 久久婷婷亚洲| 丁香五月电影| 精品国产乱码久久久久久免费| 婷婷99| 日日夜夜干| 丁香五月综合| 99年操人人爽| 国产一级黄色影片,| 欧美五月婷婷综合| www.色色com| 99ri视频在线播放| 中文字幕在线资源| 日本激情ⅩXX免费视频| 亚洲五月天综合| 激情美女五月天激情在线| 国产另类综合| 婷婷五月婷婷| 五月丁香成人网| 狠狠干综合| 日本一级淫| 亚洲成人精品三区| 天天操中文字幕| 亚洲丁香花色| 91视屏在线观看com.wwwvv| 99精品视频在线| 夜夜操,天天撸| 91九色欧美| 婷婷久久五月天| 国产乱人偷精品人妻A片| 97色精品视频| 97超碰在线免费观看| 天天开心天天色| 久久性爱网站| 99在线免费视频| 久久九九免费视频| 91人妻九色大屁股| 五月婷婷熟女| 五月天激情图| 婷婷操久久| 中字幕视频在线永久在线观看免费| 嫩草免费视频| 五月婷婷六月天| 岛国av网| www.99热视频| 九月激情婷婷丁香| www.91操| 色婷婷六月天在线| 五月婷在线| 区欧美日韩成人| 高清不卡一区| 日日爱699| 91久久久久久久| 婷婷五月天97干| 99爽视频| A久网| 色五月首页| 久久激情四射| 五月丁香美女| 五月色综合| 一本大道熟女人妻中文字幕在线| www.五月天婷婷| 婷婷久久六月费| 狠狠综合久久| 成人 九九九九| 亚洲久久视频| 久草A片| 99在线看片| 五月丁香色色综合| 天天综合网91| 国产中文字幕在线视频免费观看| 秋霞学生妹一二级| www激情| 久99久视频精选| 五月激情综合婷婷| www久久99| 九九激情视频| 久久深爱激情网| 大香网伊人久久综合| 操逼六区| 丁香六月久久| 色激情网| 毛片新网地| 97人人干| 婷婷五月激情四月综合| 色碰碰| 777久久久| 欧美色色色色色色色| 欧美人与性动交CCOO| 在线99热| 久久五月丁香| 五月婷婷av| 人人人操| 婷婷五月丁香综合激情| 婷婷 色 丁香 夜| 天天综合网~91| 丁香激情六月天婷婷| 国产FREESEXVIDEOS性中国| 快乐激情五月色婷婷| 五月丁香婷婷久久| AA久久| 婷婷激情人妻| 五月天婷婷基地综合网| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 狠狠色丁香久久久婷| 大香蕉九操| 久99热在线观看| 色五月婷婷五月天| 七七九色| 天天搞天天色综合| 五月丁香激情四射综合| 丁香五月婷婷啪| 激情五月天色网站| 五月色影院| 九九AV| 亚洲综合五月天婷婷丁香| 伊人综合婷婷| 久99热| 五月丁香婷婷啪啪综合网| 国产肥白大熟妇BBBB视频| 嫩草综合网| 91av传媒高清在线视频网| 婷婷色丁香五月| 琪琪色网址| 婷婷五月丁香综合激情| 热久久色| 日韩成人中文字幕| 蜜桃婷婷五月| 香蕉影院色| 国产综合网在线| 激情爱爱网站超大免费| 秋霞性爱AV| 欧美丁香婷婷天天操| 国产毛片精品一区二区色欲黄A片| 色婷五月丁香久亚洲| 婷婷五月天综合久久日美女| 九九热最新| 色色五月天丁香| 色五月综合| 99精品22| 另类A片| 天天射影院| 深爱婷婷丁香五月激情| 色五月激情综合| 久久婷婷五月| 婷婷五月天男人影院色色网| 大香蕉狠狠爱主页| 久久丁香五月天| 五月丁香六月婷婷亚洲| 99精品女人天堂| 六月丁香网| 九九精品在线网| 婷婷综合亚洲| 蜜桃成语时李时珍 免费| 婷婷丁香色情五月天| 丁香伊人网| 精品一二三区久久AAA片| 五日激情综合| 狠狠婷婷爱| 五月丁香少妇| 人与禽A片啪啪| 久草狼人| 深爱五月亚洲| 91偷拍视频| 婷婷狠狠综合网入口| 在线另类视频| 丁香五月成人在线| 97香蕉碰碰人妻国产欧美| 亚洲欧洲另类图片| 婷婷久久综合久| 丁香六月无码播放| 成人va在线观看视频| 另类图片五月天激情| 九九在线视频| 色婷婷综合影院| 三十路磁力链接| 婷婷丁香熟妇综合网| 亚洲AV成人精品网站在线播放| 久久99视频| 五月丁香六月综合激情无码软件亮点| 九九热这里只有精品556| 免费99色| 在线视频婷婷| 激情丁香五月婷婷| 丁香 久久| 影音先锋人妻出差| 天天操夜夜啊| 538任你爽| 午夜丁香 婷婷| av中文字幕免费观看| 久久国产色| 97干在线播放| www.99热这里只有精品| 丁香网五月网| 九九热再线九九视频免费在线观看 | 五月综合婷婷五月| 亚洲小说欧美激情| 色婷婷久久综合久色| 六月婷久久| 婷婷色偷拍| 亚洲啪啪自拍| 97日本在线播放| 麻豆AV一区二区三区| 中文字幕 中文字幕明步| 日本色天堂| 天天干天天插| 99性色| 开心激情播播五月天| 亚洲精品性色| www,五月丁,com| 日日夜夜青青草| 蜜乳.comcom| 激情婷婷五月女| www.激情五月天。com| 久久多色| AV在线免费播放| 七七九色| 99热碰碰热| 婷婷五月天六点丁香五月| 五月天婷婷基地综合网| 一区二区免费看| 久久免费操| 99热主页日本| 99久久综合网| 久久人妻久久久久| 久一这里有精品国产| 99热热九九| 亚洲 精品 综合 精品| 五月婷婷狠天天色综合| 狠狠狠狠狠狠草| 五月天婷婷色小说| 丁香婷婷在线| 夜夜干 夜夜操| 人人爱摸视频| 伊人激情综合网| 五月亭亭直播| 另类少妇人与禽zOZZ0性伦| 成人国产欧美大片一区| 91男人操女人视频| 亚洲123区高清入口| 99免费青青蜜臀| 啪啪99| 婷婷成人网五月天| 五月婷婷视频啪啪美女| 天天天天天天天操| 婷婷五月天狠狠色| 激情五月天视频| 色综合五月天| 免费色婷婷| 色欲久久久久久综合网综合网| 九九色色色| 丁香五月婷婷激情小说| 色婷婷伦理| 99久久玖玖| 最新久久网址| 乱岳熟女50岁| 成片免费观看大全| 丁香六月激情| 激情图片婷婷| 亚洲成人五月| 久久这里只有精品热在99| 国产在线aaa片一区二区99| 97久久精品视频| www.91在线观看| a色色片| 五月草影视| 久久综合五月天| 性色做爰片在线观看WW| 热久久婷婷| 91一起操| 欧美激情-区二区三区| 婷婷九月亚洲| 超pen个人视频97| 9精品视频在线| 五月婷伊人| 综合色播| 风流少妇A片一区二区蜜桃 | 久久色情| aV欲望人妻中文字幕| AV堂狠狠干| 这里只有精品在线观看视频| 亚洲综合激情五月久久| 日韩av高清| 色五月丁香五月激情五月激情| 婷婷五月另类网站| 久久97| 亚洲人妻电影| 日本成人噜噜噜噜噜| 97丁香婷婷| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 深爱激情四射| 亚洲AV综合网| 婷婷五月天渟渟| 日韩五月婷婷| 色五月婷婷操逼| 91精选国| 色情·com| 人人干99| 操逼视频网址| 狠狠va| 人妻22p| 中文网婷婷字幕婷| 天天日夜夜夜操操操操| 91天天操天天干天天射| 大香蕉丁香| 可以直接看的av网站| 99热这里只有精品22| 免费成人网在线观看| 玖操97| 99性视频| 狠狠色噜噜狠狠狠狠综合| 开心色五月天久久久久久久| 日产精品久久久久久久蜜臀| 五夜婷婷| 色在线99| 美国天天操无码| 另类综合国产| 国产偷人爽久久久久久老妇APP| 五月丁香激情四射| 狠狠色噜噜狠狠| 色欲色香综合网站| 99热这里只有精品无码| 免费无码毛片一区二区A片| 婷婷色女| 日日综合网| 人人操AV| 天天操加勒比| 色婷婷先锋| 丁香五月成人| 97人人爱人人操| 成人va视频| 欧美激情久| 天天色天天操天天射| 夫妻超碰在线| 日本丁香五月| 成人免费在线电影| 丁香激情五月天| 99在线视频免费| 日韩一级网站| 外国碰视频网站97| 大香蕉婷婷丁香视频在线| 五月婷婷激情久久| 婷婷天堂综合| 草综合网| 国产亚洲精品久久久久久牛牛| 国产乱码久久| 成人国产欧美大片一区| 日日天天操| 亚洲综合网在线| 激情五月www| 丁J香六月首页| 激情五月天社区| 91精品婷婷国产综合| 亚洲欧美综合7777色婷婷| 99热啪啪| 婷婷综合视频| 丁香五月婷婷乱| www.夜夜爱.com| 99热精品无码| 婷婷丁香花五月天| 丁香五月在线观看| 青草视频在线蜜臀| 97碰91| 伊人网啪啪| 91综合在线| 色欲一区二区三区精品A片| 大香蕉院线| 97久久超视频| 色综合久久天天综合网| 深爱五月激情网| 人人人操 超碰| 日日操日日撸| 中文字幕在线播放视频| 亚洲亚洲人成综合网络| 亚洲小视频| 一本久道综合99| 久久综合人妻| 五月婷婷无码专区| 五月久久网| 亚洲九九夜夜| 五月婷婷六月开心| 日韩成人中文字幕| 无码激情AAAAA片-区区| 这里只有精品在线观看视频| 天天操B| 亚洲中字AV电影在线网站| 丁香六月欧美| 久久只有精| 久久丁香婷| 淫视馆aV二区一区| 亚洲色vA| 日本系列_4页_777FP| AA片在线观看视频在线播放| 狠狠干婷婷| 亚洲激情无码久久| 色噜久| 五月婷婷综合在线| www.99热视频| 五月丁香美女| 丁香婷婷午夜| 五月婷婷基地| 五月丁香六月色| 婷婷伊人激情婷婷| 六月婷婷久久| 天天激情站| 九九99精品| 夜夜干天天干| 九九成人高清视频| 99手机在线精品视频| 91肏肏肏| 色五月播五月| 99综合| 久久只这里有精品| 91久热| 亚洲国产网站| 色五月激情五月| 玖玖婷婷五月天| 成人丁香婷婷| 五月婷婷香蕉| 亚洲九九夜夜| 五月间天堂综合| 狠狠爱青青草| 99这里都是精品| 色婷久九| 色偷偷色婷婷| 逼逼AV| 精品婷婷五| 99玖玖免费视频| 日韩美一级毛卡片 | 99啪视频在线观看| 色伦专区97中文字幕| 五月天另类小说| 国产亚洲精品久久一区二区三区| 开心五月丁香婷婷| 色五月婷婷狠狠撸| 欧美日综合| 久草视频一,二三四| 超碰A V在线| 久久精品熟女亚洲AV麻豆| 色九九综合| 狠狠做婷婷| 五月婷中文字幕| 激情99| 欧美25p| 国产日韩亚洲欧美在线观看| 五月天婷婷色小说| 伊人婷婷激情| 久久亚洲色导航| 欧美噜噜久久久XXX| 97人妻碰碰中文无码久热丝袜| 97性视频| 91成人电影| 9月色婷婷| 婷婷激情六月综合| 亚洲乱码w在线观看| 综合亚洲AV| 久久免费试看120秒| 亚洲色五月婷婷| 色综合久网| www.色色com| 丁香五月性爱爱五月| 色色色9 9 9| 噜噜狠狠色综合久| 一起肏在线视频| 六月婷色| 99精品视频偷拍| 色综合网址| WWW久久久| 激情婷婷丁香五月天小说| 激情五月综合网| 可以免费观看的av网址| 丁香六月天AV| 97色伦另类图片小说视频| 热99久久这里只有精品| 开心五月婷婷99| 婷婷五月花西瓜| 久久a热| 国产精品美女| 99热国产这里只有精品| 狠狠的日| 蜜臀AV在线观看| 久9综合| 99久热精品在线| 91精品久久久久久久| 五月噜噜噜色综合| 久色中文| 五月天婷婷影院影院观看| 婷婷五月在线视频| 五月丁香狠狠爱| 欧美内射AAAAAAXXXXX| 波多婷婷久久| 久七香蕉| 全亚洲最大的婷婷五月天网站COM| 欧美激情五月天婷婷| 极品人妻videosss人妻| 色五月婷婷色五月| 美女激情综合| 能看的AV| 九色视频入口91| 色综合久久99色| 热久久99视频| 五月婷婷影| 99啪啪视频| 久久综合99综合| 91chinese 在线| 五月网激情| 97婷婷五月| 婷婷91| 潘金莲AAAAAAAAAA| 色五月色图| 岛国av网| 日本激情91| 欧美成人猛片AAAAAAA| 色 五月 天 婷婷 丁香 九月| 成人午夜无码视频| 另类综合国产| 玖玖色综合网| 亚洲无码 图片区| 中文精品在| 五月丁香色婷| 国产熟女一区二区三区五月婷| 色狠狠色噜噜AV天堂五区| 欧美伊人9| 五月天小说激情| 国产三级片91| 超碰只有精品在线| 激情综合九月| 国产另类综合| 色色色综合色| 最新AV在线观看| 干婷婷五月天| 丁香婷婷五月色成人网站| 亚洲av| 久久这里精彩免费在线观看| 五月婷婷综合久久| 成人国产欧美大片一区| 欧美日比视频| 99成人免费视频| 伊人在线视频| 亚洲色色五月天| 天堂AV在线看| av九九| 九色自拍| 色婷婷亚洲精品天天综| 丰满老熟妇BBBBB搡BBB| 丁香五月首页| 五月天成人网在线观看| 中国女人内射6XXXXX| 色婷网| 五月丁香成人网| 久久久精品免费啪啪国| 欧美激情 日韩无码 婷婷 五月天 久久婷婷丁香五月一二三 | 99精品视频偷拍| 色墦五月丁香| 射久久丁香五月| 色情成人五月天| 69午夜成人影片| 亚洲激情五月| 99久在线精品| 色五月播五月| 婷婷97C| 色播丁香婷婷五月激情| 丁香五月婷婷色| 婷婷午夜| 另类专区在线| 色婷婷超碰| 久久人妻人人| 丁香五月天婷婷大香蕉| 激情婷婷六月| 第四色在线观看| 欧美99热| 九九黄色网| 婷婷六月丁香在线| 99热在这里只有精品| 操操天堂| 久久99久久99精品免观看粉嫩| 久热爱大香蕉在线蜜臀悦色| 久久在线人妻| 91919191919久久成人视频| 狠狠狠狠狠狠草| AA片在线观看视频在线播放| 国产xxxxx在线观看| 久久免费精彩视频| 丁香六月色香蕉视频| 99热这里是精品| 狠狠色丁香久久久婷| 99精品综合| wWw色五月| 99性爱| 伊人国产婷婷五月天| 日本精品人妻无码77777| A色色| 五月婷婷性爱视频| 五月婷婷六月色|