久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

SpringBoot2+Vue3校園生活信息平臺(tái):前后端分離實(shí)踐與部署

SpringBoot2+Vue3校園生活信息平臺(tái):前后端分離實(shí)踐與部署 1. 項(xiàng)目解析與整體思路1.1 校園生活信息平臺(tái)到底解決什么問題大學(xué)校園的信息流通說實(shí)話一直是個(gè)說起來重要、做起來隨意的事情。今天社團(tuán)要納新明天食堂有新品試吃后天圖書館臨時(shí)閉館——這些信息要么貼在公告欄要么發(fā)在幾個(gè)微信群里要么干脆靠口口相傳。學(xué)生想找二手教材、想撿回丟了的校園卡、想了解周邊兼職往往要翻好幾個(gè)群聊記錄效率極低。這套大學(xué)校園生活信息平臺(tái)就是沖著這個(gè)痛點(diǎn)去的。把校園內(nèi)的信息聚合到一個(gè)Web應(yīng)用里學(xué)生登錄后能看到分類清晰的通知公告、活動(dòng)動(dòng)態(tài)、失物招領(lǐng)、二手交易、校園問答等內(nèi)容也能自己發(fā)布信息。管理員則通過后臺(tái)管理用戶、審核內(nèi)容、維護(hù)分類形成一套從信息發(fā)布到消費(fèi)的完整閉環(huán)。先說清楚這套系統(tǒng)的適合人群。如果你是Java后端方向的在校生或者準(zhǔn)備做畢業(yè)設(shè)計(jì)、課程設(shè)計(jì)的開發(fā)者這套源碼的價(jià)值在于它覆蓋了用戶認(rèn)證 內(nèi)容發(fā)布 分類檢索 后臺(tái)管理這類典型業(yè)務(wù)場(chǎng)景技術(shù)棧又是目前國內(nèi)中小型項(xiàng)目最主流的SpringBoot2 Vue3組合。拿它做底子去改造比從零擼一個(gè)項(xiàng)目省太多事。如果你是企業(yè)里的開發(fā)新人想看看現(xiàn)代Java Web項(xiàng)目前后端分離的工程結(jié)構(gòu)長什么樣這套系統(tǒng)同樣值得參考。1.2 為什么選擇SpringBoot2 Vue3這套組合選型這事往往不是選最好的而是選最不容易出錯(cuò)的。這套系統(tǒng)用SpringBoot 2.7.x而不是SpringBoot 3很多人可能會(huì)問新的不好嗎其實(shí)在校生和大部分企業(yè)生產(chǎn)環(huán)境SpringBoot 2仍然是存量最大的版本。SpringBoot 3強(qiáng)制要求JDK 17起步一些老依賴的兼容成本會(huì)拖慢開發(fā)節(jié)奏。SpringBoot 2搭配JDK 8或JDK 11生態(tài)成熟網(wǎng)上資料多遇到問題搜一下就能找到答案這對(duì)學(xué)習(xí)者和中小型項(xiàng)目來說是實(shí)打?qū)嵉膬?yōu)勢(shì)。前端選Vue3而不是Vue2邏輯更簡單——Vue2已經(jīng)在2023年底停止維護(hù)新項(xiàng)目再用它等于給自己埋雷。而且Vue3的組合式APIComposition API在邏輯復(fù)用上的體驗(yàn)確實(shí)比Vue2的Options API舒服得多。再聊MyBatis-Plus。傳統(tǒng)MyBatis寫CRUD要手寫一堆XML單表操作用MyBatis-Plus幾乎不用寫SQL只靠BaseMapper提供的接口就能完成大部分持久化工作。配合它內(nèi)置的分頁插件、邏輯刪除、自動(dòng)填充開發(fā)效率是肉眼可見地提升。MySQL 8.0則是水到渠成的選擇窗口函數(shù)、公用表表達(dá)式CTE這些高級(jí)特性在寫統(tǒng)計(jì)報(bào)表類需求時(shí)非常好用而且8.0的默認(rèn)字符集utf8mb4對(duì)emoji等特殊字符的支持更友好做校園論壇類業(yè)務(wù)時(shí)會(huì)省掉不少亂碼煩惱。2. 數(shù)據(jù)庫設(shè)計(jì)與后端核心實(shí)現(xiàn)2.1 MySQL 8.0數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì)要點(diǎn)數(shù)據(jù)庫設(shè)計(jì)是整套系統(tǒng)的地基。我第一次跑通這套源碼時(shí)把核心表梳理了一遍發(fā)現(xiàn)它的設(shè)計(jì)思路很典型用戶體系、內(nèi)容體系、交互體系分開每張表都留著擴(kuò)展余地。用戶表user是最基礎(chǔ)的字段大致包含id、username、password、nickname、avatar、phone、email、role學(xué)生/管理員、status正常/禁用、create_time、update_time。密碼存儲(chǔ)用的是BCrypt加密不是MD5也不是SHA1這一點(diǎn)值得好好學(xué)習(xí)——BCrypt每次加密生成的鹽都不同就算兩個(gè)用戶密碼一樣密文也不一樣暴力破解的成本高得多。內(nèi)容類表是整個(gè)系統(tǒng)的大頭圍繞信息發(fā)布場(chǎng)景拆分成多張表表名核心字段業(yè)務(wù)說明noticeid, title, content, category_id, publisher_id, status, views發(fā)布通知公告activityid, title, description, location, start_time, end_time, organizer, cover_url校園活動(dòng)信息lost_foundid, type(失物/招領(lǐng)), title, description, contact, status, image失物招領(lǐng)模塊second_handid, title, price, description, images, seller_id, status二手交易questionid, title, content, author_id, reward_point, status校園問答設(shè)計(jì)內(nèi)容表時(shí)有個(gè)容易忽略的坑盡量把分類信息做成category_id外鍵關(guān)聯(lián)而不是直接存字符串。雖然直接存失物招領(lǐng)這種字符串看起來簡單但后期想改分類名、做統(tǒng)計(jì)聚合就要寫一堆麻煩的UPDATE語句。用關(guān)聯(lián)表或關(guān)聯(lián)ID配合JOIN查詢擴(kuò)展性完全不一樣。MySQL 8.0還有一個(gè)非常實(shí)用的特性就是可以直接用CREATE TABLE ... LIKE復(fù)制表結(jié)構(gòu)做臨時(shí)表排查數(shù)據(jù)問題的時(shí)候比手動(dòng)建一張同結(jié)構(gòu)表快得多。索引設(shè)計(jì)上每張內(nèi)容表我都建議給create_time加索引因?yàn)榱斜聿樵兡J(rèn)按時(shí)間倒序這個(gè)索引能明顯減少排序開銷。系統(tǒng)源碼里大部分內(nèi)容表都有這個(gè)索引屬于中規(guī)中矩但正確的設(shè)計(jì)。2.2 MyBatis-Plus的高效CRUD實(shí)踐MyBatis-Plus最核心的玩法就是讓你的Mapper接口繼承BaseMapperT然后一堆單表操作就自動(dòng)有了。public interface NoticeMapper extends BaseMapperNotice { // 復(fù)雜查詢才需要自定義方法 IPageNotice selectNoticePage(PageNotice page, Param(keyword) String keyword); }有了這層繼承你不寫XML也能完成insert、deleteById、selectById、updateById、selectList這些基礎(chǔ)操作。但真正讓開發(fā)效率起飛的是它的QueryWrapper和LambdaQueryWrapper。比如查最新發(fā)布的前10條活動(dòng)信息且狀態(tài)為已發(fā)布一行代碼搞定LambdaQueryWrapperActivity wrapper new LambdaQueryWrapper(); wrapper.eq(Activity::getStatus, 1) .orderByDesc(Activity::getCreateTime) .last(limit 10); ListActivity list activityMapper.selectList(wrapper);LambdaQueryWrapper相比字符串形式的QueryWrapper最大的好處是類型安全——字段名寫錯(cuò)了編譯期就能發(fā)現(xiàn)不會(huì)等到運(yùn)行時(shí)SQL報(bào)錯(cuò)才排查。我在項(xiàng)目里只用一個(gè)原則單表查詢一律用Wrapper多表關(guān)聯(lián)才寫XML或注解SQL。MyBatis-Plus的分頁插件配置也很關(guān)鍵。如果你忘了配置MybatisPlusInterceptorselectPage查出來的數(shù)據(jù)會(huì)是全量然后內(nèi)存里截?cái)鄶?shù)據(jù)量一大直接系統(tǒng)變慢。正確配置如下Configuration public class MybatisPlusConfig { Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor new MybatisPlusInterceptor(); PaginationInnerInterceptor pagination new PaginationInnerInterceptor(DbType.MYSQL); pagination.setMaxLimit(100L); // 防止一次性查過多數(shù)據(jù) interceptor.addInnerInterceptor(pagination); return interceptor; } }setMaxLimit(100L)是我強(qiáng)烈建議加上的——它可以從框架層面阻止有人惡意調(diào)用接口時(shí)size傳一個(gè)巨大的值把數(shù)據(jù)庫查崩。這種防御性設(shè)置很多項(xiàng)目都忽略了。另外字段自動(dòng)填充用起來也舒服。新建實(shí)體時(shí)createTime和updateTime如果有TableField(fill FieldFill.INSERT)標(biāo)記再寫一個(gè)實(shí)現(xiàn)MetaObjectHandler接口的類就能在插入和更新時(shí)自動(dòng)填充時(shí)間字段業(yè)務(wù)代碼里完全不用關(guān)心時(shí)間戳賦值。2.3 關(guān)鍵業(yè)務(wù)模塊的接口設(shè)計(jì)這套系統(tǒng)的后端接口風(fēng)格是標(biāo)準(zhǔn)的RESTful。認(rèn)證模塊用JWTJSON Web Token做無狀態(tài)登錄用戶登錄成功后后端返回一個(gè)token前端把它存到本地之后每次請(qǐng)求都在請(qǐng)求頭帶上Authorization: Bearer token后端通過攔截器校驗(yàn)身份。這么做的好處是服務(wù)端不需要存Session對(duì)前后端分離部署非常友好。登錄接口的邏輯大致這樣PostMapping(/login) public Result login(RequestBody LoginDTO dto) { // 1. 根據(jù)用戶名查用戶 User user userMapper.selectOne( new LambdaQueryWrapperUser() .eq(User::getUsername, dto.getUsername()) ); // 2. 校驗(yàn)密碼BCrypt if (user null || !BCrypt.checkpw(dto.getPassword(), user.getPassword())) { return Result.error(用戶名或密碼錯(cuò)誤); } // 3. 檢查狀態(tài) if (user.getStatus() 0) { return Result.error(賬號(hào)已被禁用); } // 4. 生成JWT String token JwtUtil.generateToken(user.getId(), user.getUsername(), user.getRole()); return Result.success(new LoginVO(token, user)); }內(nèi)容發(fā)布類的接口除了必要的參數(shù)校驗(yàn)后端還需要做一層權(quán)限校驗(yàn)?zāi)男┙巧馨l(fā)布、哪些內(nèi)容需要管理員審核。這套系統(tǒng)的處理方式是發(fā)布接口要求登錄發(fā)布之后內(nèi)容狀態(tài)默認(rèn)為待審核管理員在后臺(tái)審核通過才對(duì)外展示。這種設(shè)計(jì)比起所有內(nèi)容直接發(fā)布可控性高很多適合校園場(chǎng)景避免有人亂發(fā)廣告或不當(dāng)內(nèi)容。我還注意到一個(gè)細(xì)節(jié)分頁接口統(tǒng)一返回格式為{ records, total, current, size }前端配合Vue3的分頁組件幾乎是拿到即用。接口返回統(tǒng)一用Result包裝類約定code200表示成功其他code表示各種業(yè)務(wù)錯(cuò)誤。這種統(tǒng)一約定前后端聯(lián)調(diào)時(shí)最大的價(jià)值是——不需要每個(gè)接口都討論返回結(jié)構(gòu)長什么樣效率提升非常明顯。3. Vue3前端工程化實(shí)踐3.1 Vite構(gòu)建 Element Plus組件庫Vue3項(xiàng)目用Vite做構(gòu)建工具現(xiàn)在基本是默認(rèn)選項(xiàng)了相比Webpack冷啟動(dòng)速度快到讓人心情舒暢。Vite基于原生ESModule開發(fā)的時(shí)候只編譯修改的文件而不是整包重新打那種秒級(jí)熱更新的體驗(yàn)用習(xí)慣了真的回不去。前端工程結(jié)構(gòu)上頁面組件放在src/views公共組件放src/components狀態(tài)管理用Pinia路由用Vue Router 4。這套結(jié)構(gòu)是目前Vue3社區(qū)的標(biāo)準(zhǔn)答案照著寫基本不會(huì)出大錯(cuò)。Element Plus作為UI組件庫提供了表格、表單、彈窗、分頁等現(xiàn)成組件做后臺(tái)管理類界面效率極高。校園信息平臺(tái)的用戶端界面用Element Plus的卡片、列表、標(biāo)簽組件也能拼出很清爽的效果。// vite.config.ts 關(guān)鍵配置 import { defineConfig } from vite; import vue from vitejs/plugin-vue; export default defineConfig({ plugins: [vue()], server: { port: 3000, proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } } });這個(gè)proxy配置尤其重要它解決了開發(fā)環(huán)境的跨域問題。前后端分離的項(xiàng)目前端運(yùn)行在3000端口后端在8080端口如果不在Vite里代理瀏覽器直接發(fā)請(qǐng)求會(huì)被CORS攔下來。配了代理之后前端代碼里寫的/api/login在開發(fā)時(shí)會(huì)被自動(dòng)轉(zhuǎn)發(fā)到http://localhost:8080/api/login聯(lián)調(diào)體驗(yàn)非常順滑。3.2 組合式API與核心頁面實(shí)現(xiàn)Vue3的組合式API對(duì)比Options API最大的區(qū)別就是讓代碼按功能組織而不是按選項(xiàng)類型組織。同一個(gè)功能的響應(yīng)式變量、計(jì)算屬性、方法、監(jiān)聽器可以放在一起寫改代碼時(shí)不用上下反復(fù)跳。以失物招領(lǐng)頁面為例核心邏輯用組合式API寫出來大概是這樣的結(jié)構(gòu)script setup langts import { ref, onMounted } from vue; import { getLostFoundList } from /api/lostFound; import { ElMessage } from element-plus; // 響應(yīng)式數(shù)據(jù) const list ref([]); const total ref(0); const loading ref(false); const queryParams reactive({ current: 1, size: 10, type: , status: 1 }); // 加載列表 async function loadList() { loading.value true; try { const res await getLostFoundList(queryParams); list.value res.data.records; total.value res.data.total; } finally { loading.value false; } } // 頁碼變化時(shí)重新加載 function handlePageChange(page: number) { queryParams.current page; loadList(); } onMounted(loadList); /script這個(gè)模式可以通用到幾乎所有列表頁定義查詢參數(shù)、調(diào)用接口、回填列表數(shù)據(jù)、處理分頁。我第一次用組合式API寫這種頁面時(shí)最大的感受是邏輯密度高且結(jié)構(gòu)線性不像Options API那樣數(shù)據(jù)、方法、生命周期散落三個(gè)區(qū)域。script setup語法糖更是把模板里的變量暴露操作簡化到了極致寫起來像是寫一個(gè)特別大的函數(shù)組件。用戶端的頁面還有幾個(gè)值得留意的交互細(xì)節(jié)。比如二手交易首頁每個(gè)商品卡片上有縮略圖、價(jià)格、成色標(biāo)簽點(diǎn)擊進(jìn)入詳情頁之后能看到賣家信息。這種前后端分離的項(xiàng)目圖片存的是URL字符串前端用el-image組件去渲染同時(shí)做好懶加載。大圖多的時(shí)候懶加載能顯著加速首屏渲染。3.3 Pinia狀態(tài)管理與權(quán)限控制Pinia是Vue3官方推薦的狀態(tài)管理庫比Vuex更簡潔沒有mutations的概念直接在store里寫action函數(shù)就能修改state。校園信息平臺(tái)的用戶狀態(tài)用Pinia存儲(chǔ)很合適登錄成功之后把用戶信息保存到store里導(dǎo)航欄的頭像和用戶名就反應(yīng)式地更新了。// stores/user.ts export const useUserStore defineStore(user, { state: () ({ token: localStorage.getItem(token) || , userInfo: null }), getters: { isLogin: (state) !!state.token, isAdmin: (state) state.userInfo?.role ADMIN }, actions: { login(token: string, user: UserInfo) { this.token token; this.userInfo user; localStorage.setItem(token, token); }, logout() { this.token ; this.userInfo null; localStorage.removeItem(token); } } });token放localStorage是一種常見做法好處是刷新頁面后會(huì)話不丟。風(fēng)險(xiǎn)點(diǎn)在于XSS攻擊——如果頁面被注入了惡意腳本腳本可以直接讀取localStorage拿到token。為了緩解這個(gè)風(fēng)險(xiǎn)前端要對(duì)用戶輸入內(nèi)容做轉(zhuǎn)義處理Element Plus的表單校驗(yàn)和基本組件本身就做了不少防護(hù)。更穩(wěn)妥的替代方案是放httpOnly Cookie但那樣又要改后端跨域配置權(quán)衡之下很多項(xiàng)目還是愿意存在localStorage。路由權(quán)限這塊Vue Router 4支持在路由配置里加meta字段標(biāo)記角色然后通過全局前置守衛(wèi)beforeEach做攔截router.beforeEach((to, from, next) { const userStore useUserStore(); if (to.meta.requiresAuth !userStore.isLogin) { next({ path: /login, query: { redirect: to.fullPath } }); } else if (to.meta.requiresAdmin !userStore.isAdmin) { next({ path: / }); } else { next(); } });再加上后端接口的權(quán)限攔截雙保險(xiǎn)基本能覆蓋校園信息平臺(tái)的權(quán)限需求。這里我強(qiáng)烈建議前端權(quán)限只能管體驗(yàn)和界面真正的數(shù)據(jù)安全必須靠后端控制否則接口被直接調(diào)用繞過前端也攔截不了。4. 部署、文檔與常見問題排查4.1 本地開發(fā)環(huán)境搭建想跑通這套系統(tǒng)先花半小時(shí)把環(huán)境準(zhǔn)備好后面會(huì)順暢很多。環(huán)境清單JDK 8或11SpringBoot 2完全支持Maven 3.6MySQL 8.0本地或Docker都行Node.js 16Vue3和Vite的要求IDEA社區(qū)版免費(fèi)但最好裝Lombok插件MySQL 8.0的安裝Windows用戶我推薦直接下載ZIP包解壓安裝不裝MSI安裝器因?yàn)镸SI版本經(jīng)常被系統(tǒng)權(quán)限卡住。解壓之后執(zhí)行mysqld --initialize-insecure初始化然后net start mysql啟動(dòng)服務(wù)再用mysql -uroot -p免密登錄后改密碼一套下來十分鐘搞定。Linux環(huán)境如果有Docker更省事docker run -d \ --name mysql8 \ -p 3306:3306 \ -e MYSQL_ROOT_PASSWORD123456 \ -e MYSQL_DATABASEcampus \ mysql:8.0前端依賴安裝有個(gè)注意點(diǎn)優(yōu)先用npm install不要用cnpm。cnpm雖然下載快但經(jīng)常出現(xiàn)依賴的軟鏈接結(jié)構(gòu)異常導(dǎo)致Vite啟動(dòng)報(bào)錯(cuò)排查起來很痛苦。如果npm網(wǎng)絡(luò)慢可以設(shè)置淘寶鏡像npm config set registry https://registry.npmmirror.com速度和穩(wěn)定性都比cnpm好。數(shù)據(jù)庫初始化時(shí)注意MySQL 8.0的默認(rèn)認(rèn)證插件是caching_sha2_password有些老版本的數(shù)據(jù)庫連接驅(qū)動(dòng)只支持mysql_native_password會(huì)報(bào)Public Key Retrieval is not allowed之類的錯(cuò)誤。解決辦法有兩個(gè)一是把數(shù)據(jù)庫連接URL加上allowPublicKeyRetrievaltrue二是在application.yml里正確配置驅(qū)動(dòng)類com.mysql.cj.jdbc.Driver。這套源碼的數(shù)據(jù)庫URL還帶了一長串參數(shù)其中useSSLfalse是必要的本地開發(fā)環(huán)境不需要SSL加密。4.2 常見問題速查表跑項(xiàng)目過程中幾個(gè)高頻問題基本每個(gè)開發(fā)者都會(huì)遇到直接整理成速查表問題現(xiàn)象根本原因解決辦法后端啟動(dòng)失敗報(bào)Unknown database campus數(shù)據(jù)庫沒有創(chuàng)建先執(zhí)行CREATE DATABASE campus再初始化SQL腳本前端接口請(qǐng)求全部404Vite代理路徑和后端context-path不一致檢查前后端/api前綴是否統(tǒng)一登錄后前端反復(fù)跳回登錄頁token寫入/讀出不一致或JWT密鑰不對(duì)檢查Pinia里存儲(chǔ)的token key和后端JWT配置是否一致MyBatis-Plus分頁不生效返回全量沒配置PaginationInnerInterceptor按前文配置加入MybatisPlusInterceptor時(shí)間差8小時(shí)數(shù)據(jù)庫時(shí)區(qū)設(shè)置問題JDBC URL加serverTimezoneAsia/Shanghai上傳圖片打不開本地存儲(chǔ)路徑配置不對(duì)檢查application.yml里的文件上傳路徑并做靜態(tài)資源映射npm install后Vite啟動(dòng)報(bào)錯(cuò)依賴版本不匹配刪除node_modules和package-lock.json重新安裝時(shí)間問題一定要單獨(dú)強(qiáng)調(diào)。MySQL 8.0默認(rèn)時(shí)區(qū)是UTC如果JDBC URL沒指定serverTimezoneJava的LocalDateTime讀到的時(shí)間會(huì)比你本地時(shí)間晚8小時(shí)。校園活動(dòng)的開始時(shí)間是晚上7點(diǎn)前端顯示成了凌晨3點(diǎn)這個(gè)bug排查起來極其迷惑。解決方案就是在連接串里顯式寫上serverTimezoneAsia/Shanghai同時(shí)可以在MySQL里執(zhí)行SET GLOBAL time_zone 8:00徹底根治。4.3 不同難度環(huán)境的部署思路開發(fā)環(huán)境跑通之后把系統(tǒng)真正部署到服務(wù)器上是另一個(gè)階段。這套系統(tǒng)前端是純靜態(tài)文件后端是Spring Boot的可執(zhí)行JAR包部署思路很清晰后端部署用Maven打包前先確認(rèn)application.yml里數(shù)據(jù)庫連接改成了生產(chǎn)環(huán)境配置然后執(zhí)行mvn clean package -DskipTests生成的JAR包直接放到服務(wù)器上nohup java -jar campus-server.jar --spring.profiles.activeprod app.log 21 前端部署npm run build之后生成的dist目錄是一堆靜態(tài)文件可以交給Nginx托管同時(shí)Nginx配置反向代理把/api開頭的請(qǐng)求轉(zhuǎn)發(fā)到后端的8080端口server { listen 80; server_name campus.example.com; root /var/www/campus/dist; index 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; } location / { try_files $uri $uri/ /index.html; } }try_files $uri $uri/ /index.html這一行千萬不能少。Vue Router用了history模式刷新/lost-found這個(gè)路徑時(shí)Nginx要在磁盤上找不到對(duì)應(yīng)文件的情況下把請(qǐng)求導(dǎo)回index.html讓Vue Router接管路由。少了這行刷新就404部署上線后最常踩的坑之一。如果服務(wù)器內(nèi)存緊張前端還可以考慮不單獨(dú)部署Nginx直接用Spring Boot的靜態(tài)資源映射把dist目錄托管但那樣會(huì)讓前后端耦合以后做獨(dú)立部署或擴(kuò)容會(huì)麻煩很多。我的建議是標(biāo)準(zhǔn)方案Nginx管前端獨(dú)立Java進(jìn)程管后端互不干擾。5. 文檔質(zhì)量與二次開發(fā)建議5.1 配套文檔怎么看、怎么用這套源碼自帶文檔很多人容易低估文檔的價(jià)值。我拿到的文檔內(nèi)容一般包括項(xiàng)目介紹、技術(shù)選型說明、數(shù)據(jù)庫表結(jié)構(gòu)說明、接口文檔、部署文檔??次臋n有技巧不是從頭到尾讀一遍就完事而是帶著要解決的問題去查。后端要改接口邏輯就看對(duì)應(yīng)的控制器和Service代碼前端要做新頁面就看一個(gè)類似頁面的路由、接口和組件是怎么搭起來的。接口文檔的價(jià)值在聯(lián)調(diào)時(shí)尤其凸顯。用Swagger或接口文檔工具導(dǎo)出的API列表參數(shù)類型、是否必填、返回結(jié)構(gòu)一目了然。我自己排查問題最快的一次就是發(fā)現(xiàn)前端傳的參數(shù)名是goods_id后端解析的字段是goodsId對(duì)齊接口文檔之后五分鐘定位到問題。凡是前后端聯(lián)調(diào)出現(xiàn)參數(shù)對(duì)不上的詭異問題第一反應(yīng)一定是去查接口文檔而不是反復(fù)看代碼。5.2 從這套系統(tǒng)擴(kuò)展成真正能用的產(chǎn)品源碼是起點(diǎn)不是終點(diǎn)。要從能跑變成能用還有幾條路可以走第一個(gè)方向是消息推送能力。現(xiàn)在的校園信息平臺(tái)如果需要實(shí)時(shí)通知用戶比如活動(dòng)報(bào)名成功提示、失物招領(lǐng)匹配提醒可以接入WebSocket或服務(wù)器推送技術(shù)。Spring Boot集成WebSocket后端用ServerEndpoint寫一個(gè)推送端點(diǎn)前端Vue3用new WebSocket()建立連接數(shù)據(jù)結(jié)構(gòu)可以自己定義核心是把用戶ID和連接會(huì)話做一個(gè)綁定關(guān)系這樣才能定向推送。第二個(gè)方向是文件資源管理?,F(xiàn)在圖片上傳都放在本地磁盤單機(jī)沒問題但生產(chǎn)環(huán)境如果有多個(gè)后端實(shí)例上傳的圖片在A機(jī)器、請(qǐng)求落到B機(jī)器就訪問不到了。把存儲(chǔ)層換成對(duì)象存儲(chǔ)或者至少規(guī)劃一個(gè)獨(dú)立的靜態(tài)資源域名是必須考慮的改造點(diǎn)。第三個(gè)方向是內(nèi)容審核自動(dòng)化。校園信息平臺(tái)如果用戶量上來人工審核內(nèi)容會(huì)變成大負(fù)擔(dān)。可以從幾個(gè)維度做自動(dòng)化敏感詞過濾、圖片審核、用戶舉報(bào)降權(quán)、異常發(fā)布行為風(fēng)控。這些能力在源碼基礎(chǔ)上是一個(gè)個(gè)模塊加進(jìn)去的結(jié)合Spring Boot AOP做方法級(jí)攔截改造起來非常順手。5.3 我做過的改造實(shí)踐和經(jīng)驗(yàn)總結(jié)最后分享兩個(gè)真實(shí)場(chǎng)景的調(diào)整記錄可以幫助你更好地理解數(shù)量級(jí)變化對(duì)系統(tǒng)的影響。第一件事我把這套系統(tǒng)的列表頁從每頁10條改成了每頁20條前端分頁參數(shù)改了之后發(fā)現(xiàn)接口響應(yīng)明顯變慢。排查后發(fā)現(xiàn)內(nèi)容表雖然create_time有索引但查詢條件里還用了status字段做過濾而status沒有索引。MySQL 8.0在聯(lián)合條件查詢時(shí)沒走理想的索引策略數(shù)據(jù)量到幾萬條后性能就有了可感知的下降。最后我加了一個(gè)(status, create_time)的聯(lián)合索引問題直接消失。這類數(shù)據(jù)量上來才會(huì)暴露的問題在校園平臺(tái)這種中小型系統(tǒng)里也可能會(huì)遇到遇到時(shí)別慌慢慢看執(zhí)行計(jì)劃。第二件事我在做用戶活躍度統(tǒng)計(jì)時(shí)用到了MySQL 8.0的窗口函數(shù)。統(tǒng)計(jì)每周發(fā)布內(nèi)容數(shù)量排名前10的用戶傳統(tǒng)寫法要自連接或子查詢用ROW_NUMBER()或RANK()窗口函數(shù)幾行就搞定了。這讓我強(qiáng)烈推薦大家在項(xiàng)目里多嘗試MySQL 8.0的新特性寫統(tǒng)計(jì)報(bào)表SQL會(huì)輕松一個(gè)量級(jí)。如果你正準(zhǔn)備上手這套源碼我的建議是拿到手先在本地完整跑通一遍然后用文檔里的數(shù)據(jù)庫說明把表結(jié)構(gòu)梳理一遍接著選一個(gè)你最感興趣的模塊從頭到尾讀一遍后端代碼和前端代碼的調(diào)用鏈路最后再動(dòng)手改一個(gè)功能。這樣一套流程走下來收獲遠(yuǎn)大于直接照著demo敲一遍。技術(shù)選型是工具業(yè)務(wù)理解才是核心。校園生活信息平臺(tái)本質(zhì)上做的是一件事把信息以合適的結(jié)構(gòu)展示給需要的人。想清楚了這一點(diǎn)用SpringBoot還是其他的框架用Vue3還是其他前端方案都只是實(shí)現(xiàn)路徑的選擇。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97超级欧美| 麻豆国产97在线| 亚洲操操操| 91av一区二区在线观看| 欧美日韩中文视频播放| 日本欧美不卡| 久久久性爱| 欧美五区| 操人妻少妇中文 | 天天色播| 99人人干| 国产 v乱码一区二| 强奸乱伦AV网站| 亚洲欧美人妻| 日本潮催一卡操| 久久禁| 少妇人妻无码| 97网址97| 超碰天天操你比| 国产乱码久久| 国产不卡片| 精品久久久久久亚洲| 美女写真| 久久999久| 精品国产99| 国语人妻精彩刺激| 天天干天天日天天射黄色| 97国产高清视频在线观看| 少妇一区二区三区高速| 岛国黄色大片网站| 国产日本熟女顶级一区二区三区视频| 尹人大香蕉视频在线| 狠狠操狠狠爱| 九九九九免费高| 亚洲免费精品一区| 蜜桃臀AV在线| 超碰人妻久久| 综合伊人网12色| 乱操乱伦AV| 无码137片内射在线影院| 人人人摸人人| 中文字幕亚洲永久精品| 国产精品久久久久久片| 屁屁影院一区二区三区国产| 日本在线激情一区二区三区| 国产 日韩 另类 视频一区爱| 乱伦a片视频| 老熟女乱伦一区| 一起草日韩| 人妻aa| 97干在线| 国产白领连续中出在线观看| 最新中文字幕精品在线| 日韩午夜精品一区二区三区电影| 男人的天堂2019AV| 青青草吊丝| 国产精品久久久九九九| 久久久久96| 91精品导航| 国产精品美女久久久久久网站| 男人的天堂 在线一区| 日本国产欧美一区三区二区| 亚洲免费在线探花| 五月天偷拍| 天堂av2019| 欧美 熟女 日韩| 国产深喉| 一类av片在线看| 无码自拍SM| 一区二区三区四区五区高清无码永久视频 | 97色亚洲| 中日韩熟女| 亚洲 日韩 欧美 国产综合体| 第二页中文字幕| 加勒比色综合| 色操逼网| 9久超碰| 欧美综合传媒| a片久久久久久久久久久久 | 九九十八精品| 一级AAA片一区二区三区| 欧洲亚洲国产综合在线| 精品超碰中文在线| 亚洲人久久久网| 91狠狠综合久久| 丝袜人妻av一区二区| 成人性爱高清视频免费看| 黑操B| 97丝袜亚洲在线播放| 91白嫩| 性爱免费视频成人| 97 超碰 人人做 人人爱| 伊人嫩草| 国产吞精a级片激情电影| 亚洲有码 欧美精品| 欧美日动态视频| 日本一区不卡| 97香焦色区| 97精品人妻一二三四| 欧美性生活男人的天堂| 久久精品国产精品亚洲艾通辽熟妇 | 操逼操操操91| 很很很很操| V A在线| 抽插亚洲无码| 久久五月综合| 中国少妇啪啪视频| 久久久九97| 男人的天堂三级| 欧美人妻久久精品二区三区| 高清孕妇孕交 交孕妇| 五码视频在线观看| 日han少妇无码| 欧美亚洲激情| 亚洲97P| 亚洲av性爱电影| 99在线免费视频| 熟女熟妇伦久久影院毛片一区二区 | 日韩国产不卡在线视频| 亚洲美女30b| 韩国三级一线观看久| 人妻激情另类| 东北女人操逼| 欧美精品偷拍| 亚欧性爱无码| 亚州,欧美在线| 97欧美性爱| 女上位精品在线| 色婷婷香蕉| 国产在线激情| 中日韩久久人妻一区二区| 精品国产三级av韩国在线| 97AV爱| 天美麻豆精品视频99| 狠狠干91| 欧美国产操逼| 嗯嗯啊在线视频| 久久东京热久久| 97超碰国产精品| 九九精品无码专区免费| 欧美色图 人妻| 日日夜夜精品| 精品久9| 色蜜AV| av三级电影在线播放| 东京成人一区| 黄色欧美性爱视频| 91熟女视频| 97超碰逼| 国语人妻精彩刺激| 一本一道波多野毛片中文在线| 物业黑人 AV一区| 国产亚洲禁久一区二区| 久久狠狠色噜噜狠狠狠狠97| 97一区二区三区视频| 国产精点久久久成人| 91日韩| 91天美传媒在线观看| a v网站在线播放| 殴美色网| 98超碰日本| 久操大香蕉手机视频在线看| 日本1区2区不卡视频| 国产黑白丝在线| 精品国产一区二区久久| 99热99在线播放激情| 婷婷精品久久av影视| www.97在线| 欧美日本国产日韩激情视频| 十八禁啪啪视频| 91熟女视频网| 99蜜桃臀亚洲成人在线观看| 超碰久久中文| 色妹子A V| 激情网色| 亚欧毛片基地国产毛片基地| 97日韩欧美| 日日嗨AV一区二区夜夜| 国产13区| 中文字幕黑人大片| 一区二区娱乐网站| 大地资源在线观看中文第二页| 中文字幕久久婷婷丁香五月天| 久草色在线观看| 超碰在线97国产| 丁香五月性爱| 久久肏大逼| 飘花国产午夜精品不卡| 人妻81p| 国产区日韩区在线观看| 超碰97伊人| 亚洲素人综合| 91爱欧美| 91欧美情色| 91精产一区二区三区| 亚洲国产综合久久天堂| 五月开心网| 午夜免费福利视频一区| 国产精选三级在线观看| 国产亚洲中文不卡二区| 岛国激情视频在线观看| 精品国产91内射久久| 狠狠婷婷亚洲中文综合久久| 蜜桃狠狠色伊人亚洲综合网站| 中文字幕第7页| 青木玲在线不卡| 在线视频五十市| 天天综合网1| 性色国产东北露脸精品视频| 97精品97久久| 91亚洲欧美激情| 男人的天堂视频精品乱在线| 久久系列| 高潮的A片激情扒开一区| 午夜福利国产欧美日韩夜夜| 91AV入口| 亚洲 日本 国产 综合| 欧美亚洲色图另类国产| 国产AV超爽| 五月丁香激情综合| 香蕉一区二区三区在线视频| 国产精品乱码久久久、久久| 欧美亚洲中文字幕| 亚洲性爱免费电影| 伊人女女资源在线观看| 白嫩嫩一区| 国产传媒美日韩av| 国产乱码久久久久久| 精品一区二区久久| 婷婷激情丁香| a级免费在线观看| 无码免费在线观看黄色片| 51久久夜色精品国产麻豆| 中文字幕美女91| 国产网红精品| 91校园春色长篇| 花野真衣| 久久久男人的天堂| 99999亚洲| 国产无码久久高清| 在线可观看的黄色网址| 蜜桃久久久久久| 无码人妻精品一区二区三区九九 | 操操逼视频| 亚洲一区二区三区AV无码| 偷窥自拍亚洲天堂网爆| 五月天丁香欧洲日韩| 国产一级久久久| 狠综合网| 亚洲精品一区二区精品| 国产伦精品一区二区三区在线观| 99国产精品人妻人伦| 欧美天堂超碰97| 清纯唯美激情| 神马久久久久久伦理片| 盗摄 精品 另类 一区| 国产亚洲欧洲在线观看| 久久国产精品m码| 欧美在线永久天堂| 99青草| 亚洲中文字幕一区| 超碰色男人操熟女| 欧美日韩性感| 91老司机精品| 欧美日本一区二区a人| 亚洲 图片 综合91| 99超碰网| 91成人精品在线播放| 色五月69夫妻| 久久久一区二区三区三州| 尹人大香蕉视频在线| 国产和美国毛片| 乱伦一二三| 91精品综合久久久久久五月丁香| 精品白丝一区| 操逼啊啊啊91| 伊人玖玖网| 亚洲中文字幕熟女| 精品国产乱码久久久久久久久1| 青青草玖玖爱| 亚洲精品毛片在线观看| 天天干天天日天天射黄色片| 草草电影院| 99超碰色| 中文字幕精品一区欧美| 日韩精品熟妇| 中文字幕一区二区日韩网| 九九精品美女高溯喷水| 美女熟妇色| 久久9精品视频| 91久久青青草原精品| 久久,精品一二三| 天堂成人网| 超碰免费人人| 日韩一级二级三级在线不卡观看完整| 狠狠操狠狠爱| 欧美色就是色| 欧美午夜视频| 国产家庭乱伦网址| 久久久96精品| 久久久久9| 粉嫩AV一区二区夜夜| 精品国产片亚洲一区| 久久久九| 五月婷婷五月天| 九九九九九精品| 久久不卡一区二区| 国产精品亚洲无码| 啊啊啊啊好疼视频| 成人综合色网| 黄色大片免费在线| 少好三P| www.91色| 亚洲一区日韩精品中文字幕 | 欧美美逼| 久久曰曰| 日韩久久激情精品| 韩国免费播放一级毛片| 九九九九九九九| 韩国一级婬片A片AAAAA| 日韩在线国产字幕| 日韩 欧美 国产 麻豆| 91丨熟女丨丰满熟女| 欧美综合色| 91n美女视频| 国产欧美精选激情视频| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 久9九综合在线| 抽查国产福利主播| 日韩性爱网址| 精品日韩人妻精品一二三区| 囯产精品久久久久久久久久梁医生 | 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 蜜臀99久久精品久久久懂爱| 330dv亚洲成年视频网| 性做久久久久久免费观看软件| 久久久久白虎| 91操人| 欧美精品另类人妖xxxx| 久久久久久久久成人av解说| www国产无码| 99热18这里只有精品| 久久久久久久一级黄色打同平台| 日本东京热加勒比久久| 国产精品白领在线观看| 91亚洲最新在线| 91日日| 色婷婷亚洲婷婷| 亚洲精品国产熟女| 777超碰| 台湾佬中文娱乐网久久久久久久久久com | 欧美成人午夜免费福利785| 媚薬在线视频麻豆| 香蕉精品二区二区| 超碰午夜| 丁香五月综合| 香蕉黄色一级视频| 亚洲开心网| 超碰久久综合| 风月影院男女十八禁| 久久久久久久极品香蕉视频| 久久久久婷婷| 亚洲无码久久久久久久| 精品九九国产无码| 另类小说综合网| 韩国一级做a久久久久| 超碰精品97| 97伦乱| 麻豆视频一区二区| 曰本特级特黄特色黄色A级网站高清在线免费看| 北京专精特新企业招聘信息| 色色激情五月天| 欧美特大黄一级片片免费| 久久国产乱子伦精品免费女人| 特色a在线上| juliaann欧美丝袜办公室| 欧美 综合 亚洲| 久久一二三四不卡| 91挑色欧美| 色鬼在线综合| 天堂国产AV| 老熟女区| 日日摸日日碰| 国产精品久久久午夜夜伦鲁鲁| 嫩草影院永久在线制服丝袜| 欧美亚洲宗合色性图| 中文字幕久久精品一区| 欧美成人综合| 亚洲色图综合网| 欧美激色| 尤物视频新赏网鲜网色诱网| 啊啊啊慢点| 中文字幕一区二区无码成人 | 国产精品爆乳懂色蜜乳| 午夜.DJ高清在线观看免费7| 韩国黄片aaaa| 五月天激情四射| 久久九九99| 亚州伊人色综台| 91人人看| 60秒免费小视频| 精品美女人人干| 性欧美| 美女9118禁| 熟女人妻一区二区三区免费看 | 激情综合婷婷| 久久99国产综合精品女同| 午夜情侣自拍网站| 午夜福利区| 亚洲熟妇综合久久久久久| 精品免费成人久久| 久久av无码| 国产精品无套内谢| 大香交伊人网| 国产精品熟女九九九| 久久视频,这里只有精品| 欧美少妇高潮视频| 精品人妻1区| 熟女乱伦二区| 欧美97在线观看| 日本97久久| 日本精品五区| 操逼逼无码| 国产精品久久久蜜臀| 97视频在线免费播放| 野狼福利社区| 一区二区三区四区免费视频| 色噜噜人妻av 中文字幕| 91nbbbbbb| 精品传媒在线一区| 欧美另类精品xxxx| 91老司机在线视频免费观看 | 亚洲黄色网址视频| 男人的天堂激情| 2020中文字幕在线| heyZO天然素人无码AⅤ专区| AV九九| 人妻少妇色综合| 美女诱惑一区| www.99热| 久久精品国产97欧美精品亚洲 | 1024午夜激情男人的天堂| 亚洲97超碰| 精品毛片久久久精品毛片| 伊人色综合超碰| 九九九999久久久网站| 一区二区三区亚洲| 人人操天天爽| 无码精品久久久久久亚洲| 亚洲操逼网| 伦理日韩国产久久| 中文日本免费高清| 91人妻视频| 97综合网| 久久久98网站免费视频| 国产伊人精品在线| WWW黄片COM| 亚洲日本天堂| 中文字幕av乱伦| 超碰久久精品| 国产强上视频在线观看| 啊嗯嗯啊好大好爽| 色情乱伦AV| 98超碰日本| 一起草日韩| 欧美男人亚洲天堂| 秋霞久久亚洲精品成人| 久久久久9| 在线国产福利网址导航| 天操老女人| 天天干天天燥| 亚州日韩97| 涩涩这里只有精品视频| 日韩精品9区| 干干干天天| 啊啊啊啊啊啊啊网址在线观看| 色欲蜜臀AV| 欧美亚洲清纯| 婷婷五月影院| 女性喷水高潮在线观看| 躁躁日曰躁2020| av天堂精品久久| 天天色踪合| 极品极品色影院| 日韩一级二级三级| 大稥蕉免费视频这里只有精品| 欧美亚洲中文| 欧美午夜视频| 99久re热视频精品98| 日韩十八禁| 久久久久久久 九九九九九九九 | 久草综合视频| 中文字幕在线日亚州9| 青草精品视频一日本久久久久网站| 91操碰| 亚洲av性爱电影| 试看福利| 欧苏综合色综合| 日B操| 尤物视频偷拍免费| 91狠婷| 成人乱人伦一区二区| 玖日综合网| 狠狠久久四虎| 黄色视频特级毛片| 中文字幕欧美丝袜07资源| 东京热av男人的天堂| 国产视频一区二区免费| 人妻一区二区三区四区视频 | 亚洲精品日日夜夜52| 一区二区影视| 无码操逼天堂| 欧美亚男人的天堂| 久久性爱大全| 在线无码视频| 少妇久久久| 在线小说视频一区| 久久一二三四不卡 | 四虎在线免费视频| 啊啊啊啊啊操我视频| 中文字幕123| 91无码西班牙视频在线| 熟女久久久| 日本伦理一区二区| 可以免费观看的AV| 国产综合永久精品日韩鬼片| 18禁在线视频| 狠狠爱大香蕉| 99精品无码| 久热久| 久久这里精品国产99丫e6| 欧美人人AAA| 欧美精品日韩久久久九| 麻豆国产97在线| 国产sv美女内射| 学生妹天天看| 亚洲色91C| 中文字幕55555| 防屏蔽在线视频| 国产精品老师| 不卡啪啪视频| 91呆哥人妻| 久久激情亚洲精品无码?V| 青青操网| 一区二区三区免费视频入口| 四虎精品永久在线播放| 欧美天天射| 91精品丝袜久久久久久| 男人的天堂视频精品乱在线| 久久久久久99999国产精品| 亚洲天堂日本| 成人片视频| 欧美日动态视频| 久久精品国产99国产精品亚洲| 偷拍欧美激情| 91N五十路| 江都AV在线| 99自拍B亚洲 | 91国产美女丝袜足交精品视频| 天天操天天射青青草| 超AV色女| 嗯……啊…嗯嗯…啊…好舒服| 天无日色综合| 国产夫妻一区二区| 婷婷色网| 91碰碰| 久久成人东京热人妻| 精品国产乱码久久久影院| 人妻少妇无码| 蜜臀视频网站| 国产精品懂色tv影视免费观看| 亚洲国产成人精品久久久国产成人一区二区| 国产白丝av| 91精品人妻偷情| 黄色人人| 被体育老师抱着c到高潮| **一级毛片国产| 一区二区三区精品黑丝白丝酒店对鸡 | 日韩 欧美 校园一区| 99热 按摩 日韩| 激情文学小说一区二区| 免费视频97| 欧美性爱综合,免费| 欧美性爱第一区| 国产a级午夜毛片| 色综合色综合网| 国产九九久久久精品| 欧洲乱码视频| 久9爱精品| 在线日韩精品一区二区三区| 人妻 中文 日韩| 99精品在线播放| 白丝AV网站| 超碰偷拍| 综合影院永久入口国产| 日韩黄色一区二区三区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 激情露脸爱| WWW美腿丝袜香蕉中文| 国产精品播放| 色婷婷九月天天综合| 男人兔费天堂| 美女91色黄18| 人人操人人摸人人骑| 亚欧日韩成人| 青娱乐av在线| 精品玖九九久| 成年女人黄网站| 一二三四日本视频高清| 91女优在线观看 | 91欧美美女日韩国产婷婷| 嗯嗯不要 视频| 26UUU欧美激情一区二区| 婷婷六月天| 曰韩香蕉97| 26uuu最新| 欧美色图99| 色五天伊人| 97二区四区| 亚洲97资源| 精品一区二区成人| 1区2区3区中文字幕日韩| 欧美性性性| 久久久久国产一区二| 国产又大又粗又长视频在线| 九九热精品| 韩国一级婬片A片AAAAA| 欧美日韩国产人人| 最新av网站在线观看| 中文字幕一区 二区三四五 区日 日骚| 亚洲十八禁止| 秋霞久久亚洲精品成人| 麻豆天美制片厂网站视频| 欧美日韩资源| 午夜精品久久久久久久男人的天堂 | 伊人热综合| 久妇网| 久久男人的天堂| 青青草日韩无码| 91女色| 五月天啪啪| 超碰97伊人| 婷婷五月成人| 男人的天堂VA| 夜夜爽爽爽| 少妇久久久久| 亚洲免费精品一区| 日韩熟女无码| 麻豆一区在线| 日韩人妻播放| 国产精品第一页国产大屁股视频免费区i | 青青草视频爽一爽| 91精品人妻偷情| 玖玖综合色| 国产成人自拍视频视频| 久久久久久久久久精| 家庭乱伦性爱av| 91黑丝操| 色色色综合网| 日产操逼| 国产不卡中文字幕免费avi| 国产一区二区三三视频| 久九9精品| 9999免费精彩视频| 亚洲色图欧洲| 久久综合女优| 91小视频| 综合第一页| 操香逼| 国产精品呦一区二区三区| 色偷偷人人玩人人舔人人操人人摸人人爽| 亚洲色图殴美色图激情乱伦| 亚洲无码一区成人免费午夜| 青青爽| 乳欲人妻办公室奶水| 玖日综合网| 99热免费| 亚洲天堂7777| 日本不卡五区| 中国熟女91| 亚洲情色电影网| 天天色天天干天天爱| 白嫩妹子国产骚| 亚洲欧美一区二区三区在钱蜜桃 | yazhousetuoumei| 一区二区三区 日韩欧美| 精品无吗m| 在线情色电影 91大 | 色 婷97| 五月天玖玖资源站| 国产强奸乱伦欧美| 热G综合热G中文| 亚洲第一页欧美| 国产自偷自拍一区| 免费少妇一区二区| 欧美性夜| 欧美激色| 日夜久久久九九九久| 六月色色| 色官网色综合| 明星性猛交ⅹxxx乱大交| 后入日本1234| 91丝袜激情在线| 国模一区二区三区| 无码国产精品久久久久| 伊人操你| 日韩欧美日韩| 亚洲综合在线91| 亚州欧美一区| 日产中文字幕2020| 日韩草久视频| 4399成人黄A片| 日日操丁香五月天| 成人av性爱电影在线观看| 亚洲欧美综合网| 九一性生活免费视频| 日韩精品人妻系列无码天堂| 日本三级大片| 一起草精品人妻| 91精品女厕偷拍视频| 日韩欧美性爱电影在线观看| 欧美日韩人妻精品系列一区二区三区| 综合av影片| 丝袜喷水在线| 日本精品人妻少妇一区二区| 日韩精品99999| 婷婷五月综合在线| 国产欧美亚洲精品a第2页| 日日噜噜夜夜狠狠视频无| 老熟女乱伦片| 亚欧高清| 三级精品三级在线观看| 久久久新亚洲AV| 久久久久久九九九九| 久久这里只| 国产AV中文| 国产精品网址| 亚州综合网| 欧美一级A一级a爱片久久| 日韩欧美传媒一区国产| 国产视频第二页| 人妻一区二区三区熟女| 9999久久久| 精品无码秘 人妻一区二区| 999综合网| 人人么人人操| 成人无遮挡毛片免费看| 亚洲精品白浆高清久久久久久| a片自拍直播视频| 精品无码一区二区三区| 肏逼福利网站| 日韩无码精品综合久久| 在线免费观看日韩一区| 日操粉逼逼| 久操婷婷| 91视频观看网站| 日韩9999| 日夜尻逼网| 9久久久久| 另类亚洲一区二区三区| 天堂俺去俺来也www久久婷婷| 思思热国产在线视频| 乱伦3P视频| 午夜天堂精品久久久久91| 骚货人妻偷情自拍在线视频| 粉嫩国产精品久久久| 欧美日韩精品久久| 日本在线15p| 欧美在线91| 黄色激情电影在线观看| 欧美一级黄片免费播放| 欧美极品少妇交| 97干天天| 色区97| 欧美人人曰人人操人人射射| 激情干在线| 精品四五区| 精品一二三区女同| 色97干| 上海一级黄片| 中文字幕五区| AV丝袜东京热| 国产乱子伦一区二区三区在线观看| 人人性爱视频免费| 蜜桃无码AV一区二区| 人妻精品综合中文字幕在线 | 亚洲乱码精品一区二区| 最新日产中文在线麻豆| 久久熟女人| 2020中文字幕在线| 欧美片第一页| 久久久激情| 一直超碰| 91夜色| 久久美女福利是上海美女| 粉嫩国产精品久久久| 欧亚 另类 久| 国产一区二区精品久久99| 成年女人一区| 无码人妻丰满熟妇区毛片| 国产91影院| 超碰人人草| 东京热不卡视频| 成人免费性爱视视| 精品人妻伦一二三区久久| 国产精品久久久久久久久久久久久久久 | 色香av| 黄色性爱网网| 成人久久精品| 欧美不卡五十路| 99精品无码| 人妻少妇久久| 国产人妖视频一区在线观看| 欧美有码亚洲中文字幕一区二区三区四区| 精品国产乱码久久久影院| 国产日产精品久久快鸭的功能介绍| 亚洲日本成人动漫| 国内毛片四区| 欧美v亚洲v日韩v最新在线二区| 四虎免费看黄| 日日操免费视频| 婷婷国产精品九区| 久久久久久九九九| 久热99| 中文字幕青青草| 99热只有这里有精品| 一本久久精品中文字| 日韩强奸av| 日韩AV中文字幕电影| 嗯嗯啊啊操我| 久久国色天香香蕉| 91视频综合网| 欧美另类色| 久久狠狠色噜噜狠狠狠狠97| 日韩人妻大香蕉| av天堂电影网| 艳美熟妇先锋一二三区| 日日夜夜精品视频| 久视频在线观看| 91肉片| 日产中文字幕2020| 日小BB小视频| 亚洲宗合网| 一区二区三区 日韩欧美| 国产麻豆一区二三区| 丁香六月东京热| 国产熟女自拍| 亚洲成人综合在线| 欧在线一二区| 欧美黄色图片| 一区二区三区黄色片a| 天美传媒在线一区| 成人免费福利网站国产| 凹凸 69堂 在线播放| 欧美九9 9 9| 日韩欧无码一区二区三区免费不卡| 女同在线视频一区| 三级日本一区二区三区| 国产青视频| 免费中文在线| 欧美色图91| 懂色AV中文| 亚洲欧洲日韩国产自在线| 亚洲色天堂九9| 超碰调教97| 少妇人妻好深太紧了vr91| 天美传媒精品一区二区三区| 日韩精品99999| 岛国1区2区3区在线观看| 欧美熟女丝袜| 69精品人人人人| 亚洲97成人在线观看| 91 综合 色| 天天干,夜夜爽| 被男人吃奶很爽的毛片| 人人妻人人色一区二区三区| 老色69| 嫩草一区二区在线观看| 日本男人天堂| 日本欧美一区二区三区视频麻豆| 裸体1区| 男人兔费天堂| 午夜爽爽爽在线观看永久入口姬片| 日本不卡中文| 十八禁黄色成人网站观看| 熟女被操视频网址| 午夜乱轮操逼视频免费看| 亚洲天堂电影网99999| 爱干爱射网啊啊啊| 日本中文字幕在线电影| 久艾草在线精品视频在线观看| 蜜臀99久久精品久久久久久| 天天综合香 ld视频| 久久伊人大香蕉| 亚洲欧美日韩免费电影| 亚洲AV无码乱码| 超碰在线1234区| 综合激情97 | 翔田千里Av在线| 91 丝袜在线| 免费在线观看AV无码网站| 秋霞网无码| 精品制服美女中文一区二区三区| 欧美性天天影视| 久久精品国产72国产精品福利| 9色国产精品一区粉嫩| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 美日韩成人| 国产精品久久久无码AV网站| 丁香婷婷五月| 欧洲综合色图| 欧美狠狠狠| 久久精品中文字幕女同| 伊人丝袜美腿高跟在线观看高清| 99热只有| 日韩午夜啪啪视频| 中文字幕成人理论在线| 天天日天天搞天天干| 久久久新亚洲AV| 国产精品噜噜噜日日日| yazhouzaixian| 呦女网站| 亚洲资源网| 久久日本熟妇熟色高清| 亚洲综合在线高清| 亚洲欧美中日韩| 天天爽爽爽爽| 亚洲第一页色| 98色网| 色欧美天天| 99在线免费观看| 色婷婷激情| 五月丁香啪啪啪| 五月婷婷丁香| 91爽啪| 久久精品亚洲婷婷| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲少妇色| 国产后入精品| 天天综合91在线| 性欧美另类高清| 精品夜夜澡人妻无码| 东京太热久久久| 丰满少妇一区二区三区四区观看 | 日韩无码操逼片| 午夜乱轮操逼视频免费看| 亚洲图片色图欧美另类| 天堂а√在线最新版在线| 人人操人人干网页| 免费观看的黄色的网站| 日韩AV一起草| 亚洲丝袜二区| 男人天堂.AB| 啊啊好多水| 欧洲大香蕉| 狠狠入| 欧洲黄色网| 夜夜天天噜狠狠爱2021| 久久免费精品视频免一| 久久激情视频| 久久国产99精品72福利| 精产国品一区二三产品| 少妇色综合| 人妻熟妇一区二区三区| 久久久久久久人妻丝袜| 眼镜人妻101.com| 国产九九九九九九九九| 啊啊啊好爽快点啊啊啊嗯嗯| 久久不卡一区二区 | 激情五月天丁香社区| 极品色社| 色色色色色色色色综合| 蜜臀久久99精品久久久久电影| 欧美色院| 国产精品干干干| 26uuu欧美| 亚洲大色堂| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 亚洲 欧美 另类 日韩 人妻一区| 日韩精品一区,二区 九九...老司机| 91欧美www| 免费a级毛片av无码久久精品中文字幕| 国产精品久久久久亚洲av| 亚洲综合激情五月久久| 青青草精玖玖69精品| 欧美色图片色哟哟| 秋霞免费无码视频日韩A片| 黄片直播三级黄片两女一男| 狼天天狼天天大香蕉| 热热色色综合| 2017av无码免费无线播| 玖玖玖玖精品国产剧情| 青青草在线视频人人想人人上 | 韩国午夜理伦三级好看| 日本三级久| 久久成人网站| 人人看人人插| 日韩三四五区| 精品一区二区2| 日韩欧美大力操| 亚州精品一区二区三区香中文字幕在线| 美女AV一区二区| 韩国三级色呦呦| 免费一级毛片在线视频观看| 97大色网| 色吧91| 中文字幕一区二区三区视频播放| 高潮嗯啊性感美女久久久| 午夜在线播放| 极品色www影院| 天天插天天操天天摸天天射天天看| 欧美男人天堂| 99热精品在线观看| 久久久九九| 乱伦av麻豆| 日韩 欧美 校园一区| 亚洲图片欧美色图| 六月天婷婷| 久久精品成人| 超碰成人最新最好看| 中文字幕78| 中文字幕一区二区三区字幕| 精品女人999| 美女久久久久久久久久久| 国产动漫操逼视频| 日本一级不卡一二区| 九九干| 中文字幕女同在线| 人妻丰满熟妇一区二区三| 欧洲Au麻豆| 69XX一中文字幕人妻91| 真实高潮91| 思思热在线视频免费| 91久青| 成人一二| 最新亚洲风情电影| 亚洲黄色视频在线观看视频| 九一综合精品视品av| 国产成人在线观看网址| 天天肏美女| 日本性爱视频一级| 青草香蕉网| 台湾成人无码AV| 天天射夜夜| 久久精品国产亚洲AV片多多 | 大香蕉AV在线| 亚洲黄色AV电影| 久久麻豆一区二区| av网站免费看| 伊人网在线观看| 国产A v无码专区| 97久久天天综合色天天综合色电影| 欧美日韩香蕉| 欧美韩日精品99综合| 激情久久久| 亚洲啪啪综合?v一区综合精品区| 日韩伦理视频| 一起草欧美| 呻吟 欧美 日本 中出| 丁香五月综合| 欧美亚洲中文| 日韩精品9999| 激情啪啪拍91| 丁香九月婷婷| 天天α片| 国产高清无码一区二区三区四区皇冠| 婷婷性网| 欧美一区二区情色| 3P乱轮视频| 91第一页| 天天看片麻豆| 日韩中文字幕二区| 黄片www视频免费| 免费成人在线熟妇网| 中文字幕亚洲在线一区| 日本久久超碰| 女人的天堂大香蕉网| 黄aaaaaaaaaaaaaaaaaa色网站| 亚洲视频精选| 亚洲 欧美 另类 日韩 人妻一区| 国产激情av女片自拍| 欧洲精品一级二级精品综合视频综合| 欧美天天综| av资源在线观看少妇| 国产日韩精品suv| 夜夜嗨免费视频| 久久精品免费| 性爱av在线免费观看| 国产在线综合福利网站| 久久视频,这里只有精品| 成人综合色网| 国产三级多多影院2022国产AA一级毛片无码 | 91精品导航| 高清肉丝中文无码| 91在线页| 欧美成人黄网色网站| 久久国产AⅤ| 人妻熟妇一区二区三区| 欧美色图成人网一区二区| 91久操| 韩国一级AAA| 国产精品 视频| 青女偷拍网| 欧美日韩人妻婷婷一区| 亚洲精品久| 国内毛片免费h片在线| 在线岛| 精品人妻一区二区三区日产乱码| 熟女91网| 欧美伦乱爱| 国产夜夜艹| 先锋精品av色鲁| 久久精品国产免费观看99| 一个国产在线综合网站| 91骚熟女| 天天操妹子| 久久九九热| 东京热不卡视频| 日韩在线人妻网站| 天天看天天综合成人网| 无码国产精品午夜不卡( | 日本熟妇自慰性高潮一区二区三区| 91夜夜蜜桃臀1区2区3区| 亚洲 图片 综合91| 五月丁香综合激情| 中文字幕在线日亚洲9| 1024人妻熟女一区二区三区| 最新av中文字幕高清| 电家庭影院午夜69久久夜色精品国产69乱| 啊啊啊 在线| 亚洲图片欧美另类综合免费视频大大香| 亚洲自拍欧美国产首页网曝| 婷婷三区| 久热久一区二区三区| 日韩在线视频1234| 狠狠久久亚洲欧美专区| 婷婷五月天色| www.色操逼| 激情九月婷婷| 久久五月天婷婷| 久操热线| 99热9| www.天天干| 中亚精品极乱| 东北黄色电影| 亚洲人在线成线成人| 亚洲 欧美 另类 综合 偷拍| 在线天堂999| 麻豆AV96熟妇人妻| 一本一首道人妻少妇免费久久| 99亚洲人人| 日韩不卡网操逼中文字幕日韩| 91国产美女丝袜足交精品视频| 双插在线| 青草园大香蕉| 欧美激情一| 日夜精品| 中文字幕久久婷婷丁香五月天| 很很操在线| 日韩av不卡在线看|