国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

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

Java SpringBoot3+Vue3+MySQL個人財務全棧開發(fā)實踐

Java SpringBoot3+Vue3+MySQL個人財務全棧開發(fā)實踐 個人財務管理系統(tǒng)如果是自己從零開發(fā)最容易出的問題不是功能不夠多而是技術(shù)棧之間銜接不上。最近我用 JAVA SpringBoot3 Vue.js3 MySQL 這套組合完整做了一遍發(fā)現(xiàn)這個項目非常適合用來打通前后端全流程后端有鑒權(quán)、CRUD、統(tǒng)計接口前端有登錄、路由、表單、圖表展示數(shù)據(jù)庫則要處理預算、分類、流水這些真實業(yè)務表。整篇文章按實際開發(fā)順序拆開包括環(huán)境準備、數(shù)據(jù)庫設計、后端接口、前端頁面、聯(lián)調(diào)排錯和部署思路盡量讓看完的人能把整套流程復制下來。先說結(jié)論這套組合能做好是因為 SpringBoot3 負責把后端接口和業(yè)務邏輯組織清楚Vue.js3 負責把頁面交互做靈活MySQL 負責存住賬目流水。困難點主要集中在版本匹配、跨域處理、金額精度和登錄狀態(tài)維護這幾個環(huán)節(jié)。如果你當前的需求是做畢業(yè)設計、個人記賬工具或者想驗證一套主流全棧開發(fā)流程這篇文章值得花點時間看完。1. 先把這套技術(shù)棧讀懂才知道要準備什么1.1 這個系統(tǒng)到底解決什么問題個人財務管理系統(tǒng)的核心價值并不是“把頁面做得好看”而是解決一個人每天記賬、歸類、統(tǒng)計、控制預算這個完整閉環(huán)問題。實際要能跑起來至少需要處理注冊和登錄確保每個人的賬目只屬于自己。日常收入的添加、支出記錄、修改和刪除。收支分類管理比如餐飲、交通、工資、理財。按月統(tǒng)計收入和支出。查看每個分類花了多少錢。給某個月份設置預算并反饋超支情況。這些需求合在一起就是對個人賬本的全流程管理。如果你只是練習某項技術(shù)數(shù)據(jù)庫表可以很簡單。如果你想做成一個能長期使用的系統(tǒng)這個流程圖很重要登錄鑒權(quán)、賬目流水、分類匯總、預算預警、統(tǒng)計報表每一步都要串聯(lián)起來。1.2 為什么推薦 JAVA SpringBoot3 Vue.js3 MySQL以前做類似系統(tǒng)常見方案是 JSP Servlet MySQL開發(fā)慢前后端放在一起維護起來很費力。換成 SpringBoot3 Vue.js3 之后前后端職責分得很清楚后端只返回 JSON前端負責渲染和交互。MySQL 在這里扮演持久化角色把賬本數(shù)據(jù)穩(wěn)定保存住。這套組合適合以下場景學習 Java 全棧開發(fā)想理解接口如何設計。做課程設計、畢業(yè)設計需要完成度高、能演示的 Web 系統(tǒng)。想在本地部署一個自用記賬工具方便自己擴展功能。它也有學習成本SpringBoot3 和 SpringBoot2 在很多默認配置上有差異Vue3 和 Vue2 在語法與響應式原理上也不同使用前需要先確認版本體系。1.3 先從文檔和項目結(jié)構(gòu)入手不要直接寫業(yè)務新手寫個人財務系統(tǒng)時最常犯的錯誤是還沒理清表結(jié)構(gòu)就開始在 Controller 里堆代碼。要做到后面順利前期先把分層結(jié)構(gòu)定下來。比較常見的后端結(jié)構(gòu)是controller接收請求校驗基礎參數(shù)調(diào)用服務。service寫核心業(yè)務邏輯。mapper負責數(shù)據(jù)庫操作。entity對應數(shù)據(jù)庫表的實體類。dto接收前端參數(shù)的對象。vo返回給前端的數(shù)據(jù)結(jié)構(gòu)。config配置 WebMvc、跨域、攔截器。utilsJWT、日期處理等工具。前端結(jié)構(gòu)可以是views展示頁面。router路由配置。store保存登錄態(tài)和用戶信息。api封裝 axios 請求。components通用組件。這樣分好之后問題定位會更快接口 500 就先查 Service頁面沒數(shù)據(jù)就先查 api 層和網(wǎng)絡請求字段對不上就先查 VO 的返回值。不要指望把幾十個接口寫在同一個 Controller 里也能做好維護短期看方便后期加一個統(tǒng)計功能都可能互相影響。2. 環(huán)境準備和工程骨架先把前后端都跑起來2.1 安裝 JDK 和 MySQL 時的版本意識環(huán)境準備排在第一位的不是“能把軟件裝出來”而是版本匹配。SpringBoot3 是基于 Jakarta EE 的一套新版本默認使用 jakarta.servlet不再使用 javax.servlet。這意味著后端選擇 SpringBoot3 時JDK 版本至少要 17。如果機器上還在用 JDK8 或 JDK11直接創(chuàng)建 SpringBoot3 工程要么啟動報錯要么需要換版本時間成本會明顯增加。推薦先確認以下三個版本JDK17 或更高。Maven3.6。SpringBoot3.x實際以你創(chuàng)建工程時選擇的版本為準。安裝 MySQL 時最常出現(xiàn)的問題是服務啟動了但連不上或密碼策略不明確。如果是在 Windows 上使用安裝版安裝過程中會讓設置 root 密碼如果使用壓縮包版需要先初始化再啟動服務。這個過程不要跳過日志檢查確認 3306 端口能正常監(jiān)聽再進入下一步。2.2 創(chuàng)建 SpringBoot3 后端工程工程創(chuàng)建方式比較靈活可以用 IDEA 直接新建也可以使用 Spring Initializr 生成后導入。創(chuàng)建一個新工程時基礎依賴建議選Spring Web提供 Controller、接口調(diào)用、內(nèi)嵌 Tomcat。Spring Validation做參數(shù)校驗。MySQL Driver連接 MySQL。創(chuàng)建完成后pom.xml 里至少會包含類似下面的內(nèi)容dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId scoperuntime/scope /dependency如果使用 MyBatis-Plus 這類增強框架再額外引入對應依賴。這里要注意一點MyBatis-Plus 對 SpringBoot3 的適配版本與 SpringBoot2 不同不要拿老教程里的依賴直接塞進新工程容易報版本沖突。2.3 創(chuàng)建 Vue.js3 前端工程前端工程推薦使用 Vite 創(chuàng)建速度快配置直觀。npm create vitelatest finance-web -- --template vue進入項目后安裝依賴cd finance-web npm install npm install vue-router4 npm install pinia npm install axios npm install element-plus npm install echarts上面命令里的依賴不是全都要裝完才動手。最穩(wěn)妥的順序是先把 vue-router 和 axios 裝好保證頁面能跳轉(zhuǎn)、請求能發(fā)出再逐步加入組件庫和圖表庫。很多項目是啟動時依賴沖突結(jié)果發(fā)現(xiàn)是組件庫版本和 Vite 版本不匹配。前端項目啟動后默認端口通常是 5173后端的默認端口通常是 8080。兩邊端口不同聯(lián)調(diào)時需要配置代理或開啟跨域這個問題后面單獨說。2.4 先讓前后端各跑一個默認頁面不要一上來就寫登錄注冊。后端可以先寫一個最簡單的接口RestController RequestMapping(/api/health) public class HealthController { GetMapping public String health() { return ok; } }啟動后端后在瀏覽器訪問 http://localhost:8080/api/health 能看到返回 ok說明 SpringBoot3 的服務基本正常。前端可以先清空 App.vue 默認代碼只保留一個簡單模板。運行 npm run dev看到頁面能訪問說明前端編譯正常。這一步看起來簡單價值很大它把“環(huán)境問題”和“代碼問題”盡早分開。很多人的項目做到一半才啟動報錯信息非常長一會兒懷疑 Maven一會兒懷疑 Node實際上最開始就沒有確認骨架能跑。3. 數(shù)據(jù)庫表和實體層先做預算、分類還是先做流水3.1 先設計合理的最小表結(jié)構(gòu)個人財務管理系統(tǒng)如果照著真實記賬軟件做表會非常多。個人實測時更建議從一組最小表開始先跑通業(yè)務流程后面再考慮要不要加標簽、成員、多賬戶。下面是一套很經(jīng)典的四表結(jié)構(gòu)用戶表保存登錄用戶名、密碼、昵稱。分類表保存收入分類或支出分類。流水表保存每一筆賬單。預算表保存月份預算按月份和分類做區(qū)分。創(chuàng)建數(shù)據(jù)庫時可以先執(zhí)行CREATE DATABASE finance_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;示例表結(jié)構(gòu)CREATE TABLE sys_user ( id BIGINT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, nickname VARCHAR(50), create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE biz_category ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, name VARCHAR(50) NOT NULL, type TINYINT NOT NULL COMMENT 1收入2支出 ); CREATE TABLE biz_transaction ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, category_id BIGINT, amount DECIMAL(14,2) NOT NULL, type TINYINT NOT NULL COMMENT 1收入2支出, transaction_date DATE NOT NULL, remark VARCHAR(255), create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE biz_budget ( id BIGINT PRIMARY KEY AUTO_INCREMENT, user_id BIGINT NOT NULL, category_id BIGINT, budget_month VARCHAR(7) NOT NULL COMMENT 格式: 2025-06, amount DECIMAL(14,2) NOT NULL );需要注意幾個設計點金額字段用 DECIMAL不用 FLOAT 和 DOUBLE這是為了精確保存金額。每張業(yè)務表都帶 user_id這是為了控制數(shù)據(jù)屬于哪個用戶。category_id 在預算和流水之間建議用長整型關(guān)聯(lián)。流水表里記錄 type是為了和分類表保持一致性。3.2 實體和數(shù)據(jù)庫字段要做到一一對應數(shù)據(jù)庫創(chuàng)建完成后后端實體類要能覆蓋表中所有需要讀寫字段的列避免漏字段。public class Transaction { private Long id; private Long userId; private Long categoryId; private BigDecimal amount; private Integer type; private LocalDate transactionDate; private String remark; private LocalDateTime createTime; }不要為了省事把所有字段統(tǒng)一成 String比如金額在實體里用 BigDecimal日期如果只是按天統(tǒng)計可以用 LocalDate。Java 的時間類型在前端聯(lián)合使用時需要考慮格式化這一步可以先統(tǒng)一處理后面聯(lián)調(diào)章節(jié)會展開。3.3 索引和查詢頻率的關(guān)系個人財務系統(tǒng)雖然數(shù)據(jù)量不會太大但統(tǒng)計接口大概率要按月份過濾 transaction_date所以建議在 transaction_date 和 user_id 上建立索引ALTER TABLE biz_transaction ADD INDEX idx_user_date (user_id, transaction_date);這里解釋一下為什么查詢“某人某月的所有賬單”時先用 user_id 過濾再用 transaction_date 排序這個索引能減少掃描行數(shù)。查詢“按分類匯總”時需要讀大量流水記錄合理的索引能減輕 MySQL 壓力。預算表和分類表不需要過分加索引數(shù)據(jù)量小、查詢模式單一加了反而增加維護成本。4. SpringBoot3 后端接口認證、記賬、統(tǒng)計4.1 統(tǒng)一返回結(jié)果和業(yè)務異常個人財務系統(tǒng)后端接口不建議每個方法返回裸對象。裸對象在數(shù)據(jù)正常時沒感覺但出現(xiàn)業(yè)務異常時前端無法用統(tǒng)一結(jié)構(gòu)判斷是否成功排錯會變得很麻煩。推薦定義一個統(tǒng)一的返回結(jié)構(gòu)格式大致如下public class ApiResultT { private Integer code; private String message; private T data; }定義code 200 表示成功。code 401 表示未登錄。code 500 表示服務端異常。同時定義一個全局異常處理器。當刪除一條不存在的交易、修改不屬于當前用戶的記錄時拋出業(yè)務異常由異常處理器統(tǒng)一包裝返回。這樣做的好處是前端 axios 攔截器只需要根據(jù) code 做集中處理不需要每個月統(tǒng)計接口里手工判斷返回值。4.2 登錄鑒權(quán)使用 JWT 而不是每次查數(shù)據(jù)庫個人項目做登錄方案推薦用 JWT服務端不需要保存 session。登錄成功后后端生成一個 token前端請求時把 token 放在請求頭里后端每次從 token 中解析 userId。示例邏輯不需要真正貼出完整代碼庫核心是這樣一張流程圖用戶提交用戶名和密碼。后端校驗密碼是否正確。正確則生成 token返回給前端。前端存儲 token并在 axios 請求攔截器中統(tǒng)一添加到 Authorization 請求頭。SpringBoot3 提供一個攔截器校驗所有除了登錄、注冊外的接口必須帶 token。SpringBoot3 中寫攔截器時注意包路徑是 jakarta.servlet。對于密碼存儲不要用明文保存。個人項目中常用 BCrypt 做哈希加密生成結(jié)果是一段帶鹽值的密文。即使數(shù)據(jù)庫泄露也無法直接看到用戶明文密碼。4.3 核心記賬接口如何設計接口清單可以這樣規(guī)劃POST /api/auth/login登錄。POST /api/auth/register注冊。GET /api/transaction/list?typeyearMonth2025-06流水列表。POST /api/transaction新增流水。PUT /api/transaction/{id}修改流水。DELETE /api/transaction/{id}刪除流水。GET /api/stats/month-summary?yearMonth2025-06月度匯總。GET /api/stats/category-summary?type2yearMonth2025-06分類統(tǒng)計。POST /api/budget保存預算。GET /api/budget/list?yearMonth2025-06查看預算。接口數(shù)量不用貪多關(guān)鍵是把參數(shù)和返回邏輯做穩(wěn)。新增流水時Service 中要注意的一點當前登錄用戶 ID不能從前端傳來的 userInfo 字段獲取而是從 JWT 里解析出來。這樣做是為了防止用戶傳 userId1直接改別人的賬。正確方向是攔截器解析完 token 后把 userId 放到請求上下文里業(yè)務層統(tǒng)一讀取。舉例Long currentUserId JwtUtils.getUserId(request); transaction.setUserId(currentUserId);這樣能把安全問題規(guī)避大半。4.4 月度統(tǒng)計和分類統(tǒng)計的實現(xiàn)統(tǒng)計接口查詢場景很典型舉一個簡單例子支出分類統(tǒng)計。SELECT category_id, SUM(amount) AS total FROM biz_transaction WHERE user_id ? AND type 2 AND DATE_FORMAT(transaction_date, %Y-%m) ? GROUP BY category_id ORDER BY total DESC;如果你不喜歡在 SQL 里使用 DATE_FORMAT也可以傳入 startDate 和 endDate再用 BETWEEN 過濾AND transaction_date BETWEEN #{startDate} AND #{endDate}顯式的開始和結(jié)束日期范圍比字符串格式化更高效也更方便索引利用。返回統(tǒng)計結(jié)果時不要直接返回 List即使代碼簡單也會讓前端不好處理。更推薦定義一個 SummaryVO字段包括分類 ID、分類名稱、金額、占比再把分類名稱關(guān)聯(lián)出來。4.5 預算超支提醒到底怎么做預算功能看起來復雜做成接口邏輯后并不難。預算的數(shù)據(jù)結(jié)構(gòu)是按月和分類管理。如果用戶當月沒有針對某個分類設置預算那這條分類不做超支判斷。如果設置了規(guī)則可以是當月支出預算 3000分類餐飲預算 1200。統(tǒng)計時先計算當月總支出。如果總支出大于預算金額返回超支提示。分類預算如果超支前端可以標紅對應分類。在后端可以把預算表和統(tǒng)計數(shù)據(jù)關(guān)聯(lián)起來寫一個 BudgetStatusVO。字段包括 budgetAmount、usedAmount、ratio、overFlag。前端拿到 ratio 后用進度條展示預算使用百分比會非常直觀。5. Vue3 前端怎么把這些頁面串起來5.1 創(chuàng)建登錄頁和數(shù)據(jù)請求封裝登錄頁是第一個入口它解決的問題是拿到 token 并保存。登錄成功后建議這樣處理const loginRes await loginApi(form); localStorage.setItem(token, loginRes.data.token); router.push(/);為什么用 localStorage 而不是 sessionStorage頁面刷新后 sessionStorage 可能丟localStorage 能維持會話。如果你希望關(guān)閉瀏覽器后必須重新登錄可以用 sessionStorage這里根據(jù)自己的產(chǎn)品邏輯決定。axios 封裝也很關(guān)鍵。創(chuàng)建 request.js 時至少做三件事baseURL 統(tǒng)一配置。請求攔截器從 localStorage 取 token。響應攔截器判斷 code401 則跳回登錄頁。import axios from axios import router from ../router const request axios.create({ baseURL: /api, timeout: 10000 }) request.interceptors.request.use(config { const token localStorage.getItem(token) if (token) { config.headers.Authorization token } return config }) request.interceptors.response.use( response { const res response.data if (res.code 401) { router.push(/login) return Promise.reject(new Error(未登錄)) } return res }, error { return Promise.reject(error) } ) export default request5.2 路由和頁面結(jié)構(gòu)前端路由建議配置為/login登錄和注冊頁面。/重定向到 /dashboard。/dashboard儀表盤顯示本月收支和預算進度。/transactions流水列表。/categories分類管理。/budget預算設置。/reports統(tǒng)計報表。在路由配置中需要設置 meta.requiresAuth 字段。全局前置守衛(wèi)里判斷 token 是否存在沒有 token 就強制跳到登錄頁。這種結(jié)構(gòu)很簡單但能形成基本權(quán)限邊界。5.3 記賬頁面怎么寫才順手記賬頁面建議設計成左右兩欄或卡片式不要全部堆在一個長頁面。核心字段收支類型切換收入或支出。分類選擇。金額輸入。日期選擇。備注。對應的表單項如下el-select v-modelform.categoryId placeholder請選擇分類 el-option v-foritem in categoryList :keyitem.id :labelitem.name :valueitem.id / /el-select el-input-number v-modelform.amount :precision2 :step1 /分類列表要根據(jù)“支出/收入”動態(tài)加載。用戶在切換收入、支出時分類列表要自動刷新。后端接口一開始可以設計為 GET /api/category/list?type2前端在類型變化時重新調(diào)用。5.4 用 ECharts 展示統(tǒng)計圖表統(tǒng)計頁面是整個系統(tǒng)中最有“完成度”的部分。月度趨勢可以用折線圖展示統(tǒng)計每月的收入支出曲線import * as echarts from echarts const chart echarts.init(document.getElementById(chart)) chart.setOption({ xAxis: { data: monthList }, yAxis: {}, series: [ { name: 支出, type: line, data: expenseList }, { name: 收入, type: line, data: incomeList } ] })分類占比使用餅圖更直觀series: [{ type: pie, data: categoryData }]要注意的是 ECharts 容器必須有固定高度否則頁面里會出現(xiàn)圖表不顯示、高度為 0 的問題??梢栽趫D表父容器上設置 height: 400px 或 500px再初始化圖表。組件卸載時建議調(diào)用 chart.dispose() 釋放資源避免切換頁面時內(nèi)存占用上升。6. 前后端聯(lián)調(diào)最常踩的坑跨域、日期、金額精度、權(quán)限6.1 開發(fā)時用 Vite 代理解決跨域后端接口通過 localhost:8080 訪問前端頁面通過 localhost:5173 訪問瀏覽器就會認為這是跨域請求。如果沒有處理控制臺會頻繁出現(xiàn) CORS 錯誤。處理方式有兩種方式一是后端開啟跨域配置。方式二是開發(fā)階段更推薦的做法在前端配置 Vite 代理請求 /api 時轉(zhuǎn)發(fā)到 8080。在 vite.config.js 中加入server: { port: 5173, proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } }這樣前端仍然請求 /api/login實際由 Vite 轉(zhuǎn)發(fā)到后端。代碼里看不出地址變化但跨域問題被解決了。后端如果也需要開啟跨域可以用一個 WebMvcConfigurer 配置類Configuration public class CorsConfig implements WebMvcConfigurer { Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping(/**) .allowedOriginPatterns(*) .allowedMethods(GET, POST, PUT, DELETE); } }開發(fā)階段兩個都配置也能工作但建議項目里確定一個是主要訪問鏈路不要兩邊都依賴否則排查請求走向時容易被繞暈。6.2 日期格式不一致帶來的返工后端 LocalDate/LocalDateTime 序列化到前端時大概率會變成數(shù)組或標準 ISO 字符串而不是你想要的 2025-06-18。在 SpringBoot 的 application.yml 中增加統(tǒng)一格式化spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT8如果要單獨處理 LocalDate可以額外添加配置類。也可以簡單一點在 VO 的日期字段上使用注解JsonFormat(pattern yyyy-MM-dd, timezone GMT8) private LocalDate transactionDate;建議前期直接統(tǒng)一配置否則遇到列表頁和表單編輯頁時日期顯示不一致又要一處一處排查。6.3 金額回顯出現(xiàn) 19.999999 或 0.30000000000004如果你在后端把金額定義成 double前端會看到莫名其妙的浮點誤差。個人財務系統(tǒng)涉及金額應全部使用 BigDecimal。MySQL 字段用 DECIMAL(14,2)Java 實體用 BigDecimal前端輸入金額時默認保留兩位小數(shù)。這樣設計能最大程度保證金額一致性。如果前端拿到字符串后想轉(zhuǎn)數(shù)字也可以用 Number 轉(zhuǎn)換但每次計算時要謹慎涉及加減乘除統(tǒng)一交給后端處理。6.4 登錄過期、攔截器放行和 401 循環(huán)如果 token 過期后端返回 code401前端響應攔截器里跳轉(zhuǎn) /login這是一個正常鏈路。但會出現(xiàn)頻繁 401 的情況常見原因如下。一是登錄頁、注冊頁也走了需要鑒權(quán)的攔截器。在 SpringBoot3 后端登錄和注冊接口要放到放行列表中否則用戶還沒登錄就訪問登錄頁接口直接返回未登錄導致頁面白屏。建議放行路徑寫清楚registry.addPathPatterns(/api/**) .excludePathPatterns(/api/auth/login, /api/auth/register);前端路由守衛(wèi)也要放行 /login否則頁面一旦刷新就會被打回登錄頁。二是 axios 里請求失敗后沒有把錯誤拋出去而是在攔截器里反復跳轉(zhuǎn)登錄形成死循環(huán)。最簡單的做法是每個請求只處理一次錯誤跳轉(zhuǎn)前記錄當前路徑跳轉(zhuǎn)一次即可后端接口再返回錯誤時檢查當前是否已在登錄頁。6.5 列表字段名和后端返回不一致Vue 頁面寫item.createTime后端返回的是create_time這會導致頁面顯示 undefined。解決辦法是統(tǒng)一后端返回結(jié)構(gòu)。建議后端 VO 字段使用駝峰命名 createTime由 Jackson 序列化輸出 JSON。MySQL 字段下劃線不影響 Java 實體只要在配置文件里開啟 map-underscore-to-camel-caseMyBatis 映射時自動轉(zhuǎn)換。如果使用 MyBatis-Plus一般默認開啟下劃線轉(zhuǎn)駝峰。如果使用原生 MyBatis需要確保 resultMap 字段正確或者開啟對應配置。7. 從“能跑”到“好用”批量導入、日志和部署思路7.1 批量導入流水數(shù)據(jù)記賬系統(tǒng)一個人手動錄數(shù)據(jù)很麻煩。若想真正用起來可以加批量導入功能。批量導入需要設計一個模板文件模板字段建議包含日期、類型、分類、金額、備注。導入時讀取 Excel 文件在 Service 中逐行處理。此時最容易踩的坑不是解析代碼而是臟數(shù)據(jù)處理日期格式是不是標準。金額是不是負數(shù)。分類名稱是否和當前用戶已有分類匹配。類型值是否只寫了“收入/支出”。更穩(wěn)的方式是先讓用戶選擇導入分類映射如果發(fā)現(xiàn)某幾行格式錯誤不要整體失敗可以返回錯誤明細{ successCount: 99, failCount: 1, failRows: [ { row: 15, message: 金額格式不正確 } ] }這樣用戶才知道哪一行需要修改而不是點擊導入后只看到“失敗”兩個字。7.2 觀察日志和慢 SQL本地開發(fā)時日志主要用來排查報錯。SpringBoot3 默認日志輸出足夠日常使用出現(xiàn)問題先看控制臺異常的第一行 Caused by 部分不要只看頂部的異常描述。如果是統(tǒng)計接口變慢優(yōu)先確認數(shù)據(jù)庫里是否執(zhí)行了全表掃描。測試方法很簡單在 MySQL 里用 EXPLAIN 查看執(zhí)行計劃觀察 rows 行數(shù)是否過大。EXPLAIN SELECT * FROM biz_transaction WHERE user_id 1 AND transaction_date BETWEEN 2025-06-01 AND 2025-06-30;如果 type 是 ALL說明沒用索引應該檢查是否建立了以 user_id 和 transaction_date 為前綴的索引。7.3 生產(chǎn)環(huán)境部署方案個人項目部署并不復雜核心目的是讓人能穩(wěn)定訪問后端和前端。后端打 jar 包方式mvn clean package -DskipTests java -jar target/finance-server.jar前端打包npm run build打包后默認生成 dist 目錄里面是靜態(tài)文件。Nginx 配置中把 dist 目錄作為網(wǎng)站根目錄并把 /api 請求代理到后端服務server { listen 80; server_name finance.example.com; location / { root /var/www/finance-web/dist; try_files $uri $uri/ /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; } }try_files 的作用是讓 Vue Router 的前端 history 模式路由刷新時不返回 404。比如直接訪問 /transactionsNginx 會重新指向 index.html由前端接管路由。后端如果部署在服務器上不要用 root 權(quán)限跑業(yè)務應用建議單獨建一個運行用戶。MySQL 數(shù)據(jù)庫需要及時備份個人系統(tǒng)至少可以每天備份一次mysqldump -u root -p finance_db finance_db_$(date %F).sql要加定時任務時注意運行環(huán)境的變量是否完整比如 mysqldump 的路徑可能不在普通用戶 PATH 中。8. 回顧一下整套流程我認為最值得先做穩(wěn)的是這三件事第一件先把最小的端到端鏈路跑通。也就是登錄后能新增一條支出記錄并能按月查出來。這個鏈路一旦通了后面加圖表、加預算、加分類都只是在這個穩(wěn)定結(jié)構(gòu)上追加。第二件把接口權(quán)限和數(shù)據(jù)權(quán)限想清楚。個人系統(tǒng)雖然使用者少但接口必須是“當前登錄用戶只能看到當前登錄用戶的數(shù)據(jù)”。這個設計如果放在后期再補會牽一發(fā)而動全身。比如統(tǒng)計接口一開始沒有按 user_id 過濾等數(shù)據(jù)量多了再補就會發(fā)現(xiàn)舊數(shù)據(jù)混亂還得清理。第三件把日志和錯誤信息留好。開發(fā)期間多打印必要參數(shù)比如新增流水時打印 userId、amount、type排查問題時你才能判斷是前端傳參不對還是后端邏輯有誤。日志不是浪費是在問題發(fā)生時能省最多時間的工具。就實際使用感受來說這套個人財務管理系統(tǒng)用 JAVA SpringBoot3 Vue.js3 MySQL 實現(xiàn)難度并不在于某個單獨的功能有多復雜而在于把你學的后端接口、前端交互、數(shù)據(jù)庫設計粘合成一個完整產(chǎn)品。建議先按最小表結(jié)構(gòu)和最少頁面做完第一版跑通之后再逐步加入統(tǒng)計圖表、批量導入、預算預警這些增強功能。只要數(shù)據(jù)庫設計不出現(xiàn)金額精度和歸屬字段缺失這種基礎問題后端接口保持統(tǒng)一返回結(jié)構(gòu)前端把 token 和跨域處理好這個系統(tǒng)就能穩(wěn)定運行后續(xù)繼續(xù)擴展也很自然。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久免费高清中文视频| 99这里有精品| 97高清啪啪| 久久原创中文| 国产原创自拍| 18禁精品网站在线看| 亚洲国产剧情少妇激情| 久久人人舔人人爽舔人人av片| 青青操日韩| 超碰亚洲97| 国产绿奴视频在线观看| 亚洲在线综合| 久久久国产三级黄色片| 亚洲熟女精品| 色婷五月天| 国产精品嫩草影院午夜两性| 久久69| 日本999精品| 亚洲av影院在线观看| 91色色网站| 亚瑟国产精品久久无码| 91国产操逼视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 久久9999 | 久久综合婷婷| 国产精品无码论坛| 国产综合永久精品日韩鬼片| 性色av蜜臀av色欲aV| 91狠狠综合| 啊啊啊好大好深| 97视频在线免费| 亚洲色入欧美| 日本不卡码黄色| 91欧美| 污啪啪啪视频| 色哟哟AⅤ| 国产麻豆91欧美一区二区久久婷婷国产精品| 国产av高清版| 丝袜美腿91| 亚州欧美综合| 亚州久久9| 999在线电影香蕉| 唐山老熟妇露脸啪啪叫| 国产亚洲女v在线观看| 啊啊啊啊啊啊啊啊视频| 国产绿奴视频在线观看| 亚洲?V无码专区在线电影| 日韩三级伊人| 91人妻人人澡人人爽人人精品| 亚洲综合嫩| 香蕉99秘 一区精品蜜桃臀| 欧美性性性| 本道综合精品| 69视频入口| 91精品国产91久久青草| 免费岛国一级片| 欧美18老人禁| 欧美性爱无码一区二区三区| 亚洲偷拍自拍在线视频| 91超碰人人| 操我啊啊啊啊啊| 青青草在线视频人人想人人上| 欧美毛片在线网| 亚洲精品丝袜| 999 久久久| 欧美亚洲综合999| 啊啊啊慢点| 久久线上视频免费看| 色欧美综合| 国产精品午夜AV完会免费 | 少妇专区一二三四五| 好看的久久不射无码影视影院| 自拍第一页| 玖玖久久久| www.av家庭乱伦| 日韩av不卡在线看| 五月黑AⅤ| 一区二区三区四区在线不卡| 成人怡红院| 国产成人自拍视频视频| 色播五月婷婷| 97视频在| 韩国三级一线观看久| 日韩免费高清大片在线| 免费黄色片子| 亚洲春色欧美| 久久美女国产| 国产原创精品| 婷婷九月国产| 日本三级一区二区 在线| 久热99| 青青草原狼av| 国产精品久久蜜乳av| 日韩有码 一区二区三区| HEYZO高无码国产精品227| 国模限制级电影| 九一国产精品| 亚洲欧美精品福利在线| av72网| 蜜臀99久久精品久久久懂爱| 伊人久久艹| 99RE在线视频精品,这里只有精品| 久操视频在线| 黄片aaaaa一区| 91neishe| 亚洲涩图欧美| 超碰免费人妻人人| 超碰成人免费| 国产视频一区二区在线观看| 国产久9| 大学生口爆吞精| 欧美淫穴| 俞拍久久国应视频| 五月天婷婷色色| 激情综合网一盗摄| 无码日韩人妻av一| 91麻豆一二三区| 亚洲日韩精品一区二区| 中亚av| 无套后入双马尾| 亚洲欧美自拍偷拍| 磁力99AV| 亚洲成人性| 国产a级精品| 男人天堂2017| 97天天摸天天碰| 超碰97国产欧美| 日韩成人精品中文字幕| 果冻传媒A片麻豆熟妇人妻| 岛国毛片手机在线观看| 色www精品视频在线观看| 三级精品三级在线观看| 欧美情色男人的天堂| 国产视频人人网| 91精品成人www| 亚洲成人贴图| 98一区二区精品| 超碰九九| 亚洲国产精品久久久久婷婷青年| 午夜性生活av免费在线看| 精品久久99| 91精品国产91久久福利| 亚州色图欧美| 欧美亚洲日本视频久久久| 97免费视频在线观看视频| 澳门黄片一香蕉视频| 日韩人妻网站| 色丁香久久| 九九九九九九精品| 亚洲AV无码久久久国产精品| 日本免费一区二区不卡| 操人无码| 超碰97人妻免费在线| 97超碰逼| 91呆哥人妻| 日韩精品一二三| 亚洲美女精品| 国内亚洲精彩视频在线| 怡春院久久| 色播综合| 国产精品亚洲一级av第二区| 少妇高潮九九九九九九九| 91亚洲人电影| 激情AV| 欧亚无码视频| 玖日综合网| 日本色色的视频| 亚洲综合情色| 天天干2019| 成人三一级一片aaa| 天天综合网~91| 色婷婷淫色网| 久久男人的天堂国产| 翔田千里无码中出中文字幕| 91 亚欧| 98人妻精品一区二区色欲| 亚洲91综合| 亚洲AV无码AV吞精久久久久| 东京太热久久久| 国产91亚洲精品一区二区三区| 91精品久久久久久77777| 97国产人人| 九九九九九九九| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 日韩在线观看中文字幕视频| 花花AV导航| 亚洲和欧美裸体美女双飞视频| 中文字幕亚洲在线一区| 日韩性爱1级片视频| 新91视频.cmp| 美女网站黄页| 噜噜噜亚洲精品| 98一区二区精品| 在线中文字幕极品av| 日韩无码极品| 日韩在线电影| 97超碰欧美精品| 啊啊啊啊啊啊啊啊啊啊在线观看| 欧美天天谢综合网| 狠狠中文字幕| 一区二区三区日韩欧美| 久久久久久亚洲精品中文字幕人妻| 爱av免费| 自拍大香蕉乱插| 99老司机精品视频在线观看| 嫩呦国产一区二区三区AV| 青青草国产欧美非洲黑人| 91久热| 黄呦呦在线| 欧美性区| 传媒免费一区二区三区| 国产白丝在线| 久久九操在线观看| 久久久久久99999国产精品| 97玖玖人妻| 亚洲欧洲视频小说在线观看| 强奸少妇AV导航网| 伊人久久国产免费观看视频| 欧美熟女激情| 综合av影片| 78久久久| 破处bbq| 人妻激情在线视频| 欧美另类天堂| 国产久久久| 日本成人在线不卡一区二区三区 | 九九色精品| 欧美99热| 福利风月五月天影院| 99久久com免费视频′| www.狠狠干.coom| 看日韩美女二区三区免费操逼视频| 日韩av在线播放不卡| 啪啪资源网| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美性爱www免费版| 国产一区二区三区导航| 日本东京热大香蕉a片| 免费一级视频特黄色大片| 人人操人人狠狠操| 少妇滛荡视频| 亚洲天堂女优在线| 99九九久久| 蜜臀av中文字幕| 色原狠狠天天天| 国产自产22区| 成人五月天丁香激情综合| 乱伦熟妇一区二区| 黄片www.| 九九久久久久久爱| 羞答答AV中文字| 东京热,男人的天堂| 国产精品视频在线观看| 国产精品久久久久久久AV大片 | heyZO天然素人无码AⅤ专区| 丁香六月激情| 男人的天堂2018东京热啪啪啪| 亚洲色图 欧美热图 清纯唯美 另类自拍| 熟女天天干| 激情婷婷丁香| 成年人网站在线免费观看| 97欧美性爱| 黄网在线播放| 精品久久大胆人体| 国产自制av蜜乳| 91爆操视频| 屌色在线97视频| 色五月天AV| 清纯唯美亚洲另类| 午夜福利激情在线视频| 黄色一级视| 色婷婷成人综合| 91美女视频。| h4610国产人妻| 五月天色五月| 国产高清在线自在拍69| 日韩综合无码色欲vv| 久久五月视频| 97草草| 74成人在线| 99精品网| 夜夜操夜夜高潮夜夜爽国产精品区| 男人的天堂视频精品乱在线| 中日韩欧美精品无码AⅤ一区二区| 国产精品一二三区福利| 加勒比无码毛片| 亚洲啪AⅤ永久无码| 久操大香蕉手机视频在线看| 婷婷久久久精品| 人妻一区二区三区视频| 91男女啊啊啊| 亚洲少妇视频| 看一级黄色视频| 91黑丝美女| 大茄子熟女AV导航| 抽插无码高清一区| 嗯嗯啊啊啊啊轻点视频| 中文字幕国产| 欧亚成人在线视频| 精品国产嫩穴视频| 九九九九精| 十八禁视频网站| 久久久久亚洲一区女同性恋中文字幕| 97无码视频在线播放| 国产按摩一区二区三区| 青青草公开在线免费不卡视频| 九月丁香综合网| baiduhicn.com。| 乱伦熟女论坛| 久插不卡| 国产精品探花视频| 超碰综合97在线| 大香蕉www.超碰| 国产污视频麻豆传媒一区二区| 91精品国产91久久福利| 青青草精品| 亚洲乱色熟女一区| 天天射夜夜| 欧美顶级黄色大片免费| 国产乱不卡| 久久久亚洲高清不打码| 久久人妻一区二区三区高清| 静品嫩模一区二区| 亚洲图片第一页| 亚州色交| 国产精品亚洲天堂网址| 久久久国产护士丝袜美腿一| 中文字幕在线免费观看视频| 91性片| 国内三级自拍小视频在线观看| 久久久男人的天堂| 九九无码| 秋霞一集毛片观看| 色九九九九九九| 婷色五月| 少妇一区二区三区精选| 日韩淫色网| 大香蕉久| 超碰日韩人妻| 日韩色图 一区二区| 五月丁香成人网| 欧美偷偷网| 婷婷五月天小说| A一区片| 国产AB视频| 激情六月天| 岛国A V在线免费看| 2019午夜福利视频| 国产原创精品| AV大香蕉| 国产精品宅男免费| 人人妻碰人人免费| 91亚洲图片| 素颜老阿姨乱情色| 99国产人成精品| 欧美探花网| 91麻豆天美国产欧美高潮| 日本一级二级三级网站| 9Ⅰ超碰| 日韩不卡码| 天天日天天舔天天喷天天射| 岛国视频一二三区| 中文字幕后石码三区四区| 亚洲天堂电影网| 亚洲一区日韩| 日韩不卡在线一区二区| 国产精品一区二区手机看片| 91成人精品| 亚洲污污网站| 亚洲淫乱骚妇AV| 超碰久久中文| 人妻在线中出视频| 偷窥自拍亚洲色图| 国产怡红院| 亚洲一区深夜| 骚逼高潮久久精品| 日韩啪啪网| 亚洲高清无码在线桃色| 欧美日韩m| 日本中文字幕在线视频| 六月丁香久久| 精品亚洲国产成人AV制服丝袜| 牛牛操视频逼| 美国黄片aaa| 国内毛片热久久思思热| 男女一进一出视频久久| 国产精品美女久久久久久网站| 日韩精品一区二区人人人| 亚洲欧美啪啪| 久久黄黄黄| 国产91丝袜 在线播放| 欧洲自拍第一页| 性欧美第一页| 亚洲男人在线观看天堂| 99中文字幕| 免费操逼91| 国产精品黑人一区二区三区| 超碰无码加勒比| 欧美日韩亚洲一区二区在线观看| 18禁中文字幕| 日韩免费看黄片| 曰韩av中文字幕专区| 狠狠综合网| 人妻啊啊人妻啊啊| 人人搡人人肉久久精品| 国产欧美日产一区二区三区 - 国产欧美日 | 秋霞无码av鲁丝片一区| www九九热| 超碰在线91| 蜜臀av一区二区三区免费观看| 丁香激情五月天| 在线 制服丝袜中出 人妻| 久操B网| 97久久免费| 999九九精品| 天天影视91看看| 操东北女人| 午夜AV人气不卡| 无码视频黄色网战| 四虎影视在线| 2020天天色综合| 国产福利精品98视频| 国产成人自拍视频视频| 国模精品娜娜一二三区| 少妇被玩视频二三区| 日韩淫色网| 狠日欧美| 中文字幕性感少妇av| 偷窥自拍亚洲色图| 人妻少妇久久| 久久久久久69国产一区二区| 色蜜AV| 97超碰总站| 成·人免费午夜在线观看| 国产av又色又爽又黄| 五月婷婷色| 日韩欧美中文字| 91另类| 熟女人妻一区二区三区| 免费看污网址| 91在线视频国产网站| 乱伦av.com| 欧美色图亚洲特色| 欧美亚洲首页| 国产伦精品一区二区三区在线观| 国产一国产一级毛片古装| 亚洲成人无码影院| 久久免费看高潮毛片韩国| 青青草原伊人网| 91人妻中文| 熟女一区二区| 呦呦一区| 91久久精品国产| 亚洲伊人青青草| 美国一区二区三区视频| 国产精品久久久蜜臀| 久操电影| 日韩97视频!在线| 91丝袜| 伊人久久婷婷| 99热精品在线观看| 免费毛片在线播放| 久久久久久99999国产精品| 凹凸视频在线观看伊人| 91高跟美女在线播放| 99久久国产精品免费高潮| 亚洲色图大香| 日本精品五区| 久久本道| 黄色成人网久久久久久| 天天操天天射青青草| 超碰在线一区二区三区| 亚洲欧美精品一区天堂久久 | 99青草| 国产精品美女| 动漫片子网站3黄| 黑人免费福利视频| 婷婷激情一区二区三区俺也去| 97干在线| 5252色欧美在线| 乱伦一二三区| 亚洲综合情色| 97福利视频| 日本媚薬中文字幕在线| 欧美黑人猛交春色影视大全| 激情天天视频| 夜精品久无码| www九九热| 亚洲色人阁| 五月天春色激情网| 国产一级特黄大片处女| 我想要啊 啊 啊| 国产 码在线成人网站| 国产一区在线看| 久久久久久久久久久久久9999| 豆花视频操逼网址| 欧美激情亚洲情色| 国产高清1234区| 国产福利视频精品视频| 蜜臀99久久精品久久久久久| 99999精品视频| 日日噜噜夜夜狠狠视频无| 亚洲情色综合网| 玖玖综合.com| 日本欧美一区二区三区视频麻豆| 后入福利| 色老汉色| 久久久久国产一区二| 国产综合久久久麻桃个| 久操在97| 最新欧美色网| 国产 热久久久久国产精品| 国产精品午夜福利| 色www精品视频在线观看| 999岛国大片| 一级性爱视频免费在线| 国产精品一区在线播放| 吉川爱美98堂在线| www超碰| 亚洲精品国产日韩无码AV永久免 | 激情专区综合| 精品中文字幕第一页| 天天欲望网| 粉嫩小泬久久久一区二区| av大香蕉| 国产一级不卡在线观看| 欧美午夜色妇色鬼| 亚洲欧洲综合av在线| 另类小说欧美激情校园春色| 欧美91久久久久| 7月婷婷综合| 凹凸视频特色日本特黄| 亚洲国产91精品一区二区久久| 欲香欲色综合天天伊人| 国产又长又大又粗的视频| 91亚州欧美| baisiav| 久草视频分类在线| 色综合网1| 99re公开精品免费视频| 国产精品盗摄 偷窥盗摄| 78操B| 熟妇一区,二区,三区。| 色老久久| 久久噜| 亚洲激情色片| 欧美白嫩女HD| 天堂麻豆天美| 亚洲色性情三级| 97亚洲性爱| 97电影院超碰| 色老汉玖玖爱| 色妹子A V| 9久超碰| 日韩一区二区精品视频| 婷婷五月天激情网| 婷婷激情四射| 大香樵伊人网| 久久极品一区二区| 麻豆天美久久91| 性爱动态120秒| 激情五月天婷婷| www99热| 发朗少妇买婬全视频中文| 大香蕉婷婷| 日韩人妻资源在线看| 丁香六月啪啪| 骚货| 久草婷婷| 九九九九九九九九九九九蜜桃| 风月影院男女十八禁| 精品美女人人干| 久久久久久人| 99re这里只有精品9| 女人天堂av在线播放| av亚欧| 成人一道本免费视频| 日本人妻中文字幕| 91在线精品| 色婷婷电影网| 强上我不卡卡| 亚洲高清男人天堂| 欧美92| 国产午夜在线观看| 懂色天天爱天天日天天射天天澡| 免费综合亚洲中文| 电影69乱码96| 亚洲激情色片| 成人无码欧美一级A片狼牙直播| 国产综合久久久麻桃个| 国产狂喷潮在线精品| 日韩欧美大力操| 欧美日韩国产另类综合| 亚洲中文字幕av| 91在线限制级| 色综合色| 又大又黄国产| 亚洲系列欧美| 偷拍盗拍亚洲色图图片| 国产一区自拍欧美日韩| 99爱爱| 国产精品熟女AV中文字幕在线播放| 国产白丝在线| 麻豆AV一区二区天美传媒| 欧日韩不卡视.频| 人妻激情另类| 高精欧美色| 中文字幕二区日韩天堂| 国产又黄又粗又猛大片| 啊啊啊要高潮了| 超碰人人干| 午夜精品久久久| 99国产精品免费| 夜夜影视四色| 97国产超碰| 熟女欧美日韩综合婷婷| 3p国产色噜噜一区| 欧美色性情| 96免费视频在线| 久久久 国产精品| 国产精品白丝| 亚洲污污网站| 亚洲 综合 欧美| 国产高清精品一区二区三区毛片| 99热精品在线观看| 你草精品在线视频| 色综合尤物| 国产精品第一区第一页| 日日躁狠狠躁天天躁精品| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲性爱电影| 日产精品久久久一区二区| 国产精品久久久亚洲一区| 黄色电影在线播放综合网站| 日韩天天综合| 午夜欧美神马久久久久| 日本色色色| 国产精品爱欲| 青青久久艹| 久操视频免费观看| 四虎AV无码| 久久99亚洲精品久久99果| 日韩无码视频黄色| 99少妇| 色偷偷色偷偷欧美日韩| 中亚av| 久久99午夜精品一区人妻| 欧美成人免费在线观看| 日韩欧美三级| 亚洲综合校园春色| 超碰色中文| 920日本午夜免费| 成人免费福利在线观看| 欧美精品23| 精品少妇999| 可乐操亚洲蜜911| 色踪合AV| 蘋果手機免費看成人Av| 麻豆性爱视频在线播放| 神马久久久久眼| 91精品黄在线观看| 亚州AV无码国产精品| 无码 黑人一区二区三区| 欧美天天弄| 97K超碰在线| 午夜福利 成人 91| 午夜精品久久久久久久99| 加勒比日本在线| 97欧美精品综合| 日韩情色视频| 亚州情色j区| 91视频国品一二三区| 婷色五月| 婷婷五月天网| 超碰人妻在线| 久久XX| 九九久久99| 2020国产精品| 91操人| 性爱综合网| 一区二区日韩欧美久久| av大香蕉| 欧美日韩m| 北京专精特新企业招聘信息| 色月天AV导航| 蜜臀人妻少妇久久在线观看| 中文字幕乱碼在线| 亚洲 欧美 日本 国内 首页| 加勒比性爱成人在线| 欧美在线|亚洲| 久久人妻一区二区三区高清| 性欧美第一页| 欧美综合综合| 亚洲丝袜诱惑| 麻豆国产精品午夜视频| 岛国片在线视频网站| 国产日韩在线播放av| 美女写真| 中文字幕在线高清男人的天堂| 久久激情综合| 青青草九九九九九| 婷婷五月天久久精品视频一区二区三区 | 九九九九热| 国产午夜福利专区综合| 国产福利在线视频网站| 一起草精品人妻| 深夜啪啪啪视频免费| 好爽,再快点啊哈嗯嗯嗯嗯| 中文字幕人妻色偷偷久久皮| 中文字幕免费看| 日韩大香蕉AV影片| A级片日韩欧美国产欧美视频精选观看 | 日韩精品9区| 激情婷婷黑人91| 操逼操2| 日韩久久.一级黄色片| 2024人人操人人摸| 男人天堂站| 久久夜精品一区二区三区| 91N综合网| 自拍偷拍 日韩欧美| 留下AⅤ黄色片| 91在线|亚| 超碰97欧美日韩| 中文字幕在线免费观看 | 天天噜| 午夜亚洲国产理论秋霞| 六月婷婷综合| 99热在线不卡| 九七超碰人人乐| 亚洲人成网站7777| 国产又操| 乱码熟妇人妻久久久| chaopen97久久| 啪啪性爱免费视频| 国内精品伊人久久久久影院会| 美腿色图| 欧美丝袜亚洲| 国产女人高潮嗷嗷嗷叫小说| 人妻熟女字幕一区二区| 伊人少妇久久久| 国产成人亚洲精品无| 國產尤物AV尤物在線觀看| 久久9亚洲| 97中文综合| 天天操夜夜嗨| 精品免费1| 99久草| 激情综合二| 一区二区三区四区五区高清无码永久视频 | 玖玖97综合| 久久风骚城市| 夜夜操青青草| 欧美日韩资源在线| 97国产精品一区二区传媒公司| 欧美大香蕉同搞| 蜜臀在线免费观看在线免费观看| 天天综合色图| 成人综合久久精品色婷婷| 久久婷婷欧美| 强奸乱伦免费网站| AV天堂电影网| 国内外内射高清视频| 久久香蕉影院| 大干人妻| 日韩一级免费性爱| 久久精品视| 精品国产91av一区二区三区 | 91九色在线| 啊啊啊在线看| 国产乱码精品一区二区三区四川| 欧美A√综合网| 97色伦97色伦国产欧美| 香一区二区三区| 精品熟女呻吟久久91| 色综合色| 91精品91久久久中77777| 国产激情综合五月久久| 东北女人高潮视频| 狠狠穞A片一區二區三區| 国产精品伦理| 五月婷婷六月丁香| 玖玖久久久| 久碰视频| 中文字幕乱亚洲美女精品一区| 久久婷婷五月天| 美女网站91| 69超碰综合| 亚洲色天| 97久久超碰国产网站| 欧美A片中文字幕| 1204av韩国| 中文字幕一区二区韩| 精品视频久久区| 久久久久国产精品片区无码直播| 精品少妇人妻一区二区三区| 成片免费观看视频大全| 亚洲欧美伦综合| AV天堂丝袜| 翔田千里爆乳巨臀无码| 国产精品高潮久久AV| 福利社区午夜一区二区| 加勒比色综合| 99视频只有精品| 亚洲自拍偷拍视频在线| 91美女在线视频| 日韩午夜精品一区二区三区电影| 女上位精品在线| 婷婷五月色| yw尤物av无码点击进入麻豆| 330Dv国产女人终合视频极品人与兽| 精品午夜福利国产一区二区在线观看| 亚洲精品久久一区二区三区蜜桃臀| 欧亚在线视频| 亚洲 暴爽 AV人人爽日日碰| 91九九九小逼| 免费A V在线| 蜜桃狠狠色伊人亚洲综合网站| 超碰97玖玖爱| 日本亚洲熟女视频| 91久久久久久久久18| 东北女人的毛片| 一区二区三区视频在线观看免费| 外国免费性情大片| 亚洲永久永久永久永久一级一级一级精品| 美国人人操人人操| 久草看看看| 99天天超碰| 蜜乳av首页| 搡老熟女免费视频| 夜夜高潮夜夜爽国产伦精品| 99re6久热只有精品6在线直播| 国产女人和拘做爰视频 | 亚洲视频,小说| 丁香五月激情综合国产| 欧美国产精品久久九九| 国产高清在线自在拍69| 91国产丝袜足交精品视频| 日本Xx性爱| 国产精品人妻无码久久久互動交流 | 欧美成人色| 色墦五月丁香| 中文色综合| 日本不卡在线二区三区| 美女丝袜激情小说| www.欧精品| 999国产精品999| 懂色中文一区二区三区| 欧在线一二区| 自拍第一页| 另类 综合 日韩 欧美 亚洲| 夜夜操天| 激情看片网站| 少妇3P性爱自拍| 精品人妻中文字幕高清| 亚洲色图欧美色18直播在线| 男人天堂 天天射| 亚洲另类色图片| 99re9在线| 91九色在线| 丁香六月东京热| 豆花视频操逼网址| 久久78| 国产精品久久久久久久久久久久久久| 台湾佬中文娱乐网久久久久久久久久com| 亚洲AV资源| 欧美男女午夜啪啪| 天天日天天舔| AV中文在线| 欧美黄片视频在线观看免费 | 亚洲黄片免费在线播放| 国产精品欧美在线观看| 超碰97综合网| 亚洲综人| 亚洲交换| 国产丝袜高跟美女av免费观看| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 91第一页| 自拍六区| 91中文字幕制服丝袜免费视频| 蜜汁欧美| 情色大香蕉| 大香蕉中文网| 亚洲男人在线观看天堂| 超碰久超碰久| 上床啊啊啊| 美女久久久久久久久久久| 嗯嗯啊啊啊好爽| 91欧美网| 91亚洲网| 国产精品美女久久久久久网站| 尤物网站91| 国产91影院| 超碰精品日韩欧美国产| 亚洲AV无码乱码| 又粗又长又爽在线观看| 国产精品黄色三级av| 手机在线视频国内精品| 日本国产高清色www视频在线| 中文一区在线视频| 亚洲aV无码成人在线观看| 亚洲天堂 视频你懂的| 婷婷五月色| 天天影视综合网欧美精品| 麻豆av一区二区三区| 欧美精品偷拍| 欧美最大综合网| 蜜桃传媒视频第一区入口在线看| 天天欧美| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 91在线丝袜视频| 国产精品电影推荐| 九九九国产精品| 中出欧美| 777琪琪午夜免费A片| 色综合久久88色综合久久天天| 岛国精品视频在线观看| 爱射综合| 欧美A√综合网| 好色美女九七第一页| 国产熟女无套内射| 大象AV在线| 久久九九视频九九视频| 91碰碰| 欧美老妇女内射网址| 国产精品3| 亚洲牲交| 中国少妇XXXX做受| 午夜丁香婷婷| 欧美色66| 欧美亚洲清纯| 日韩肏逼视频| 亚洲二区精品在线观看| 久久久999日本大片| 2017大香蕉国产精品久久| 中文字幕黄色一起草| 免费久久一级毛片大黄| 欧美v亚洲v日韩v最新在线二区| 后入 亚洲 美女 射| 欧美综合网1| 欧美 亚洲 第一页 | 中文?日韩?免费?精品| 人妻日日干| av操操不卡| av橘色网站| 国内精品久久人妻性色av| 色五月综合网| 性性久久| 日韩在线国产字幕| 成人av动漫在线观看| 一区二区精品更新提醒| 极品少妇久久久久| www亚洲免费| 狠狠 91| 在线电影亚洲色图| 久久午夜鲁丝片| 激情文学网伊人| 蜜桃臀一区二区aV| 日本性交操一区二区不卡系列| 九九亚洲视频| 亚洲天天精品| 久久久精品中文字幕爱豆| 亚洲激情综合| AV色图| 日韩中文字幕视频| 熟女啪啪视频| 国产精品日日摸天天碰| 93人人操人人| 99综合自拍| 熟妇熟女一区二区三区| 99久久99九九99九九九| 青青草玖玖爱| 亚洲精品乱码线路中文字幕| 老鸭窝亚洲毛片| 欧美亚洲首页| 日韩一级片在线看| 69久久久久久久久久久久久| 家庭乱伦国产精品| 伊色综合天堂色97| 女生看匆91网站| 中文字幕日本久久| 中文字幕欧美日本乱码一线二线| 亚洲h片在线免费观看| 国产精品熟女AV中文字幕在线播放| 国产白丝网站| 99综合网| 欧美se综合| 五月婷婷激情| 中文字幕乱妇免费视频| 岛园激情| 日日AAvv| 97人人超| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 超踫中文字幕| 日韩猛交| 91超碰人人| 91社区伊人| 九一综合精品视品av| 中文字幕人妻资源在线| 九九九久千久久激情蜜桃在线看 | 风间由美日韩欧美久久| 精品少妇一区二区三区在线视频| 91男女| 亚洲操人| 日本女人久久久| 色综合一区二区三巨| 九九九精品| 亚洲人在线成线成人| 夜夜草天天| 日日夜夜青青草母狗| 国产精品久久久无码AV网站| 四虎影视永久在线观看精品免费网站| 婷婷丁香五月天综合东京热| 人妻少妇久久| www.色综合| 天美传媒精品一区二区| 91色图片| 日韩无码黄色片| 久久久一二三四区| 欧美精品四区| 高清无码久操视频| 99精品久久久久久| 免费啪啪啪网站18岁| 久9精品| 欧美一二在线| 国产 无码 一区二区| 91模特在线观看| 天天综合91在线| 免费国产电影一区二区| 啊啊啊不要嗯嗯在线观看| 再深点灬舒服灬太大了好硬好爽| www.91视频网| 亚洲色图20p| 97欧美性爱| 欧美日韩中文字幕人妻| 国产农村妇女精品一二区| 免费作爱一级视频| 久热最新在线杭州| 美国久久一二三四| 国产伦精品一区二区三区在线观| 精品九九九| 91色堂| 久悠悠av| 国产97视频免费观看| 综合网 欧美| 日日夜夜模| 久久99热这里只频精品6学生| 国产成人 综合亚洲 天堂| 死我十八禁| 国产久久久9999| 五月天婷精品激情| 欧美精品宗合| 亚洲第一男人天堂| 伊人大香蕉在线| 精品国产www久久| 中国AAAAAA黄色片| 欧美色图自拍| 九九九九日本 | 日韩精品中文字幕二区| 三男一女不戴套的A片| 97在线/亚洲| 撸撸成人在线视频| 欧美九9 9 9| 亚洲一卡2卡3卡4卡乱码网站| 91狠狠| 熟女91网站| 国产诱惑| 极品粉嫩少妇视频| 日韩一级二级| 久久久精品成人国产| 精品国产91av一区二区三区| 天天日天天干少妇日| 亚洲AV在线资源| 美女淫穴| 98色网| 爱我干综合| 日韩色| 久热在线精品免费观看| 色婷婷一区二区三区久久| 乱操9999| 国产乱码精品久久久久久| 99久久com免费视频′| 亚洲色诱惑| 中国一区二区亚洲人妻| 偷拍亚洲熟女视频播放| 日韩成人无码| 东北熟女91| 欧美性爱一区二区三区| 亚洲色图第四色| 久久同城AV| 蜜臀99999| 96精品久久久久中文字幕| 久久草草欧美精品| 91啪啪视频| 色婷婷九月| 婷婷AV一区二区三区| 久久无码电影| 伊人久久在线视频观看| 久久久亚洲Av| 99久久精品无码一区二区毛片免费| 婷婷超| 富女玩鸭子一级毛片| 久久色网| 精品免费视频国产一区| 欧美一二三| 大香蕉综合网| 夜夜嗨视频| 九九九热| 黄色视频高清无码网站| 视频一区二区免费在线| 色欲天天综合久久久无码网中文| 天天综合网在线观看| 亚洲色婷婷久久久综合日本 | 美女91色黄18| 天天操天天7| 日韩特一级久久| 久久蜜桃一区二区| 九九热精品| 天美91| 亚洲自拍偷拍视频在线| 中文字幕第9页萱萱影音先锋| 免费久久一级毛片大黄| 欧美日韩另类在线播放| 久久国产性爱| 久久久久久久国产a∨| 欧美网站免费| 日本三级大片| 中文字幕一区 二区三四五 区日 日骚 | 欧美人体性爱互联网第一页婷婷日本| 97超碰欧美| 狠狠色噜噜狠狠狠狠2018| 日本免费中文字幕在线 | 日本潮催一卡操| 无码最新| 怡红院一区二区熟女人妻| 超碰人人在线| 91人妻超碰| 精品一久久久| www.acm成人黄色毛片| 人妻丝袜二区| 七月丁香婷婷| 91精品国产日韩欧美综合| 成人性爱高清视频免费看| 性一交一乱一交A片久久四色| 欧美亚性天堂| 欧美 日韩 另类 亚洲| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 性站 | 日韩ab网 | 校园春色 亚洲| 亚洲 欧美 精品专区 极品| 秋霞成人一级在线观看| 99久久婷婷国产综合| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 国产91av在线播放| 日本人人操人人操| 青青草密桃在线播放| 任你干在线视频| 久艹日日日| 51一区二区三区|