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

ARTICLE DETAIL

資訊詳情

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

SSM+Flask雙引擎:論文投稿系統(tǒng)全棧設(shè)計(jì)與部署實(shí)戰(zhàn)拆解

SSM+Flask雙引擎:論文投稿系統(tǒng)全棧設(shè)計(jì)與部署實(shí)戰(zhàn)拆解 做個(gè)論文投稿系統(tǒng)選 Java 還是 Python這個(gè)問(wèn)題兩年前我自己做課設(shè)時(shí)糾結(jié)了很久后來(lái)成品是 Java 后端搭配 Python 輕服務(wù)一起用也就是標(biāo)題里拆出來(lái)的 SSM Flask 組合。這個(gè)思路到現(xiàn)在看依然很穩(wěn)而且少見(jiàn)有人把完整方案寫(xiě)明白。這篇博客就從頭到尾拆一遍為什么要這樣組合、數(shù)據(jù)庫(kù)和核心業(yè)務(wù)怎么設(shè)計(jì)、投稿鏈路怎么從 Java 端走到 Flask 端、部署調(diào)試時(shí)哪幾個(gè)坑最容易踩。不管是拿它當(dāng)畢設(shè)起步還是想塞進(jìn)簡(jiǎn)歷當(dāng)完整全棧項(xiàng)目這篇文章都能讓你少走一個(gè)月的彎路。畢業(yè)設(shè)計(jì)里那些“論文投稿系統(tǒng)”“在線(xiàn)投稿系統(tǒng)”“學(xué)術(shù)期刊稿件管理系統(tǒng)”歸根結(jié)底要解決的問(wèn)題是同一件事讓一篇論文從作者手里經(jīng)過(guò)提交、整理、分配、審閱最終給出錄用或退稿結(jié)論。聽(tīng)起來(lái)不復(fù)雜但牽涉的角色有三個(gè)——作者、編輯管理員、審稿專(zhuān)家狀態(tài)流轉(zhuǎn)有四五步再加上文件上傳、查重輔助、郵件通知這些邊角功能工作量立刻就不一樣了。很多同學(xué)喜歡把這類(lèi)系統(tǒng)做“重”不管三七二十一先堆一個(gè)巨型后臺(tái)管理界面里塞十幾個(gè)菜單最后交差時(shí)卻發(fā)現(xiàn)作者端連投稿流程都沒(méi)跑通。我自己動(dòng)手時(shí)的思路是另一套主流程優(yōu)先邊角功能讓位能交給腳本和輕服務(wù)做的事絕不塞進(jìn) Java 主工程里。這篇的標(biāo)題里有 Swagger 調(diào)試文檔、LW 文檔但真正的靈魂不是那些紙面材料而是這套 SSM Flask 雙引擎架構(gòu)本身。下面正式進(jìn)入拆解環(huán)節(jié)。1. 整體設(shè)計(jì)與思路拆解1.1 為什么是 SSM 和 Flask 兩套后端同時(shí)存在先解決所有人看到這個(gè)標(biāo)題時(shí)的第一反應(yīng)論文投稿系統(tǒng)為什么不用單一技術(shù)棧理由有三層。第一SSM 是現(xiàn)階段 Java 后端課設(shè)和面試出現(xiàn)頻率最高的組合之一Spring 管 Bean、SpringMVC 管路由和請(qǐng)求映射、MyBatis 管數(shù)據(jù)庫(kù)操作這套東西“規(guī)整”適合做結(jié)構(gòu)清晰的主業(yè)務(wù)系統(tǒng)。用戶(hù)管理、投稿單 CRUD、審稿分配、權(quán)限攔截都是典型的企業(yè)級(jí) CRUD 場(chǎng)景用 Java 寫(xiě)維護(hù)成本低。第二論文投稿系統(tǒng)逃不開(kāi)一個(gè)“軟性需求”查重輔助。哪怕只是做一個(gè)粗糙的文本相似度提示也能極大提升系統(tǒng)的價(jià)值感。這種東西用 Python 做就是幾行代碼的事分詞、TF-IDF、余弦相似度、向量比較生態(tài)里全是現(xiàn)成的而 Java 做同樣的事情要繞很多彎路。所以 Flask 在這里不是搶 SSM 的飯碗而是補(bǔ) SSM 做不到的部分。第三從工程分層角度看兩套后端只通過(guò) HTTP JSON 通信中間沒(méi)有任何代碼層面的耦合。這意味著任何一邊崩了另一邊還能繼續(xù)跑也意味著你可以在答辯時(shí)說(shuō)清楚“模塊化設(shè)計(jì)”和“服務(wù)解耦”這兩個(gè)詞。這種話(huà)術(shù)在畢業(yè)答辯現(xiàn)場(chǎng)是很加分的。1.2 業(yè)務(wù)模塊劃分三類(lèi)角色與一條主流程在做數(shù)據(jù)庫(kù)表設(shè)計(jì)之前我先把業(yè)務(wù)跑了一遍畫(huà)出三個(gè)角色各自要干的事。作者注冊(cè)登錄、維護(hù)個(gè)人資料、提交論文標(biāo)題、摘要、關(guān)鍵詞、PDF 附件、查看審稿狀態(tài)、接收錄用/退稿通知。審稿專(zhuān)家接收系統(tǒng)分配的稿件、下載論文、填寫(xiě)審稿意見(jiàn)和評(píng)分、給出建議結(jié)論。管理員/編輯管理期刊和欄目、審核投稿單、分配審稿專(zhuān)家、終審論文、發(fā)布錄用結(jié)果。整個(gè)系統(tǒng)最核心的一條流程是作者提交稿件 → 管理員初審 → 系統(tǒng)調(diào)用 Flask 服務(wù)做相似度檢測(cè) → 管理員分配兩位審稿人 → 審稿人打分填寫(xiě)意見(jiàn) → 管理員依據(jù)意見(jiàn)終審 → 結(jié)果回寫(xiě)給作者。流程圖不用工具畫(huà)你在腦子里過(guò)一遍就是一張狀態(tài)機(jī)待初審、初審?fù)ㄟ^(guò)、相似度檢測(cè)中、外審中、終審中、已錄用、已退稿。后面所有開(kāi)發(fā)任務(wù)都是圍繞這張狀態(tài)機(jī)展開(kāi)的。1.3 Flask 在這個(gè)系統(tǒng)里到底承擔(dān)哪幾個(gè)職責(zé)很多人以為 Flask 只是用來(lái)當(dāng)一個(gè)“玩具服務(wù)”展示實(shí)際上我把它用在了三個(gè)很實(shí)際的位置。第一個(gè)是文本相似度檢測(cè)接口。作者提交摘要或正文文本后Java 端把文本 POST 到 Flask 的/api/similarity接口Flask 用 jieba 分詞后計(jì)算 TF-IDF 向量之間的余弦相似度返回一個(gè) 0 到 1 的分?jǐn)?shù)。數(shù)據(jù)庫(kù)里預(yù)置了一批往屆論文摘要作為比對(duì)庫(kù)這個(gè)分?jǐn)?shù)能進(jìn)到投稿單里展示給編輯。第二個(gè)是郵件通知服務(wù)。Java 里用 JavaMail 也能發(fā)郵件但配置繁瑣。Python 的 smtplib 配合 Flask 接口一個(gè) POST 請(qǐng)求傳標(biāo)題、收件人、正文就能把狀態(tài)變化推送出去。輕量干凈和主業(yè)務(wù)解耦。第三個(gè)是數(shù)據(jù)看板的小接口。管理員首頁(yè)要顯示投稿量趨勢(shì)、錄用率、待處理稿件數(shù)如果這些全用 Java 寫(xiě)圖表費(fèi)時(shí)費(fèi)力。Flask 端只需要從數(shù)據(jù)庫(kù)和 Java 連同一個(gè) MySQL查幾個(gè)聚合數(shù)據(jù)返回 JSON 就行。后面你用 ECharts 還是 Highcharts畫(huà)圖的活兒全丟給前端。2. 核心細(xì)節(jié)解析與實(shí)操要點(diǎn)2.1 數(shù)據(jù)庫(kù)表結(jié)構(gòu)九張表的背后邏輯論文投稿系統(tǒng)的數(shù)據(jù)庫(kù)不用搞得很?chē)樔撕诵钠鋵?shí)九張表就夠了。我實(shí)際建表如下表名用途關(guān)鍵字段說(shuō)明user全部三類(lèi)用戶(hù)role 區(qū)分作者/審稿人/管理員paper論文主表title, abstract, keywords, file_path, statuspaper_author論文作者關(guān)聯(lián)表支持一篇論文多個(gè)作者journal期刊表期刊名稱(chēng)、ISSN、周期column_info期刊欄目表一本期刊下多個(gè)欄目review審稿表paper_id, reviewer_id, score, comment, conclusionsubmission_log投稿狀態(tài)日志表追蹤每一步狀態(tài)變化similarity_record查重記錄表保存每次相似度檢測(cè)的分?jǐn)?shù)和比對(duì)源notification站內(nèi)信/郵件通知表type, receiver_id, content, is_read這里提醒一個(gè)新手特別容易犯的錯(cuò)不要為“審稿專(zhuān)家填意見(jiàn)”單獨(dú)建一張表然后和 paper 做復(fù)雜關(guān)聯(lián)。直接建review表一篇文章對(duì)應(yīng)兩條記錄兩位審稿人分?jǐn)?shù)和意見(jiàn)全部落在這一張表里。查詢(xún)時(shí)WHERE paper_id ? AND reviewer_id ?就能拿單條審稿結(jié)果漲到多輪外審也好擴(kuò)展。2.2 SSM 端接口設(shè)計(jì)心得順序很重要先定接口再寫(xiě)代碼不是一個(gè)庫(kù)建好就開(kāi)寫(xiě)。作者端核心接口是/api/paper/submit管理員端是/api/paper/assign審稿人端是/api/review/update。這三個(gè)接口搭起來(lái)系統(tǒng)基本面就穩(wěn)了。我用 SpringMVC 的 Controller 層做請(qǐng)求入口Service 層管業(yè)務(wù)邏輯Mapper 層用 MyBatis 做數(shù)據(jù)訪(fǎng)問(wèn)這套分層都不用再解釋是 SSM 項(xiàng)目的標(biāo)配姿勢(shì)。值得展開(kāi)講的是文件上傳這個(gè)接口。論文附件的路徑處理是投稿系統(tǒng)里最容易出 bug 的地方。我推薦的方案是配置文件里寫(xiě)一個(gè)upload.pathController 層讀配置把文件保存在upload.path/論文ID_時(shí)間戳.pdf在數(shù)據(jù)庫(kù)里只存相對(duì)路徑。這樣一來(lái)整個(gè)項(xiàng)目換機(jī)器部署時(shí)只需要改配置文件里的一個(gè)絕對(duì)路徑開(kāi)頭比把路徑硬編碼到處丟強(qiáng)一萬(wàn)倍。2.3 Flask 服務(wù)端怎么和 Java 端做優(yōu)雅對(duì)接這是這個(gè)項(xiàng)目最出彩的一部分我需要把細(xì)節(jié)說(shuō)得更清楚。Java 端通過(guò)RestTemplate或者HttpClientUtils發(fā)起 HTTP 請(qǐng)求向 Flask 的接口傳 JSON。比如相似度檢測(cè)Java 那里大概是這樣// Java SSM 端調(diào)用 Flask 服務(wù) String flaskUrl http://localhost:5001/api/similarity; JSONObject param new JSONObject(); param.put(text, paper.getAbstract()); param.put(targetId, paper.getId()); // 使用 HttpURLConnection 或 RestTemplate 發(fā)起 POST 請(qǐng)求 // 返回結(jié)果 {similarity: 0.832, status: ok}Flask 端對(duì)應(yīng)的接收代碼就是from flask import Flask, request, jsonify import jieba from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.metrics.pairwise import cosine_similarity app Flask(__name__) app.route(/api/similarity, methods[POST]) def similarity(): data request.get_json() text data.get(text, ) # 這里從數(shù)據(jù)庫(kù)讀比對(duì)庫(kù)文本做分詞、向量化、相似度計(jì)算 # 返回 jsonify({similarity: 0.832, status: ok})有幾個(gè)關(guān)鍵點(diǎn)必須說(shuō)明。第一是 Flask 服務(wù)要單獨(dú)跑在一個(gè)端口上不要和 Tomcat 搶 8080我用的是 5001。第二是 Java 端調(diào)用 Flask 時(shí)要配置好超時(shí)時(shí)間否則 Flask 那邊卡住Java 線(xiàn)程也會(huì)一起掛。第三是兩邊統(tǒng)一用 JSON 通信不要搞 XML不要搞自定義二進(jìn)制協(xié)議JSON 是兩種語(yǔ)言之間最沒(méi)有爭(zhēng)議的通用語(yǔ)言。2.4 輕量數(shù)據(jù)庫(kù)的選擇MySQL 還是 SQLite標(biāo)題里提了“輕量化數(shù)據(jù)庫(kù)”很多同學(xué)會(huì)問(wèn)那就用 SQLite 好了不能一概而論。如果你的系統(tǒng)要跑在 Tomcat 里同時(shí)段可能有多個(gè)用戶(hù)并發(fā)訪(fǎng)問(wèn)SQLite 在寫(xiě)入鎖方面會(huì)讓你很痛苦。MySQL 才是穩(wěn)妥選擇。但我在 Flask 端做比對(duì)庫(kù)查詢(xún)時(shí)反而使用了 SQLite 作為只讀庫(kù)因?yàn)楸葘?duì)不需要頻繁寫(xiě)入只讀場(chǎng)景下 SQLite 的開(kāi)銷(xiāo)更小也能避免 Java 和 Python 兩端同時(shí)對(duì)同一個(gè) MySQL 表做操作時(shí)的鎖競(jìng)爭(zhēng)。最合理的方案是Java 端和 Flask 端共享同一個(gè) MySQL 數(shù)據(jù)庫(kù)Java 負(fù)責(zé)寫(xiě)Flask 大部分時(shí)間只讀偶爾比如記錄檢測(cè)分?jǐn)?shù)才寫(xiě)similarity_record表。這種做法在答辯時(shí)也可以說(shuō)成“讀寫(xiě)分離思想的簡(jiǎn)化版本”雖然沒(méi)有中間件但邏輯上已經(jīng)是那套思路了。3. 實(shí)操過(guò)程與核心環(huán)節(jié)實(shí)現(xiàn)3.1 環(huán)境準(zhǔn)備與項(xiàng)目初始化流程下面這些操作是我在實(shí)際搭建時(shí)一步步走下來(lái)的照著做不會(huì)有問(wèn)題。按我平時(shí)最順手的順序來(lái)先把 Java 環(huán)境和構(gòu)建工具裝好。JDK 我用的是 1.8不是因?yàn)榕f而是 SSM 這個(gè)組合對(duì) 8 的兼容性最好Spring 5.x MyBatis 3.x 在這個(gè)版本下不會(huì)出幺蛾子。Maven 裝好之后用mvn archetype:generate創(chuàng)建一個(gè) war 包結(jié)構(gòu)的 web 項(xiàng)目或者直接在 IDEA 里新建 Spring Initializr 項(xiàng)目再手動(dòng)導(dǎo)依賴(lài)。IDEA 能省很多事但如果你是非 IDEA 黨那用 Maven 命令也沒(méi)問(wèn)題。核心依賴(lài)要加這幾個(gè)spring-webmvc、spring-jdbc、mybatis、mybatis-spring、mysql-connector-java、jackson-databindJSON 處理、commons-fileupload文件上傳。第一次做 SSM 整合的同學(xué)最容易卡在 Spring 和 SpringMVC 的配置文件上我給出一個(gè)最簡(jiǎn)但是能跑通的骨架思路spring-context.xml里配數(shù)據(jù)源和 MyBatis 的SqlSessionFactory開(kāi)啟 Mapper 掃描。spring-mvc.xml里開(kāi)啟注解驅(qū)動(dòng)配置視圖解析器和文件上傳解析器。web.xml里配置 Spring 的ContextLoaderListener和 SpringMVC 的DispatcherServlet。Flask 端的準(zhǔn)備更輕。Python 3.8 以上版本裝好flask、jieba、scikit-learn、numpy就行。不用建虛擬環(huán)境也問(wèn)題不大但強(qiáng)烈建議建一個(gè)否則 sklearn 的依賴(lài)會(huì)把你的全局 Python 環(huán)境搞得很亂。用python -m venv venv一鍵創(chuàng)建之后所有依賴(lài)都裝進(jìn)這個(gè)虛擬環(huán)境里。3.2 手把手實(shí)現(xiàn)一個(gè)投稿主流程從作者登錄到稿件成功入庫(kù)這一小節(jié)完全照著敲跑通它你就掌握了 70% 的 SSM 核心操作。第一步作者提交投稿表單包含標(biāo)題、摘要、關(guān)鍵詞、PDF 文件。前端發(fā)一個(gè)multipart/form-data請(qǐng)求到 Java 后臺(tái)。Controller RequestMapping(/api/paper) public class PaperController { PostMapping(/submit) ResponseBody public Result submit(RequestParam(title) String title, RequestParam(abstractText) String abstractText, RequestParam(keywords) String keywords, RequestParam(file) MultipartFile file) { // 1. 保存文件到 upload.path // 2. 插入 paper 表status 待初審 // 3. 插入 submission_log 記錄 // 4. 異步調(diào)用 Flask 相似度接口 return Result.success(); } }第二步管理員初審?fù)ㄟ^(guò)后點(diǎn)擊“分配審稿人”。Java 端在review表里插入兩條記錄分別填兩個(gè)審稿人同時(shí)把paper.status改成“外審中”。這一步最關(guān)鍵的是要保證事務(wù)性即兩個(gè)insert和一個(gè)update必須要么都成功、要么都失敗。Spring 的Transactional注解直接標(biāo)在 Service 方法上就能搞定手動(dòng)去 commit 和 rollback 就太傻了。第三步審稿人提交審稿意見(jiàn)。這個(gè)接口要做一層權(quán)限校驗(yàn)當(dāng)前登錄用戶(hù)的角色是審稿人并且review表里能查到他確實(shí)被分配了這篇論文否則直接返回 403。用 SSM 的攔截器HandlerInterceptor做通用攔截再配合一層細(xì)粒度判斷邏輯就完整了。3.3 Flask 相似度查重模塊的實(shí)現(xiàn)細(xì)節(jié)這個(gè)模塊雖然代碼量不大但細(xì)節(jié)能讓整個(gè)項(xiàng)目的技術(shù)含量上一個(gè)臺(tái)階。我用jieba.cut對(duì)文本做中文分詞去掉停用詞然后用jieba.analyse.extract_tags提取關(guān)鍵詞再用 TF-IDF 算法把文本轉(zhuǎn)成向量最后計(jì)算余弦相似度。中文文本處理最忌諱的是直接按空格切分——英文文本分詞用空格就可以但中文不提前分詞的話(huà)比較結(jié)果就是一堆亂碼級(jí)別的垃圾。第一次跑相似度檢測(cè)時(shí)如果發(fā)現(xiàn)分?jǐn)?shù)高得離譜先檢查分詞環(huán)節(jié)有沒(méi)有生效而不是急著調(diào)閾值。比對(duì)庫(kù)的數(shù)據(jù)來(lái)源很關(guān)鍵。我自己準(zhǔn)備了兩種數(shù)據(jù)一是本地爬取整合的論文摘要存成 CSV二是系統(tǒng)歷史投稿的已錄論文摘要。每次檢測(cè)把當(dāng)前文本逐個(gè)和比對(duì)庫(kù)里的文本做相似度計(jì)算取最高分返回。比對(duì)庫(kù)只有幾百條時(shí)單次檢測(cè)耗時(shí)也就幾百毫秒完全夠用。如果數(shù)據(jù)量到達(dá)上萬(wàn)條可以先用關(guān)鍵詞粗篩出候選集再對(duì)候選集做精確計(jì)算這在小項(xiàng)目里屬于可選的性能優(yōu)化。Flask 端返回的數(shù)據(jù)格式我建議統(tǒng)一這樣{ status: ok, similarity: 0.67, match_source: 《基于大數(shù)據(jù)的教學(xué)設(shè)計(jì)研究》, code: 200 }Java 端拿到這個(gè) JSON 后解析把similarity存進(jìn)similarity_record表把match_source展示到管理員界面上。格式統(tǒng)一這一點(diǎn)必須在開(kāi)發(fā)第一天就定好不然后面 Java 端和 Flask 端各寫(xiě)各的溝通成本直接翻倍。3.4 部署方式本地部署、Windows 與 Linux本地跑通這套系統(tǒng)用兩臺(tái)“服務(wù)器進(jìn)程”就能完成。Tomcat 跑 SSM 的 war 包端口 8080python app.py跑 Flask端口 5001。中間不要用反向代理干預(yù)調(diào)試時(shí)直接用端口訪(fǎng)問(wèn)最直觀。部署到 Windows 服務(wù)器時(shí)可以保留這套方案但有一個(gè)必踩的坑Flask 的附件存儲(chǔ)路徑和日志路徑最好不要和 Java 端共享同一個(gè)目錄。兩邊同時(shí)讀寫(xiě)同一個(gè)目錄權(quán)限沖突會(huì)有無(wú)休止的報(bào)錯(cuò)。我的做法是在 D 盤(pán)下分兩個(gè)目錄D:/paper_system/java_upload和D:/paper_system/flask_storage。部署到 Linux 服務(wù)器時(shí)推薦用 gunicorn 來(lái)跑 Flask不要再用python app.py裸跑。命令大概這樣gunicorn -w 2 -b 0.0.0.0:5001 app:app這條命令的意思是用 2 個(gè) worker 進(jìn)程跑 Flask 服務(wù)監(jiān)聽(tīng)所有網(wǎng)卡的 5001 端口。Java 端部署在 Tomcat 里前后端分離的話(huà)再把 HTML 靜態(tài)頁(yè)面丟到 Tomcat 的webapps/ROOT里就行。Linux 環(huán)境下的文件路徑不用 D:/ 這種寫(xiě)法全部換成絕對(duì)路徑比如/data/paper_system/java_upload。4. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄寫(xiě)這節(jié)是因?yàn)槲耶?dāng)初確實(shí)花了很多個(gè)晚上在這些問(wèn)題上有些問(wèn)題甚至讓我懷疑人生。這里直接給速查表能幫你少走彎路。4.1 Flask 附件路徑錯(cuò)誤這個(gè)問(wèn)題在標(biāo)題熱詞里被提到大概率也是所有做同類(lèi)系統(tǒng)的人共同痛點(diǎn)。癥狀是 Java 端上傳文件成功但 Flask 端讀取附件時(shí)找不到文件或者 Windows 路徑的正反斜杠在 Linux 上完全不認(rèn)。我最終的解法是所有路徑不僅在配置文件里集中管理而且始終用Path或os.path.join來(lái)拼接。Flask 端接收 Java 傳來(lái)的路徑時(shí)要對(duì)方只給相對(duì)路徑拼盤(pán)符和上級(jí)目錄的工作交給配置文件。不要寫(xiě)死/var/www/...也不要在 Windows 上寫(xiě)C:\\...環(huán)境一換就崩。4.2 SSM 和 Flask 的端口沖突與跨域兩個(gè)服務(wù)都跑在同一臺(tái)機(jī)器上端口沖突本來(lái)就少見(jiàn)但如果前端頁(yè)面是純靜態(tài)頁(yè)面跨域問(wèn)題就很常見(jiàn)了。Java 端接口端口 8080Flask 接口端口 5001頁(yè)面從 8080 調(diào) 5001 的接口瀏覽器默認(rèn)會(huì)攔跨域請(qǐng)求。解決方案有兩種。一種是 Java 端在 Controller 層寫(xiě)一個(gè)轉(zhuǎn)發(fā)接口前端只調(diào) 8080由 Java 作為中間人轉(zhuǎn)發(fā)到 5001。另一種是給 Flask 加flask-cors擴(kuò)展允許跨域。我用了后者但答辯時(shí)兩種方案都要能說(shuō)清楚。4.3 相似度檢測(cè)不準(zhǔn)的排查檢測(cè)出來(lái)的相似度全為 0 或異常高別急著懷疑算法先檢查數(shù)據(jù)預(yù)處理。兩個(gè)關(guān)鍵詞停用詞表和比對(duì)庫(kù)質(zhì)量。中英文標(biāo)點(diǎn)、常見(jiàn)虛詞“的”“了”“一個(gè)”“我們”都要在預(yù)處理時(shí)去掉否則這些詞會(huì)干擾 TF-IDF 權(quán)重。比對(duì)庫(kù)幾千條全是同一主題時(shí)任何新投稿都會(huì)得到高相似度這同樣是數(shù)據(jù)問(wèn)題不是算法問(wèn)題。4.4 投稿狀態(tài)不一致的深層原因狀態(tài)機(jī)設(shè)計(jì)得好不好直接決定后面用起來(lái)順不順。這里想分享一個(gè)體會(huì)submission_log這張日志表不是可有可無(wú)的。我一開(kāi)始為了偷懶沒(méi)建這張表結(jié)果有一次復(fù)審時(shí)狀態(tài)從“外審中”直接跳成了“已錄用”中間丟了“終審中”這一步給管理員帶來(lái)了困擾。加完日志表以后每次狀態(tài)變更都記錄操作者、時(shí)間、舊狀態(tài)、新?tīng)顟B(tài)出問(wèn)題能倒查是哪一步跳變排查效率翻倍。4.5 Flask 服務(wù)的安全加固小常識(shí)這個(gè)系統(tǒng)里 Flask 因?yàn)榕茉?5001 端口容易被忽略但任何公網(wǎng)服務(wù)都應(yīng)該做基本的安全加固。我不展開(kāi)講什么攻擊手法只說(shuō)幾個(gè)防御的習(xí)慣。第一Flask 的 debug 模式在生產(chǎn)環(huán)境必須關(guān)閉不然錯(cuò)誤頁(yè)面會(huì)泄露源碼路徑和調(diào)用棧。第二前端提交的內(nèi)容不能直接扔到 Flask 模板的渲染變量里要用轉(zhuǎn)義或讓前端框架做輸出編碼避免留下注入空間。第三Java 端調(diào)用 Flask 的 URL 不要寫(xiě)死帶密鑰或口令的參數(shù)接口鑒權(quán)用固定的一次性 token 就行。這些習(xí)慣在任何 Web 項(xiàng)目里都適用屬于寫(xiě)代碼的基本素養(yǎng)。4.6 問(wèn)題速查表現(xiàn)象可能原因解決辦法上傳文件后 Flask 找不到文件路徑拼接不一致使用相對(duì)路徑/絕對(duì)路徑混亂統(tǒng)一由配置文件維護(hù)路徑用 os.path.join 拼接Java 調(diào) Flask 接口超時(shí)Flask 未啟動(dòng)端口錯(cuò)誤防火墻放行 5001 失敗先 curl 直接測(cè)試 Flask 接口再排查 Java 端 timeout 配置相似度全部為 0比對(duì)庫(kù)為空分詞沒(méi)生效停用詞沒(méi)有過(guò)濾檢查比對(duì)庫(kù)數(shù)據(jù)加入 jieba 分詞配置停用詞表投稿狀態(tài)跳變?nèi)鄙贍顟B(tài)日志表代碼里硬編碼狀態(tài)值增加 submission_log 表所有狀態(tài)以常量類(lèi)管理頁(yè)面跨域報(bào)錯(cuò)端口不一致觸發(fā)瀏覽器同源策略Flask 端開(kāi)啟 CORS或用 Java 做轉(zhuǎn)發(fā)接口郵件通知發(fā)不出去SMTP 配置錯(cuò)誤QQ/163 郵箱需要授權(quán)碼而非密碼檢查授權(quán)碼檢查郵箱是否開(kāi)啟 SMTP 服務(wù)不要小看這張表它是我把整個(gè)開(kāi)發(fā)過(guò)程中真實(shí)踩過(guò)的坑濃縮出來(lái)的。里面每一條都有當(dāng)時(shí)的慌亂和后續(xù)的豁然開(kāi)朗。5. 個(gè)人的幾點(diǎn)體會(huì)這個(gè)項(xiàng)目真正讓我學(xué)到東西的不是 SSM 或者 Flask 的某一個(gè)語(yǔ)法或框架特性而是如何讓兩套不同語(yǔ)言的技術(shù)棧在一起協(xié)同工作。最初我也怕麻煩覺(jué)得“一個(gè) SSM 全搞定”就夠了。但當(dāng)我把相似度檢測(cè)用 Java 寫(xiě)了一版預(yù)處理工作量和代碼復(fù)雜度肉眼可見(jiàn)地暴漲之后我才理解選型真的是做系統(tǒng)的第一決策。Java 的強(qiáng)項(xiàng)是業(yè)務(wù)建模和穩(wěn)定Python 的強(qiáng)項(xiàng)是快速算法實(shí)現(xiàn)和數(shù)據(jù)處理雙框架不是炫技是讓合適的技術(shù)做合適的事。最后再分享一個(gè)實(shí)用的小技巧。如果你覺(jué)得論文投稿系統(tǒng)的管理后臺(tái)太樸素不要急著在 Java 端堆前端代碼直接在 Flask 端寫(xiě)一個(gè)簡(jiǎn)單的頁(yè)面把投稿趨勢(shì)、錄用率、等待外審數(shù)量這些聚合數(shù)據(jù)渲染出來(lái)。每次啟動(dòng)系統(tǒng)后訪(fǎng)問(wèn)一次 5001 端口就能看到一個(gè)小型數(shù)據(jù)看板看起來(lái)像高級(jí)很多的樣子。實(shí)際上背后的代碼不到一百行但實(shí)際效果很可觀答辯現(xiàn)場(chǎng)它也是吸引老師注意的亮點(diǎn)之一。這套“SSM 做穩(wěn)定、Flask 做算法和輔助”的混合架構(gòu)思路也不局限于論文投稿系統(tǒng)——失物招領(lǐng)平臺(tái)、農(nóng)產(chǎn)品價(jià)格可視化平臺(tái)、校園互助系統(tǒng)這些課設(shè)、畢設(shè)題目里大量存在“需要業(yè)務(wù)系統(tǒng) 需要智能推薦/算法輔助”的場(chǎng)景思路都是通用的。下一次做項(xiàng)目你也會(huì)發(fā)現(xiàn)而代碼和接口彼此分離會(huì)讓你在擴(kuò)展功能時(shí)體會(huì)到前所未有的輕松。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色丁香久久| 超碰人人妻| 99热99热99热99热| 婷婷伊在线| 97在线日韩| 色色色9| 五月婷深深爱激情网| WWW.久久久久久久| 五月天色站| 中国AV性爱观看| 日韩在线一级| 色综合久久8| 五月开心久久| 国产成人网址| 九九这里都是精品| 色婷婷综合网站| 成人五月天视频播放| 婷婷五月综合婷婷| 超碰三级秋霞| 天堂AV三级| 9久久精品视频| 少妇性按摩无码中文A片 | 国产精品爽爽久久久久久| 五月丁香六月色情网欧美| 激情中文在线| 丁香五月大香蕉AV| 先锋资源婷婷| www.97碰碰com| 欧美碰碰碰| 婷婷丁香熟女| 六月丁香婷婷爱| 亚洲激情综合| 国产暴力强伦轩1区二区小说| 91玖玖| 成人va在线播放| 婷婷五月综合丁香久久| 成人五月丁香花| 中国女人内射6XXXXX| 天天操比比| www.色色五月天.com| 激情VA视频| 五月婷六月天| 丁香激情五月少妇| 激情网五月天| 九九亚洲综合| www.操.com| 色色色色综合网| www色五月| 美国十月色婷婷在线观看| 思思国产99| 天天成人综合视频| 99精品在线观看视频| 丁香五月在线观看完整版| www.91.com处女在线直播| 天天肏视频| 五月天久久婷婷| 26.uuu丁香五月婷婷| 97久久超视频| 欧美性爱一区| www.天天干.com| 狠狠艹狠狠艹| 这里只有精品视频一区| 婷婷六月色开| 狠狠操狠狠爱| 九八Av| 老妇六区| 涩涩婷婷五月| 精品国产va久久久久| 婷婷五月天激情四射| 婷婷久草| 久久人人人人妻| 视色综合| 噜噜五月天综合| www.夜夜操| 日韩免费视频| 九色地址91视频| 另类激情码| 99在线视频色版| 久久视屏这里只有久久| 狠狠激情五月天| 天天爱天天吃狠天天透| 国产精品18久久久| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 激情图片久久| 丁香五月宝贝激情网| 五月天色婷婷基地| 亚洲AV成人片无码网站| 五月成人丁香av91| 中文无码婷婷| www.sezonghe| 亚洲另类在线观看| 人人综合色| 99精品国产在热久久婷婷| 欧美色五月| 香蕉久久国产AV一区二区| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久日韩婷婷五月| 日操五月婷| 激情综合色播| 免费看欧美成人A片无码| 一级视频网址| 亚洲美女婷婷五月天| 久久这里都是精品视频| 9色视频在线| 福利视频在线播放| 色99热| 五月丁香WWW| 激情小说婷婷五月| 99热这里有精品| WWW久| 狠狠色婷婷7| 亚城区在线| 丁香六月五月天| 丁香六月成人| 思思热思在线精品视频| 五月激情婷婷综合| HD久久精品视频| 玖玖色综合| 丁香婷婷激情网站| 国产精品久久久爽爽爽麻豆色哟哟 | 26uuu成人网| 欧日韩成人| 五月婷婷免费| 久久在线视频免费观看| 五月天五月色婷婷综合| 色哟哟精品| 97色射| 色情五月丁香| 五月丁香啪啪啪| 精品一二三区久久AAA片| a色婷婷| 色999五月色| 丁香六月婷婷色播| 五月婷婷,六月婷婷| 天天操天天操综合| 99久热| 99久re热| 深爱婷婷网| 青草青草视频2免费观看| 久久久久久久久久久97| 九九在线精品| 97热久久| 狠狠摸狠狠摸| 婷婷狠狠97| 亚洲欧州色情在线观看| 婷婷中文字幕欧美| 婷婷伊人久久综合| 伊人九九68| 色婷婷丁香六月| yellow视频在线观看91| 久综合九| 99热丁香| 99热国产精品| 丁香六月综合激情| 婷婷综合五月| 开心激情网五月天| 久久视网36| 一月婷婷色色| 九热精品| 综合久久99| 97碰免费视频在线| 丁香色婷婷| WWW.天天日| 成人av在线网站| 我去色色网五雨天| 激情综合九月| 久热伊人| 国产做爰视频免费播放| 婷婷五月天论坛| 99久久人妻精品无码二区| 激情99。| 婷婷碰碰| 99视频这里有精品| 996er热| 97色天堂| 国产小精品| www.日日夜夜.com| 七七久久综合| 色五月av| 日韩黄黄| 屁股翘好撅高迎合跪趴| www狠狠| 天堂伊人干| 99亚洲大片精品永久在线观看| 2018国产大陆天天弄| 翔田千里aV中文字幕| 99国产精品久久久久久久久久久| 精品皮股午夜AV| 五月婷婷影视| 五月狠狠| 婷婷,五月天,丁香,第一| 六月激情婷婷| 婷婷十月丁香| 亚洲综合视频网| 性爱网五月天| 婷婷丁香成人在线视频| 国产亚洲成AV人片在线| 日韩一级片| 五月婷婷开心亚洲无| 丁香五月天啪啪| 亚洲中文无码成人| 久久精品日| 97干在线播放| 国产日日夜夜操| 五月婷婷黄网站大全| 可以免费观看的AV| 丁香五月婷婷六月婷| 色婷婷香蕉在线| xxx.色婷婷| 91大屁股精品| 国产精品美女久久久久AV超清| 激情五月天色婷婷综合| 婷婷五月天激情小说| 丁香五月性爱| 色婷婷基地| 97碰碰在线看视频免费| av在线婷婷| 欧美色婷婷| 欧美在线视频99| 免费观看全黄做爰的视频| 99热在线观看这里只有精品 | 综合色色婷婷| 欧美三级视频| 欧美性爱五月天| 五月天激情网页| 色综合中文色综合网| 久久婷色| 五月 激情视频| 五月天另类综合网| 99久在线视频| 免费成片在线观看| 色五月激情五月| www.婷婷五月| 99九九视屏| 亚洲色图五月丁香| 一区二区你懂的| 99爱在线精品视频免费观看| 人人视频人人干人人做| 青青福利网| 五月丁香精品| www.综合久久.com| 久久蜜臀婷婷| 乱精品一区字幕二区| 狠狠色五月天| 99热这里只有精品国产首页| 色欲五月天| 色婷婷a v| 中文字幕无码AV| 啪啪一区| 强伦轩人妻一区二区电影| 激情五月婷婷综合网| 庭庭久久内射| 91在线视频综合| 中文字幕无码人妻少妇免费视频| 久久五月丁香| 淫视馆aV二区一区| 一级精品999WWW| 五月丁香花激情综合网| 天天色天天干天天插| 99精品97| 亚洲色基地| 久热A片| 激情婷婷五月天| 久久婷婷五月天激情四射| 五月婷婷丁香六月在线| 五月综合777| 亚洲激情综合色站| 五月婷婷丁香成人网| 亚洲无aV在线中文字幕 | 综合激情五月婷婷| 五月丁香色婷婷色| www.色婷婷| 天天夜夜爽| 久久一二三视频| 亚洲日本激情| 激情综合网婷婷久久| 欧美色图天堂网| 97热九九| 超碰97干| 色噜噜综合网| 久久这里精彩免费在线观看| 五六月婷婷| 99在线69| 丁香5月激情网| 五月丁香成人| 日本妈妈乱| 亚洲婷婷五月天在线激情综合网| 婷婷综合激情五月中文字幕| VA国产在线综合网站| 婷婷丁香视频在线观看免费| 丁香六月婷月91婷月| 婷婷色丁香五月| 九九碰九九爱97超| 狠狠狠婷婷五月综合| 九九精品热| 色9999日韩国产| 欧美日本黄色| 国产日产成人亚洲欧美国产VA| 色综合久久综合中文综合网| 五月丁欧美| 超碰免费在线| 操逼123网| www色中色综合| 欧洲亚洲激情五月天在线| 99福利视频| 婷婷色情小说| 丁香五月婷婷日本| 日日爽日日| www色婷婷| 超碰91在线| 99热久久这里只有精品| 久久久久九九九九视屏小说88| 91热在线观看视频| 欧美综合123区| 久碰久操| 色亚洲婷婷| 婷婷综合网站| 婷婷涩五月| 天天插综合| 色激情五月天| 青草青草久9视频在线视频| 婷婷综合九月| 天天爽成人综合网站| 妻久久久久| 五月婷AV| 亚韩在线视频| 五月综合激情婷婷六月色窝| 婷婷激情综合色五月久久91| 成人 在线 日韩| 99rewww| 狠狠干五码| 婷婷五月天久久| 激情五月丁香五月| 久操香蕉| 亚洲综人色综网| 欧洲激情五月天| 亚洲欧美国产高清vA在线播放| 国产激情av| 五月天激情国产综合婷婷婷| 六月婷欧美丁香综合| 狠狠色丁香婷婷五月| 美女黄频aⅴ视频| 日本精品。999| 99热精品在线播放| 六月丁香婷| av一区免费看| 色色色99韩| 日韩五月丁香| 极品人妻VIDEOSSS人妻| 一起草无码| 无码毛片992367| 可以直接看的av| 色婷婷五月天在线观看| 欧美久人人| 97丁香花五月天激情小说| 亚洲欧美另类在线23p| 狠狠操综合| 九月丁香八月婷婷加勒比| 日韩成人电影在线播放| 激情开心五月天婷婷基地丁香社区| 九九久久99精品免费观看www| 成人做爰A片免费看网站找不到了| 色yeye色综合| 五月丁香六月婷婷中文版| 久久精品这里只有精品免费首页| 色欧美色色色| 五月五婷婷网| 欧美综合123区| 99se丁香| 五月人妻婷婷| 99精品视频网| caop在线| www.9797国产| 一区二区三区四区牛| 亚洲第一色色色| 激情六月色| 久热久69| 五月五丁香婷婷| 久久久18| 超碰9| 五月婷六月婷婷| 五月丁香成人网| 热99免费在线| 色五月婷婷小说亚洲中文字幕组| 91色性感五月婷婷丁香| www。88热在线视频免费观看| 婷婷狠狠18禁久久| 久热re在线视频| 一本久久亚洲五月婷婷| 九九热精品视频| 丁香婷婷五月综合影院| 婷婷中文字幕| 久久久A级视频| 五月婷婷五月天亚洲无码| 伊人无码高清| 婷婷五月天激情综合婷婷五月天激情综合| 日韩AV大全| 成人中文字幕在线| 日本五月天网站| 91色色色视频| 色婷婷社区| 久久婷婷艹| 五月五丁香婷婷| 精品久久99| 99久久久| 久热91| 色色操| 大香蕉九操| 天天肏天天肏天天肏| 色婷婷综合视频| 丁香六月婷婷操逼网| 色婷婷丁香五月丁香| 久久五月丁香| 天天干天天操天天干天天操天天干天天操 | 激情综合女人网五月播播| 欧美人妻一区二区| 激情五月天婷婷久久久久久久久久久| 色情综合| 丁香5月啪啪| 亚洲妇女熟BBW| 综合狠狠干| 久久人妻视频| 丁香五月婷婷亚洲另类| 色色9 9| 国精产品一区二区三区| 啪啪五月综合| 4438激情网| 日本 欧美在线| 九九av| 五月亭亭六月色| 99亚洲天堂| 色宗合,宗合网| 国产黄大片在线观看画质优化| 天天噪夜夜爽| 性爱五月婷| 影音先锋91资源站| 成人做爰A片免费看网站找不到了| 天天综合网在线| 五月丁香婷婷在线综合蜜桃| 久久九九激情五月天| AV五月婷婷露脸| 婷色视频| 天天插天天射| 色综合日日| 99热很操老逼| 色99视频| 99热无码| 色情五月综合婷婷| 九九99久久精品| 天天久综合| 猫咪伊人久久| 五月开心播播网| 终合激情网| 99热9999| 97色五月婷婷在线| 色婷婷激情四射视频| 在线播放中文字幕| 九色亚洲| VA色婷婷| av中文网站| 91婷婷色五月| 两性婷婷丁香五月| 色情综合| 亚洲色在线观看| 9久久精品| 国产午夜成人免费看片无遮挡| 激情综合五月婷婷六月丁香| 国产欧美日韩性爱| 婷婷黄色五月| 欧美肉大捧一进一出免费视频| 狠狠色噜噜色狠狠狠综合久久成人波| 日韩另类| av性爱网站| 激情五月婷婷丁香六月| 97操女视频| 丁香五月五月婷婷| 日本色爽| 婷婷丁香五月天小说| 伊人玖玖综合| av操逼网| 亚洲精品99| 99热免费精品| 色狠狠六月| 欧洲精品爱爱| 1024欧美看片| 性一交一乱一交A片久| 久婷五月| 色激情五月| 夜夜躁狠狠| 久久综合首页| 色色网91| 五月婷婷色欲| 国产亚洲精品久久久久久郑州| 天天插天天干| 色丁香影院| 79精品在线视频| 丁香婷婷91在线观看视频| 蜜乳久AV| 麻豆AV一区二区三区| 内射综合网| 婷婷涩涩五月天| 99热首页在线30| 亚洲精品视频在线| 99热1| 91日综合欧美| 亚洲AV成人在线观看| 99在线精品观看99| 色色色色色色网| 色婷婷国产精品综合在线观看| 国产精品久久久久久五月天加勒比| 在线另类| 色噜噜狠狠一区二区三区| 热久久99热欧美国产亚洲| 99热精品少| 婷婷激情综合| 亚洲综合视频在线| 日本高清久| 亚洲久艹| 狠狠综合久久综合| 狠狠色噜噜狠狠亚洲A∨| 九月激情婷婷丁香| 日韩乱轮AV| CHINESE熟女老女人HD视频| 婷婷亚洲色| 天天综合五月| 99操久久| 69精品人人人人| 中文字幕,综合,91| 婷婷五月天视频亚洲| 性生活久久人妻| 婷婷五月免费在线| site:ornaments52.com| 天天日夜夜爽。| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 79亚洲精品少妇| 99热无码精品| 日韩五月天婷婷| 五月情综合| ji'qing'luan'ren'lun| 天天摸日日舔狠狠添婷婷婷| 九九热这里只有精品12| 日日夜夜天天爽| 小视频一区| 五月丁香无码| 26uuu亚洲欧美日本| 99热费观看| 色色亚洲五月天| 狠狠色五月天| 色色色色五月天| 日日夜夜天天综合| 国产精品一区在线观看你懂的| 国外亚洲成AV人片在线观看| 91精品91久久久久77777| 久久婷婷青青| 色 五月 天 婷婷 丁香 九月| 亚洲网视屏| 丁香五月欧美成人| 中文字幕在线观看视频www| 国自产拍偷拍精品啪啪一区二区| 久热久69| 色激情五月| 亚洲激情综合| 热这里| 天天操人人干| 天天日天天爽| 丁香五月婷婷综合激情哟哟哟| 韩日AV片| 亚洲激情综合| 五月成人网天天| 这里精品| 久久综合丁香激情五月| 三十熟女| 丁香婷婷色情| 色婷婷五月丁香在线观看| 国精产品久久| 五月色网| 色婷丁香91| 婷婷丁香成人五月天| 九九热超碰| 操逼123网| 久热免费| 无码少妇高潮喷水A片免费| 久久丁香网| 色婷婷操逼| 天天干天天 亚洲| 天天日天天爽| 色婷婷成人做爰A片免费看网站 | 婷婷色成人| 五月天色色网站| 亚洲精品一区中文字幕乱码| 铁牛TV人妻| 五月天六月天| 久久看婷婷| 日本不卡一区二区三区| AV操逼网| 国产精品热搜丁香五月婷婷| 九九在线精点品| 五月丁香婷婷激情爱爱| 丁香六月综合激情| 变天就操逼婷婷五月| 久久久人妻久久久| 美女丁香五婷婷| 激情99| 激情久久婷婷| 色综合五月婷婷狠狠干| 九九热黄色| 秋霞九九无码| 噜噜噜噜噜日本视频| 天天色天天日天天舔| 公的粗大挺进了我的密道 | 日韩黄色影院| 香蕉婷婷| 99色热视频在线| 天久综合91综合首页| 67194成I人在线观看线路1| 色婷婷综合网站| 婷婷久久网| 欧美超级视频97| 婷婷综合伊人丁香| 日日夜夜天天| 中文字幕在线观看视频www| 欧州色色| 久久五月婷天天干| bbwcuckold精品熟妇| 99热色精品| 丁香婷婷九月在线| 色五月久久成人婷婷| 九九99精品视频| 综合精品啪啪| 99亚洲日韩| 久久久久亚洲AV综合| VA婷婷| 色五月综合在线| www.爱婷婷.com| 六月婷婷国产| 日韩人妻AV在线| 99热只有精品在线播放| 婷婷五月天影院| 91丨九色丨老农村| 亚洲精品午夜国产va久久成人| 丰满少妇猛烈A片免费看观看 | 婷婷丁香成人网址| 激情综合婷婷| 亚洲欧美在线观看| 一个色的综合| 无码人妻少妇色欲AV一区二区 | 久久久噜噜噜www成人| 秋霞影音91人妻久久| 少妇高潮呻吟A片免费看软件 | 9热视频在线观看| 婷婷五月天国产在线播放| 色碰97| 亚洲夜夜操| 色色亚洲99com| 精久久色| 啪啪啪丁香五月| 激情五月婷婷综合色播小说| 色综合婷婷99| 青草激情综合| www.99热这里精品 | 色丁香五月婷婷| 无码区婷婷五月花开| 久久人人九九| 五月天婷婷色在线视频免费观看 | 1024在线一区| 99热在线免费| 综合激情专区| √天堂资源在线人妻熟女| 国产肏屄大片| 亚州激情在线视频| 九九热在线99| www久久久久久| 九九综合| 天天爽天天| 婷婷综合五月天| 色色五月天激情| 九九视频这里只有精品| 天天搽天天射| 91人在线观看| 精品国产va久久久| 综合网啪| 色色国产| 思思精品久久艹| 九九99九九精品视频| 五月天激情图片| 久久总和99| 色婷婷av在线观看| 久久99成人性爱高清视频| 亚洲天堂有码| 亚州色婷婷| 激情五月婷婷欧美极品| 九九艹女| 成人电影在线免费试看| 亚洲综合视频天天精品| 伊人网色婷婷五月天| 免费不卡狠操美女视频网| 玖玖激情五月天| 国产这里只有精品| dingxiangtingtingliuyue| 人人叉久| 欧美性丁香色色五月天干干| 日韩精品无码99| 五月丁香六月婷婷成人| 五月天激情小说| 色色色色色色色色网站| 日本色色图| 狠狠精品干练久久久无码中文字幕| 五月婷婷免费在线视频| 五月婷婷色| 激情六月婷婷啪啪| 婷婷丁香成人| 五月丁香花开综合网| 婷婷激情人妻| 极品人妻VIDEOSSS人妻| 狠狠色大香蕉| 久久这里只有精品无码| 久久久大香蕉| 九色综合五月天婷五月| 丁香五月影院| 国产26uuu| 国产日韩欧美性生活| 超碰色天堂| 99国产精品久久久久久久久久久 | 强辱丰满人妻HD中文字幕| 色播激情五月天| 亚洲婷婷在线播放十月| 丁香花综合永久入口| 婷婷激情六月| 天天综合精品| 亚洲色色精品| 五月天婷婷一起草| 综合色网站| 中文字幕丰满孑伦无码专区| 久久五月丁香婷婷| 天天爽天天摸人妻综合网| 華人性愛AV在線| 成人毛片在线免费观看| 亚洲狠狠终合停停终合| 激情五月色婷婷| 日本天天操| 99精品在线下载| 九九热这里有精品视频| 婷婷五月天亚洲综合| 综合色七七| 五月婷色| 伊人91| 97色色视频| 亚洲免费99| 在线VA视频| 99精品在线播放| www.99热在线| 婷婷色综合网日韩国产| 成人国产欧美大片一区| 五月婷av| 亚洲午夜视频| 天堂综合久| 很很干夜夜干| 亚洲欧州色情在线观看| 六月丁香综合999| 深爱婷婷基地| aaaaa黄色| 久婷| 婷婷五月综合网| 丁香五月婷婷天堂大香蕉| 99国产97在线,| 中日韩美欧成人一区二区精品在线| 激情婷婷五月天| 色婷婷五月综合| 久色网址| 亚洲精品99| 激情久久肏屄视频| 久久久久亚洲AV无码网影音先锋| 欧美黄色韩日网| 六月丁香六月婷婷欧美| 九九在线这里只有精品视频 | 香蕉久久国产AV一区二区| 九九人人操| 亚洲午夜AV| 久久婷色| 色九月| 99色热| 五月婷色| 成人美女网| 1024在线一区| 久久99久久99久久99| 99热草草| 99久免费视频| 婷婷色五月开心五月| 26uuu丁香婷婷五月| 人人插9| 超碰日日操| 久久久99久久| 人妻性爱av网站| se色99| 日日射天天射| 亚洲第一精品成人999久久精品| 丁香五月欧美激情| 九九热在线精品| WWW.婷婷五月天.COM| 亚洲精品国产setv| 五月丁香六月激情综合| 免费无码毛片一区二区A片| 国产亚洲精品久久久久久久久动漫 | 开心五月网 | 色婷婷色五月综合| 久久99网| 五月丁香999| 六月丁丁香| 成人中文网| WWW、日本色丁香、co m| 六月婷婷网| 9久视频| 欧美天天干五月丁香| 天天爱天天做天天爽| 婷婷五月伦理网站| 九九大香蕉黄色影院| 亚洲a色| 免费无码毛片一区二区A片| 五月天丁香色色| 免费成人网在线观看| 久久久香| 婷婷激情五月天色| 激情五月天com| 婷婷中文字幕| 亚洲综合网在线| 99.N在线视频| 亭亭丁香久久五月| 亚洲六月色| 激情综合网五月婷婷| 成人精品视频99在线观看免费 | 五月开心激情| 能看的av网站| 色婷婷AV久久| 99久视频| 婷婷五月丁香综合人妻| 欧美综合五月丁香六月婷| 裸睡玩奶头(高H)| 中文字幕无码成人电影| 丁香丁婷五月激情| 婷婷五月天激情在线| 五月丁香香蕉| 91呦呦呦| 五月6香色婷婷视频| 久久aaaa片一区二区| 超碰免费人妻| 久久综合五月天激情小说网站| 狼人婷婷综合| 欧美熟女乱又伦| 亚洲网站999| 日韩黄色影院| 97久久人人| 五月色网| 天天日天天爽| 久热伊人9| 中文字幕日韩无码制服诱或| 色情五月天丁香社区| 操老逼综合网| av九九| 婷婷五月丁香综合激情| 色激情五月天| 伊人激情综合网| 五月婷婷网站| 99色视频| 色色爽爽天天| 久久久精品色| 夜夜嗨一区二区三区直播内容| 中美日韩成人在线| 九九久热| 日韩黄色中文字幕| 99色在线观看免费| 成人在线日韩欧美| 婷婷伊人综合| 开心五月丁香综合久久| 激情五月天色网站| 热九九九九| 可以免费看的av网站| 91精品久久久久久77777| 五月丁香婷婷成人版| 久久久精品人妻录| 亚洲字幕AV一区二区三区四区| 亚洲另类电影| 久久婷婷五月综合啪| 天堂久热| 亚洲小说欧美激情| 97干在线| 看婷婷五月天网| 日本高清久| 亚洲免费av观看| 99亚洲无码| 成人免费黄色短视频| 亚洲 精品 综合 精品| 亚洲综合在线视频| AV在线免费播放| 激情婷婷五月天| 停停六月 综合| 婷婷五月天啪啪| 五月天婷婷偷拍| 深爱激情五月天婷婷网| 久久精品99国产精品日本| 精品久色| 天天操天天操天天操天天操天天操| 人人九色| 强伦轩人妻一区二区电影| 大香蕉九九操| 丁香五月欧美| 大香蕉人在线65| 中文字幕成人影视| 秋霞日本免费毛片A片| 丁香五月婷婷五月| 久久免费丁香| 久久久久久97| 大香蕉啪啪| www.色五月| 五月丁香六月色婷婷综合五月天| 久久国产色| 五月天婷婷激情网| 精品婷婷| 99热香港| 99视频这里有精品| 亚洲男人的天堂婷婷色五月| 97超碰,人人舔,人人操,人人摸 | 天天玩夜夜操| 这里只有视频精品| 日本熟妇乱妇熟色A片蜜桃| 六月婷婷视频| 久久婷婷七月丁香| 婷婷激情五月色综合| 激情五月天99色| 六月婷婷综合激情| 色播六月| 五月天激情网图片| 狠狠操天天操天天操| 婷婷D区| 久久久久久久久久人妻| 大胆伊人久久| 成人午夜无码视频| 欧亚色色| 51精品国自产在线| 国产成人99久久亚洲综合精品| 99热99| 黄网在线播放| 五月亚洲激情| 久热精品免费视频4| 婷婷五月天激情五月天深爱五月天| 5五月综合网亚洲| 婷婷无码视频| 丁香激情五月综合网| W色综合| 久久久久久人妻| 综合色久| 狠狠色综合五月人人| 五月婷婷官网色| 国产成人在线精品| 天天射影院| 色女伊人| 九九精品99| 9热网站| 国产亚洲色婷婷久久99精品91| 操人91| 熟女色色一区二区| 久久婷婷久久| 开心婷婷五月天电影院| 五月婷av| 激情丁香五月天| 六月狠狠综合| 99热最新精品| 少妇出轨做爰高潮A片| 久久人妻人人| 激情五月图| ou洲色吧| 狠狠干综合| 丁香五月激情啪啪| 五月丁香久人妻中文| 色婷婷av综合网| 婷婷综合激情| 亚洲欧州色情在线观看| 99热99在线| 热久久999| 91操片| 伊人色欲五月天| 色婷婷九月| 亚洲色99综合天堂| 夜夜爱网站| 久久久性爱视频| 99热成人精品| 骚五月婷婷| 国产黄大片在线观看画质优化| 久久久久网站| 开心五月天激情| 婷婷五月大| 免费AV在线网址| 成人做爰高潮A片免费视频| 丁香美女五月天婷婷| 色五月激情五月丁香五月婷婷啪啪综合| 99在线小视频| 精品一二三区久久AAA片| www.日韩国产| 五月草影视| 永久99免费视频网站| 国产婷婷综合| 久草丁香婷婷1024| 99免费视频| 99a级片| 99免费热视频| 啪啪啪啪五月天| 97在线碰| 一起草aV| 亚洲操女| 中文字幕无码人妻少妇免费视频| 久久 婷婷 五月天| 开心激情播播五月天| 五月婷婷和六月| 婷婷久久五月| 铁牛TV人妻| 六月色 亚洲| 香蕉97碰碰碰欧美| 国产精品成人在线| 婷婷五月天久久久| 五月婷视频在线| 色五狠狠| 亚洲另类婷婷五月综合| 久热久色| 97av在线视频| 久久久ww| 丁香五月天激情四射网| 在线播放 精品| 欧美日本韩国亚洲| 成人精品视频99在线观看免费| se99视频| 色婷婷在线播放| 色噜噜狠噜噜视频| 色婷婷婷婷五月天| 亚洲丁香五月| 五月天久久www| AV 3P| 色综合天天网| 久久激情综合| 热的国产99热| 99色激| 五月综合久久| 在线不卡视频| 9999久久久久| 色综合久久久久| 在线婷婷| 色色色999| 大香蕉520| 99久久久| 六月丁香婷婷色狠狠久久| 日本欧美在线| 五月丁香成人网| 一级片sese片.COM| 欧亚洲在线高清视频| 九九精品网站| 丁香六月婷婷综合激情欧美| 噜噜色五月| 怕怕av| 五月天婷婷网站| 开心五月深爱五月婷| 99热这里只有精品50| 国精产品一区二区三区| 日韩操逼小电影| 79色色| 99热这里只有精品9| 五月婷婷六月色| 五月婷婷色播| 99九九精品| 狠狠搞狠狠操| 狠狠狠狠狠狠| 香蕉久久国产AV一区二区| 极骚大香蕉伊人| 五月色亭丁香| 最新日韩久热免费视频看看| 中文字幕97超级碰| 成人丁香五月| 亚洲欧洲色色| 色五月色五天色情网| 丁香五月激情啪啪| 日韩一级网站| 丁香五月天电影| 男女啪啪做爰高潮无遮挡| 天堂美国久久| 丁香五月婷婷天堂大香蕉| 成年人夜夜喷水| 久久久久久xxxxx| 无码激情精品色婷婷久久久久| 思思热国产| 久久免费操| 狠狠色婷婷7777久| 亚洲99热| 99综合熟女| 天天 青草 制服丝袜 在线 | 婷婷色网| 婷婷五月丁香成人| 婷婷九月丁香| 天天插综合| 婷婷色色综合| 婷婷精品综合| 91精品熟女| 色五月影视| 亚洲午夜AV| 丁香六月婷婷缴情欧美| 激情久久 婷婷| 丁香五月婷婷久久久| 亚洲A色| 玖玖在线视频| 大香蕉 婷婷| 国产av基地| 五月丁六月香av| 精品人妻伦一二三区久久| 激情五月婷婷| 无码一区二区三区四区五区91c| 爱久综合| 五月激情基地| 久久伊人五月天| 九九热视频精品999| 婷久久| 色情免费视频播放| 欧美99热| 丁香五月色情av| 超碰AV在线| 天天操屄网| 激情五月天色色网| 丁香香蕉婷婷| 99热这里只有精品手机在线观看| 开心婷婷丁香五月| 五月丁香狠狠爱| 91无码高清| 久久婷婷五月丁香| 色玖玖综合网| 色激情网| 亚洲 25P| 97亚洲婷婷| 色欲久久99精品久久久久久| 大香网伊人久久综合| 婷婷五月天伊人网| 日本猛少妇色XXXXX猛叫| 亚洲免费观看高清完整版AV线| 激情五月婷婷伊人| 9l视频自拍9l九色成人| 婷婷婷五月香蕉| 丁香五月色综合色播五月| 久久婷婷久久| 丁香婷婷五月天成人| 婷婷激情综合无月| 九九九色综合| 一婬一伦一区二区三区| 久热这里只有精品99re,久热这里只有精品7| 色综合久久综合中文综合网| 婷婷不卡基地| 啄木鸟黑丝一区二区| 夜夜综合色| 五月婷婷精品视频| 激情六月综合| 亚洲综合成人网站| 欧洲亚洲欧洲99久久| 色综合九九| 午夜丁香 婷婷| 99热在线观看免费| 久久人妻熟女一区二区| 六月99天天婷婷激情综合| 成人AV中文字幕| 日本在线wwww| 天天夜天天色天天| 免费无码毛片一区二区A片| 玖玖视频福利| 天天综合网91| WWW·色色色·COM| 日日日天天干| 97碰碰久久| 天天插天天日天天爽| 99热精品在线| 欧美日韩成人| 9色在线| 日本色天堂| 久久大香蕉同僚| 91人碰| 激情六月色| 久久婷婷五| 五月天激情网开心网| 日本美女97在线视频| 夜夜噜夜夜奇| 国产欧美精品AAAAAA片| www.婷婷网| 色5月婷婷| 五月色亭丁香| www.久久| 另类图片五月天婷婷| 婷婷午夜| 激情q青青草在线婷婷| www.婷婷五月天| 九九熱最新視頻| 婷婷综合五月| 操人妻90p| 激情综合网激情五月天| 久久在这里有精品| 熟妇无码乱子成人精品| 就99这里只有精品| 亚洲精品色| 婷婷另类开心| 日本在线va| 久久区区一二三av| www.狠狠| 综合99综合久久久久久久| www.五月婷婷久久.com| 欧美色九| 97色片| 96丁香六月婷婷蜜桃综合久久| 日本在线视频播放91| 丁香婷婷综合影院| 伊人AV五月婷| 五月天大香蕉AV| 日韩成人电影在线播放| 久草A片| 五月天婷婷视频| 欧美天天五月丁香免费观看| av亚洲国产小电影| 亚洲免费99| 婷婷伊人綜合中文| 天天综合久久| 亚洲操人| 久热免费视频| 婷婷五月天激情五月天| 久久99网| 欧美色色色色色色| 玖玖国产视频一区| 国产毛片精品一区二区色欲黄A片| 日本狠狠爽| 六月丁香AV| 色婷婷偷拍| 色五月开心婷婷| 色婷婷呢狠禁久禁| 天天插AV丝袜中| 色五月超碰| 五月丁香婷婷综合| 91久久婷婷人人澡草| 久久性爱激情| 91超碰在线观看| 日本在线免费中文com.| 91n啪啪| 久99久视频| 99小精品| 亚洲中文AV网站| 日韩无码成人电影| 99热这里有精品24| 97精品自拍视频| 色五月婷婷丁香五月| 深爱丁香激情| 亚洲无aV在线中文字幕| 99无码视频| 欧美色色色色色色色色色色影视| 内射 无码 伊人| 超碰人人干| 伊人狠狠干| 超碰操网| 国精产品一区一区三区免费视频| www色五月| 五月婷婷偷| 九九热99久久99| 五月香婷婷| 九九热视频免费| 99热在线观看| 人人操婷婷| 极品人妻VideOssS人妻| 五月天涩涩| 亚洲人成网亚洲欧洲无码久久| 另类亚洲电影|