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

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è)方向是消息推送能力?,F(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
返回資訊列表
AV79| 99热6精品| 秋霞丝袜啪啪啪| 婷婷五月丁香综合| 亚洲人妻五月丁香婷婷| 怡红院 久久| 色五月情| 久久丁香五月婷婷| 5月丁香婷婷激情网| 丁香激情网| 99在线免费视频| 婷婷六月插屄激情| 超碰人人在线| 538任你爽视频不一样的| 久久丁香五月天| 天天干天天操天天爱| 五月天婷婷激情在线色图| 婷婷丁香五月亚洲| 五月婷婷啪啪| 丁香五月激情婷婷| 婷婷五月天无码视频| 日韩AV在线电影| 色婷婷婷婷| 欧洲日韩一区二区三区| 五月丁香激情片| 亚洲图片 丁香婷婷| 狠狠的日| 六月婷婷色综合| 久久人妻www| 亚洲色综合| 日韩在线视频9色| 97操操| 有哪些A片网站| 九九婷婷综合| 9热久久| 思思久久99热只有频精品66| 五月天婷婷久久视频| 夜夜骑天天玩天天日| 天天日夜夜B久久| 亚洲成人网站在线播放| 五月天久久激情| 97福利视频| 五月婷婷丁香五月| 天天日 天天草| 夜夜噜夜夜奇| 九九热在线观看视频网站| WWW.99热| 99热免费网站| 亚洲夜五月| 天堂五月婷婷| 99日精品视频| 97碰久久| 91精品综合久久久久久五月丁香| 超碰免费成人| 日韩九区| 色五月婷婷激情综合网| 怡红院99| 五月天婷a| 久久草人妻| 婷婷丁香色情| 色色色99| 熟女激情网| 五月婷婷|欧美| 五月丁香六月综合图| 午夜性做爰电影| 色五月天综合网| 中文字幕丰满人妻无码专区| 噜噜噜狠狠色综合| 超碰狠狠操| 99熟女| AV在线大香蕉| 色婷婷色99国产综合精品| 久久婷色| 免费观看欧美成人AA片爱我多深| 狠狠婷婷色| 99热国品| 艹色18p| 婷婷五月激情五月丁香五月| 中文字幕在线免费| 色婷婷丁香六月| 他改变了拜占庭| 激情小说五月天| √天堂资源在线人妻熟女| 51成人| 91人妻人人操人人爽| 影音先锋四区| 色五月婷婷激情五月| 夜夜www| 伊人五月人妻精品| 五月天色丁香| 狠狠色成人影片| 人妻久久久| 在线中文AV| 99久久国产综合精品五月天喷水\| 精品9久| 超碰永久在线| 国产色丁香| 在线五月色播| 色在线99| 综合AV网| 新97人人上人人| 99热这里只有精品268| 热的五码久久精品| 99热在线只有精品| 嫩草AV久久伊人妇女超级A| 精品亚洲国产成AV人片传媒| www,超碰| 天天狠狠色噜噜| 婷婷欧美| 不卡在线视频| 久久综合这里只有精品1| 五月天婷五月天综合网在线观| 开心五月激情五月丁香五月婷婷| 99re久久| 夜色综合网| 色五月婷婷中文字幕在线观看 | 久久久久久9| 成人精品在线观看| 九色无码| 日韩在线婷婷五月天综合| 日日干天天| 六月婷婷综合| 97色永久免费视频| 婷婷色丁香六月| 日韩人妻无码精品| www.com在线操视频免费观看| 99九九热在线观看| 婷婷五月天伊人| 丁香色色网| 亚洲电影中文字幕| 色婷婷色情| 色婷婷小说| site:pnnrt.com| 九月性爱网| 这里只有精品亚洲| 久综合色| 9人人操人人看| 九九精品视频在线6| 色婷婷狠狠| 婷婷五月六月| 狠狠xx| 色五月网址| 婷婷激情五月天小说| 天天日狠狠| 国产婷婷综合| 9 99免费视频| 26uuu丁香婷婷五月| 9色资源在线| 99在线er热| 五月丁香婷婷AV| 少妇被躁爽到高潮无码文| 91干在线| 色5月婷婷| 91丨九色丨国产在线| 99黄色| 26uuu国产| 久久与婷婷| 五月天涩涩| 黄色网址五月婷婷| www.亚洲激情| 婷婷婷久久| 襙比视频| 亚洲狠狠终合停停终合| 五月天激情.com| 99爱精品| 亚洲性色XXXXX| 中文字幕日本最新乱码视频| 日本欧美国产| 香蕉99网| 精品人妻在线| 午夜成人AV在线| 99精品一二三四视频| 超色欲天天| 开心激情婷婷| 久久久中文| 亚洲在线综合| 热久久77777| 国产亚洲在线| 五月天婷网| 色婷婷yy久| 久久综合激情婷婷激情| 99啪99| 欧美成人日韩| 综合亚洲五月天| 九九99精品视频在线观看| 开心五月天私房婷婷| 亚洲中文字幕av| 国产99精品免费视频| 六月天婷婷| 99热九九这里只有精品| 久热一区| 国产精品色婷婷99久久精品| 五月伊人综合| 操碰99在线视频观看| 五月天桃色深爱网| 久久久久妻| 婷婷五月天久久久| 午夜丁香五月天综合| 久在线综合69| 日日天天干| 综合网色| 日本玖玖在线| 337p大胆噜噜噜噜噜91Av| 日韩色久| 激情综合网激情五月婷婷| 五月婷婷开心综合| 亚洲黄色影视| 69人人操人人爽| 色欲午夜无码久久久久久张津瑜| 久久网站免费亚洲| 五月激情婷婷国产精品久久久久久| 天天日日夜夜| 日韩激情人伦人| 99热亚州综合| 人人草人人爱| 六月天婷婷| 少妇激情基地| 99re在线免费视频| 超碰v| 亚洲色情网站| 99热这只有| 丁香色色五月| 99国产精品久久久久久久久久久| 狠狠操狠狠| 婷婷综合五月天激情| 色色色色区| 婷婷九月| 久99久视频| 天天干天天色天天干| 六月婷婷综合久久| 婷婷五月激情综合啪啪| 国产这里只有精品| 激情五月天婷婷| 79色色色色| 99色激| 婷婷激情97| 激情综合网五月| 五月婷在线视频免费看| 色久五月| 色婷婷最爱五月| 国内久久久精品99| 久久丁香九| 五月天综合| 亚州操操| 五月丁香六月综合激情| 色激情五月| 婷婷五月天深爱| www.久久久.com| 人妻免费网站| 少妇真实被内射视频三四区| 极品人妻VideOssS人妻| 六月丁香啪啪| 狠狠操综合| 五月天色社区| 综合图片色色| 99se丁香| 久久久精久人妻| 国产成人AV人人爽人人澡Va| 日本色超碰| 任你草| 六月婷婷激情小说网| 九洲一级A片| 婷婷五月天成人| 亚洲人妻电影| 久久99性爱| 99热永久在线观看| 五月丁香啪啪综合| 综合精品99| 五月丁香啪啪啪| 色五月女| www狠狠| 丁香五月天在线观看视频| 九月丁香婷婷网| 深爱激情综合网| 五月丁香影视| 婷婷六月激情综合| 91精品国产综合久久密臀| 天天色天天搡| 射区导航| 婷婷五月丁香香蕉| 六月丁香成人| 人妻六月天| AV大香蕉| 激情五月激情综合网| 99色热视频| 婷婷草| 五月社区婷婷激情| 五月婷婷六月激情在线| www.91.com处女在线直播| 久久婷婷色综合| 激情丁香五月综合| 开心久久网婷婷| 99国产99| 五月婷九月| 亚洲成人AV高清字幕| www.狠狠操| 超碰色色综合| 婷婷五月天情色| 久久这里只有精品1| 5月丁香婷婷| 天天摸天天肏| 任你搞网站| 欧美熟妇一区二区三区| 狠狠色狠狠爱| 国产精品视频| 成人AV在线网站| 9l视频自拍9l视频自拍九色学生| 色七七九九| 九九九九九九毛片| 丁香九月综合| 91操人| 91性高潮久久久久久久久| 狠狠狠狠狠狠色| 五月久久网| 久久九九精彩| 日本操碰碰| 天天干,天天操,天天射| 五月婷婷综合社区| 亚洲精品国产成人AV在线| 色综合久久99色| 综合激情在线| 婷婷综合久久| 婷婷区日本| 婷婷六月丁香色| AV五月丁香| 五月婷婷干| 婷婷丁香五月噜噜噜| 亚洲女婷婷五月基地综合久久久| 欧美色六月婷婷| 五月天成人在线精品| 99色丁香婷婷综合网| 午夜婷婷五月天在线| 中文国产五月天| 99青青草| 91免费看片| 国产 码在线成人网站| 久99热| 99热这里是精品| 无码少妇高潮喷水A片免费| 性按摩玩人妻HD中文字幕| 超碰日韩人妻在线| 9久久AV| 综合色五月| 久热只有这里有精品| 婷婷五月天无码熟女| 青青草蜜臀| 天堂五月婷婷| 五月天婷婷基地| 9久久精品| 九九99久久| 男女啪啪视频久 9| 99在线播放视频| 99人这里只有精品| www.婷婷六月天| 丁香桃色网| 超碰人人摸人人操| 国产婷婷五月天| 日日干五月天婷婷| 五月婷婷网站| 激情久久久| 日韩AV中文在线观看| 亚洲欧美国产A片免费观看| 成人丁香色| 九九热视频精品2| 狠狠色噜噜狠狠狠888了| 天天爽夜夜操| 婷婷色综合| 婷婷97C| 色啪影院| 五月婷婷免费看| 日韩成人综合网| 91紱請| 在线观看亚洲视频影院| 色五月天视频| 操骚货在线| 大香蕉在线观看9| 成人丁香五月| 亚洲视色| 极骚大香蕉伊人| 影音先锋一区| 丁香五月香蕉| 国产免费性爱| 精品在线| 男人天堂99| 202丰满熟女妇大| 欧美色偷拍| 五月天婷婷色紫薇阁| 99精品热| 色婷青青| 丁香五月天狠狠操| 久久性爱视频这里只有精品| 五月天婷婷小说| 激情丁香五月AV| va中文资源在线观看| 2020日日干| 91午夜婷婷狠狠久久综合9色| 九九色婷婷| 天天色综网| 天天日天天色| 99久热这里只有精品视频删减版| 天天日天天舔| 五月天堂六月丁香亚州中文字幕久久| 六月婷婷无码观看| 久久婷婷亚洲| 黄网免费观看| 色99自拍| 99色五月| 99在线精品视频| 色色网站日本91| 精品国产人人爱人人| 9999三级片| 激情五月瑟瑟| 99热免费精品| 在线看AV| 六月婷婷久久大全| 国产高潮白浆一区二区| 激情五月丁香综合网站 | 开心色五月天久久久久久久| 超喷97免费在线视频| 噜综合| 天天插天天射| 综合网激情五月天| 成人AV片播放| 亚洲另类日本| 九九99热| 久久精品99| 久久资源网五月婷| www色色com| 欧美综合五月丁香六月婷| 色婷婷亚洲婷婷在线观看| 亚洲成人日韩无码精品| 丁香五月婷婷激情蜜桃| 日笨久久网| 五月天婷婷爱| 丁香色五月AV在线| 色婷婷免费视频| 色人久夂| 人妻精品一区二区三区| 人妻av在线| 色婷婷av在线观看| bbwcuckold精品熟妇| 九九热精品| 丁香五月在线人妻| 99国产精品久久久久久久久久久| 天色综合网站| 久久99网| 五月婷婷成人| 色婷婷五月天中文字幕| 婷婷色在线| 五月色情网| 99综合视频| 精品一二三区视频立| 激情网五月天| 99国产小视频| 色五月天堂| 天天干天天拍| 婷婷八月丁香激情综合| 五月激情丁香久久综合网| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 自拍盗摄 另类| 久久精品91视频| 婷婷五月天电影网| 99在线精品视频免费观看20| AV在线资源| 中文字幕乱码亚洲精品一区| www.色婷婷| 在线区区区| 天天日P天天射P| 色五月婷婷基地| 婷婷五月天色网久| 欧美丁香五月97色| 超碰人人在线观看| 极品人妻VideOssS人妻| 久久婷婷成人综合色怡春院| 色婷婷基地在线| 狠狠色婷| 久久激情网| 激情婷婷五月| 五月五丁香婷婷| 影音先锋毛片网站| 99综合97| 91婷婷| 五月天精品| 九月婷婷综合八月丁香在线观看| 婷婷五月天综合AV| 日韩AV免费电影在线播放| 五月丁香激情婷婷| 色婷五月天激情| 色热久资源| 狠干综合| 日本WwW色偷偷丁香花久久久京东热| 亚洲天堂大香蕉| 米奇影视资源婷婷狠狠色激情欧美五月丁香 | 午夜伊人大香蕉| 亚洲五月婷婷| 日本婷婷五月天| 天天日天天操天天干| 91婷婷在线| 丁香六月亚洲| 亚洲狠狠色丁香婷婷综合久久| 亚洲在线操| 婷婷六月五月| 天天操天天操天天操| 九九色影视| 色综合久网| 三级av在线| 六月丁丁香| 色七七九九| 日本社区五月天激情| 六月丁香深深爱| 丁香五月婷婷啪啪啪| 久久久九九视频精品18| 校园春色亚洲色| 国产精品a无线| 婷婷五月色| 操九色| 精品久久久人妻| 小视频一区 | 成人一区在线观看| 欧美日本99| 五月天丁香久久综合 | 五月婷婷影院| 成人短视频在线| 欧美日韩国产伦精品日韩人妻一| 日本欧美999久久久三级片| 刘玥av在线| 欧美电影在线播放| 婷婷六月色| 亚洲综合婷婷| 婷婷综合网| 婷婷99狠狠| 久热无码| 日日操夜夜爽| 99熟女| 日韩成人电影AV| 综合网激情| 色偷偷五月天| 被强行糟蹋的女人A片| 国产成人网站在线观看| 大香蕉手机视频| 丁香九月激情| 国产看真人毛片爱做A片| 激情www.98com| 五月网激情| 热久久思思热思思| 丁香五月宝贝激情网| 第六色在线| 五月天婷婷久久综合| \\五月天婷婷激情| 99爱视频免费看| 乱色色色| 亚洲综合另类| 五月丁香婷婷色| 婷婷伊人网| 色色色999| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 综合色影院| 猫咪伊人久久| 色色婷婷丁香| 激情亚洲五月| 激情久久综合网| 第五婷婷伊人丁香色| 激情综合啪啪| 久久婷婷五月综合激情国产| 丁香六月激情网C0W| 九九视频在线观看| www.色五月| 五月丁香啪啪啪| 偷拍丁香九月激情| 艹天天射| 性色欲情 网站| 狠狠色综合777| 久热网站| 欧美一级色| 丁香婷婷综合激情五月色| 亚洲久久天堂| 久久婷婷网| 色久婷婷网| 亚艹艹| 久久多色| AAA级久久久精品| 99热 在线播放| 九九色精品| 欧美综合在线五月天色婷婷| 欧美日韩成人在线网| 综合激情视频| 97色碰碰公开视频| 色六月丁香婷婷啪啪啪| 2025年最新亚洲在线欧美| 玖玖午夜视频| AA片在线观看视频在线播放| 小色小蛇伊人婷婷色香五月| 天天在线天天综合网色| 十一月婷婷激情四射| 夜夜爽天天干| 99久久終合| 思思99热这里只有精品| 综合一本道| 免费亚洲婷婷| 五月丁香婷婷婷激情爱爱| 婷婷六月丁香综合| 婷婷五月色色| 色婷婷很很丝袜| 亚洲成人一区| 五月婷亚洲精品| 色情综合网| 日日操夜夜操无码免费| 99视频精品8 | 激情五月婷婷色播网| 大香蕉网站,大香蕉综合| 久久色大香蕉| 六月丁香婷婷五月天| 久热这里只有精品视频免费观看| 中文字幕在线免费观看视频| 99亚洲视频| 国内精品玖玖| 免费无码毛片一区二区A片| 中文字幕,综合,91| 激情综合网五月激情| 天天爽夜夜操| 婷婷久久五月| 啪啪操超碰| 99福利视频导航| 激情六月下句是什么| 久热亚洲| 99caobi| 亚洲九九九九| 五月丁香| 久久婷婷五月天激情新地址| 97性视频| 超碰AV成人| 色五月婷激情| 610018岁成人视频| 99亚洲综合| 激情综合区| 怡红院91a√| 国产精品视频久久99| 亚洲成人在线播放| 激情五月天久久丁香| 午夜爱爱网站| 啪啪黄页网| 婷婷丁香五月在线播放| yjzz亚洲国产| 这里只有精品在线免费视频| 怡红院AV亚洲一区二区三区H| 激情五月婷婷丁香六月| 97碰在线| 久久精典| 久久98| 97操碰视频| www.色婷婷.com| A级毛片高清免费不卡播放谢谢谢谢| 色色免费网战视频| 婷婷丁香大香蕉| 五月婷婷色情| 久久精彩视频18| 天天 青草 丝袜制服 在线| 国产亚洲精品AAAAAAA片| 色婷婷丁香网| 九九在线精品| 很很干在线视频| 国产午夜成人AV在线播放| 亚色网站小视频| 午夜不卡久久精品无码免费 | 99在线爽| 婷婷丁香五月综合免费视频百花| 91久久九色| 亚洲国产精品VA在线看黑人| 一操久久| 中文字幕AV在线播放| 欧洲亚洲免费视频9| 色~性~乱~伦~噜| 五月天色色色| 日日夜夜天天| 小视频一区| 在线播放 精品| 欧美色爱五月天| 久久九九婷婷| 啊V视频在线观看| 九九国产视频| 日日躁夜夜躁狠狠久久AV| 亚洲男人的天堂婷婷色五月| 狠狠色噜噜色狠狠狠综合色| 色日本综合| 97九色| 免费观看的av| 婷婷激情五月天在线| 色婷婷亚洲在线观看| 色你久久| 深爱五月婷婷开心中文字幕| 国产精产国品一二三在观看| 亚洲激情精品| 狠狠第四色| 日韩啪啪网| 超碰精品手机在线| 久久ri精品视频| www.henhenl| 五月丁香五月丁香| 草榴成人影片| 婷婷伊人久久| 五月天中文字幕在线婷婷| 久久9热综合| 成人日韩欧美| 天天摸天天高潮天天爽| 色五月婷婷影院| 99热精品在线观看| 深爱五月激情| 色五月丁香总合网| 五月色丁香婷婷综合| 久久99网站| WWW.桔色成人.COM| 亚洲欧洲国产精品| 丁香五月天操B| 人妻视频在线| 天天干天天 亚洲| 成人网站av免费网站推荐| 色综合久久888| 婷婷五月丁香香蕉| 五月激情丁香六月狠狠干| 夜色.cnm| 91色色色| 超碰99热精品| 亚洲另类婷婷五月综合| 伊人碰碰碰| 伊综合蕉| 99视频内射三四| 五月天婷婷丁香| 激情五月激情综合俺也去婷婷小说| 香蕉曰比| 婷婷五月成人| www.91九色| 99热这里只有的精品视| 婷婷激情伍月网| 91久久九九| 国产FREESEXVIDEOS性中国 | 99久久五月丁香野外| 精品无码久久久久久久久| 午夜爱爱网站| 开心激情网五月| 天天网站天天爽| 大香蕉五月天婷婷丁香91| 综合色七七| 色色色色综合网| 免费播放片大片| 丁香五月婷婷骚视屏| 五月丁香怕啪啪| 综合久久高清| 六月丁香天堂| 99热午夜精品| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 夜夜天天天天天干天天爽| 99碰超| 天天综合五月天| 国产综合A片| 少妇搡BBBB搡BBB搡毛茸茸| www夜夜操| 99热碰碰热| 天天色噜| 深爱开心激情| 色五月婷婷内射| 日本成人噜噜噜噜噜| 噜综合| 丁香婷婷色五月| 欧美综合五月丁香六月婷| 九九中文字幕九| 日韩成人无码片| 久久看九九90| 激情四射亚洲| 激情性爱五月天网页| 国产精品99久久久久久久女警| 激情五月六月婷婷| 色色色欧美| 婷婷伊人中文字幕| 色婷婷综合视频| www狠狠| 91超级碰| 色色色色色色色色网站| 4399成人黄A片| 99久久9| 五月婷婷六月丁香| 思思精品视频| 天天肏夜夜肏| 婷婷爱五月| 九月色婷婷综合| 亚洲一区二区无码蜜乳av| 丁香五月天欧美在线| 亚洲国产成人裸舞| 性生活视频98791| 婷婷六月五月天综合| 色噜噜婷婷| 最新丁香六月婷婷| 九九精品免费| 大香蕉天堂| 五月天综合久久| 99精在线| 亚洲乱码精品久久久久..| 中文字幕日产A片在线看| 性生生活大片又黄又| 久久无码成人| 国产精品久久久爽爽爽麻豆色哟哟| 开心激情婷婷| 狠狠干五月| 国产精女同一区二区三区久| 国产色色色色色| 91久久精品视频| 亚洲色婷婷五月天| 色婷婷久久综合久色综| 婷婷丁香五月天综合AV| 伊人五月婷婷| 五月婷婷九月婷婷九月婷婷| 香蕉AV777XXX色综合一区| 狠狠干无码| 色婷婷婷婷| 人人操五月天| 六月婷婷毛片| 国产中文字幕在线视频免费观看 | 色青青五月| 五月丁香花开综合网| av操一操| 色久九| 欧美性做爰大片免费看办公室| 欧美69久成人做爰视频| 亚洲久艹| 9久国产精品| 久热这里有精品视频| 欧美色色色| 精品久久这里热66| 99色热| 色色色五月天婷婷| 激情综合五月丁香六月婷婷| 日本三级毛片| 婷婷中文在线| 深爱丁香激情| 99干视频| 强壮公让我夜夜高潮A片视频| 久久性都花花世界成人免费视频| 国产44页| 91操色| 人人爽欧美婷婷久久久五月丁香| 色综合婷婷| 国产精品久久久久久久久久| 99玖玖人人| 亚洲五月婷婷| 久久婷婷五月综合色和| 婷婷婷婷婷婷婷五月丁香| 丁香五月花| 日本久久性| 久久6这里只有精品| 99热激情| 久久久com| 六月激情丁香一道本7777| 思思热这里只有精品视频666| 色婷婷亚洲在线| 综合久久久| 色婷婷香蕉在线| 六月婷婷激情| 天天色天天爱天天爽| 亚洲综合成人网| 久综合4| 26uuu国自产精品| 丁香五月综合网亚洲综合欧美狠狠| 亚洲1区| 日本久久久97| 婷婷激情五月天7| 激情六月婷婷| 综合欧美五月婷婷| 五月婷成人| 99re热视频这里只精品| 丁香五月激情综合| 国产性爱一级| 九月丁香五月婷婷| 开心五月深爱五月| 色久影院| 精品人妻久久久久| 五月天激情婷婷| 91色噜噜狠狠狠狠色综合| 婷婷激情综合网| 天天干电影| 五月婷婷日本| 这里只有精品免费观看网占| www超碰| 99精品97| 色吧五月婷婷| 最近中文字幕2019视频1| 婷婷五月天av| 五月婷婷亚洲色视频| 不卡在线超碰| 久久激情视频| 香蕉狠狠爱视频| www.com色播五月天| 涩五月丁香| 亚州美女| 永久的网站AAAA | 色五婷婷| 日本五月天网站| 精品国产a| 综合网激情五月天| 99久久婷婷| 五月天开心色情网| 色五月激情| 潮汕成人AV片在线| 丁香五月亚洲综合| 日本欧美成人片AAAA| 婷婷五月天激情四射| 99热人人| 色天使色婷婷| 第四色大香蕉| 五月天色色婷婷| 天天婷婷| 狠狠九九婷婷韩| 五月丁香婷爱在线| 麻豆忘忧草午夜| 人人干人人操人人摸人人做| 国产人妻人伦精品一区二区| 91免费在线视频6| 激情五月婷婷视频一区二区三区| 久久er视频6| 人人操99| 九月丁香婷婷综合激情| 激情五月天小说网| 日本综合色图| 丁香五月自拍| 国产精品久久久99视频| 久久激情五月| 丁香六月色情| 美国少妇性做爰| 我爱va亚洲va52| 亚洲日韩一页精品发布| 五月天激情日色在线| 午夜性做爰电影| 操操操操操电影网| 97干在线免费| 色婷婷综合视频| 91嫩草久久| 久久婷婷五月综合色丁香| 玖玖在线| 丁香五月六月| 亚洲激情无码久久| 成人做爰黄A片免费看直播室男男| 欧美婷婷五月激情| 美女被操一区二区| 日本色五月婷婷| 国内一级精品| 狠狠色成人影片| 99成人网站| 欧美日本不卡黄色片| 婷婷五月天狠狠色| 97人人操人人| 图片区 小说区 区 亚洲五月| 婷婷丁香久久五月综合| 任我干视频在线观看| 婷婷五月天六月丁香| 99久久www| 九九色综合| 人人舔天天| 久久999久久999久久999久久| 久久九色| 狠狠色激情在线| 久久免费干| 99操免费视频| 99高级会所久久| www。五月,com| 久久丁香五月天| 亚洲色色色色色| 99ER热精品视频| 丁香五月天婷婷激情| 超碰久热| 激情五月黄色| 91丨九色丨熟女|老版| 婷婷放心五日爱| 婷婷色网址| 大香蕉婷婷丁香天堂AV| 99热 在线观看| 精品自拍97| 日本99在线| 激情合网婷婷| 国产色网站| 欧美成人精品A片免费一区99| 五月天色婷婷网| 丁香五月成人| 五月综合激情啪啪啪啪啪| 婷婷欧美激情综合| 开心亚洲久久开心| 天天肏高清在线| 免费观看全黄做爰的视频| 久久九九免费视频| 亚洲激情无码久久| 操草草草| 日本一级一级一级一级| 九九在线精点品| 播五月婷婷开心| 色月丁| 欧美成人AAA片一区国产精品| 视频色色色色色色| 激情五月黄色小说| 日本专区久久| 大战熟女丰满人妻AV| 丁香五月情| 婷婷丁香基地在线| 五月丁香大香蕉| 碰碰碰91| 国产欧美熟妇另类久久久| 亚洲六月色婷婷| 夜夜操天天爽| 婷婷五月69| 丁香五月激情网| 丰满少妇乱A片无码| 色婷婷亚洲婷婷| 玖玖婷婷五月天| 五月人人丁香婷婷五月人人丁香| 97热精品| 天天综合网色欲香| 久久婷婷五月天| 内射综合网| 欧美草久久五月天91| 乱女乱妇熟女熟妇综合网站| 婷婷99视频精品| 丁香婷婷浪潮AV久久综合| 天天干一干| 91久久99久久91熟女精品| 五月色丁香视频精品| 天天做天天双| 丁香五月婷婷激情网| 久久婷婷网址| 天堂婷婷综合| 九九色色| 九九激情网| 中文资源在线a | 久久伦乱| 视频在线免费观看欧洲乱码| WWW、99热| www.色五月| 亚洲九区| 五月婷亚洲精品AV天堂| 婷婷九月在线| 五月天综合色| 亚洲狠狠狠| 五月色丁香激情| 丁香五月天精品| 精品色情一区二区三区四区| 99精品在线| 妇激情基地| 天天日夜夜欢| av在线中文| 9热视频在线观看| 丁香六月激情综合网| 一级性感毛片| 青青草视频免费观看| 色婷婷丁香五月| 婷婷五月天基地| 婷婷社区五月天| www.操.com| 激情五月天色播| 97天堂| 99热8| 五月婷婷六月色| 久久婷婷五月天| 婷婷中文字幕| 少妇大叫太大太粗太爽了A片| 色偷偷五月天| 婷婷大香蕉| 丰满少妇乱A片无码| 91久久久久久久久18| 中文字幕成人| BBWCUCKOLD精品熟妇| 狠狠精品干练久久久无码中文字幕 | 婷婷丁香久久五月综合| 久久久久婷婷五月热综合| 七七九九色色| 色情五月天视频网| 激情婷婷内射| 色五月婷婷视频| 激情深爱综合| 婷婷玉月丁香五月在线视频| 天天爽天天爽夜夜爽| 91视屏在线观看com.wwwvv| 玖久精品视频9| 久久久久久久久人妻| 婷婷五月天免费视频| 狠狠干狠狠干| 91精品综合久久久久久五月丁香| 婷婷五月综合在线| 在线日韩视频| 99riAV成人在线视频| 亚洲免费成人电影AV| 久久国产高清| 大香蕉啪啪| 就要爱综合| 校园激情 亚洲| 精品成人a v无码内射| 亚洲综合五月天婷婷| 91人人操人人| 拍真实国产伦偷精品| 高潮毛片又色又爽免费| 五他月天啪啪啪| 九色自拍| 丁香六月婷婷缴情欧美| 精品皮股午夜AV| 久久999久久999久久999久久| 丁香婷婷五月六月久久| 丁香六月婷婷| 69人人操人人爽| 欧美大道不卡| 色婷婷WWW| 亚洲AV无码久久精品色欲| 激情综合丁| 色婷婷综合网| 五月丁香啪| 噼里啪啦完整版中文在线观看| 五月婷婷影视| 极品另类| 91爱操| 色婷婷综合五月| 激情五月天综合网| 色区久久| 91女人18毛片水多国产| 欧洲亚洲免费视频9| 逼逼AV| 五月丁香好婷婷A片网| 九九色逼| 激情丁香久久久久久| 五月天婷婷基地丁香| 狠狠五月天激情| 丁香五月自拍| 潮汕成人AV片在线| 久久性操| 午夜国产精品AV在线播放| 久热91| 丁香五月婷婷av影院| 五月丁香啪啪啪啪| 俺也高清无码高清视频| 色播五月| 夜色爱爱亚洲| 久久婷婷成人视频| 亚洲操操操| 五月丁香综合激情| 日本黄色在线观看| 五月欧美色色五月| 国产免费一区二区三区三州老师F1F1.CC| 国产成人精品一区二三区熟女在线| 婷婷国产欧美97| WWW99热| 丁香六月激情综合啪啪| 亚洲天堂99| 97五月久久丁香婷婷| 丁香五月日本| 欧美成人A片AAA片在线播放| 九九热99在线视频| 色色无码日韩| 色五月婷婷91| 青青草99re| 深爱激情九九五月天 | 久久五月天影院| 开心六月婷| 五月婷婷亚洲| 婷婷狠狠干| 色七色九九| 91干在线| 伊人久热91| 久久婷婷五月天激情唯美| 久99久视频| 91日日日| 五月天婷婷影院影院观看| 欧类av怡春院| 九色视频91| 玖玖五月丁香| AV大片在线观看| 九九久久五月天综合伊人| 九九综合久久| 亚洲天堂啪啪| 99久热| 免费一区二区三区| 人人摸人人射| 这里只有精品视频| 五月丁香日本一抹本| 激情五月天天狠狠久久| 激情碰碰碰| 在线可以看的av网址| 久久久久久久久久久久久9| 婷婷和五月天| 色色婷| 大香蕉精品视频| 色播播五月天| 色噜久| 亚洲无码99| 亚洲成人中文字幕| 这里只有精彩视| 亚洲第一成人AV| 久久AV电影| 91碰免费视频| 婷婷五月天99| 欧美三级巜人妻互换| 六月婷伊人| 久久精彩免费视频| 人人草成人视频| 99人人干| 五月色丁香综合| 色色色图| 伊人影音无码一区二区三区 | 九九色影院| 91色婷婷综合久久中文字幕二区| 99热日韩| 久久总和99| 激情五月天视频| 99爱视频精品| 色婷网| 激情五月图| 无码日本精品XXXXXXXXX | 国产日日夜夜操| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | AV大香蕉| 五月天婷婷伊人| 五月色婷婷在线观看| 五月丁香六月婷婷中合网| 婷婷五月天激情网| 这里只有精品日韩精品| 亚洲亚洲人成综合网络| 插插五月天| 色综色网| 久久开心五月天激情| 五月天激情啪啪| 婷婷色中文字幕| 五月丁香美女视频| 九九在线视频| 婷婷激情丁五月| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 思思久久99| 99久在线精品| 操人无码| 久久人妻系列| 九九伦子片| 综合五月丁香六月婷婷| VA色婷婷| 精国产品一区二区三区A片| 五月熟妇婷婷久久| 色婷婷av综合网| h亚洲| 丁香五月自拍| 国产AV一区二区三区最新精品| 99热这里只有的精品视| 激情亭亭五月| 色五月婷婷五月天| 色婷婷丁香五月丁香| 99色免费在线观看| 久/久精品99看9| 婷婷五月天影视| 婷婷丁香五月在线观看91| 大香蕉99| 激情婷婷人妻| 天堂网色婷婷| 人人操97| 中国AV性爱观看| 97久久五月丁香婷婷| 九九热精品视频| 人妻久久久久久久久妻久久久久| 九色porny在线观看激情四射| 99热国产精品| 欧美丁香五月天| 日韩成人综合| 九九热99热| 99热只有精| 五月丁香色色网| 影音先锋男人AV资源站| 久久九九@| 激情综合网亚洲色图| 婷婷激情在线|