免费国产精品自在自线-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
返回資訊列表
天天干夜晚夜操| 五月五丁香婷婷| 涩五月婷婷| 婷婷五月四狠狠| 99热这里| 丁香五月婷婷超碰在线| 米奇影视五月天| 久久婷婷五月综合色天| 99只有精品| 婷婷五月天亚洲激情戏精品| 97碰啪啪| 超碰免费大香蕉| 久久久久9999| 亚洲综合1024| 第五色婷婷| 天天色一道本综合婷婷| 超碰91av| 久久综合色五月| 大香蕉伊人久久| wwwC0maV五月花| 99自拍视频网站| 超碰97在线操| 丁香五月影院| 夜夜撸日日操| 婷婷五月天色| 色婷婷综合视频| 日夜夜天天| 97丁香视频| 天天色视频| 五月天婷网| 婷婷五月丁香av网站| 丁香五月婷婷五月基地| 怎么样可以看免费的一级av| 欧美性生交XXXXX无码小说| 能看的AV| 69色婷婷| 久久 婷婷 五月天| 97碰碰在线观看视频| 婷婷五月天人妻| 超碰在线免费| 亚洲综合婷婷五月| 最新色色五月天| 丁香五夜激情四射夜夜夜| 欧美成人精品A片免费一区99| 超碰国产AV| 五月丁香六月婷婷开心网| 色五月开心婷婷| AV在线不卡播放| 久久婷婷五月综合| 五月天.com| 超碰高清在线| 五月婷婷久久大香蕉| 欧美va亚洲va在线播放| 久久丁香五月婷| 日本婷婷丁香五月| 精品色色网| 欧美情月伍月天| 超碰在线人妻| 五月婷婷高清| 丁香五月激情婷婷激情| 99热中国| 日本欧美成人片AAAA| 欧美久久五月婷婷| 六月丁香五月天| 丁香六月婷婷五月婷婷| 婷婷丁香色情| 五月丁香激情综合网| 亚洲情a| 免费日韩99| 久久婷婷伊人| 思思热国产视频| 99re熱| 最新日本A片| 婷婷激情肏屄网| 91欧美| 人妻熟妇国产精品| 丁香五月天色| 五月激情五月婷婷五月天在线| 天天操天天日天天爽| 日韩黄黄| 外国碰视频网站97| 久热大香蕉| 丁香色影院| 二级黄色毛片| 色10月婷婷视频| 91狠狠综合久久久| 天天日日爽| 五月激情小说网| 六九色综合婷婷五月天| 99热只有这里有精品| 97在线精品| 国产精品人成A片一区二区| 亚洲色婷婷| 五月激情综合网婷婷| 亚洲爆乳无码精品AAA片蜜桃| 婷婷丁香六月天| 午夜天天精品视频| 99riAv1国产在线观看| 玖玖国产视频一区| 天天人人人人人人人人人人人| 97久久人人| 丁香六月综合激情| 欧洲区自拍| 丁香五月欧美色综合| 九九Av| 啪啪五月天啪啪| 99成人免费热视频| 亚洲综合在线视频| 九九九九九九综合| 99精品7| 五月开心久久| 强辱丰满人妻HD中文字幕| 色婷婷久久7777| 日韩综合网络男女香蕉a片| 五月婷六月综合在线观看| 婷婷玉月丁香五月在线视频| 99热在线精品观看| sewuyuetingtingiii| 2015WWW永久免费观看播放| 色久婷婷五月| 涩综合网| 婷婷五月精品中文字幕| 国产精品18久久久| 高清不卡一区| 五月综合婷婷五月| 亚洲无码影音| 狠狠色丁婷婷日日,伊人激情综合网| 特级西西4444www无码| 婷婷基地爱| 人人操人| 99在线观看视频| 丁香五月五月婷婷| 色9999日韩国产| 婷婷色色播五月天| 熟妇内谢69XXXXXA片| 非洲一级AV| 婷婷五月综合在线视频| 日本视频久久| 色五月婷婷视频| 九月丁香| 99激情在线| 久久这里都是精品| 九月av在线| 天天色五月| 天天色亚洲| 亚洲AV无码影院| 日日操日日射| 亚洲第一成人AV| 99在线免费视| 激情AV网| 这里只有精彩视| 日本色色影片| 人人摸人人干人人做| 亚洲色色色| 久月婷婷| 五月激情天| 五月婷中文字幕| 欧美人妻一区二区| 操逼巨乳91| 激情内射p| 五月花婷婷| 色丁香五月婷婷| 婷婷操婷婷干婷婷射| 琪琪色网在线| 五月婷在线色视频| 丁香五月激情综合久久| 欧美丁香五月天| 国产免费性爱| 99国产在线| 激情综合五月丁香六月婷婷| 人人摸人人摸| caop在线视频| 99网| 激情五月六月| 色色五月天婷婷| 能直接看的av网站| 丁香婷婷人妻综合网| 五月丁香综合激情| 六月久久狠狠| 色婷婷成人网| 日韩精品AV一区二区三区| 久久视频婷婷视频| 碰碰碰碰碰99| 天天综合网在线| 久久婷婷五月国产色综合激情| 亚洲操操操| 免費亭亭成人| www激情网站| 久久九九@| 五月深情久久| 丁香成人五月天| 五月天伊人av| 操操熟女| peg 2区三区四区的| 日本人妻伦在线中文字幕| 色宗合,宗合网| 超碰日韩人妻在线| 丁香五月激情婷婷婷婷在线观看| 噜噜噜噜噜在线| 一本道在线电影| 999影院成人在线影院| 99视频极品在线香蕉| 亚洲午夜视频| 色狠狠综合| 婷婷五月激情五月丁香五月| 色色五月婷婷| 欧美啪啪9| 青草网在线观看| 午夜不卡久久精品无码免费 | 九月丁香八月婷婷久久综合久97| 婷婷色综合| 思思色综合网站| 色网站9| 五月天综合视频| 六月婷婷国产| 九九热在视频| 激情九月婷婷| 熟女啪啪视频| 中文字幕综合色| 中文字幕在线观看视频www| 人妻久久久久久久久妻久久久久| 淫荡家庭AV| 亚洲天堂色| 九九碰九九爱97超碰| 夜夜操少妇| 色5月婷婷色| 日本乱子人伦在线视频| 99热这里只有精品4| 久久这里只有国产视频| 亚洲 精品 综合 精品| 五月天色站| www.天天干| 国产色色视频| 操操操AV| 97婷婷五月丁香| 亚洲无码另类| 99这里只有精品|v| 青青草原福利在线| 丁香六月天色婷婷| 99热6这里之有精品| 日熟女| 天堂呦 呦百度搜索-百度搜索| 色婷婷色99国产综合精品| 日日操日日撸| 亚洲无码色色| 五月丁香六月婷婷操操操| 亚洲久久婷婷丁香五月天| 综合另类视频| yellow视频在线观看91| 婷婷丁香五月天影院 | 五月婷婷成人| 99免费热视频在线| 激情亚洲网| 色激情五月天| 五月婷婷成人| 97碰免费视频在线| 九九热最新地址| 五月丁香好婷婷A片网| 久久机热/这里只有精品| 狠狠搞综合色| 99亚洲大片精品永久在线观看| 成人va在线观看视频| 99热碰碰| 99热日韩| 樱花99视频| 狠狠搞五月天| 成人久久天天x资源站| www.粉嫩av.com| 另类天堂| 色情播放| 99爱视频在线播放| 9l视频自拍九色9l视频自拍九色9l社区 | 五月丁香啪啪| 极品人妻VIDEOSSS人妻| 亚洲愉拍99热成人精品| 日本美女97在线视频| 涩涩五月天| 色噜噜狠狠色综无码久久合欧美| 国外亚洲成AV人片在线观看| www,99色| 色综合色五月| 成人五月天在线观看| 五月丁香婷婷爱激情综合网| 色婷婷香蕉丁丁网| 99视频在线观看网址| 综合XX网| 色9999日韩国产| 国产伦亲子伦亲子视频观看 | 色性五月天| 夜夜操夜夜姧| 综合网激情| 成人av播放| 青青草激情网| 潘金莲AAAAAAAAAA| www99久久| 五月丁香婷婷啪啪| 六月婷色六月| 五月久久婷婷丁香| 欧美成人网婷婷综合在线| 久久久久人无码人妻| 激情五月天色婷婷| 99精品在这里| 超碰免费电影| 热的五码久久精品| 天天狠天天叉| 欧美激情综合| 色欲影香| 六月婷婷国产| 99热8| 国产精品91抖高| 色婷婷文字幕| 日韩av干| 亚洲热综合| 五月婷婷色在线| 视频一二区| 成人羞羞啪啪 全 视频| 天天干天天操天天射| 丁香五月电影| 99热99极品观看| 色七色九九| 色99色| 综合久| 五月丁香日逼| 五月婷婷co.m| 九九热只有精品| 激情五月天天| 五月熟妇婷婷久久| 精品成人久久久久久久_一二三四视| 亚洲欧洲中文日韩久久AV乱码| 激情婷婷综合网| 亚洲AV免费在线| 亚洲免费电影2| 六月丁香花婷婷| 天天久综合| 五月天综合在线| 最新日韩久热免费视频看看| 激情九九综合网| 五月婷婷AV| 亚洲视频1区| 这里只精品| 天天做天天摸| 97色射| 色丁香五月婷婷婷| 99热久| 久re热视频| 小视频一区| 久久久久这里只有精品| 在线网黄| 99碰碰视频| 伦乱人妻| 人妻久久久久久久久久| 99色热综合| 777.色色| 日本熟妇乱妇熟色A片蜜桃| 大香蕉520| 色99视频| 五月天社区婷婷丁香社区| 五月天激情网页| EEUSS鲁片一区二区三区| 九热久| 99精品在线观看视频| 日韩成人精品中文字幕电影| 狠狠色无码| 九色婷婷| 丁香五月另类小说在线阅读| 性做久久久久久久免费看| 精品99这里有| 图片区 小说区 区 亚洲五月| 午夜天堂啪啪| 五月天久久婷婷| 99热老网站| 久久人人九九| 99自拍视频在线| 色999亚洲人成色| 日本熟妇精品99| 五月天sesese| 26uuu最新地址| 国产a视频| 99这里只有精品视频| 97ai婷婷| 五月丁香成人| 五月丁香网站| 在线中文亚洲| 四月婷婷五月色综合| 欧美影院| 99在线观看| 日韩色色视频| 国产精品久久久久久五月天加勒比| 日产精品一线二线三线芒果| 色五月天成人| 日本99视频| 天天干,天天日| 国产精品噜噜在线视频| 国产精女同一区二区三区久| 操操国产| 这里只有精品99www| 亚洲激情四谢| 1024操逼视频| 天天上天天爽| 五月桃花网综合| www天天爽| 丁香五月婷婷大香蕉| 婷婷黄色| 婷婷五月天亚洲综合网| 激情五月色综合网| 疯狂做受XXXX高潮A片| 五月天色婷婷视频| 欧美啪啪9| 天天综合精品| 五月丁香婷婷AV| 久久五月激情综合| 七月丁香五月婷婷在线| 天天综合网91| 五月天开心色情网| www,黄色在线,con| 五月婷婷色情| 久久婷婷五月综合啪| 91无码高清| 天天干一干| 日日噜狠狠色综合久| 精品思思久久| 久久综合网桃花| 亚洲无码成人网| 黄色录像网点| 激情综合网五月天天| 久久综合香蕉国产国产蜜臀AV| 色五月婷婷操逼| 99色视频在线观看| 五月丁香色色网| 91久女| 色婷婷丁香五月| 9色在线| 另类婷婷五月天啪帕帕| 五月婷婷开心网| 久久这里有精品视频| 如何安全看伊人婷婷| 丁香婷婷五月天成人| 激情第四色| 五月天婷婷小说| 亚洲欧洲自拍图片专区五月天| www.久久综合| 日本少妇AA一级特黄大片| 久久99婷婷| 亚洲最大五月六月丁香婷婷| 色五月天激情| 久久综合色五月| www,99视频| 深爱激情综合| 激情五月天视频| 精品九九视频| 色欲资源网| 久久996re热这里只有精品无码| 色五月天激情| www.婷婷| 欧美五月丁香啪啪响视频| www.99久| 久久久久久激情| 五月婷天堂视频| 九色亚洲| 久久婷婷艹| 99视频| www五月| 色播五月丁香| 综合色色网| 九九九九中文字幕| 91婷婷视频| 婷婷久久综合久| 超碰com| 五月丁香综合中文| 97色天堂| 亚洲色五月婷婷| 在热视频精品| 五月丁香六月婷婷综合网站| 五月丁香在线婷婷蜜桃| 五月五丁香婷婷| 五月婷婷综合色啪| 婷婷五月天人妻| 就爱啪啪婷婷| 成 人 色 色| 婷婷丁香五月,狠狠综合| 天天日天天摸天天| 久久机热这里只有 | 天天人人人人人人人人人人人| 丁香网五月天激情| 五月天综合激情网| 欧美性猛交99久久久99| 日韩一级片| 噜噜噜狠狠色综合| 九九99久久| 中文字幕日产A片在线看| 亚洲字幕AV一区二区三区四区| 日本人妻伦在线中文字幕| 国产AV一区二区三区最新精品| 欧美激情综合五月色丁香| 五月丁香激情综合网| 激情四射五月天| 嫩草AV久久伊人妇女超级A| 欧美性生交XXXXX无码小说| 激情综合网激情五月俺也去| 在线91日韩| 麻豆雪千夏| 1024人妻无码中文字幕| 99热99美国在线观看| 婷婷五月香蕉| 伊人综合网4| 亚洲色综合性| 婷婷五月天丁香社区| 久9久9久9久9久9久9| 婷婷亚洲五| 人人看人人摸人人| 婷婷97| 久久久aaa| 欧美激情综合色综合啪啪五月| 五月婷婷开心色伊人| 青草少妇激情| 婷婷五月色| 丁香视频| 思思热热久久| 五月丁香六月情| 色九九九综合| 九九热视频网站| 五月天另类视频| 91精品久久久久久综合五月天| 波多野结衣成人作品在线| 99色综合| 午夜婷婷久久 | 2w在线视频| 97在线综合| 色婷婷很很十八禁| 成人视频九九| 91干| 成人中文字幕在线| 99爱视频在线播放| 国产黄大片在线观看画质优化| 五月丁香婷婷综合网色欲| 色五月丁香五月激情五月激情| 99久在线精品99re8| 国产精品99久久久久久久女警 | 色情综合| 激情床戏| 26.uuu丁香五月婷婷| 热久久视频99| 久久国产一区二区三区| 99精品激情| 色五月播五月| 99资源人人| 婷婷综合网站| 日韩乱轮AV| 婷婷丁香五| 97色在线| 色色婷| 人妻九九九九| 91vip在线观看| 99热天堂| 久操激情| 亚洲第一黄网| 热99精品视频五月| av色婷婷| www九九| 久久色五月| 天天爱综合网| 色色婷婷丁香五月天| 亚洲日日操| 色天使色综合| xxx.色婷婷| 97ai婷婷| 99丁香五月婷| 日本超碰在线| 91性高潮久久久久久久久| 婷婷99狠狠| 婷婷五月激情图片| 亚洲综合网激情五月天| 性生生活大片又黄又| 婷婷五月丁香高清无码| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 久草狼人| 九九综合九九| 色综久久久| 另类少妇人与禽zOZZ0性伦| 狠色狠色狠狠色综合网| 欧美性猛交99久久久久99按摩| 日韩欧美四五区| 亚洲成av人影院| Va另类视频| 五月婷婷黄网站大全| 午夜丁香婷婷| 成人片在线播放| 97色碰| 天堂婷婷丁香六月网| 久久婷婷原创视频| 五月婷婷九九热| 九九久久五月天| 91超碰人人操| 婷婷丁香五月天中文字幕| 亚洲成人av在线观看| 激情小说在线视频| 欧美va亚洲va| 中文婷婷狠狠| 婷婷伊人| 中文字幕婷婷五月天在线观看| 91操在线| www.丁香五月| 欧美日韩一区二区三区四区| 欧美性爱五月天| 99激| 婷婷丁香五月天操逼| 五月婷婷影| 99爱在线| 五月婷婷成人| 无码人妻丰满熟妇奶水区码| 丁香六月婷婷久久综合| 五月天播播综合| 9 1 A v久久久| 色玖玖| 亚洲五月情| 九月丁香亭亭| 91精品久| 亚洲成人免费电影| 色五月激情网| 99.色| 一逼色综合| 九九爱激情| 久久久久久久97| 婷婷射图五月天| 亚洲综合九九| se99热久久一本| 色情成人五月天| 丁香五月婷婷AV在线| 热的国产,热的综合,热的有码| 日本 色综合| 国内外色色色色色成人视频| AA久久| 激情婷婷网| 婷婷丁香视频在线观看免费| 色婷久九| 色婷婷香蕉丁丁网| 日本三级99人妇网站| 久久五月天婷婷| 色婷婷亚洲六月婷婷中文字幕| 久久五月天综合视频网站| 天堂综合久| 99爱在线| 欧美成人AAA片一区国产精品| 乱码操操| 色综合中文| 激情亚洲网| 五月激情婷婷播播网| 九九精品在线视频观看| www一起操| 99久久偷拍视频| 亚洲亚洲人成综合网络| 天天综合色| 亚洲啪视频| 九九大香视频| 天天干天天爽| 丁香五月激情五月| 九九热这里| 色婷婷色丁香色欲av| 少妇2做爰HD韩国电影| 久草热在线视频| 亚洲第一黄网| 婷婷六月色开| 香蕉综合网| 中文字幕在线不卡| www色色com| 少妇高潮一区二区三区99欧美| 久久久久网站| 色色色婷婷五月天| 淫视馆aV二区一区| 性爱综合网| 色色色999| 97人人干| 狠狠操狠狠爱| 四川BBB搡BBB爽爽视频| 91在线就要啪| www.丁香黄色五月天人与| 丰满人妻妇伦又伦精品国产| 性按摩玩人妻HD中文字幕| 国产精品第一国产精品| 亚洲成人日韩无码精品| 伊人超碰在线| 另类激情码| 91超级碰碰| 激情五月图| 激情五月亚洲综合网| 天天 青草 丝袜制服 在线| 五月丁香六月停停| 思思热精品在线| 国产亚洲精品久久一区二区三区| 婷婷色网站| 丁香五月综合| 黄急一级视频| 亚洲无码激情| 久/久精品99看9| 美妞av| 米奇影视五月天| 天天天天天天操| www.久久久久| 亚洲成人AV电影在线| 丁香五月婷婷激情蜜桃| 大香蕉五月婷婷| 五月激情丁香五月| 天天天天做夜夜夜夜做| 俺去也婷婷| 91狠狠综合久久久| 91人久| 日本黄色精品| 五月天五月色婷婷综合| 天天插天天| 中文字幕成人影视| 色色婷婷五月天| 日韩乱轮AV| 99久久婷| 变态 另类 在线 | 五月天婷婷导航| 中文成人在线| 国产精自产拍久久久久久蜜 | 色播五月综合网| 99,色| 亚洲激情免费视频观看| 天天干天天色综合| 丁香色色五月| 婷婷丁香五月av| 夜丁香五月婷婷| 天天干夜夜谢| 99色在线视频观看| 亚洲成色综合网站免费观看| 色婷婷激情四射视频| 99无码精品| 欧美丁香五月| 甈你aaaaa| 91精品婷婷国产综合久久| 日本操B视频在线观看| 99在线视频播放| 激情色情五月天| 婷婷五月六月| 色五月偷偷| 狠狠干五码| 色五月欧美| 激情五月综合第一页| 五月天综合区| 久久婷婷影院| 婷婷五月天奸女| 99视频这里只有精品10| 亚洲字幕AV一区二区三区四区| 色综合久久44| 婷婷久久色| 丁香五月激情图片婷婷| 亚洲中文无码成人| 丁香六月啪啪啪| 亚洲激情| 一本久道综合色婷婷五月| 禁欲电影完整版在线播放| 噜噜噜狠狠色综| 五月激情婷婷播播开心| 97亚洲精品| www.婷婷,com| 精品一二三区久久AAA片| 99re免费精品视频| 色老久久| 五月婷婷六月丁香玖玖玫瑰91| 婷婷五月天色综合| 日日操夜夜擼| 色色色.com| 青草青草视频2免费观看| 婷婷五月激情网站| 婷婷导航| 婷婷五月激情综合| 婷婷视频网| 婷婷六月激情| 五月婷婷久久综合| 超碰操网| 九九性视频| 色五月天堂| 色色免费网站| 久99热| 精品婷婷| 亚洲操操操| 激情综合五月激情XXXX| 热久久这里只有精品| 婷婷五月丁香综合亚洲 | 少妇AB又爽又紧无码网站| 狠狠色噜噜狠狠色噜噜噜999| 性爱综合网| 天天曰夜夜爽| 五月丁香六月激情综合| 亚洲色情激情丁香五月| 北条麻妃九九九国产精品视频| tingtingzonghewang| 超碰在线50| 99色最新在线视频网站| 激情婷婷视频在线| 亚洲成人av在线播放| 色色狼人综合| 思思久久精品| 一本道综合网| 91fuliwang| 欧美激情VA永久在线播放| 色哟哟www| 五月花免费视频| 综合逼五月激情婷婷| AV中文网| 色五月欧美| 91欧美日韩综合| 在线另类| 欧美激情综合色综合| 超碰精品国产首页| 丁香九月婷| 综合99在线| www.ywav| 成人 在线 日韩| 人妻系列久久久久久久久久久| 激情性爱五月天网页| 99热这| 九九色热| 五月婷婷综合成人| 精品成人在线观看| 成人色五月天| 99热很操老逼| 99∨VTV| av性爱在线| 日本一级一片免费视频| 色偷偷AV亚洲男人的天堂| se99视频| 日本熟女视频一区二区| 狠狠狠狠狠狠草| 91美女被操| 五月综合婷婷久久在线| 99riAv1国产在线观看| 国产99久久久国产精品免费看| 伊人九九九久| 色五月 五月婷婷| 99热在线观看精品免费| 97成人丁香婷婷| 丁香婷婷久| 国产成人亚洲综合A∨婷婷| 婷婷五月天激情综合深爱| 激情婷婷久久| 婷婷五月久久| 丁香五月天色婷婷| 尔尔AV一区| 五月激情婷婷六月丁香| 婷婷射图| 二区成人视频| 久久99热这里只频精品6学生| 激情五月色婷婷| 丁香久久AV| 天堂色婷婷| 五月丁香六月综合图| 狠狠色狠狠操| 日本天堂免费99| 伊人干练久| 亚洲精品视频在线播放| 五月丁香婷色| 久久中文网| 热99在线| 99九九热在线观看| 亚洲视频伍月婷婷| 丁香色啪综合| 深爱五月月天| 婷婷伊人综合中文字幕| 加勒比久热| 伊人久久丁香狠狠婷婷综合香蕉 | 91n啪啪| 国产精品A成V人在线播放| 激情丁香社区| 超碰网站在线观看| 天天干天天干天天干天天干天| 日日操,日日爽| 亚洲成人在线播放| 开心五月综合激情网| 六月婷婷最新网址| 丁香六月综合| 丁香六月在线综合| 欧美成人精品A片免费一区99| www.minyis.com【JT】实力收量可预付QQ2101460746 | 狠狠色性| site:jszngf.com| www.99色| 婷婷五月丁香五月| 婷婷久久网| 五月丁香激情婷婷| 亚洲免费观看高清完整版AV线| 影音先锋五月天婷婷丁香在线观看| AA片在线观看视频在线播放| 九九亚洲| 欧美色色色| 99久久久久| 激情五月天视频| 日本99视频| 日日操日日撸| 亚洲色热| 激情又色又爽又黄的A片| 五月天激情网图片| 中文字幕日产A片在线看| 99自拍视频在线| 色色色999| 国产精品VIDEOSSEX久久发布| 激情av| 在线观看免费视频| 秋霞av吧| 日本一区二区三区精品视频| 婷婷影院欧美| www.五月天色色色| 色综合久久综合中文综合网| 色~性~乱~伦~噜| 激情网站五月| 丁香五月激情欧欧美| 99在线视频精品| 我要看激情五月天| 无人精品在线视频| 五月综合激情| 亚洲精品视频在线| 日韩黄色影院| 五月丁香婷婷综合网色欲| www久久艹| 大香蕉五月天婷婷| 久久精品在线| 这里精品| 九九色99| 国自产拍偷拍精品啪啪一区二区| 超碰免费人人肏| 五月天婷综合| 99色这里| 丁香五月冃欧美| 天天爽天天| 青青草成人网| 狠狠ri| 香焦网五月天| 丁香五月婷婷姐| 成人五月天视频播放| 婷婷久久精品| 色99在线| 色婷婷激情五月天| 婷婷丁香六月综合激情站| 婷婷夜夜夜夜| 五月婷婷导航| 激情又色又爽又黄的A片| 激情五月天情色| 婷婷丁香人妻天久久| 精品色色网| 色五月色图| 国自产拍偷拍精品啪啪一区二区| 久久大香蕉伊人| 亚洲夜五月| 夜夜操,天天撸| 色香欲综合| ou洲色吧| 国产va在线视频| 99只有这里有精品在线视频| 嫩BBB槡BBBB搡BBBB| 超碰在线观看成人视| 另类图片激情五月天| 五月激情婷婷国产精品久久久久久| 欧美内射AA| 九97免费视频| ,99视频久久| 97五月久久丁香婷婷| 久九男女天堂| 九九亚洲视频| 激情五月天 婷婷| 性做久久久久久久免费看| av成人在线播放| 久久五月婷婷开心网| 超碰人人艹| 色婷婷色综合| 人妻videos人妻高清| 色色丁香婷婷综合| 国产精品黑丝| 五月综亚洲| 亚洲综合色色色| 激情深爱五月天| 亚洲A片成人无码久久精品青桔| 日韩精品一区二区亚洲AV观看| 亚洲精品性色| 国产成人精品一区二三区熟女在线| 大香蕉 伊人夜| 99视频一区| 国产暴力强伦轩1区二区小说| www.jiujiujiu| 思思热视频在线观看| 亚洲成人影视在线| 五月伊人综合| 久9热在线视频| 色五月自偷自拍婷婷婷婷| 婷婷九月丁香久久| 日日噜噜久久婷婷五月天 | 久久婷婷五月天大香蕉| 在线综合婷婷| 亚洲艹网| 五月婷伊人| 婷婷色五月天在线观看| 蜜臀av粉嫩av懂色av| 夜丁香综合| 在线播放人妻| 五月丁香拍拍激情综合| 天天综合色| 操操啪| 色欲婷婷五月天| 五月婷婷激情久久| 第四色五月婷婷| 丁香九月激情久久| 五月丁香六月综合激情| 婷婷五月激情视频网| 久久色这里只有精品| 超碰国产一区| 俺也高清无码高清视频| 亚洲丁香五冃97色| 欧美综合五月丁香六月婷| 久九男女天堂| 久久这里只有国产精品视频| 亚洲V国产V欧美V久久久久久| 日韩人妻无码一区二区| 综合色色网| 这里只有精品热| 91久热| 色婷婷成人在线| 婷婷色情 | 色婷婷在线视频综合| 黄色av高清| 午夜丁香五月天综合| www.91AV.com| 99精品综合视频| 婷婷网影院| 五月天婷婷影院| jiujiu热在线视频| 亚洲第一综合| 99热这里只是精品| 超级碰 久久9| 九九色色| 天搞天天天天天| 四LLL少妇BBBB槡BBBB| 色五月天在线| 五月色婷丁香| www.婷婷,com| 天天舔天天插天天爱| 亚洲精品又粗又大又爽A片| 五月婷婷影视| 停停五月色宗合| 另类图片色五月| 色婷婷欧美在线| 中文字幕成人版| 丁香五月先锋| 色色日韩| 热日韩欧美| 久久色亭亭五月天| 色色五月丁香| 日韩成人无码| 狠狠摸狠狠摸| 久久草人妻| 五月婷婷电影院| 五月婷婷丁香| 六月婷婷六月天天在线免费| 免费视频1区| 99热亚洲精品| 亚洲AV激情五月综合网| 综合五月激情| 97人人干| 五月六月婷婷| 九九综合久久| 在线超碰免费| 久久婷婷亚洲无码一起| 99爱在线视频| 华人在线免费| 久久激情五月| 国产亚洲99久久精品熟| 大香蕉久| 天天夜夜爽| 99热最新地址在线| 大香伊人婷婷影院| 99久久这里只有精品| 久久视频这里99| 大香蕉久久伊人婷婷五月丁香| 久久探花91swag| 99热在线播放| 国产VA亚洲VA96| 激情婷婷五月女| 五月天婷婷丁香花| 日韩黄在免| 9久久精品| 怡红院视频| 国产伊人五月天| 五月天婷婷色色网| 亚洲精品又粗又大又爽A片| 婷婷中文无码| 五月天综合图片| 久久精品国产色| 久久久99免费视频| 狠狠色婷婷综合开心影视| 久热9| 99九九综合久久九九| 久久婷婷五月综合伊人| 婷婷五月天伊人在线| 狠狠爱婷婷爱| 激情五月天福利| 国产精品涩涩涩视频网站| 五月丁香啪啪网| 人人草开心五月天| 99精品在线下载| 午夜理论片最新午夜理论剧| 久热AA| 人妻五月天激情开心网| 激情五月婷婷视频| 五月天激情视频| 五月天堂色| AA丁香综合激情| 精品人妻久久久久| 激情婷婷五月天在线观看| 亚洲精品五十一区| 丁香色婷婷| 欧美日比视频| 97爱综合| 热婷婷久| 五月丁香婷婷激情图片| 风流少妇A片一区二区蜜桃| 亚洲激情另类| 色五月天在线观看| 五月丁香综合啪啪| 九热...av| 香蕉婷婷色五月| 九九热99熟女| 99久热| 亚洲中文乱字字幕在线永久| 亚洲激情综合免费| 淫荡工a| 婷婷开心激情综合五月天| 逼逼AV| 六月丁香深深爱| 另类小说五月天综合| 婷婷五月天xxx| 天天日狠狠| 色999五月色| 激情五月网站| 玖玖九九99| 国际国外精品欧洲南美洲专区无码不卡| 婷婷五月天国产手机在线视频观看| 丁香五月天在线观看视频| 九九香蕉网| 天天操天天爱天天日| 五月婷婷在线短视频| 五月丁香久久精品在线观看| 99er精品| xxxx五月激情| 99热这里只有在线播放| 色婷五月天亚洲| 九九婷婷五月天影视| 天天日天天日天天搞| 五月色丁香视频精品| 这里只有精品免费视频| 色五月成人| 91在线日| 性爱视频久久| 激情综合丁香六| 狠狠干无码| 色综合中文| 五月激情天| 国产SUV精品一区二区883| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 能看的AV网站| 天天插AV丝袜中| 97亚洲婷婷| 99久久极情精品一区| 国产婷婷色综合AV蜜臀AV| 六月婷综合| 婷婷va| 99re这里只有精品9| 久香草视频在线观看| 色亭亭五月天丁香综合AV - 百度 - 百度| 极品另类| 欧美成人精品A片免费一区99| 99热在线观看成人| 日韩操逼小电影| 久久A极片| 草久私拍| 91人人操人人| 五月激情开心婷婷| 狠狠色噜噜色狠狠狠综合久久成人波| 涩五月婷婷| 丁香五月婷婷六月| 偷拍丁香九月激情| 久久久婷婷五月亚洲97号色| 九九av| 久久婷婷操| 亚洲旡码| 4438亚洲欧美| 婷婷丁香五月天影院 | 99re视频在线播放| 裸体做A爰片毛片A片免费| 中文字幕高清av| 噜噜噜噜噜久| 色五月婷婷五月天激情综合| 色色婷婷丁香| 婷婷色五月大香蕉在线| 9久热在线视频精品| 亚洲天天免费| 久久视频婷婷| 六月成人网| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 婷婷性爱视频在线| site:esunnet.com| 五月婷婷AV| 精品二区| 久99| 欧美这里只有精品| 国产精品人成A片一区二区| 狠狠色色综合| 伊人9999| 婷婷成人视频| 色色色区| 国产精品热搜丁香五月婷婷| 五月婷婷六月激情| 成人在线网站| 只有久久精品免费| www色五月| 国产精品丝| 五月天婷婷视频30| www.99热| 青青草原亚洲天堂| 天天做天天爱天天爽综合网| 久久人妻少妇嫩草AV| 99热伊人| 狠狠爱五月婷婷| 天堂美国久久| 婷婷久久免费看| 人妻AV在线| 超碰在线中文字幕| 无码色色| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 中文精品在| 色色色9| 久久久宗合视频88| 99热在这里只有免费精品| 日韩久久视频| 9久久久| 激情綜合W W W,激情五月天| 丁香五月激情久久麻豆| 日本色婷婷久久99精品91| 五月婷婷中文字幕| 九九九九综合| 六月色播| 99色精品| 日本3级片一区2区| 欧美人人超级碰| 五月天啪啪| 男人的天堂av俄罗斯热| 天天影视色综合网| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 五月天激情网址| 人人干人人看| 亚洲国产网站| 丁香五月天婷婷91| 五月天 无码| 日本大逼91| 天天久综合| 六月丁香成人| 人人视频人人干人人做| 色婷婷综合在线| 丁香五月天狠狠| 九九九九九九毛片| 色色色综合| 女操碰| 99啪啪视频| 欧美天天爽| 日韩中文字幕| 国产精品久久久丁香五月八戒视频| 婷婷视频在线|