欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

企業(yè)檔案管理系統(tǒng)源碼實(shí)戰(zhàn):從部署到上線的避坑指南

企業(yè)檔案管理系統(tǒng)源碼實(shí)戰(zhàn):從部署到上線的避坑指南 簡(jiǎn)介一份基于SpringBootVueMySQL的企業(yè)檔案管理系統(tǒng)可運(yùn)行源碼包面向Java后端開發(fā)者、軟件專業(yè)學(xué)生及企業(yè)信息化建設(shè)者用于解決檔案數(shù)據(jù)分散、借閱流程不透明、檢索效率低等管理難題。系統(tǒng)內(nèi)置檔案分類、權(quán)限管理、生命周期追蹤、電子上傳與掃描歸檔、自動(dòng)編號(hào)、借閱歸還提醒、全文檢索與關(guān)聯(lián)分析等模塊前端覆蓋管理員、員工、管理者多角色界面能夠支撐企業(yè)級(jí)檔案全流程管理。資源共21個(gè)文件以16個(gè)Java源文件為核心配合YAML/XML配置、Maven構(gòu)建文件及Markdown說明文檔整體僅23KB結(jié)構(gòu)精簡(jiǎn)便于直接導(dǎo)入IDE運(yùn)行與二次開發(fā)。目前已有95人學(xué)習(xí)下載適合作為SpringBoot企業(yè)級(jí)項(xiàng)目實(shí)戰(zhàn)參考也可為中小型檔案管理系統(tǒng)改造提供基礎(chǔ)代碼。1. 企業(yè)檔案管理系統(tǒng)可運(yùn)行源碼先想清楚拿到的是一套什么架子開發(fā)者在找一個(gè)企業(yè)檔案管理系統(tǒng)的可運(yùn)行源碼時(shí)手頭多半已經(jīng)壓了一個(gè)需求合同、證照、項(xiàng)目文檔要?dú)w攏Excel 管不住領(lǐng)導(dǎo)點(diǎn)名要一套系統(tǒng)。反直覺的是網(wǎng)上標(biāo)著“可運(yùn)行”的源碼解壓后能一次跑通的不到一半——數(shù)據(jù)庫(kù)腳本缺主鍵、上傳路徑寫死、登錄頁(yè)和后臺(tái)對(duì)不上這些坑幾乎人人踩過。真正的企業(yè)檔案管理系統(tǒng)核心不是頁(yè)面多華麗而是圍繞檔案生命周期把分類、權(quán)限、借閱、下載做成閉環(huán)。這套源碼適合 Java 技術(shù)棧的開發(fā)者直接拉下來改也適合把它當(dāng)作一個(gè) RBAC 加文件管理的參考架子需求來了能少走彎路。2. 技術(shù)底子Spring Boot MySQL 本地文件池為什么是這套系統(tǒng)的常見答案2.1 前后端與數(shù)據(jù)庫(kù)的常見組合為什么 Spring Boot MySQL 是默認(rèn)選項(xiàng)企業(yè)檔案系統(tǒng)跑在內(nèi)網(wǎng)服務(wù)器上一臺(tái)機(jī)器就能部署用不著微服務(wù)那套復(fù)雜體系。常見做法是 Spring Boot 單體應(yīng)用MyBatis 做數(shù)據(jù)訪問MySQL 存業(yè)務(wù)數(shù)據(jù)文件落本地磁盤。前端有兩種形態(tài)老項(xiàng)目多用 Thymeleaf 直接渲染頁(yè)面新項(xiàng)目偏向 Vue 前后端分離。選哪種要看你團(tuán)隊(duì)維護(hù)習(xí)慣而不是性能——檔案系統(tǒng)的并發(fā)量通常只有幾十人同時(shí)操作性能瓶頸根本不在這層。MySQL 在這個(gè)場(chǎng)景里夠用到什么程度檔案量在一百萬(wàn)條以內(nèi)標(biāo)題、文號(hào)、責(zé)任者這幾個(gè)字段的 LIKE 檢索加上合理索引響應(yīng)時(shí)間能壓在五百毫秒內(nèi)。企業(yè)檔案的典型量級(jí)是幾萬(wàn)到幾十萬(wàn)條MySQL 完全扛得住團(tuán)隊(duì)的 SQL 排查經(jīng)驗(yàn)也最豐富。至于文件庫(kù)為什么不上對(duì)象存儲(chǔ)很多企業(yè)檔案不允許出內(nèi)網(wǎng)業(yè)務(wù)上直接排除。本地磁盤按“年份/分類”建目錄數(shù)據(jù)庫(kù)里只記相對(duì)路徑備份時(shí)整盤打包邏輯最直白。這套技術(shù)組合的真正價(jià)值是招聘和排障成本低。Spring Boot 的 starter 機(jī)制把 Tomcat、Jackson、參數(shù)校驗(yàn)全包好了MyBatis 的 SQL 寫在 XML 里新接手的人看半天就能改。相比之下用某個(gè)冷門框架寫的檔案系統(tǒng)哪怕代碼再精巧沒人會(huì)維護(hù)就是負(fù)債。選型時(shí)記住一條檔案系統(tǒng)要的是可靠和可交接不是技術(shù)秀。2.2 檔案生命周期與權(quán)限模型四條線怎么串起來檔案系統(tǒng)和普通 CRUD 系統(tǒng)的本質(zhì)區(qū)別在于它是圍繞“狀態(tài)”和“權(quán)限”設(shè)計(jì)的。檔案生命周期一般是暫存 → 待歸檔 → 已歸檔 → 借閱中 → 已銷毀。每一步都對(duì)應(yīng)一條操作記錄誰(shuí)在什么時(shí)間把檔案從哪個(gè)狀態(tài)改到了哪個(gè)狀態(tài)必須能追溯。這對(duì)二次開發(fā)很關(guān)鍵——你往系統(tǒng)里加功能時(shí)先問自己這個(gè)操作是否改變了檔案狀態(tài)如果改了就得同步寫一條帶操作人、操作時(shí)間、操作類型的日志。權(quán)限模型用 RBAC 就夠了。用戶掛在角色下角色關(guān)聯(lián)菜單和操作權(quán)限數(shù)據(jù)權(quán)限按部門過濾。常見角色是系統(tǒng)管理員、檔案管理員、普通用戶、借閱審批人。系統(tǒng)管理員管賬號(hào)和角色檔案管理員負(fù)責(zé)歸檔和銷毀普通用戶只能檢索和發(fā)起借閱借閱審批人單獨(dú)審核借閱單。數(shù)據(jù)權(quán)限要落到部門某個(gè)分公司的員工默認(rèn)只能看到本部門歸檔的檔案除非單獨(dú)授權(quán)。核心表結(jié)構(gòu)通常是一張檔案主表加多張輔助表下面這張表是常見的設(shè)計(jì)字段名可以按自己習(xí)慣改但職責(zé)劃分大致如此。表名職責(zé)關(guān)鍵字段sys_user用戶id、姓名、部門id、狀態(tài)sys_role角色id、角色編碼、角色名sys_user_role用戶角色關(guān)聯(lián)用戶id、角色idarchive_doc檔案主表編號(hào)、題名、分類碼、密級(jí)、狀態(tài)、文件路徑archive_category檔案分類表分類碼、分類名、上級(jí)分類archive_borrow借閱記錄表檔案id、借閱人、審批人、借出時(shí)間、歸還時(shí)間archive_log操作日志表檔案id、操作人、操作類型、操作時(shí)間實(shí)際跑起來之前先花十分鐘把這幾張表的關(guān)系看懂比直接啟動(dòng)項(xiàng)目有用得多。很多“可運(yùn)行”源碼跑起來就報(bào)錯(cuò)不是因?yàn)榇a爛而是你沒建分類表的基礎(chǔ)數(shù)據(jù)或者字段字典里沒初始化狀態(tài)枚舉。下一章進(jìn)入實(shí)操?gòu)慕◣?kù)開始。3. 從解壓到登錄頁(yè)數(shù)據(jù)庫(kù)初始化與最小啟動(dòng)配置3.1 環(huán)境清單與數(shù)據(jù)庫(kù)初始化先讓 MySQL 建好核心表拿到這類源碼我一般先確認(rèn)三樣?xùn)|西JDK 版本、MySQL 版本、是否要單獨(dú)裝前端依賴。Spring Boot 2.x 對(duì)應(yīng) JDK 1.8 或 11MySQL 用 5.7 或 8.x 都行但連接串參數(shù)略有差異。如果是前后端分離版本還要 Node.js 14 以上。先看 README 或 pom.xml別上來就敲命令——見過有人拿 JDK 17 跑 Spring Boot 2.2 的老項(xiàng)目啟動(dòng)直接報(bào)非法反射警告折騰半天。數(shù)據(jù)庫(kù)初始化最容易踩的坑是字符集。建庫(kù)時(shí)必須顯式指定 utf8mb4否則 MySQL 8 默認(rèn)可能是 utf8mb4 沒問題但 MySQL 5.7 的默認(rèn)字符集可能是 latin1中文寫進(jìn)去全變問號(hào)。建庫(kù)和建表腳本一般是項(xiàng)目里 sql 目錄下的一個(gè)或幾個(gè) .sql 文件按文件名順序執(zhí)行。核心腳本里通常包含下面這類建表語(yǔ)句CREATE DATABASE IF NOT EXISTS archive_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; USE archive_db; CREATE TABLE archive_doc ( id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 主鍵, doc_no VARCHAR(40) NOT NULL COMMENT 檔案編號(hào), title VARCHAR(200) NOT NULL COMMENT 題名, category_code VARCHAR(20) NOT NULL COMMENT 分類碼, secret_level TINYINT NOT NULL DEFAULT 0 COMMENT 密級(jí):0公開,1內(nèi)部,2秘密,3機(jī)密, dept_id BIGINT NOT NULL COMMENT 歸屬部門, status TINYINT NOT NULL DEFAULT 0 COMMENT 狀態(tài):0暫存,1待歸檔,2已歸檔,3已銷毀, file_path VARCHAR(255) NULL COMMENT 文件相對(duì)路徑, uploader VARCHAR(50) NULL COMMENT 上傳人, create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 創(chuàng)建時(shí)間, INDEX idx_dept_status (dept_id, status), INDEX idx_category (category_code), UNIQUE KEY uk_doc_no (doc_no) ) ENGINEInnoDB COMMENT檔案主表;這段 SQL 里有幾個(gè)地方值得注意。doc_no 加唯一鍵是因?yàn)闄n案編號(hào)在業(yè)務(wù)上必須全局唯一如果源碼里沒有這個(gè)約束后續(xù)導(dǎo)入歷史數(shù)據(jù)時(shí)會(huì)重復(fù)。idx_dept_status 是復(fù)合索引匹配“按部門查列表再按狀態(tài)過濾”這個(gè)最常見的查詢路徑。file_path 存的是相對(duì)路徑不是絕對(duì)路徑這一點(diǎn)非常重要——絕對(duì)路徑寫進(jìn)數(shù)據(jù)庫(kù)換臺(tái)機(jī)器整張表就廢了。密級(jí)和狀態(tài)都用 TINYINT 存數(shù)字不要用字符串業(yè)務(wù)上擴(kuò)展枚舉更方便。執(zhí)行導(dǎo)入命令時(shí)注意先確認(rèn) MySQL 賬號(hào)權(quán)限。常見做法是用 root 執(zhí)行 source 命令或者用 mysql 客戶端重定向文件mysql -uroot -p sql/init.sql mysql -uroot -p sql/data.sqlinit.sql 建表data.sql 導(dǎo)入基礎(chǔ)數(shù)據(jù)包括超級(jí)管理員賬號(hào)、角色、菜單和分類字典。導(dǎo)完后可以驗(yàn)證一下執(zhí)行SHOW TABLES;看表是否齊全再查一下archive_category有沒有分類數(shù)據(jù)。很多項(xiàng)目啟動(dòng)報(bào)錯(cuò)“表不存在”或“分類碼為空”都是因?yàn)橹慌芰私ū砟_本忘了跑數(shù)據(jù)腳本。日志里報(bào)的錯(cuò)往往滯后先查表再啟動(dòng)能省半小時(shí)。3.2 改配置、起服務(wù)、看日志跑通最小閉環(huán)數(shù)據(jù)庫(kù)就緒后下一步是改配置文件。Spring Boot 的配置集中在 src/main/resources/application.yml少數(shù)老項(xiàng)目是 application.properties。你需要改的通常只有三個(gè)地方數(shù)據(jù)庫(kù)連接串、文件存儲(chǔ)根目錄、端口。先給一份最小化的配置參考server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/archive_db?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/ShanghaiuseSSLfalse username: root password: your_password servlet: multipart: max-file-size: 200MB max-request-size: 500MB archive: storage: # 檔案文件根目錄Linux 上建議放到 /data/archive不要丟在用戶目錄下 root-path: /data/archive數(shù)據(jù)庫(kù)連接串里有三個(gè)參數(shù)別動(dòng)useUnicodetrue 和 characterEncodingutf8 負(fù)責(zé)中文不亂碼serverTimezoneAsia/Shanghai 解決 MySQL 8 的時(shí)區(qū)報(bào)錯(cuò)。如果你用的是 MySQL 8.0 以上連接串里最好再加一個(gè)allowPublicKeyRetrievaltrue否則可能報(bào) Public Key Retrieval is not allowed。multipart 的兩個(gè)限制是上傳大掃描件用的默認(rèn) 1MB 太小傳個(gè)幾十 MB 的 PDF 直接報(bào)錯(cuò)。root-path 是本地文件池的根目錄按“年份/分類”自動(dòng)建子目錄這個(gè)目錄必須有寫權(quán)限。配置改完啟動(dòng)方式取決于項(xiàng)目形態(tài)。Maven 項(xiàng)目直接跑插件或者打包成 jar 再跑兩種都是一條命令的事# 本地開發(fā)直接跑 mvn spring-boot:run -Dspring-boot.run.profilesdev # 或者打成 jar 再跑方便放到測(cè)試服務(wù)器 mvn clean package -DskipTests java -jar target/archive-system.jar --spring.profiles.activedev啟動(dòng)成功的標(biāo)志不是控制臺(tái)不報(bào)錯(cuò)而是看到這行日志Started ArchiveApplication in 12.345 seconds。在這之前Tomcat 會(huì)先輸出Tomcat started on port(s): 8080看到這行說明 Web 容器起來了。瀏覽器訪問http://localhost:8080/login如果能出現(xiàn)登錄頁(yè)最小閉環(huán)就算跑通了。默認(rèn)賬號(hào)密碼一般在 data.sql 里常見的是 admin / admin123或者 admin / 123456去腳本里搜一下就知道。啟動(dòng)失敗最典型的三類錯(cuò)誤第一類 Access denied for user是數(shù)據(jù)庫(kù)賬號(hào)密碼不對(duì)或權(quán)限不足第二類 Unknown database是沒執(zhí)行建庫(kù)腳本第三類時(shí)區(qū)錯(cuò)誤是連接串里少了 serverTimezone。這三類在日志里都有明確關(guān)鍵字按關(guān)鍵字搜比從頭到尾讀日志快得多。如果項(xiàng)目里帶了前端目錄且要求分離部署記得先 npm install 再 npm run dev前端代理指向 8080 端口否則登錄請(qǐng)求會(huì)被 CORS 攔下來。4. 檔案業(yè)務(wù)怎么跑通錄入、檢索、借閱與下載的關(guān)鍵設(shè)計(jì)4.1 檔案錄入與分類字段設(shè)計(jì)背后的業(yè)務(wù)規(guī)則檔案錄入界面看起來是個(gè)普通表單但字段設(shè)計(jì)背后是業(yè)務(wù)規(guī)則。最核心的字段有四組標(biāo)題和文號(hào)決定檔案“叫什么”分類碼和密級(jí)決定它“歸到哪、誰(shuí)能看”保管期限決定它“留多久”文件路徑?jīng)Q定它“存到哪”。錄入時(shí)的校驗(yàn)邏輯通常是這樣標(biāo)題不能為空文號(hào)在同類檔案里不能重復(fù)密級(jí)默認(rèn)是公開但可以改保管期限默認(rèn)按分類表的配置帶出。檔案編號(hào)是錄入時(shí)自動(dòng)生成的生成規(guī)則一般是“分類碼 年份 流水號(hào)”。例如合同類的分類碼是 HT2025 年第 123 份檔案的編號(hào)就是 HT-2025-000123。這個(gè)編號(hào)生成邏輯在源碼里通常是一個(gè) Service 方法用數(shù)據(jù)庫(kù)的同一張計(jì)數(shù)表或 Redis 自增來保證并發(fā)下不重復(fù)。如果你要改編號(hào)規(guī)則別只改前端顯示要改生成邏輯——否則會(huì)出現(xiàn)界面上顯示一套編號(hào)、數(shù)據(jù)庫(kù)里另一套編號(hào)的問題。文件存儲(chǔ)路徑的設(shè)計(jì)決定了后期維護(hù)成本。常見做法是在 root-path 下按“年份/分類碼”建二級(jí)目錄比如/data/archive/2025/HT/000123.pdf。數(shù)據(jù)庫(kù)里只存相對(duì)路徑2025/HT/000123.pdf下載時(shí)再拼上 root-path。這樣做的理由是備份時(shí)只需要備份 root-path 整個(gè)目錄換機(jī)器時(shí)只改 root-path 一個(gè)配置不用動(dòng)數(shù)據(jù)庫(kù)。我見過有項(xiàng)目直接把完整路徑存進(jìn)數(shù)據(jù)庫(kù)結(jié)果測(cè)試環(huán)境路徑和生產(chǎn)環(huán)境不一致下載全部 404最后只能寫批量腳本修數(shù)據(jù)那就是給自己找罪受。密級(jí)字段是整個(gè)錄入表單里最不能忽略的。公開、內(nèi)部、秘密、機(jī)密四級(jí)對(duì)應(yīng)不同的借閱審批策略。常見做法是公開檔案直接下載內(nèi)部檔案登錄后可看但下載要記錄日志秘密及以上必須走借閱審批。這個(gè)規(guī)則要在錄入階段就定好因?yàn)闄n案一旦歸檔密級(jí)修改就要走審批流程不能像普通編輯一樣隨便改。源碼里一般有個(gè)字典表管理密級(jí)枚舉新增密級(jí)時(shí)要同步改接口校驗(yàn)邏輯和前端下拉框。4.2 全文檢索與文件下載為什么 LIKE 檢索能覆蓋九成需求檢索是整個(gè)系統(tǒng)里最常用的功能也是性能最容易翻車的地方。企業(yè)檔案的檢索需求說穿了就三類按標(biāo)題查、按文號(hào)查、按責(zé)任者或主題詞查都是模糊匹配。很多人一聽說檢索就想到 Elasticsearch但先冷靜想想數(shù)據(jù)量十萬(wàn)條檔案每個(gè)字段建好普通索引LIKE 查詢加前綴匹配響應(yīng)時(shí)間一般在幾百毫秒內(nèi)MySQL 完全能應(yīng)付。真正需要 Elasticsearch 的場(chǎng)景是檢索 PDF 和 Word 的正文內(nèi)容或者檔案量到了百萬(wàn)級(jí)以上這才值得引入全文檢索中間件。常見的做法是把檢索 SQL 寫成動(dòng)態(tài)拼接根據(jù)用戶輸入的關(guān)鍵詞決定查哪個(gè)字段。核心查詢邏輯類似下面這段SELECT id, doc_no, title, category_code, secret_level, create_time FROM archive_doc WHERE status 2 AND dept_id IN (SELECT dept_id FROM sys_user_dept WHERE user_id #{userId}) AND ( title LIKE CONCAT(%, #{keyword}, %) OR doc_no LIKE CONCAT(%, #{keyword}, %) OR finder_no LIKE CONCAT(%, #{keyword}, %) ) ORDER BY create_time DESC LIMIT #{offset}, #{pageSize};這段 SQL 里最容易被忽略的是dept_id IN (...)這個(gè)子查詢它實(shí)現(xiàn)了數(shù)據(jù)權(quán)限過濾。如果源碼里只查檔案表不查部門權(quán)限就會(huì)出現(xiàn)這樣的情況A 部門的員工搜到了 B 部門的機(jī)密檔案這在企業(yè)內(nèi)部是嚴(yán)重安全事故。LIKE 的寫法用CONCAT(%, #{keyword}, %)而不是直接拼字符串是為了防止 SQL 注入——MyBatis 的#{}會(huì)做參數(shù)預(yù)編譯而${}是直接拼接檢索這種用戶輸入場(chǎng)景永遠(yuǎn)別用${}。下載接口的設(shè)計(jì)要比檢索更小心。常規(guī)流程是前端請(qǐng)求下載接口 → 后端校驗(yàn)登錄態(tài) → 校驗(yàn)數(shù)據(jù)權(quán)限 → 拼文件絕對(duì)路徑 → 檢查文件存在 → 以流的方式返回。這里有一個(gè)很多源碼都會(huì)犯的錯(cuò)校驗(yàn)了登錄態(tài)但沒校驗(yàn)數(shù)據(jù)權(quán)限結(jié)果任何登錄用戶都能下任何檔案。正確的校驗(yàn)順序是先權(quán)限后文件寧可多查一次數(shù)據(jù)庫(kù)也不要讓越權(quán)文件流出去。文件讀取用InputStreamResource而不是byte[]因?yàn)榇笪募苯幼x入內(nèi)存幾百 MB 的文件能把 JVM 堆撐爆。5. 可運(yùn)行源碼避坑數(shù)據(jù)庫(kù)、路徑與權(quán)限的三個(gè)硬骨頭5.1 坑一數(shù)據(jù)庫(kù)腳本少跑一遍字符集與時(shí)區(qū)導(dǎo)致啟動(dòng)即崩現(xiàn)象按照 README 導(dǎo)入數(shù)據(jù)庫(kù)后啟動(dòng)項(xiàng)目控制臺(tái)報(bào)Unknown database或者能啟動(dòng)但插入中文檔案標(biāo)題后顯示為“???”時(shí)間字段比本地時(shí)間差八小時(shí)。原因建庫(kù)時(shí)沒執(zhí)行CREATE DATABASE語(yǔ)句只導(dǎo)了建表腳本——MySQL 里沒這個(gè)庫(kù)連接自然失敗。中文亂碼是庫(kù)或表的默認(rèn)字符集不在 utf8mb4常見于 MySQL 5.7 默認(rèn) latin1 的老環(huán)境。時(shí)間差八小時(shí)是連接串里少了serverTimezoneAsia/ShanghaiMySQL 8 默認(rèn)用 UTC 解析時(shí)間。解決建庫(kù)和建表是兩件事先執(zhí)行帶CREATE DATABASE的 init.sql再執(zhí)行建表腳本最后導(dǎo)基礎(chǔ)數(shù)據(jù)。字符集問題用ALTER DATABASE archive_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;修改如果表已經(jīng)建好再把表的字符集也改掉。連接串三個(gè)參數(shù)一個(gè)都不能少characterEncodingutf8、serverTimezoneAsia/Shanghai、useSSLfalse最后那個(gè)參數(shù)在測(cè)試環(huán)境不加會(huì)報(bào) SSL 警告雖然不影響啟動(dòng)但日志里一大片很煩。5.2 坑二上傳路徑寫死換臺(tái)機(jī)器全部文件找不到現(xiàn)象在本地開發(fā)時(shí)上傳的檔案部署到服務(wù)器后全部下載失敗日志報(bào)FileNotFoundException但數(shù)據(jù)庫(kù)里的檔案記錄一條沒少。原因源碼配置或代碼里把文件存儲(chǔ)路徑寫死了比如D:\\upload\\archive或/home/ubuntu/upload這個(gè)路徑只存在于開發(fā)機(jī)生產(chǎn)服務(wù)器上根本沒有這個(gè)目錄或者沒有寫權(quán)限。數(shù)據(jù)庫(kù)里存的是絕對(duì)路徑換機(jī)器后路徑前綴全部失效。解決把存儲(chǔ)根目錄抽成配置項(xiàng)用環(huán)境變量注入。application.yml里這樣寫root-path: ${ARCHIVE_ROOT:/data/archive}。部署時(shí)在啟動(dòng)腳本里export ARCHIVE_ROOT/data/archive如果環(huán)境變量沒配就回退到默認(rèn)值。同時(shí)數(shù)據(jù)庫(kù)存儲(chǔ)邏輯要改成只存root-path下的相對(duì)路徑下載時(shí)用Paths.get(storageRoot).resolve(relativePath)拼出完整路徑。改完配置后記得把已上傳的文件按新目錄結(jié)構(gòu)遷移一次舊數(shù)據(jù)跑個(gè)腳本改 path 前綴或者寫一個(gè)兼容邏輯自動(dòng)拼接。5.3 坑三下載接口繞過權(quán)限校驗(yàn)機(jī)密檔案被直接拿走現(xiàn)象未登錄狀態(tài)下訪問下載接口的完整 URL比如/archive/download?id108竟然能直接把文件下載下來。登錄用戶把鏈接發(fā)給別人別人點(diǎn)開也能下。原因下載接口只校驗(yàn)了文件是否存在沒有校驗(yàn)當(dāng)前請(qǐng)求是否攜帶合法登錄態(tài)。常見寫法是直接用GetMapping(/download/{id})參數(shù)只有檔案 id方法體里文件存在就返回文件流——但沒從 Session 或 Token 里取當(dāng)前用戶。這種接口在企業(yè)內(nèi)網(wǎng)里尤其危險(xiǎn)因?yàn)殒溄右坏┍晦D(zhuǎn)發(fā)等于把檔案原文直接暴露。解決下載接口必須同時(shí)校驗(yàn)登錄態(tài)和數(shù)據(jù)權(quán)限缺一不可。核心邏輯參考下面這段GetMapping(/download/{id}) public ResponseEntityResource download(PathVariable Long id) { ArchiveDoc doc archiveDocMapper.selectById(id); if (doc null || !permissionService.canDownload(getLoginUser(), doc)) { return ResponseEntity.status(403).build(); } Path file Paths.get(storageRoot).resolve(doc.getFilePath()).normalize(); if (!file.startsWith(Paths.get(storageRoot))) { return ResponseEntity.status(400).build(); } return ResponseEntity.ok() .header(HttpHeaders.CONTENT_DISPOSITION, attachment; filename\ doc.getTitle() \) .body(new InputStreamResource(Files.newInputStream(file))); }這段代碼里有兩個(gè)關(guān)鍵點(diǎn)。canDownload方法內(nèi)部校驗(yàn)用戶是否登錄、檔案密級(jí)是否超過用戶權(quán)限、檔案部門是否在用戶的數(shù)據(jù)權(quán)限范圍內(nèi)。file.startsWith(Paths.get(storageRoot))是防路徑穿越——如果數(shù)據(jù)庫(kù)里的相對(duì)路徑被人改成../../etc/passwd這個(gè)校驗(yàn)?zāi)軘r下來。文件流用InputStreamResource包裝避免大文件吃滿內(nèi)存。改完后自測(cè)一遍退出登錄訪問下載接口應(yīng)該返回 403登錄后下載不屬于本部門的秘密檔案也應(yīng)該返回 403。5.4 坑四大文件上傳超時(shí)與文件句柄泄漏現(xiàn)象上傳 100MB 以上的掃描件時(shí)前端請(qǐng)求轉(zhuǎn)圈幾分鐘后報(bào)錯(cuò)或者上傳成功后下載時(shí)提示文件被占用。服務(wù)器日志里出現(xiàn)Connection reset或Too many open files。原因multipart 限制沒調(diào)大是第一個(gè)原因Spring Boot 默認(rèn)單文件最大 1MB超過直接拒絕。第二個(gè)原因是文件讀寫方式不對(duì)——上傳時(shí)把整個(gè)文件讀入 byte[] 再寫盤大文件直接把內(nèi)存撐爆下載時(shí)用FileInputStream讀完沒關(guān)流時(shí)間長(zhǎng)了文件句柄耗盡。解決先調(diào)大 multipart 限制max-file-size按業(yè)務(wù)實(shí)際需要來一般掃描件建議 200MBmax-request-size要比單文件略大。讀寫文件統(tǒng)一用流式處理上傳用MultipartFile.transferTo()避免內(nèi)存拷貝下載用InputStreamResource。上傳大文件時(shí)前端請(qǐng)求時(shí)間可能超過 Nginx 默認(rèn)的 60 秒代理超時(shí)如果帶了 Nginx 前置proxy_read_timeout也要相應(yīng)調(diào)大。文件句柄問題用lsof -p pid | wc -l排查如果數(shù)量持續(xù)上漲不回落優(yōu)先檢查自己代碼里有沒有忘記 close。6. 從可運(yùn)行到可上線環(huán)境變量、備份與二次開發(fā)的收尾習(xí)慣6.1 把配置拆成環(huán)境相關(guān)與環(huán)境無關(guān)上線前先做一次部署演練可運(yùn)行源碼只代表它能跑不代表它能上線。我交付這類系統(tǒng)前會(huì)強(qiáng)制自己做一次部署演練找一臺(tái)干凈服務(wù)器從零裝 JDK、MySQL再用一條啟動(dòng)命令把系統(tǒng)拉起來。如果過程中要改三個(gè)以上配置文件說明配置設(shè)計(jì)不合格。密碼、數(shù)據(jù)庫(kù)地址、存儲(chǔ)路徑這些環(huán)境相關(guān)變量一律用${ENV_VAR}占位代碼里不要出現(xiàn)任何硬編碼。6.2 每日備份腳本與清理策略給系統(tǒng)留一條后悔藥檔案系統(tǒng)的數(shù)據(jù)比代碼值錢。代碼丟了可以重新拉倉(cāng)庫(kù)檔案文件和數(shù)據(jù)庫(kù)丟了就是事故。我一般會(huì)在交付時(shí)附帶一個(gè)備份腳本放到 cron 里每日凌晨執(zhí)行#!/bin/bash # 每日凌晨備份檔案庫(kù)與文件目錄保留最近 30 天 BACKUP_ROOT/backup/archive DATE$(date %Y%m%d_%H%M%S) mkdir -p $BACKUP_ROOT/$DATE mysqldump -uroot -p$DB_PASS archive_db | gzip $BACKUP_ROOT/$DATE/db.sql.gz tar czf $BACKUP_ROOT/$DATE/files.tar.gz -C /data/archive . # 清理 30 天前的備份防止磁盤被撐爆 find $BACKUP_ROOT -type d -mtime 30 -exec rm -rf {} \;這個(gè)腳本里有兩個(gè)關(guān)鍵點(diǎn)。mysqldump 一定要加--single-transaction否則備份期間業(yè)務(wù)寫入會(huì)導(dǎo)致數(shù)據(jù)不一致——腳本里沒寫但你實(shí)際部署時(shí)建議加上。find 清理要用-mtime 30意思是修改時(shí)間超過 30 天的目錄千萬(wàn)不要用-atime因?yàn)閭浞菸募脑L問時(shí)間經(jīng)常被各種巡檢腳本修改容易誤刪。備份頻率按數(shù)據(jù)變更強(qiáng)度來檔案系統(tǒng)一天新增幾百條記錄以內(nèi)每日一次足夠不用做實(shí)時(shí)備份。至于二次開發(fā)我養(yǎng)成了一個(gè)習(xí)慣加需求時(shí)先問自己改的是“基礎(chǔ)數(shù)據(jù)”還是“流程數(shù)據(jù)”。新增字典項(xiàng)、分類、菜單屬于基礎(chǔ)數(shù)據(jù)直接改數(shù)據(jù)庫(kù)或管理界面就行。改動(dòng)檔案狀態(tài)流轉(zhuǎn)、借閱審批、權(quán)限校驗(yàn)屬于流程邏輯必須先理清影響范圍再動(dòng)代碼。歸檔后的檔案表結(jié)構(gòu)能加字段就別改字段類型——比如把 title 從 VARCHAR(200) 改成 VARCHAR(500)MySQL 8 里會(huì)導(dǎo)致全表重建幾十萬(wàn)條數(shù)據(jù)的表鎖住幾個(gè)鐘頭業(yè)務(wù)直接停擺。線上出過一次這種事之后凡是檔案表的 DDL我都先在測(cè)試庫(kù)跑一遍看影響行數(shù)。檔案系統(tǒng)的技術(shù)含量不在高并發(fā)、不在炫技而在數(shù)據(jù)準(zhǔn)確和權(quán)限嚴(yán)密。你照著這套思路把一個(gè)可運(yùn)行源碼跑通、部署、備份起來就已經(jīng)超過了大部分停留在“能啟動(dòng)就算完事”的開發(fā)者。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲国产成人在线| 日韩二区搞逼插逼毛片| 亚洲激情电影五月天色婷婷丁香一起草| 五月天堂色| 区区久久妻| 99性视频| 久久精彩视频99| 日韩有码一区| 91久热| 视频综合网| 国产人妻777人伦精品HD| 五月天激情Av| 九九色色色| 岛国AV网| 99久re热| 91狠狠综合久久久| 丁香婷婷色五月| 丁香五月天.com| 婷婷久久综合| 婷婷爱五月天人人爱| 香蕉伊人综合| 色综合天天| 99热777| 99网址在线观看| 色色性爱视频| 开心五月婷婷六月丁香| 日韩淑女人妻luan伦激情精品一区二| 超碰99在线观看| 婷婷五月天激情AV影院| 五月丁香91| 国产亚洲精品久久久久久郑州| 丁香综合网| 男人天堂AV在线一区二区| 久久停停超碰| 久播影院免费观看电视剧大全最新网| site:hcxsz888.com| 精品久久久91久久影视网| 婷婷五月天激情免费在线观看| 色五月婷婷av| 碰久久精品w| 高清不卡一区| 五月婷婷综合久久| 99久久精| 久久九⑨| 97色五月婷婷在线| 99视频这里有精品| 新激情五月天天在线网| 精品色色网| 操逼巨乳91| 六月丁丁香| www.99热这里只有精品| 六月米奇色综合| 大香蕉久久婷婷精品综合| 天天插天天干| 另类图片激情五月| 色欲久久久久| 五月丁香婷婷国产精品综合| 午夜亚洲国产精品av一区二区| 五月丁久久| 99综合一区| 丁香五月天婷婷久久综合| 99人人操人人操人人精| 色综合激情图区| 国产激情AV| 一本伊人色婷| 激情婷婷人妻| 99精品热| 色欲九区| 色色日本欧美| 婷婷婷五月香蕉| www.99热| 丁香五月性| 色色99| 六月丁香五月激情婷婷| av大香蕉| 久久sp免费视频| 人妻丰满精品一区二区A片| 久久婷婷五月综合啪| 99视频精品8| 色婷婷丁香| 狠狠色丁香久久综合婷婷亚洲成人福利 | 色 色 色综合com| 视色网在线播放| www久久艹| 激情5月婷婷| 99只有精品| 国产avapp 网| 97色永久免费视频| 中文字幕AV网址| 狠狠色噜噜色狠狠狠综合久久成人波| 99热精品一| 新99色色色色色色| 成人羞羞啪啪 全 视频| 色色色精品无码区| 99r久久这里只有精品| 五月丁香精品| 激情丁香婷婷| 狠狠干狠狠色| 激情五月婷婷丁香六月| 日本老女人黄页在线播放| 超碰97免费在线| 色色综合热| 99热午夜精品| 久9热在线免费观看| 丁香综合日产精品久久| 99热国产在线| 亚洲激情六月| 91 原创 在线 九色| 色色色色色日韩午夜激情 | 国产精品久久99| www.精品99| 丁香婷婷五月综合| 激情综合国产| 久热婷婷| 丁香五月天色综合| 色婷婷激情小说网| 五月丁香久久久| 停停色综合伊人| 九九视频这里是精品五月| 狠狠大香婷婷爱| 日韩婷婷| 婷婷AV丁香| 久久亚洲网| 欧美日本综合网| 丁香五月婷婷深爱综合激情| 99在线观看精彩视频| 九月丁香婷婷综合激情| 婷婷婷五月天最新综合你懂的| 丁香五月综合在线| 久久这里只有精品视频1| 五月天婷网| 丁香五月开心五月激情| 99热8| 思思热这里只有精品| 久热只有精品| 婷婷丁香五月综合| 人妻丰满精品一区二区A片| 久热91| 五月综合久久| 久综合九综合99| 嫩草视频。| 色欲色香综合网站| 色5月婷婷色| 97香蕉久久超级碰碰高清版 | 中文字幕综合网| 另类图片天天影视在线观看| 亚洲 日韩色色| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 天天综合网站| 玖玖爱伊人网| 色婷婷精品视频| 七七九色| 这里只有精品,日韩视频| 99re热视频| 九九热经典视频在线观看| 天天干狠狠| 国产精品电影网| 操操碰| 亚洲综合五月天| 免费看欧美成人A片无码| 性爱激情综合网| 激情网色五月| 婷婷综合久久| 天堂草在线观| www色五月| 久久激情五月| 99在线视频观看| 五月丁香六月婷婷综合| 综合97五月| 婷婷亚洲丁香五月| 亚洲综合色网| 99久视频| 密视AV综合在线| 色综合综合色| 激情五月天免费视频| 99热6精品| 亚洲成人一区| 丁香狠狠干| 成人短视频在线免费观看| 婷婷久久综合| 亚洲色婷婷五月| 丁香五月欧美激情| 五月激情四射网站| av网址在线| 天天 日综合| 久草热视频在线观看| 婷婷涩五月| 中字幕视频在线永久在线观看免费| 久久五月天 91| 色五月天堂| 婷婷丁香五月天在线视频| 丁香美女主播视频在线观看| 大香蕉久| 色综合女人99| 中文字幕丰满乱孑伦无码专区 | 天天摸,天天爽| 久色欧美| 国产高清RV综合aVa| 天天日天天草| 色狠狠色噜噜AV天堂五区| 伊人久久大香线蕉综合网站| 激情综合网,婷婷| 99热精品中文字幕| 欧美搡BBBBB摔BBBBB| 丁香综合久久| 白天AV月月| 国产97色在线 | 日韩| 99综合视频一体| 去色色五月天| 色综合五月婷婷狠狠干| 少妇高潮一区二区三区99欧美| 欧美色激情四射| 一区二区乱码视频| 丁香五月开心五月激情| 丁香久久| 1024国产| 激情五月天影院| 成人无码髙潮喷水A片| 午夜丁香六月婷| 六月婷在线| 久久婷婷丁香五月一二三| 色五月中文网| 欧美 色婷婷| 五月天婷婷久久| 色五开心五月五月深深爱| 婷婷开心激情| 操九色| 欧美va亚洲va在线播放| 婷婷丁香熟妇综合网| 日本三级网址| 五月丁香花激情综合网| 八戒青柠影视剧在线观看| 婷婷五月色惰| 韩国三级五月天婷婷。| 国产AV一区二区三区最新精品| 五月丁香六月婷婷啪啪| 狠狠干在线| BBWCUCKOLD精品熟妇 | 97色天堂| 99热手机在线精品| 香蕉曰比| 夜夜操少妇| 久操操| 亚洲 欧洲 国产 伦综合| 日日干夜夜撸夜夜骑| 夜夜 操无码| 色五月,婷婷大香蕉| 五月天婷婷丁香花| 久久久婷婷| 色哟哟精品| 五月色色激情网| 欧美成人精品A片免费一区99| 国产 亚洲 在线| 丁香五月婷婷香| 亚洲激情四射色| 密黄站| 激情婷婷五月| 99综合自拍| 伊人五月丁香| 欧美精品狠狠色丁香婷婷| 天天摸天天舔天天爽| 天天综合图片| 婷婷激情五月| 激情的五月婷婷蜜桃| 色综合色五月| 91干视频| 丁香伊人网| 色婷婷在线影院| 天天色激情| 双性美人被调教到喷水A片| 色狠狠五月天| 色五月 五月婷婷| 成人短视频在线| 五月丁香婷婷深深爱| 日韩AV在线电影| 淫荡综合网| 久久久久亚洲AV综合| 电影《战争与艾拉》免费观看| 涩五月婷婷| 影视av久久久噜噜噜噜噜三级| 五月天激情小说欧美激情| 婷婷欠久少妇| 五月天六月婷婷电影| 美女久久婷婷| 丁香六月亚洲综合| 超碰人人摸AV| 五月天天爱| 久久99草五月婷婷| 五月天激情婷婷久久| 黄色av高清| 3www激情| 99九九免费精品| www天天爽| 色婷婷在线视频观看| A网在线欧洲| 丁香婷婷五月份| 呦呦v线| 少妇人妻丰满做爰XXX| 就99这里只有精品| 日韩黄在免| 激情五月com| 91精产品自偷自偷综合| 五月婷婷在线视频| 蜜乳人妻一区二区三区| 久久五月天网| 五月天婷婷在线观看精品男人| 婷婷色色五月天| 色欲五月婷婷| 97人人操人人爽| 成人做爰黄A片免费看直播室男男| 丁香五月a| 丁香久久综合| 成人网在线观看视频| 五月婷婷av| 婷婷五月在线免费| xxxx五月天色色| 五月丁香天堂网| 五月丁花色综合网| 国产激情在线| 91夫妻网站九色| 婷婷射丁香| 激情五月天之五月婷婷| 五月婷婷综合久久| 热99色| 久色网址| 情久久综合五月天| 婷婷五月天少妇| 色色五月天com| 这里只有精品久久| 色婷另类| www,av好吊操| 性爱在线播放av| 99九九热视频免费| www.wuyuetian啪啪| 99色中文| 99热这里精品| 婷婷四色五月| 丁香五月天在线视频| 久久艹网| 久久大大香| 亚洲超碰在线| 色婷婷丁香五月| 国产毛片操B| 亚洲综合无码| 五月天四色房丁香亭亭| 操丝袜视频影院导航| 色综合久久44| 欧美啪啪五月天| 亚洲精品久久久久AV无码| 婷婷色五天| 思思热99在线| 激情的五月| 国产 亚洲 在线| 亚洲天堂碰碰婷婷| 五月婷婷综合在线亚洲视频| 五月丁香激情啪啪| www99久久| 婷婷五月天激情丁香| 超碰在线50| 千人斩操逼| 97综合在线| www.天天色综合| 丁香九月激情| 色播播之激情五月婷婷| 在线观看免费观看在线9久| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 色综合99| 亚洲综合五月天综合| 色99在线| 99热成人在线观看| 丁香六月婷婷综合欧美| 色色网站| 情情五月天色| 久久久色情| 色色网站在线| 丁香五月中文字幕| 亚洲爆乳无码精品AAA片蜜桃| 99热精品10| 国产做A爰片毛片A片美国| 五月天婷婷激情干干| 任你日视频| 午夜丁香六月婷| 9久热视频| 热99色| 琪琪布丁香社区激情五月天| 婷婷婷狠狠| 熟妇内谢69XXXXXA片| 久热这里| 免费观看全黄做爰的视频| 久久香蕉影院| 成人国产欧美大片一区| 久久无码成人| 天天综合网~91| 九九热9| 色狠狠婷婷| 婷婷狠狠综合网入口| 国产又色又爽又黄又免费| 大香蕉久久| 99免费在线视频| 久操大香蕉| 久操热线| 91se视频| 操骚货在线| 婷婷操婷婷干婷婷射| 日日夜夜久| 激情五月婷婷丁香| 亚洲精品在线视频| 婷婷丁香色五月| 激情五月婷婷丁香| 69精品人人人人| 国产亚洲成AV人片在线观黄桃 | 91狠狠色| 99ER热精品视频| 最新高清无码专区| 激情五月瑟瑟| 成人婷99最新| 婷婷天天插天天爱| 深爱五月最新网址| 日韩在线一级| 九九色影院| 一本大道嫩草AV无码专区| 超碰日韩成人| 伊人久久综合| 激情图片亚洲| 婷婷五月深深爱| 深爱综合网| 91人人操人人| 欧美在线| 成人片在线免费看| 丁香婷婷色五月| 亚洲日韩26uuu| 色色COm| 色色激情五月| 国产精品久久久久久久久久久久 | 丁香五月性| 第九色区av天堂| 日本玖玖在线| 日韩影院三级| 九九久久视频| 开心五月天私房婷婷| 婷婷国产日本欧美| 天天爱天天吃狠天天透| 天天综合色| 五月成人丁香av91| 香蕉国产2013| 丁香五月冃欧美| 99久久这里只有精品| 97色色综合| 五月丁久久| 黑人无码一区| 五月丁香激情综合六月涩涩爱| 亚洲精品大片| 九九热在线视频| 狠狠色丁香久久综合婷婷亚洲成人福利| 亚州操逼网| 国产成人AV人人爽人人澡Va| 开心婷婷中文字幕| 青草青草视频2免费观看| 99伊人婷婷在线| 婷婷久久午夜网| 五月婷婷啪啪啪啪| 成人午夜无码视频| 久久综合色五月| 九九这里只这里只有精品| 熟女激情五月天| 综合色图区| 99热99思午夜精品| 婷婷五月天少妇| 99九九热视频| 久久免费高| 丁香五月影院| 丁香五月在线播放| 天堂伊人干| 99久久婷| 久久国产色| 天天干一干| 玖玖五月| 黄色AAAAA| 激情av| 五月丁香九九| 99热777| 色色色热| 超碰男人色| 婷婷激情五月天小说校园| 婷婷久久五月天| 久久婷婷的综合色丁香五月| 久热这里只有精品视频6| 玖玖综合色| 五月天堂六月丁香亚州中文字幕久久| 大操人妻| 一个色的综合| 玖玖热视频| 六月丁香停| 狠狠草综合网| 一起草AV入口| 梁铮版蜘蛛女在线观看| 操操碰| 婷婷五月网图片区| 91婷婷五月天嫩女| 日本熟女啪啪| 先锋av性爱成人电影| 色综合色色| 久久总和99| 26uuu最新地址| AV网在线| www.伊人天堂偷偷婷婷| 五月天激情影院| 成人在线不卡| 丁香六月婷婷开心| 久久久久8888| 婷婷五月丁香欧洲| 亚洲色夜| 欧美色九| 激情五月天综合网| 日韩另类在线观看| 99热丁香五月| 婷婷在线播放| 97电影99热| 亚洲色网络| 久久33视频| 日日夜夜噜噜爽爽| 日本91在线播放| 午夜青草资源| 天堂成人A片永久免费网站| 青青草搞屄视频网站| 五月丁香六月综合激情| 中文网AV| 天天干天天做| 少妇久久诱惑视频| 中文字幕乱码亚洲精品一区| 亚洲成人电影aaaa| 色婷婷伊人激情在线观看| 99在线播放| 激情五月婷婷色| 另类婷婷五月天啪帕帕| 五月天激情亚洲| 中文字幕在线人妻| 十一月婷婷激情四射| 色婷av| 天天插天天插| 亚洲永久免费| 99久热| 丁香 婷婷五月| 亚洲精品又粗又大又爽A片| 色婷婷丁香五月丁香| 五月开心播播网| 亚洲性色XXXXX| 久久密臀婷婷| 婷婷五月天综合网| 9久视频| 色播五月天激情| 熟女乱论网| 亚洲精品又粗又大又爽A片 | 这里只有精品视频在线看| 天天视频精品9| 26uuu日韩| 99九九精品视频| 五月丁香六月激情在线| 夜夜爽日日躁| 久操大屁股女人av| 婷婷四色五月| 婷婷舔| 刘玥精品一区| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 另类小说五月天| 九九免费在线视频| 美腿丝袜AV天堂网| 99热精品在线播放| 天天综合天天玩夜夜玩天天玩夜夜玩 | 2025年最新亚洲在线欧美| 色色五月综合| 久久九九免费视频| 久久丁香婷婷色情综合| 婷婷丁香五月激情密臀av| 超碰成人电影| 逼特逼在线免费播放| 久久婷婷五月免费视频| 久99| 亚洲岛国电影| 色五月婷婷基地| 婷婷五月天激情在线观看 | 五月丁香久久精品在线观看 | 夜夜爽天天干| 天天玩夜夜操天天爽| 国产精品91抖高| 99热这里只有精品9| 狠狠爱综合网| 久久久亚洲成人无码A片| 9热在线观看| 国产99精品免费视频| 伊人超碰在线| 99视频| 丁香六月激情综合啪啪| 久久婷婷色| 五婷婷综合网| 特级西西4444www无码| 色婷婷在线视频综合| 丁香五月激情网| 色婷婷成人做爰A片免费看网站| 色吧五月婷婷| .操區COm| 欧美超级视频97| 久久AV无码精品人妻系列试探| 色99在线| 国际国外精品欧洲南美洲专区无码不卡| 91chinese 在线| 久久精品一区二区三区四区| 五月丁香福利| 国产亚洲精久久久久| 丁香色五月婷婷17C| 欧亚中文A V| 狠狠干狠狠色| 97色在线视频| 婷婷伊人网| www.日日日.com| 少妇高潮一区二区三区99欧美| 丁香五月av在线| 五月天婷婷综合久久| 五月丁香婷婷激情四射迷人| 久久综合九色综合97婷婷| 成人在线精品| 中文av网| 色婷婷五月天天天干天天操天天爽 | 激情深爱综合| 99热久草| 日本少妇AA一级特黄大片| 久久人妻视频| 99啪啪视频| 五月激情婷婷在线| 久久99这里只有精品视频| 丁香五月婷婷黑人妻黄色电影院| 伊人大香蕉综合在线| 超pen个人视频97| 97久久久久| 79精品视频在线观看,| 婷婷激情六月中文| 丁香六月婷婷一区| 好看的国产精品| 国产永久一黄| 一起操最新网址| 人妻丰满精品一区二区A片| 色色色999| 超碰97免费在线| 亚艹艹| 五月婷婷欲色| 六月天无码网址| 丁香五月狠狠在线观看| 天天开心天天色| 色综合中文| 9 1在线视频| 亚洲视频在线观看区| 夜夜嗨一区二区三区直播内容| 日韩无码专区| 天天插天天射| 99精品综合| 日本99久久| 人人摸人人操人人爽| 开心五月天激情网| 久久怕怕视频| 五月婷婷六月色| 五月婷婷激情五月| 丁香婷婷六月| 久久婷婷五月天激情| 91精品久久久久久综合五月天| 丁香婷婷久久老熟女综合网| 玖久精品视频9| 激情综合网,婷婷五月天| 亚洲激情高潮| 婷婷区日本| 午夜美女人啪最红院| 538在线| 激情综合综合综合| 丁香六月婷婷缴情欧美| 九九免费视频在线| 久cao香蕉影院| 亚洲六月综合激情久久下卡| 五月天大香焦| 99资源在线| 婷婷狠狠97| 午夜成人综合| 久/久精品99看9| 丁香婷婷六月激情文学| 六月婷婷六月天天在线免费| 天天日狠狠| 激情影院免费视频婷婷五月天| 婷婷五月天com| 激情婷婷五月基地| www.99热这里只有精品| 婷婷五月丁香色综合| 成人电影在线免费试看| 色婷婷av在线观看| 六月婷婷五月丁香| 婷婷碰碰| 九九综合网色全集| 狠狠操综合| 九九热再线九九视频免费在线观看| 狠狠88综合久久久久噜噜噜| 天天夜天天色天天| 激情五月天偷拍综合网| 91色色色| 无码激情AAAAA片-区区| 色婷婷AV在线观看| 香蕉操亚洲| 欧美性二区| 色婷婷五月天激情综合| 五月丁香六月婷婷欧美综合| 色99在线视频| 亚洲中文字幕在线观看| 99精品丰满| 黄色激情久久| caopeng超碰| 色婷婷视频综合| 亚洲免费观看高清完整版AV线| 五月婷婷AV| 丰满少妇乱A片无码| 色婷婷无吗| 色五月琪琪| 欧洲日韩一区二区三区| 久久精品这里只有精品免费首页| 色色婷婷五月天| 成人午夜视频精品一区| 視频福利乱色| 97五月天婷婷午夜| 婷婷色基地| 色九月| 五月激情四射网站| 97操碰碰无码视频| 99热这里精| 久草狼人| 成人做爰A片免费看视频| yazhochengrenavwang| 97自拍视频在线| 色六月天| 99ri国产| 久久久久9久无码视频| 久久久99视频| 这里只有精品视频在线看| 五月婷婷久久久| 欧美亚洲色色色色| www.91操| 天天做天天爱综合| 成人网站免费sxj| 五日激情综合| 极品人妻VIDEOSSS人妻| 成人中文字幕在线| www.五月天。com| 五月丁香婷婷久久| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 婷五月天在线草| 99人妻碰碰碰久久久久视| 内射爽无广熟女亚洲| 五月激情射| 天堂婷婷丁香六月网| 99热综合在线| 九色激情| va婷婷在线| 成人五月天丁香婷| 色五月婷婷丁香凹凸| 欧美成人无码高清一区二区三区| 久久久27操| 五月丁香本色在线观看| WWW.天天日| 婷婷五月婷婷| 亚洲成AV人片在线观看| 亚洲美女婷婷五月天| 第四色五月婷婷| 国产乱轮一区二区三区| 日韩黄黄| 色色99| 狠狠色噜噜狠狠| 亚洲丁香五月| 国产精品VIDEOSSEX久久发布| 9久久久久| 丰满熟女人妻一区二区三| 国产FREESEXVIDEOS性中国| 日本三级黄色大片| 色五月av| 免费V片在线| 色婷婷五月网| 图片区 小说区 区 亚洲五月| 丁香六月啪啪啪| 五月丁香香蕉| 久久五月天精品视频| 色综合性视频| 91精品综合久久久久久五月丁香| 丁香六月婷婷综合| 在线观看av网站| 丁香五月www| 五月婷婷亞洲中文| 95精品区一区二| 国产成人AV人人爽人人澡Va| 丁香五月天色婷婷| 伊九九三级区| 一区二区免费看| 激情综合在线播放| 99热这里只| 天天色凹凸| 国模淫穴色图| 日碰日| 99re这里只有精品首页| 日本不卡一区二区三区| 色色色精品无码区| 婷婷精品视频| 天堂婷婷五月在线| 五月丁香婷婷综合| 26UUU一区二区| 激情五月婷婷网| 91碰碰碰| 天天干天天干天天干天天干天天干| 大香蕉五月婷婷| 亚洲黄色精品| 超碰免费人妻| 99精品在线观看| 激情视频网址| 99这里只有| 亚洲精久久| 九九av| 九九99在线观看视频| 热99在线| 蜘蛛女免费观看完整版高清电影| 大香蕉九九| 婷婷成人在线| 超碰国产在线播放| 99国产性感视频| 五月天婷婷无码| 停停六月 综合| 亚洲另类视频| 99热99极品观看| 久久久激情视频| 色婷婷五月天av在线| 色五月五月婷婷| 色婷婷欧美在线| 国产精产国品一二三在观看| 亚洲免费99| 99色在线免费观看视频| 婷婷五月天天爽| 丁香六月色婷婷| 五月天婷婷社区| 五月天激情小说电影| 亚洲av| 亚洲视频图片婷婷五月| 综合色网站| 99久久99久久综合| 天天免费成年人视频| 天堂婷婷综合| 色99网| 国产精品操| 丁香五月偷拍| 久久99这里只有精品视频| 91熟妇大香蕉| 婷婷欧美激情综合| 五月丁香综合啪啪| 精品成人在线| 99热综合网| 99久久久久| 国产精品久久久久久久久久久久| A久网| 色在线99| 337p大胆噜噜噜噜噜91Av| 天天综合天天玩夜夜玩天天玩夜夜玩 | 六月婷婷之青青草| 天天干天天日蜜臀av| 国产在这里只有精品| 超碰在线成人| 五月Huangsewang| 婷婷五月天狠狠色| 精a品a视a频| 精品九九九久| 久久婷婷五月丁香网| 欧美色色色色色色色色色色影视| 亚洲图片 丁香婷婷| 亚洲AV网站在线观看| 99热精品在线播放观看| 91日本在线免费| 婷婷永久在线| 国产精品蜜臀99| 国产免费一区二区三区三州老师F1F1.CC| 色播五月婷婷| 五月激情婷婷开心| 色五月综合网| 91精品91久久久久77777| 91丁香五月| 激情五月婷婷在线区| 色色九区| 日日操天天操| 五月婷婷六月丁香| 成人色五月天| 亚洲成人无码网站| 免费看欧美成人A片无码| 一本色道久久综合狠狠躁小说| 99色6爱9热| 秋霞网在线免费基地五月婷婷丁香| 亚洲人妻av| 亚洲亚洲永久无码777777| 99色激| 五月天色欧美| 婷婷五月色| 激情开心五月天| 清色五月天| 六月99天天婷婷激情综合| 综合福利网| 久久免片| 色激情五月天| 另类小说五月天激情| 91碰| 字母不卡码人逼| 99热99在线| 在线观看婷婷5月| 天天综合永久| 亚洲婷婷在线播放十月| 天天色综| 五月婷婷亚洲天堂97色婷婷| 第四色五月天| WWW.桔色成人.COM| 人人人操B超碰| wuyuedingxiang99| 免费黄色AV| 91碰操| 中文字幕 中文字幕明步| 丁香六月啪| 免费视频99| 亚洲小说欧美激情| 欧美va亚洲va| 97碰碰在线看视频免费| 婷婷伊人綜合中文| 国产亚洲精品久久久久久久久动漫| 欧美亚洲999| 成人电影AV在线观看| 丁香五月激情啪啪啪啪| 亚洲最大成人综合网720P| 狠狠色丁香| 久久hd| 九九色综合九九色| 丁香婷婷六月激情综合| 色狠狠999综合网| 超碰99热| 欧美日本国产欧美日本韩国99| 色综合播放| 激情综合色五月丁香| 婷婷色综合| 伊人五月天在线| 99在线视频播放| 色婷婷六月| 激情五月婷婷网| 狠狠五月天婷婷激情网。| 六月色婷婷欧美| 色婷婷丁香网| 91九九| 亚洲美女高潮久久久久久69| 丁香五月激情网| 激情久久网| 激情丁香五月| 亚洲色频| 丁J香六月首页| 丁香五月亚洲综合丝袜| 操操操B| 色135综合网| 成 人片 黄 色 大 片| 五月天婷婷基地| 天天插天天射| 九九这里有精品| 99热只有这里有精品| 97自拍视频在线| 超碰久热| 丁香六月婷婷色XXXXX| 97碰在线视频| 另类视频综合| 亚洲1区| 婷婷99狠狠躁天天躁| 五月丁香狠狠爱| 99热这里只| 日日撸夜夜操| 亚洲色久| 无遮挡国产高潮视频免费观看 | 亚洲第一第二网站| 五月婷婷婷| 亚洲色婷婷五月天| 五月亭亭激情综合| 99国产精品白浆在线观看免费| 五月天激情婷婷| 99视频在线观看视频| 最新五月天婷婷影| 五月婷婷婷自由综合| 99热这里只有精品官网| 中文在线视频久1| 99这里只有精品视频| 色综合五月天| 色五月婷婷综合| 99热久| 99精品在线观看| AA片在线观看视频在线播放| 五月丁香婷婷欧美色图视频五月丁香777电影 | 亚洲五月天激情| 嫩草AV久久伊人妇女超级A| 大伊香蕉精品视频在线| 五月丁香六月婷婷视频| 五月天激情图片| 欧日韩成人| 久久伊人五月天| 强壮的公次次弄得我高潮A片日本 | 91久久精品国产91性色TV| jiujiuxiangjiaowang| 在线成人av播放| 久久久香| 777久久综合视频| 米奇影视资源婷婷狠狠色激情欧美五月丁香| 色婷婷六月天在线| 九九无码| 网站免费一站二站| 乱乱av| 91 九色 入口| 九九热这里只有精品23| 色999五月色| 久热视频这里只有精品| 成人视频在线免费播放| 涩综合婷婷| 丁香六月婷婷色XXXX| 91热手机在线| 超碰狠狠操| 天堂婷婷丁香六月网| 人人操五月天| 色五月丁香五月| 婷婷五月花.97| 国产视频福利| 天天操夜夜夜夜爽| 色五月激情婷婷| 日夜操B| 丁香五月婷婷欧美性爱| 亚洲自拍天堂| 色五月xxx| 亚洲欧美999| 色色五月丁香| 伊人久久丁香狠狠婷婷综合香蕉 | 色婷婷丁香五月| 丁香香蕉射射射| 久久Xx| 日日干综合| 久久这里只精品| 婷婷五月天色| 四川操逼站| 激情六月下句是什么| 激情六月日韩| 中文av网站| 超碰A V在线| 激情五月天在线观看婷婷| 婷婷六月花| 狠狠操狠狠爱| 五月综合激情网| 色婷婷AAA| 亚洲最大五月天成人网| 欧美99| 丁香五月天激情四射网络不好 | 丁香婷婷深情五月亚洲| 99这里只有精品| 操操操91| 婷婷丁香五月视频| 91九色视频在线观看| 国产精品久久久久久久久久| 91无码高清| 五月天婷婷色小说| 超碰九色| 色久一| 天天日狠狠| 9久久婷婷国产综合精品性色| 色级停停| 五月天色色激情综合| 六月综合婷婷开心伊人| 国产成人精品一区二区三区视频| 99色五月| 丁香色情五月综合网站| 综合网激情| 极品另类| 久久久久人妻中文| 九九热九九| 国产精品视频| 涩五月色婷婷| 无码日本精品XXXXXXXXX| 五月丁香无码| 色五月天在线观看| 国产又爽又猛又粗的视频A片| 亚洲网视屏| 色五月婷婷亚洲最大| chaopengdaxiangjiao| 丁香五月天在线观看视频| 五月天激情网图片| 国产一级黄色影片,| 69堂午夜视频最新地址| 翔田千里 50岁 无码| 免费99色| 丁香五月天激情综合网| 国产精品色色| 任你爽免费视频| 丁香在线视频| 97久久精品视频| 26UUU欧美激情一区二区| 五月婷婷五月| 亚洲99综合| 成人短视频在线免费观看| 婷婷热色| 丁香五月婷婷亚洲另类| 五月丁香六月婷| 日本色婷婷| 一区视频网站| 五月丁香六月在线欧美| 玖玖视频福利| 欧美激情综合色综合啪啪五月| 中文字幕久久婷九女同| 成人狠狠成人狠狠成人狠狠成人狠狠| 日本色色色| 欧亚洲在线高清视频| 欧洲亚洲免费视频9| 天天干,天天操,天天射| 狠狠干夜夜干| 狠狠 久久| 五月天五月天成人网亭亭成人色网站| 高清资源站日A美A欧亚…| 性小说五月天| 五月综合色| 玖玖伦理电影| 色情五月丁香| 亚洲小视频免费看| 狠狠操狠狠操AV| 五月婷婷大香蕉| 九九热免费| 97在线视频观看| 亚洲激情AV| 秋霞免费三级片| 五月婷婷中文字幕| 五月丁香网视频| 狠狠综合网| 丁香五月婷婷无码AV| 五月丁香亭亭| 青青草a在线| 无码AV久久久久久久久| 开心婷婷五月花| 综合天堂AV久久久久久久| 五月丁香网中文字幕| 一级片操逼视频| 亚洲 五月 婷婷 成人| www超碰com| 另类激情五月天| 精品九九婷婷| 天天色粽合合合合合合合| 久久99精品久久久久子伦| 大香蕉婷婷久久| 中文无码婷婷| 久久五月天婷婷| a69在线视频| 久久久天堂国产精品女人| 色五月成人在线| 丁香五月婷婷老师网站| 欧美成人色婷婷| 99热精品99| 少妇激情五月天| va婷婷在线| 天天综合天综合久久网| 婷婷丁香五月综合激情视频| 九九超日本| 午夜成人网站在线观看| 99热综合| 图片区 小说区 区 亚洲五月| 欧美天天干天天草| www.com任你艹| 久婷婷婷| 久鲁鲁色网 | 色五月五月婷婷| 99久久亚洲精品视频| 国产精产国品一二三在观看| 天天干天天操天天爱| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | www网站在线观看| 日韩在线观看亚洲| 丁香五月天无码AV| 天天色综网| www.婷婷五月| 91九色国产| 青青草国产亚洲精品久久| 99热这里只有精品国产精品| 综合色影院| 五月婷婷丁香| 婷婷色五月情| 97电影99热| 91性高潮久久久久久久久| 色情一区二区播放| 色蜜婷婷| 色五月综合| 女人天堂 AV| 婷婷午夜丁香| 爽tv | 天天综合网在线| 亚洲激情亚洲激情| 猫咪伊人AV| 九九热中文| 天天色,天天操,天天射| 99视频在线啪| 激情五月色婷婷| 五月婷婷之美女图片| 婷婷成人综合| 亚洲AV影片在线观看| 99人妻碰碰碰久久久久视| 色五月婷婷五月丁香五月激情五月视频| www.金莲av| 色婷婷操逼| 另类激情五月| 99re久热只有精品6在线直播.com| 色婷婷久久| 99精品热| 五月丁香婷婷激情在线视频| 六月综合婷婷开心伊人| 五月婷久久| 色色色综合色| 婷婷六月色丁香视频在线观看| 欧美久人人| 成人无码髙潮喷水A片| 亚洲婷婷欧美婷婷| 色婷婷婷综合五月天| 亚洲AV第二区国产精品| 亚洲情综合五月天| 女同激情久久av久久| 狠狠久综合| 九九99在线免费在线观看视频| 1024人妻无码中文字幕| 99亚洲天堂| 激情五婷网| 99久久99热| 婷婷五月丁香花综合| 综合六月久久| 久久久婷婷| 熟女激情五月天 | 久久久天堂国产精品女人| 日韩成人中文字幕| 久久精品亚洲一级牲爱综合 | 五月久久综合| 久久婷婷综合五月天| 色婷婷狠狠| 色五月婷婷视频| 丁香五月成人| 人人爽欧美婷婷久久久五月丁香| 无码免费人妻A片AAA毛片西瓜| 久色网址| 性色五月天| 热99这里只有精品视频| 丁香五月婷婷激情小说| 五月丁香综合中文| 综合久久五| 久久99网站| 玖玖综合色| 丁香五月成人网| 狠狠色婷婷六月激情网| 激情五月伊人婷婷| 大香蕉婷婷久久| 九九热99精品| 丁香婷婷天堂| 97精品综合| 无码激情| 人人草人人看| 伊人五月成人| 午夜不卡成人一区二区| 色久播播| 丁香五月欧美激情| 色九九七七| 51精品国内探花| 教师性爱毛片| 国产精品18久久久| 久久女婷| 九九热在线精品视频|