亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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后端開(kāi)發(fā)者、軟件專業(yè)學(xué)生及企業(yè)信息化建設(shè)者用于解決檔案數(shù)據(jù)分散、借閱流程不透明、檢索效率低等管理難題。系統(tǒng)內(nèi)置檔案分類(lèi)、權(quán)限管理、生命周期追蹤、電子上傳與掃描歸檔、自動(dòng)編號(hào)、借閱歸還提醒、全文檢索與關(guān)聯(lián)分析等模塊前端覆蓋管理員、員工、管理者多角色界面能夠支撐企業(yè)級(jí)檔案全流程管理。資源共21個(gè)文件以16個(gè)Java源文件為核心配合YAML/XML配置、Maven構(gòu)建文件及Markdown說(shuō)明文檔整體僅23KB結(jié)構(gòu)精簡(jiǎn)便于直接導(dǎo)入IDE運(yùn)行與二次開(kāi)發(fā)。目前已有95人學(xué)習(xí)下載適合作為SpringBoot企業(yè)級(jí)項(xiàng)目實(shí)戰(zhàn)參考也可為中小型檔案管理系統(tǒng)改造提供基礎(chǔ)代碼。1. 企業(yè)檔案管理系統(tǒng)可運(yùn)行源碼先想清楚拿到的是一套什么架子開(kāi)發(fā)者在找一個(gè)企業(yè)檔案管理系統(tǒng)的可運(yùn)行源碼時(shí)手頭多半已經(jīng)壓了一個(gè)需求合同、證照、項(xiàng)目文檔要?dú)w攏Excel 管不住領(lǐng)導(dǎo)點(diǎn)名要一套系統(tǒng)。反直覺(jué)的是網(wǎng)上標(biāo)著“可運(yùn)行”的源碼解壓后能一次跑通的不到一半——數(shù)據(jù)庫(kù)腳本缺主鍵、上傳路徑寫(xiě)死、登錄頁(yè)和后臺(tái)對(duì)不上這些坑幾乎人人踩過(guò)。真正的企業(yè)檔案管理系統(tǒng)核心不是頁(yè)面多華麗而是圍繞檔案生命周期把分類(lèi)、權(quán)限、借閱、下載做成閉環(huán)。這套源碼適合 Java 技術(shù)棧的開(kāi)發(fā)者直接拉下來(lái)改也適合把它當(dāng)作一個(gè) RBAC 加文件管理的參考架子需求來(lái)了能少走彎路。2. 技術(shù)底子Spring Boot MySQL 本地文件池為什么是這套系統(tǒng)的常見(jiàn)答案2.1 前后端與數(shù)據(jù)庫(kù)的常見(jiàn)組合為什么 Spring Boot MySQL 是默認(rèn)選項(xiàng)企業(yè)檔案系統(tǒng)跑在內(nèi)網(wǎng)服務(wù)器上一臺(tái)機(jī)器就能部署用不著微服務(wù)那套復(fù)雜體系。常見(jiàn)做法是 Spring Boot 單體應(yīng)用MyBatis 做數(shù)據(jù)訪問(wèn)MySQL 存業(yè)務(wù)數(shù)據(jù)文件落本地磁盤(pán)。前端有兩種形態(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ù)上直接排除。本地磁盤(pán)按“年份/分類(lèi)”建目錄數(shù)據(jù)庫(kù)里只記相對(duì)路徑備份時(shí)整盤(pán)打包邏輯最直白。這套技術(shù)組合的真正價(jià)值是招聘和排障成本低。Spring Boot 的 starter 機(jī)制把 Tomcat、Jackson、參數(shù)校驗(yàn)全包好了MyBatis 的 SQL 寫(xiě)在 XML 里新接手的人看半天就能改。相比之下用某個(gè)冷門(mén)框架寫(xiě)的檔案系統(tǒng)哪怕代碼再精巧沒(méi)人會(huì)維護(hù)就是負(fù)債。選型時(shí)記住一條檔案系統(tǒng)要的是可靠和可交接不是技術(shù)秀。2.2 檔案生命周期與權(quán)限模型四條線怎么串起來(lái)檔案系統(tǒng)和普通 CRUD 系統(tǒng)的本質(zhì)區(qū)別在于它是圍繞“狀態(tài)”和“權(quán)限”設(shè)計(jì)的。檔案生命周期一般是暫存 → 待歸檔 → 已歸檔 → 借閱中 → 已銷(xiāo)毀。每一步都對(duì)應(yīng)一條操作記錄誰(shuí)在什么時(shí)間把檔案從哪個(gè)狀態(tài)改到了哪個(gè)狀態(tài)必須能追溯。這對(duì)二次開(kāi)發(fā)很關(guān)鍵——你往系統(tǒng)里加功能時(shí)先問(wèn)自己這個(gè)操作是否改變了檔案狀態(tài)如果改了就得同步寫(xiě)一條帶操作人、操作時(shí)間、操作類(lèi)型的日志。權(quán)限模型用 RBAC 就夠了。用戶掛在角色下角色關(guān)聯(lián)菜單和操作權(quán)限數(shù)據(jù)權(quán)限按部門(mén)過(guò)濾。常見(jiàn)角色是系統(tǒng)管理員、檔案管理員、普通用戶、借閱審批人。系統(tǒng)管理員管賬號(hào)和角色檔案管理員負(fù)責(zé)歸檔和銷(xiāo)毀普通用戶只能檢索和發(fā)起借閱借閱審批人單獨(dú)審核借閱單。數(shù)據(jù)權(quán)限要落到部門(mén)某個(gè)分公司的員工默認(rèn)只能看到本部門(mén)歸檔的檔案除非單獨(dú)授權(quán)。核心表結(jié)構(gòu)通常是一張檔案主表加多張輔助表下面這張表是常見(jiàn)的設(shè)計(jì)字段名可以按自己習(xí)慣改但職責(zé)劃分大致如此。表名職責(zé)關(guān)鍵字段sys_user用戶id、姓名、部門(mén)id、狀態(tài)sys_role角色id、角色編碼、角色名sys_user_role用戶角色關(guān)聯(lián)用戶id、角色idarchive_doc檔案主表編號(hào)、題名、分類(lèi)碼、密級(jí)、狀態(tài)、文件路徑archive_category檔案分類(lèi)表分類(lèi)碼、分類(lèi)名、上級(jí)分類(lèi)archive_borrow借閱記錄表檔案id、借閱人、審批人、借出時(shí)間、歸還時(shí)間archive_log操作日志表檔案id、操作人、操作類(lèi)型、操作時(shí)間實(shí)際跑起來(lái)之前先花十分鐘把這幾張表的關(guān)系看懂比直接啟動(dòng)項(xiàng)目有用得多。很多“可運(yùn)行”源碼跑起來(lái)就報(bào)錯(cuò)不是因?yàn)榇a爛而是你沒(méi)建分類(lèi)表的基礎(chǔ)數(shù)據(jù)或者字段字典里沒(méi)初始化狀態(tài)枚舉。下一章進(jìn)入實(shí)操?gòu)慕◣?kù)開(kāi)始。3. 從解壓到登錄頁(yè)數(shù)據(jù)庫(kù)初始化與最小啟動(dòng)配置3.1 環(huán)境清單與數(shù)據(jù)庫(kù)初始化先讓 MySQL 建好核心表拿到這類(lèi)源碼我一般先確認(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別上來(lái)就敲命令——見(jiàn)過(guò)有人拿 JDK 17 跑 Spring Boot 2.2 的老項(xiàng)目啟動(dòng)直接報(bào)非法反射警告折騰半天。數(shù)據(jù)庫(kù)初始化最容易踩的坑是字符集。建庫(kù)時(shí)必須顯式指定 utf8mb4否則 MySQL 8 默認(rèn)可能是 utf8mb4 沒(méi)問(wèn)題但 MySQL 5.7 的默認(rèn)字符集可能是 latin1中文寫(xiě)進(jìn)去全變問(wèn)號(hào)。建庫(kù)和建表腳本一般是項(xiàng)目里 sql 目錄下的一個(gè)或幾個(gè) .sql 文件按文件名順序執(zhí)行。核心腳本里通常包含下面這類(lèi)建表語(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 分類(lèi)碼, secret_level TINYINT NOT NULL DEFAULT 0 COMMENT 密級(jí):0公開(kāi),1內(nèi)部,2秘密,3機(jī)密, dept_id BIGINT NOT NULL COMMENT 歸屬部門(mén), status TINYINT NOT NULL DEFAULT 0 COMMENT 狀態(tài):0暫存,1待歸檔,2已歸檔,3已銷(xiāo)毀, 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ù)上必須全局唯一如果源碼里沒(méi)有這個(gè)約束后續(xù)導(dǎo)入歷史數(shù)據(jù)時(shí)會(huì)重復(fù)。idx_dept_status 是復(fù)合索引匹配“按部門(mén)查列表再按狀態(tài)過(guò)濾”這個(gè)最常見(jiàn)的查詢路徑。file_path 存的是相對(duì)路徑不是絕對(duì)路徑這一點(diǎn)非常重要——絕對(duì)路徑寫(xiě)進(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)限。常見(jià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)、角色、菜單和分類(lèi)字典。導(dǎo)完后可以驗(yàn)證一下執(zhí)行SHOW TABLES;看表是否齊全再查一下archive_category有沒(méi)有分類(lèi)數(shù)據(jù)。很多項(xiàng)目啟動(dòng)報(bào)錯(cuò)“表不存在”或“分類(lèi)碼為空”都是因?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 是本地文件池的根目錄按“年份/分類(lèi)”自動(dòng)建子目錄這個(gè)目錄必須有寫(xiě)權(quán)限。配置改完啟動(dòng)方式取決于項(xiàng)目形態(tài)。Maven 項(xiàng)目直接跑插件或者打包成 jar 再跑兩種都是一條命令的事# 本地開(kāi)發(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看到這行說(shuō)明 Web 容器起來(lái)了。瀏覽器訪問(wèn)http://localhost:8080/login如果能出現(xiàn)登錄頁(yè)最小閉環(huán)就算跑通了。默認(rèn)賬號(hào)密碼一般在 data.sql 里常見(jiàn)的是 admin / admin123或者 admin / 123456去腳本里搜一下就知道。啟動(dòng)失敗最典型的三類(lèi)錯(cuò)誤第一類(lèi) Access denied for user是數(shù)據(jù)庫(kù)賬號(hào)密碼不對(duì)或權(quán)限不足第二類(lèi) Unknown database是沒(méi)執(zhí)行建庫(kù)腳本第三類(lèi)時(shí)區(qū)錯(cuò)誤是連接串里少了 serverTimezone。這三類(lèi)在日志里都有明確關(guān)鍵字按關(guān)鍵字搜比從頭到尾讀日志快得多。如果項(xiàng)目里帶了前端目錄且要求分離部署記得先 npm install 再 npm run dev前端代理指向 8080 端口否則登錄請(qǐng)求會(huì)被 CORS 攔下來(lái)。4. 檔案業(yè)務(wù)怎么跑通錄入、檢索、借閱與下載的關(guān)鍵設(shè)計(jì)4.1 檔案錄入與分類(lèi)字段設(shè)計(jì)背后的業(yè)務(wù)規(guī)則檔案錄入界面看起來(lái)是個(gè)普通表單但字段設(shè)計(jì)背后是業(yè)務(wù)規(guī)則。最核心的字段有四組標(biāo)題和文號(hào)決定檔案“叫什么”分類(lèi)碼和密級(jí)決定它“歸到哪、誰(shuí)能看”保管期限決定它“留多久”文件路徑?jīng)Q定它“存到哪”。錄入時(shí)的校驗(yàn)邏輯通常是這樣標(biāo)題不能為空文號(hào)在同類(lèi)檔案里不能重復(fù)密級(jí)默認(rèn)是公開(kāi)但可以改保管期限默認(rèn)按分類(lèi)表的配置帶出。檔案編號(hào)是錄入時(shí)自動(dòng)生成的生成規(guī)則一般是“分類(lèi)碼 年份 流水號(hào)”。例如合同類(lèi)的分類(lèi)碼是 HT2025 年第 123 份檔案的編號(hào)就是 HT-2025-000123。這個(gè)編號(hào)生成邏輯在源碼里通常是一個(gè) Service 方法用數(shù)據(jù)庫(kù)的同一張計(jì)數(shù)表或 Redis 自增來(lái)保證并發(fā)下不重復(fù)。如果你要改編號(hào)規(guī)則別只改前端顯示要改生成邏輯——否則會(huì)出現(xiàn)界面上顯示一套編號(hào)、數(shù)據(jù)庫(kù)里另一套編號(hào)的問(wèn)題。文件存儲(chǔ)路徑的設(shè)計(jì)決定了后期維護(hù)成本。常見(jiàn)做法是在 root-path 下按“年份/分類(lèi)碼”建二級(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ù)。我見(jiàn)過(guò)有項(xiàng)目直接把完整路徑存進(jìn)數(shù)據(jù)庫(kù)結(jié)果測(cè)試環(huán)境路徑和生產(chǎn)環(huán)境不一致下載全部 404最后只能寫(xiě)批量腳本修數(shù)據(jù)那就是給自己找罪受。密級(jí)字段是整個(gè)錄入表單里最不能忽略的。公開(kāi)、內(nèi)部、秘密、機(jī)密四級(jí)對(duì)應(yīng)不同的借閱審批策略。常見(jiàn)做法是公開(kāi)檔案直接下載內(nèi)部檔案登錄后可看但下載要記錄日志秘密及以上必須走借閱審批。這個(gè)規(guī)則要在錄入階段就定好因?yàn)闄n案一旦歸檔密級(jí)修改就要走審批流程不能像普通編輯一樣隨便改。源碼里一般有個(gè)字典表管理密級(jí)枚舉新增密級(jí)時(shí)要同步改接口校驗(yàn)邏輯和前端下拉框。4.2 全文檢索與文件下載為什么 LIKE 檢索能覆蓋九成需求檢索是整個(gè)系統(tǒng)里最常用的功能也是性能最容易翻車(chē)的地方。企業(yè)檔案的檢索需求說(shuō)穿了就三類(lèi)按標(biāo)題查、按文號(hào)查、按責(zé)任者或主題詞查都是模糊匹配。很多人一聽(tīng)說(shuō)檢索就想到 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í)以上這才值得引入全文檢索中間件。常見(jiàn)的做法是把檢索 SQL 寫(xiě)成動(dòng)態(tài)拼接根據(jù)用戶輸入的關(guān)鍵詞決定查哪個(gè)字段。核心查詢邏輯類(lèi)似下面這段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)限過(guò)濾。如果源碼里只查檔案表不查部門(mén)權(quán)限就會(huì)出現(xiàn)這樣的情況A 部門(mén)的員工搜到了 B 部門(mén)的機(jī)密檔案這在企業(yè)內(nèi)部是嚴(yán)重安全事故。LIKE 的寫(xiě)法用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)但沒(mé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í)沒(méi)執(zhí)行CREATE DATABASE語(yǔ)句只導(dǎo)了建表腳本——MySQL 里沒(méi)這個(gè)庫(kù)連接自然失敗。中文亂碼是庫(kù)或表的默認(rèn)字符集不在 utf8mb4常見(jiàn)于 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ù)。字符集問(wèn)題用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 坑二上傳路徑寫(xiě)死換臺(tái)機(jī)器全部文件找不到現(xiàn)象在本地開(kāi)發(fā)時(shí)上傳的檔案部署到服務(wù)器后全部下載失敗日志報(bào)FileNotFoundException但數(shù)據(jù)庫(kù)里的檔案記錄一條沒(méi)少。原因源碼配置或代碼里把文件存儲(chǔ)路徑寫(xiě)死了比如D:\\upload\\archive或/home/ubuntu/upload這個(gè)路徑只存在于開(kāi)發(fā)機(jī)生產(chǎn)服務(wù)器上根本沒(méi)有這個(gè)目錄或者沒(méi)有寫(xiě)權(quán)限。數(shù)據(jù)庫(kù)里存的是絕對(duì)路徑換機(jī)器后路徑前綴全部失效。解決把存儲(chǔ)根目錄抽成配置項(xiàng)用環(huán)境變量注入。application.yml里這樣寫(xiě)root-path: ${ARCHIVE_ROOT:/data/archive}。部署時(shí)在啟動(dòng)腳本里export ARCHIVE_ROOT/data/archive如果環(huán)境變量沒(méi)配就回退到默認(rèn)值。同時(shí)數(shù)據(jù)庫(kù)存儲(chǔ)邏輯要改成只存root-path下的相對(duì)路徑下載時(shí)用Paths.get(storageRoot).resolve(relativePath)拼出完整路徑。改完配置后記得把已上傳的文件按新目錄結(jié)構(gòu)遷移一次舊數(shù)據(jù)跑個(gè)腳本改 path 前綴或者寫(xiě)一個(gè)兼容邏輯自動(dòng)拼接。5.3 坑三下載接口繞過(guò)權(quán)限校驗(yàn)機(jī)密檔案被直接拿走現(xiàn)象未登錄狀態(tài)下訪問(wèn)下載接口的完整 URL比如/archive/download?id108竟然能直接把文件下載下來(lái)。登錄用戶把鏈接發(fā)給別人別人點(diǎn)開(kāi)也能下。原因下載接口只校驗(yàn)了文件是否存在沒(méi)有校驗(yàn)當(dāng)前請(qǐng)求是否攜帶合法登錄態(tài)。常見(jiàn)寫(xiě)法是直接用GetMapping(/download/{id})參數(shù)只有檔案 id方法體里文件存在就返回文件流——但沒(méi)從 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í)是否超過(guò)用戶權(quán)限、檔案部門(mén)是否在用戶的數(shù)據(jù)權(quán)限范圍內(nèi)。file.startsWith(Paths.get(storageRoot))是防路徑穿越——如果數(shù)據(jù)庫(kù)里的相對(duì)路徑被人改成../../etc/passwd這個(gè)校驗(yàn)?zāi)軘r下來(lái)。文件流用InputStreamResource包裝避免大文件吃滿內(nèi)存。改完后自測(cè)一遍退出登錄訪問(wèn)下載接口應(yīng)該返回 403登錄后下載不屬于本部門(mén)的秘密檔案也應(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 限制沒(méi)調(diào)大是第一個(gè)原因Spring Boot 默認(rèn)單文件最大 1MB超過(guò)直接拒絕。第二個(gè)原因是文件讀寫(xiě)方式不對(duì)——上傳時(shí)把整個(gè)文件讀入 byte[] 再寫(xiě)盤(pán)大文件直接把內(nèi)存撐爆下載時(shí)用FileInputStream讀完沒(méi)關(guān)流時(shí)間長(zhǎng)了文件句柄耗盡。解決先調(diào)大 multipart 限制max-file-size按業(yè)務(wù)實(shí)際需要來(lái)一般掃描件建議 200MBmax-request-size要比單文件略大。讀寫(xiě)文件統(tǒng)一用流式處理上傳用MultipartFile.transferTo()避免內(nèi)存拷貝下載用InputStreamResource。上傳大文件時(shí)前端請(qǐng)求時(shí)間可能超過(guò) Nginx 默認(rèn)的 60 秒代理超時(shí)如果帶了 Nginx 前置proxy_read_timeout也要相應(yīng)調(diào)大。文件句柄問(wèn)題用lsof -p pid | wc -l排查如果數(shù)量持續(xù)上漲不回落優(yōu)先檢查自己代碼里有沒(méi)有忘記 close。6. 從可運(yùn)行到可上線環(huán)境變量、備份與二次開(kāi)發(fā)的收尾習(xí)慣6.1 把配置拆成環(huán)境相關(guān)與環(huán)境無(wú)關(guān)上線前先做一次部署演練可運(yùn)行源碼只代表它能跑不代表它能上線。我交付這類(lèi)系統(tǒng)前會(huì)強(qiáng)制自己做一次部署演練找一臺(tái)干凈服務(wù)器從零裝 JDK、MySQL再用一條啟動(dòng)命令把系統(tǒng)拉起來(lái)。如果過(guò)程中要改三個(gè)以上配置文件說(shuō)明配置設(shè)計(jì)不合格。密碼、數(shù)據(jù)庫(kù)地址、存儲(chǔ)路徑這些環(huán)境相關(guān)變量一律用${ENV_VAR}占位代碼里不要出現(xiàn)任何硬編碼。6.2 每日備份腳本與清理策略給系統(tǒng)留一條后悔藥檔案系統(tǒng)的數(shù)據(jù)比代碼值錢(qián)。代碼丟了可以重新拉倉(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 天前的備份防止磁盤(pán)被撐爆 find $BACKUP_ROOT -type d -mtime 30 -exec rm -rf {} \;這個(gè)腳本里有兩個(gè)關(guān)鍵點(diǎn)。mysqldump 一定要加--single-transaction否則備份期間業(yè)務(wù)寫(xiě)入會(huì)導(dǎo)致數(shù)據(jù)不一致——腳本里沒(méi)寫(xiě)但你實(shí)際部署時(shí)建議加上。find 清理要用-mtime 30意思是修改時(shí)間超過(guò) 30 天的目錄千萬(wàn)不要用-atime因?yàn)閭浞菸募脑L問(wèn)時(shí)間經(jīng)常被各種巡檢腳本修改容易誤刪。備份頻率按數(shù)據(jù)變更強(qiáng)度來(lái)檔案系統(tǒng)一天新增幾百條記錄以內(nèi)每日一次足夠不用做實(shí)時(shí)備份。至于二次開(kāi)發(fā)我養(yǎng)成了一個(gè)習(xí)慣加需求時(shí)先問(wèn)自己改的是“基礎(chǔ)數(shù)據(jù)”還是“流程數(shù)據(jù)”。新增字典項(xiàng)、分類(lèi)、菜單屬于基礎(chǔ)數(shù)據(jù)直接改數(shù)據(jù)庫(kù)或管理界面就行。改動(dòng)檔案狀態(tài)流轉(zhuǎn)、借閱審批、權(quán)限校驗(yàn)屬于流程邏輯必須先理清影響范圍再動(dòng)代碼。歸檔后的檔案表結(jié)構(gòu)能加字段就別改字段類(lèi)型——比如把 title 從 VARCHAR(200) 改成 VARCHAR(500)MySQL 8 里會(huì)導(dǎo)致全表重建幾十萬(wàn)條數(shù)據(jù)的表鎖住幾個(gè)鐘頭業(yè)務(wù)直接停擺。線上出過(guò)一次這種事之后凡是檔案表的 DDL我都先在測(cè)試庫(kù)跑一遍看影響行數(shù)。檔案系統(tǒng)的技術(shù)含量不在高并發(fā)、不在炫技而在數(shù)據(jù)準(zhǔn)確和權(quán)限嚴(yán)密。你照著這套思路把一個(gè)可運(yùn)行源碼跑通、部署、備份起來(lái)就已經(jīng)超過(guò)了大部分停留在“能啟動(dòng)就算完事”的開(kāi)發(fā)者。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲日本大香蕉1| 91快色色色色色| 婷婷综合在线观看| 欧美18禁91| 强奸乱伦大香蕉| 亚洲天堂资源在线| 一区二区三区色综合| 99精品在线播放| 97超碰站| 久久加勒比| 青青草玖玖爱| 九99久久| AV色五月天| 嗯嗯,啊啊,国产精品| 99热自拍| 欧美.亚洲.另类.丝袜.制服.诱惑| 99久久婷婷丁香| 久久AV无码AV| 国产熟女无套内射| av天堂加勒比| 精品少妇高潮久久| 97在线视频免费看| 国产精品午夜精品| 欧美啪啪天堂| 人妻蜜桃臀| 很很很很操| 亚洲 se图 欧美电影| 丁香五月av| 婷婷亚洲综合| 亚洲天天艹| 九九伊人网| 久99久视频| 欧美日韩第一页| 日本五十路熟女一区二区| 国产美女销魂在线观看不卡| 欧美 精品国产制服第一页| 超碰在线一区| 精品久久久久久AV无码| 欧美日韩午夜精品一区二区三区| 黄色香蕉视频网站一区| 国产自产自拍| 青青操狠狠撩| 中美日韩毛片| 女人的天堂大香蕉网| 欧美亚洲国产自久久| 九九九久久久久| 9999亚洲电影| 国产后入式在线观看| 青青操日韩| 风韵犹存大大大大香蕉| 91操熟女| 人妻81p| 免费一级黄色录像影片| 欧美国产伊人久久久久| 中文字幕在线免费观看视频| 操操AV电影| 亚洲天堂性爱| 色香伊人| 99热在线播放| 强奸国产精品视频| 五月天婷婷久久| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 国产尤物在线三区| 78久久| 亚洲图片欧美| 亚洲操逼网| 97亚洲性爱| 色999偷自拍拍| 加勒比伊人综合| 亚洲精品97p| 久九九九九九九九热| 翔田千里爆乳巨臀无码| 新婚人妻扶着粗大强行坐下| 亚洲色啪| 蜜臀av网址| 91精品91久久久中77777| 久久免费少妇| AV无码久久久精品| 中文字暮97| jiujiujiujingpin| 97天天日| 7月婷婷综合| 欧美91久久久久| 欧美色乱| 精品一区二区人妖| 热久久91婷婷| 婷婷久久久精品| 国产女人视频三四五区| 牛黄色久午久| 老女人碰碰在线碰碰视频| 欧美热图99| 91精品久久久久五月天精品| 婷婷日韩一区二区三区中文字幕在线| 精品无码一区二区人妻久久蜜桃| 干超碰碰熟女| 精品国产乱码久久久久久影片| 加勒比av中文| 日韩欧美大力操| 亚州情色j区| 亚洲AV在线资源| 亚洲 无码 偷拍| 欧美色色色| 熟妇国产免费一区| 亚洲古典另类欧美在线| 男人的天堂在线| 中文字幕第2页| 久久直播国产| 日本九九久久99| 精品人妻中文字幕高清| 五月婷婷深深爱| 超碰久久草| 26uuu国产亚洲综合| 骚逼高潮久久精品| 国产91福利小视频在线观看| 91 亚洲 欧洲| 青娱乐国产剧情av一区| 宅男91视频在线播放| 五月天日日操夜夜操| 中国国国产一级特黄毛片| 青草伊人久久| 国产日韩欧美操逼视频| 夜夜高潮夜夜爽国产伦精品| 久热伊人| 精品欧美乱码久| 国产97视频| www激情| 欧亚揄拍偷拍精品视频| 人人干人人搞人人摸| 亚洲精品天天影视综合网 | 精品少妇一区二区| 久久九九网| 日日躁狠狠躁天天躁精品| 国产一区二区精品久久99| 屌妞视频久久久久久久| 久久久久亚洲Aⅴ无码| 操淫穴亚洲五月丁香 | 2019天天干| 国模限制级电影| 久热一区二区| 亚州人妻| 日韩欧美国产高清视频| 亚洲色人| 激情四射婷婷六月天| 久久国内| 九九热九九| 干b在线性社区| 日韩av电影成人在线| 久久久久网站-538在线视频-欧美永久乱码| 超碰97欧美| 啊啊啊快操我视频| 欧美激情综合色综合啪啪五月| 91 天天综合| 丰满人妻一区二区三区在线| japan日本高清乱xxxx| 大色网久久| 久久久久久中文字幕中文字幕最新| 蜜臀久久99精品久久久久久| 中日韩久久人妻一区二区| 性在久久久久久| 亚洲天堂资源在线| 91无码人妻| 人妻少妇色综合| 婷婷久久五月综合激情| 啊啊啊啊嗯嗯在线久久久| 人人妻人人操人人乐| 岛国片在线播放| 欧美色交| 久久久久ab| 亚洲激情综合| 性爱av在线免费观看| 久久久久久九| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 五月丁香六月综合缴清无码| 国产白丝AV| 天天日天天操VV| 99色视频| 欧美午夜精品久久久久久超碰| 超97在线精品视频| 国产一级高清免费观看| 久久久九| 亚洲精品一区二区免费在线观看| 久久精品亚洲婷婷| 婷婷久草一区二区三区| 久久香蕉综合一本到3atv| 亚洲麻豆av一区二区| 青青草原成人| 208天天久久九九九| 91电影色诱| 国产剧情一区在线观看| 欧美视频边做饭边橾| 久久精品国产精品一区 | 黄片免费看黄片免费看| 欧美另类精品xxxx| 国产无码精品高清| 国产自制av蜜乳| 骚女天天综合网| 狠狠操狠狠燥| 九热超碰| 中文字幕精品亚洲熟女| av东京热男人的天堂| 亚洲A色| 中文字幕一区二区三区人妻少妇在线| 日本狠狠干| 日本福利社| 国模精品一区二区三区苹果色戒| 日美免费黄片| 国产懂色精品国产av| 熟妇xxxxx性春色| 91色色网站| 91人妻人人澡人人爽人人精品| 亚洲影视第一页| 国产精品在线一区二区| 中文字幕黄色一起草| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 97视频免费播放| 9丨久久九九九| 国产免费小视频| 男人天堂毛片| 天天综合网网欲色| 1级午夜影院费免区| 中文字幕AV乱伦| 小日子操bb在线看| 18禁精品网站在线看| 在线a v| 欧美自拍偷拍免费观看| 欧美乱色| 亚洲黄日韩无码专区| 激情文学 国产一二三aV| 爱欲AV| 日本不卡二三区| 天天干天天中出av| 色香综合天天影视综合 | 国产精品久久久久久 百度| 国产亚州高清国产拍精| 国产一区二区三区不卡手机在线| 天天草AV| 强被迫伦姧在线观看无码网站| 亚洲AV无码乱码| 天天日天天搞天天干| 成人免费在线网站| 天天综合日韩网| 嗯……啊…嗯嗯…啊…好舒服| 啊好爽受不了无码| 竹菊一区二区三区AV线| 91肉丝| 久久五十路熟女人妻| 国产探花精品在线| 天天干一区二区| 九草在线大香蕉| 后入式福利| 好色综合| 一级A片女人高潮叫床| www.狠狠| 欧美一品道| 午夜精品久久久| www.91理论| 日产狠狠干| 夜夜福利| 日韩操p| 亚洲精品日日夜夜52| 天天香香欲综合| 997色在线| 色色色日本| 国产精品自拍欧美在线| 日韩欧美偷拍美女视频| 九九九久久久| 婷婷综合网| 日韩少妇无吗| 久久久精品电影| 天天做天天爱天天高潮| 亚洲色欧| 人人天天干干| 亚洲大胆人体av| 玖玖爱在线视频免费观看| 超碰精品在线| 国产久9| 福利视频一区二区微拍| 人妻一区久久二区三区色播| 欧美大香蕉专区网| 狠色婷婷久久一区二区三区_| 亚洲综合在线第一页| 爱av免费| 超碰地址久久| 婷婷啪啪| 亚洲精品九九九| 亚洲综合小说另类图欧美视频激情小说色五月天 | 午夜精品久久久久久久99热影院| 亚洲欧洲成人在线电影| 国产青一二三| 欧美日韩色综合网| 五月色网| 凌辱美少妇久久aV| 熟女日韩| 久久国产在线一区二区| 嗯嗯,啊啊,国产精品| 91亚洲欧美| 天天综合精品| 一本色道综合久久欧美| 久久伊人网视频一区二区三区| 亚洲色欧美| 日韩高清一二三| 欧亚日本情色| 久热婷婷| 亚洲av性爱电影| 精品国产自在在线99| 97超碰欧美精品| 天美AV片| 国产av波波国产精品| 精品国产乱码久久久兰草影视| 黑人精品成人一区二区三区| 人妻AV在线| 91欧美经典| 极品色社| 波多野42部无码喷潮在线观看| 亚洲色资源| 中国一区二区亚洲人妻| 91亚洲影视| 色与欲影视天天看综合网| 99久在线精品99re8蜜桃| 三级三级三级日本99| 国产久久久久久| 国产美脚女优尤物在线观看| 亚洲97久久精品亚洲| 99热这里只有精品1| 欧日韩不卡视.频| 国产探花日韩援交| 亚洲日韩青青草色月| 日韩图区 偷拍| 91精品婷婷国产综合久久| 九九碰九九爱97超碰| 免费观看日本操逼视频| 欧美亚州色的图| 99视频只有精品| 激情熟女12P| 亚洲人精品久久久| 日日黄色三级网站| 国产人妻精品久久久一区二区三区 | 国产不卡的视频 | 精品亚洲天堂| 国产精品乱码久久久久久| 五月天激情网图片| 在线色导航| 男人天堂新| surenchaopeng| 丁香五月天啪啪| 在线视频97| 9久9久9久9久视频网站| 精品久久久中文字幕不| 在线视频日韩欧美国产| 色欲天天综合久久久无码网中文| 亚州欧美在线| 天天日天天射天天干| 精品成人av一区二区三区在线| 日韩熟女精一区二区三区不卡| 国产精品久久久999| 1024人妻| 亚洲国产奇米影视久久| 亚洲久久久久| 久久久久密| 狠狠操狠狠爱| 97久久资源| 色拍偷亚洲| 99九九久久| 看黄片视频免费| 97视频网站| 欧美玖玖爱免费玖玖| 黑人黄片在线免费观看| 成人性爱美曰韩| 亚洲色图欧美色图另类图片| 天天综合欧美黑人| 国产精品丝袜久久亚洲不卡| 青娱乐大香蕉| 日本青青草在线| 97色干| 日本精品成人无码| 久草免费福利在线播放| 国产精品麻豆免费视频| 成年人黄色视频免费| 人妻另类| 亚洲97精品| 亚洲一二三四区在线免费看视频| 日韩av熟女一区二区三区成人| 亚洲图片欧美在线视频| 亚洲精品美女久久久久久久久| 大黄片做爱的大的| 日韩乱伦AⅤ| 97操| 翔田千里AⅤHD无码| 日日爱99| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 一区二区视频在线播放| 午夜操逼不卡| 国产成人午夜视频网址| 欧美色综合影院| 亚洲国产奇米影视久久| 亚洲,日韩,欧美,成人播放| 老司机午夜精品视频| 亚洲熟伦熟妇AV无码春色| 97在线看| 狠狠爱综合网| 一级黄色性爱裸体视频| 日韩在线性爱免费视频| 在线观看成人性爱免费小视频| 国产成久久综合片| 国产对白刺激视频| 成人性爱电影一区二区| 天天色综合图片| 国产 码在线成人网站| 亚洲色婷婷| 伊人综合色网| 久久色一区| 色女综合| 人妻熟妇久草在线| 欧美性夜| 91综合色噜噜| 一本一道波多野毛片中文在线| 少妇一级婬片免费放一级a性色.| 加勒比在线观看一区二区| 国产h片在线观看视频| 欧美日韩亚洲一区二区在线观看| 五月丁香影视| 一区二区久久天天干狠狠| 玖玖综合色| 美女AV一区二区| 97中文字幕一区| 亚洲丝袜少妇在线| 激情网色| 日韩啪啪啪啪啪| 日本裸体久久色噜噜| 好吊色一区| 天堂网 主播 亚洲| 久久超碰97| 日婷婷| 久久激情网| 国产精品视频电影| 日韩毛片9| 成人羞羞视频国产| 亚洲天堂99| 人人综合| 啊啊啊好舒服视频| 中文字幕日韩人妻视频一区二区三区 | 三上悠亚在线毛片91| 黄色AAAAAAAAAAA大片| 九九性视频| 91网18| 9久精品| 日本激情免费大片| 久久的网站啊啊啊啊啊| 激情文学亚洲| 国产剧情AV不卡在线观看| 久久精精区一区二区一蜜桃一区二区| 午夜福利在线合集| a级免费在线观看| 91一区二区| 欲女人妻性色av| 1区2区3区视频| 久久精品性| 色老牛| 日韩性爱啪啪视频| 日日爽夜夜爽| 久草这里只有精品| 美女被艹尤物视频| 在线观看视频91| 欧美激情 一区| 玖玖爱免费观看视频| 亚洲图片欧美制度| 久久男人的天堂| 欧美精品第3页| 校园春色欧美| 亚洲欧洲精品视频发布| 久久久久无码一妻区| 91老司机视频| 九九热精品| 亚洲诱惑| 凸凹视频在线观看| 日韩97精| 欧美顶级黄片AAAAA在线免费看| 欧美色图97| 久久精品中文字幕观看| 五月丁香成人网| 夜夜高潮夜夜爽高清视频一| 日韩欧美成人午夜福利| 天天综合网在线| 日本亚欧爱爱| 乱伦av国产| 97国产伦理| blacked精品一区国产| 熟女中出视频| 午夜福利视频在线一区| 久久 久久国内精品亚洲| 国产乱色国产精品免费视| 久久一二区四| 亚洲 小说 欧美 激情 另类| 九九久久99| 黄色片A级一区二区三区| 欧美少妇性乱| 粉嫩在线一区二区懂色| 999久久久久久久久| 淫妻综合网| 夜夜躁狠狠躁日日躁av| 综合网,亚洲,欧美| 一级@啪啪视频| 日韩精品电影| 一区二区三区激情在线观看| 少妇久久久久久| 91老熟女逼| 欧美国产精品久久九九| 亚洲九九爱| 亚洲AV成人无码一区二区三区在线观看 | 五十路三区在线| 欧美中文字幕男人天堂久久精品 | 中出91视频| 青青草在线视频欧美| 亚洲丝袜综合| 欧美天天综合网| 国产精品久久久999| 久久夜夜夜| 日韩视频小说在线观看| 竹菊一区二区三区AV线| 91熟女网| 日韩免费a级毛片无码a∨| 亚洲色人阁| 欧美亚洲情色| 影音先锋新男人| 精品人体无圣光凹凸| 亚洲天堂热| 激情文学网伊人| 日韩人妻操B| 91精品婷婷国产综合久久竹菊| 亚洲日韩少妇一道本视频| 欧美黑人168页欧美黑人167| 中国少妇啪啪视频| 精品国产无码中文| 俺去俺来也在线www| 欧美色五月| 久久九七| 安微少妇操BBB| 美女久久久久久久久久久| ji熟女.com| 国产av美女被艹的乱叫| 夜夜嗨av午夜成人| 欧美久久人体| 女沟厕偷窥piss小便| 国产女人和拘做爰视频 | 人澡逼| 成人线上超碰| 国产精品久久久久中文字幕| 久久久爆乳翘臀一线天伦理视频| 91欧美性| 久久性爱视频免费看| 日韩人妻播放| 伊人亚洲国产一成人久久精品,久久| 超硑97精品| 青青久日| 久热香蕉精品在线视频| 肉丝网站91| 丰满少妇精品一区二区| 亚洲乱伦图片视频| 91精品成人www| 精品人妻视频一区二区在线播放| 亚洲色图尤物视频| 蜜桃久久综合视频| 韩国嫰模上门援交视频| 不卡av免费在线网址| 伊人黄色视频免费观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 手机久操欧美综合色码| 天天综合-91入口| 欧美日韩啪啪电影| 91狠狠综合久久| 69久久久久久久久久久久久| 青娱乐休闲视频在线观看| 熟女突然公开看18禁影片 | 日本欧美成人片AAAA| 走光一区92下载| 中国操逼无码| 久久国色天香香蕉| 91熟女网| 天美麻豆精品视频99| 加勒比性爱成人在线| 亚洲国产欧美一区二区潘金莲| 日本三级小说中文字幕| 超碰在线一区| 亚洲高潮少妇| 91成人18| 99∨VTV| 亚洲自拍小说| 大香蕉123| 欧美性夜| www.色婷婷.com| 久九色| 91色情黑丝搞鸡在线观看一区二区三区三州| 国产久久久久影院老熟女| 91网站18| AV丝袜少妇| 豆花视频操逼网址| 91啪9色| 秋霞网无码| 欧洲免费一区二| 99婷婷一区二区| 国产精品乱人伊人网| 乱欲视频| 99热在线不卡| 国产午夜无码片在线观看影视| 夜夜操中文字幕| 乱伦Av网| 神马麻豆福利院 | 九色精品视频导航1| 97精品第3页| 国产东北女人在线视频| 欧美成人贴图| 亚洲午夜免费狠狠干| 久久久久久久9| 人妻少妇一区二区| 日韩亚洲欧美中文字幕| 国产免费大片| 久久久久人妻二区精品叶可怜| 欧美91在线+|+欧美| 国产性久久久| 欧美色图小说综合| 屌色在线97视频| 亚洲成人在线高清| 尤物视频网 刘玥| 99久久婷婷| 日韩无码精品综合久久| 手机av亚洲丝袜美腿日韩第一页二页| 国产AV高清AV无码| 麻豆国产97在线| 天堂亚洲精品久久老牛| 日韩免费性爱视频在线观看| 人妻精品免费一二三区| 蜜臀久久精品久久久久视频| 国产 v乱码一区二| 青娱乐淫乱1314| 亚洲熟女一区| 白丝1区2区3区| 精品成人动漫一区二区| 少妇精品| 少妇精品久久久| 亚洲操操操| 日韩黄片影院| 亚洲高清欧美总合| 美女AV一区二区| 99热超碰在线| 欧美强奸乱能| 另类图片综合| 啊啊啊轻点在线观看| 在线97在线| 色丁香五月婷婷| 91性高朝久久久久久久久| 国产搭汕a级片| 动漫区日韩区欧美区| 91欧美高清| 国产精品老师| 人人操人人干网页| 国产毛片毛片4p懂色| 男人天堂最新手机版在线青青草| 久久精品视频在线观看| 六月色婷婷| 国产吞精a级片激情电影| 国产91亚洲精品一区二区三区| 麻豆色约约| 国产精品在线一区二区| 亚洲精品欧美专业| 欧洲中文字幕| 2010男人的天堂| 黄色欧美性爱视频| 亚洲成人美女无吗| 日日插夜夜| 久久精品国产亚洲妲己影视| 国产1024在线播放| 人妻色偷色噜| 国产午夜精品理论片a大结局| 人妻精品一区二区| 欧美熟妇精品黑人巨大91| 中精品一区二区三区| 曰本熟女视频| 欧美一区二区传媒| 99re不伦| 男生女生啊啊啊啊| 97国伦国色| 亚洲综合影片| 一区二区三区日韩欧美 | 在线观看成人性爱免费小视频| 久草尤物| 国产亚洲精品一区二区三区| 精品人妻一区二区三区日产| 超碰人妻97| 91精品91久久久中77777| 欧美翘臀视频网站一区二区三区| 0755午夜福利视频| 久久99久久99精品天美传媒棢·纸:. | 99久久精品无码一区二区毛片免费| 国产强奸乱伦欧美| 天天综合网91| 国产精品久久久 | 999国产精品999久久久久久| 中文字幕十五区| 97就爱干| 精品丰满熟妇人妻一区| 精品传媒在线一区| 九九碰九九爱97超| a'v在线资源| 大香焦A片| 在线国产福利网址导航| 亚洲欧洲综合视频在线| 丰满的三级少妇欧美久久久| 不卡在线一区,精品一区二区三区中| 99精品在线观看| 日韩精品一二三四| 亚洲高清视频在线观看| 亚洲色图国产另类| 美女91网址| 易易A毛视频| 亚洲色图 欧美| av网站在线观看了| 天天日B夜夜干B时时操B| 色色色热| 91最新综合| 老女人老91妇女老热女| 99999久久精| 欧美精品宗合| 美女极品一区二区三区| 天天射影院| 日本999精品视频| 超碰久久综合| 黄色大片视频在线免费看| 久久丁香久草综合网| 成人亚欧免费视频| 久久丁香| 夜夜久久| 4虎在线视频| 酒色综合网| 精品中文字幕一区二区| 亚洲夜色在线| 欧美青青视频| 欧美熟妇精品黑人巨大91| 午夜视频久久久久一区| 日韩av在线播放不卡| 热天堂一区二区| 成人天天爽| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 国产精品国产拍高清AV| 求求你操操我| 青娱乐 青青青操 日逼| 74成人在线| 五月丁香激情综合网| 91天射| 另类欧美色| 91强奸乱轮| 自拍盗摄一区| 亚洲风情在线观看| 日本一区二区三区四区免费观看| 中文有码第五页| 日本幼女18+| 26uuu国产成人综合| 十八禁网站在线| 96久久久久久久| 人妻 中文 日韩| 一二三啪啪专区| 久久日韩肥臀| 亚州操逼图| 亚码人妻| 中文字幕欧美丝袜07资源| 日日操丁香五月天| www.操| 日韩一卡二卡三卡| 五月婷婷久久综合| 色拍偷亚洲| 中文字幕丰满人妻日本| 任你爽视频| 九九九九日本| 久久天天艹| 日韩三级久久久| 中文字幕一二三| 五月丁香激情综合网| 五月天AV资源| av在线一区二区三区| 99爱久久视频频| 亚洲无码 国产无码| 67194国产| 欧美se综合| 日韩欧美国产高清视频| 大乔未久88一区| 韩国成人精品久久久免费看| 欧美国产视频| 免费又黄又裸乳的视频| 久久九七| 先锋色眉乱伦资源| 青青青青草av在线观看| 乱伦一二三| 欧美色图成人网一区二区| 麻豆三极片| 精品小视频在线| 狠狠色噜噜狠狠狠狠2018| 99re视频在线观看这里只有精品| 欧美 亚洲精品首页| www.色婷婷| 久久久久久久唑| 成人五月香网在线| 亚洲av噜噜噜噜噜噜| 毛片视频白嫩| 人妻一二三区| 亚洲精品蜜桃久久久久久久| 思思热久久成人| 激情情色五月天| 亚洲性爱无码乱伦av| 欧美成人贴图| 蜜臀国产AV中文字幕| 欧美性爱一区二区三区四区 | 九九久久精品| 亚洲天天自拍| 超碰人人干| 干超碰碰熟女| 国产精品九9| 亚洲性爱免费电影| 操淫穴亚洲五月丁香| 99热这里是精品| 五十路熟女人妻一区二区三区四区五| 亚洲熟妇极品| 少妇一区二区三区高速| 国产精品天干天干综合网麻豆| av天堂5| 久草精品在线| 欧洲亚洲人妻无码中字久久三区四区 | 亚洲中文字幕乱码无码一区二区 | 亚洲天堂资源| 欧美黑人猛交春色影视大全| 亚洲在线网站| 自拍亚洲综合| 殴美牲| 一区二区三区亚洲| 网友自拍第1页| 综合网~91综合网| 亚洲日韩国产欧美综合v| 超碰久草| 国产熟妇一区二区| 丁香五月激情综合国产| 无码人妻一区二区三区色欲aⅴ| 情色五月天就去干| 女同亚洲欧美一二三区久久电影| 久久久精品电影| 美女91AV| 校园春色亚洲无码| 日韩伦理久 久久 清纯 | 欧美色女人| 精品成人女人久久| 日韩精品高清资源在线| 一级啊性爱在线视频| 亚洲一区日韩精品中文字幕| 亚洲图片在线| 禁十八久久| 中文字幕永久在线| 欧美精品宗合| 亚洲无码一区成人免费午夜| 人妻人人澡人人爽人人| 丁香五月天婷婷姐| 操屄不卡视频| 国产高清成人mv在线观看| 99re98| 日日干日日摸| 91久久堂| 婷婷色网| 96AV精品| 啊…啊…操我用力操我| 国产自产一区视频在线| 美女啊啊啊啊啊啊| 国产又粗又长又大的视频| 欧美成人综合| av亚洲天堂资源网站| 长长久久免费视频| 丁香五月大香蕉| 91久久精品中文字幕| 涩涩这里只有精品视频| 日本一区二区中文字幕久久| 人妻熟女一区二区三区视频| 欧美激情久| 人人噜夜夜操| 天天日天天操VV| 蘋果手機免費看成人Av| 啊啊啊快操我视频| 99只有精品| AV丝袜东京热| 亚洲国产亚洲天堂| 91精品婷婷国产综合久久| 综合情欲网| 中文字幕伊人| 日韩有码回春沙龙第一页| 中文字幕AV片| 91男同| 欧美久久久| 久久久久人| 亚洲一区亚洲天堂| 乱色老一区二区三区的观看方式| 老司机午夜精品福利视频一区二区| 日韩三级在线观看mp4| 成人五月天色网| 97AV在线免费观看| 欧美成人色| 九九人妻| 亚洲极品| 男人天堂2030| 中文乱码字幕观看| 伊人网免费视频| 国产黄色剧情影片麻豆免费播放| 91在线精品一区二区三区| 亚洲欧美一区二区网址| 午夜视频好爽啊| 久久这里是精品| 国产又粗又长又爽又色| 无码少妇精品一区二区60岁老人| 久久久久人妻| 亚洲天堂区| 男生女生啊啊啊啊| 亚洲人91| 欧美草草高清日韩视频| 青青草公开在线免费不卡视频| 97色在线视频| 97综合国产| 亚洲另类欧美精品| 中文字幕精品日韩中文字幕| 黑人操一区二区| 操一区| 久久精品人体| 黄色无码高清黄色无码网站| 天天草天天日| 多乙久久久久久| 日本综合久久| 亚洲av热热色| 内射黑丝袜| 国产精品96久久久久久| 日韩成人无码| 中文字幕一区二区韩| 色综合色色| 亚洲精品欧洲精品| 中文一区二区| 测评在线观看AV| www.av在线视频| 亚洲高潮少妇| 9 7超碰在线免费观看| 天天性射网| 啊啊啊好想要| 亚洲欧美国产其他二区| 亚洲中文字幕97久久精品少妇| 人妻人人澡人人爽人人| 久久精品女同亚洲女同13| 国产无码精品无码| 亚洲天堂7777| 在线天堂999| 欲射影视| 精品99999| 国产女同视频在线播放| 丝袜大香蕉| 呦女网站| 亚洲欧美色图| 激情五月丁香五月| 啊啊啊啊啊啊好湿好爽视频| 青青青青青手机视频| 免费?级毛片无码?∨蜜芽试看| Julia在线播放亚洲久久| 青青草在线视频欧美| 久久 精品| 中国zzijzzijzzwww精品| 青娱乐导航AV| 一区二区三区四区在线不卡| 国产精品无码成人精品| 日本三级韩三级99久久| 日韩不卡一二三四| 男人天堂网站| 99成人| 激情婷婷丁香| 又粗又长又爽在线观看| 九九热视频在线观看| 国产精品视频在线播放| 伊香蕉综合久久久久久久噜噜噜| 国产乱伦亚洲| 青娱乐 成人娱乐在线| 欧美78P| 中文字幕交换人妻| 亚熟hd视频在线| 精品午夜福利导航| baisiav| 久久精品国产97欧美精品亚洲 | 久久久涩| 日韩亚洲国产视频| 国产91精品久久久久久久网曝门| 农村妇女精品一二区| av凤凰久久久| 久久婷婷欧美| 懂色av色欲av蜜臀av| 91女人的网站| 精品人妻一二三| aaa一级黄片| 91综合国产精品| 黄片免费视频2019| 1204av韩国| 白丝被操91| 久久仑合| 天天色黄色影院天天操| 中文字幕55555| 桃花色综合影院| 后入内射蜜桃臀| 久久精品 六十路 熟女 欧美| 日韩亚洲美女一区久久| 大色综合| 久久久久久久极品香蕉视频| 在线综合网| 欧美色图自拍| 人妻人人操| 性欧美999| 色噜噜狠狠色综无码久久合欧美| 欧美小说区视频区| 嗯嗯啊啊啊啊轻点视频| 天天在线91| 日本久久综合| 婷婷月色| 家庭乱伦国产| 精品免费囯产一区二区三区| 97干在线看| 搞中出久久| 久久97超碰| 起碰97| 亚洲日本激情| 激情视频一二三| 亚洲一区二区精品福利| 欧美天天在线| 婷婷五月天影院| 亚洲巨爆乳一区二区三区四季网| 色婷婷综合久久中文字幕雪峰 | 9久超碰| 亚洲精品一二牛牛| 曰本熟女视频| 色久桃花影院在线观看| 97久久久网站| 啊啊啊操一区| 国产成人精品必看 | 欧美一级黄色18片免费看| 蜜桃天美传媒AV一区二区三区| 中文字幕在线24| A级在线视频| 97av,com| 在线另类| 中字幕人妻一区二区三区| 夜夜骑操视频| 人妻少妇久久久| 亚洲图片 欧美电影| 久久久久亚洲精品| 久久久久久久久久久人妻| 日韩欧洲操屄视频| 亚洲av性爱电影| 九九久久久| 国产丸一视频| 久久久成人免费av电影| 在线视频资源| 91精品人妻一区二区三区蜜桃| 日本色色色视频| 精品人妻一区二区三区四区不卡在| 一区二区不卡| 欧美黄色片AAAAA| 久久永久无码人妻视频| 夜夜骑操视频| 美女91色黄18| 亚洲综合113页| 激情五月综合| 亚洲91av| 日本不卡二三区| 亚洲欧洲激情| 日韩97视频| 欧美亚洲| 人妻人久久精品中文字幕| 天天操天天射青青草| 97欧美色综合| 婷婷性网| 97超碰精品| 国产精品久久久无码AV网站| 欧美日韩操逼嗦吊| 青青草亚洲一区| 亚洲自拍欧美色综合| 欧美综合777| 人人操人人摸avav| 中国AAAAAA黄色片| 国产精品一区二区久久精品| 91操人| 九九热男人天堂| 色香伊人| 91精品人妻一区二区三区蜜臀| 12一15性XXXX粉嫩国产| 天天看,天天做| 欧美三级不卡| 婷婷10月天青娱乐| 欧美日韩午夜精品一区二区三区| 国产精品成人蜜臀AV在线| 一及黄久一点| 91熟女视频网| 天堂蜜桃无码视频一区二区| 在线观看视频91| 97伊人超碰| 精品久久久久久中文字幕三区| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 五月天激情小说网| 宅男91视频在线播放| 夜夜国自区| 免费公开人人操| 91色黑人少妇| 中文字幕精品探花视频| 欧美强奸乱| 一区二区视频在看| 日日骚av| 中文字幕一区二区无码成人| 日韩欧美日韩| 久久视频,这里只有精品 | 美女网站黄页| 60秒免费视频| 91欧美综合在线| 天综合网欧美| 国产后入清纯| 日本孕妇孕交| 中文字幕二区| 后入福利| 大香蕉中文201| 丰满熟妇大乳做爰| 久久久久久久久久久精| 欧美色图小说综合| 日韩本不卡视频在线观看 | 国产精品69久久久久孕妇欧美| 熟女久久久| 99操| 日韩激情视频| 92福利社视频| 极品白嫩美少妇在地板上位骑射淫水泛滥| 五月婷婷综合在线| 91五十路| 台湾肥佬网一区二区三区| 日韩精品视频在线观看一卡二卡| 少妇精品久久久| 亚洲黄色网址视频| 亚洲欧美国产va在线播放频| 亚洲色图欧美色图制服丝袜| 91天射| 午夜啊啊啊| 欧色性第一页| 欧洲站一级二级三级h| 人妻天堂三区| 日韩在线观看三级电影| 美女视频尤物网在线看| 成人免费在线网站| 日韩人妻一区二区精品| 很很干很很操| AV丝袜少妇| 人妻激情在线视频| 欧美+日产+中文| 操B视频日韩无码| 日日操丁香五月天| 亚洲五月天激情| 亚洲情色图片区| 久久精品中文字幕女同| 97天天摸天天爽| 国产精品麻豆成人av| 国产三级中文有码在线视频| 亚洲.欧美.丝袜.中文.综合|