日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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| 欧日韩在线观看| HEYZO高无码国产精品227| 激情综合网五月婷婷| 伊人大香蕉在线| 激情人妻另类| 97精| 男女打扑克高清网站| 日韩钢筋无码高清啾啾啾| 十八禁电影伊人网| 国产精品日韩在线一区| 99色热| 婷婷丁香一区二区三区| 久久久一区二区三区三州| 激情五月天网站| 丝袜天堂网| 亚洲性爱免费电影| 欧美 综合| 神马麻豆福利院 | 国产suv一区二区三区6| 26uuu国产免费观看| yirendaxiangjiashipin| 91亚洲欧美激情| 国产自产一区视频在线| 伊人991| 综合 亚洲 欧美| 九九99精品视频在线观看| 99热这里只有精品1| 神马久久久久眼| 碰人碰碰人人开房人肉| 九九成人| 一级片视频啪啪| 日日摸日日碰夜夜爽视频| 国产熟女乱论| 热久久无毒不卡| 一级毛片久久久久久久女人18| 黑操B| 麻豆av一区二区| 黄片免费看黄片免费看| 亚洲图片欧美色| 三上制服丝AV| 午夜乱轮操逼视频免费看| 天天综合91在线| 欧洲特黄毛片免费看欧洲毛片| 偷窥自拍亚洲天堂网爆| 亚洲欧美97| 理论久久婷婷网 8| 久久五月天婷婷丁香中文字幕| 青青草伊人久久| 欧美强奸乱能| 91网站18| 中文字幕国产精品1区| 国产一区二区免费福利片| 色噜噜国产在线| 粉嫩av在线| 欧美一区二区三区日韩| 四虎av在线| 大香蕉婷婷| 中国一级αV| 天综合网欧美| 白嫩91在线亚洲| 国产最新小视频在线播放下载| 风骚少妇视频中文字幕| 操一区| 日韩操逼HD| 欧美一级黄色免费专区| 黄色大片一区二区密桃丝袜| 秋霞视频一区二区| 男人综合网| 亚洲 中文 女同| 国产女人与拘做受视频免费| 国产97亚洲| 日韩电影天堂视频二区三区| 人人乐大香蕉| 天天夜躁日日躁狠狠2002| 精品久久久久成人码免| 很黄很污的免费网站| 69少妇一区二区| 五十路三区在线| 91精品免费| 九九九九九九成人| julia在线观看久久| 无码在线亚洲| 午夜啪啪片| 国产午夜精品理论片a大结局| 91欧美综合在线| 中文字幕国产精品1区| 国产成人无码久久精品| 久久婷婷国产一区二区色| 国产乱伦搜索结果91P| 蜜屁Av| 91黑丝少妇| 国产精品电影| 日本色婷婷| 成人无遮挡毛片免费看| 欧美日韩中文字幕不卡| 老熟女区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 97久久超碰日韩精品| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 天天天乱色综合全| 久久天堂婷婷网| 亚洲欧美色图片| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 嗯嗯啊啊好大好爽| 免费草草草草草视频| 四虎影院成年人片| 国产18精品亚洲精品| 中文字幕亚洲热播人妻| 久久久久亚洲Aⅴ无码| 久久精品 六十路 熟女 欧美| 尤物视频视频官网| 九九九精品成人免费视频小说| 亚州性色| 国产亚洲日韩在线三区黑人| 俺去俺来也在线www| 自怕偷自怕亚洲精品| 国产女同视频在线播放| 久久亚洲AV无码专区首页| 91麻豆天美| 色九九久九九| 欧美激情内射| 乱伦AVxx| 激情五月丁香五月| 黄污污污污| 中文无码一二三区| 久久中文字幕女同性恋一区| 国产二区三区免费视频| 人妻中文字幕日韩电影| 午夜精品视频777| 午夜婷婷| 久久久99999久网站| 久妇网| 九九九久久久久| 日韩视频小说在线观看| 欧色网址| 日韩免费在线视频观看| 久久亚洲不卡| 成熟熟女国产精品一区二区| 日韩无码第3页| 欧美人与动性人交a| 逼逼逼逼操操操操操操操操操午夜剧场 | 人人摸人人舔一区二区| 欧美色图校园春色| 亚洲成人黄色在线观看| 思思热久久成人| 无码自拍SM| av天堂影视中文在字幕在线中文| 麻豆一区在线| 大香蕉之青青草原| 国产精品懂色tv影视免费观看| 欧美日韩黄片精品在线| 日本欧美国内在线| 99爱久久视频频| 欧美激情精品久久久| 啊v在线观看视频| 十八禁视频一区二区| 丁香五月激情综合国产| 欧美亚洲20p| 日本一久是| 四虎免费看黄| 国产 大胆 对白| 欧美传媒一区| 欧美性爱免费短视频| 中文字幕av亚洲在线| 上床啊啊啊| 久射吧| 欧美日韩在线视频网站| 免费A V在线| 久久成年精品| 神马麻豆福利院| 金莲网址| 中文字幕加勒比海高清无码免费视频 | 91挑色欧美| 亚洲欧美校园| 国产宅男宅女在线观看| 丰满翘臀美女影院视频| 男人天堂2019| 欧美一区二区传媒| 清纯唯美第一页| av无码av无码专区| 国产一区二区二区按摩精品啪视频| 麻豆区99999| 91无码人妻精品一区二区三区蜜桃 | 亚洲欧美首页| 女生自91网站| 欧美大香蕉久| 国产性感在线观看| 欧美精品宗合| 国产精品白虎| 另类图片天天影视| 久久伊人最新网址视频| 992这里有精品| 日本免费中文一区二区三区四区| 国产女同视频在线播放| 97超碰国产精品| 性高潮久久久| 国产一区二区三区精品观看啪| 在线情色电影 91大| 久久黄色视频一区二区三区| 亚洲天堂自拍| 自拍内地三级在线观看| 熟妇一区二区三区| 干我久操| 伊人 俄罗斯 a v| 亚洲av国产av综合av卡| 乱色老一区二区三区的观看方式| 国产AV无码AV| 欧美色91| 区日韩亚洲乱码av电影| 女沟厕偷窥piss小便| 夜夜操二区| 亚洲日韩青青草色月| 色色毛片| 青青草中日韩在线| 久9视频| 欧美一级二级三级| 1区2区3区在线视频| 97在线免费视频观看| 一二三啪啪专区| 欧美性爱18观看| 色大香蕉97N| 亚洲AV无线| 天天日骚逼熟女| 午夜免费福利视频一区| 91五十路| 亚州 综合 色图| 在线观看中文av字幕| 九九九只有精品| 开心五月婷婷| 无色无码| 亚洲色图图片| 综合97亚洲| 亚洲欧洲精品成人| 日韩性爱播放| 毛片一区二区| 欧美综合色综合| 18禁精品网站在线看| 深夜激情 | 日韩色欲久久一二三四区| 91在线国产后入风骚翘臀美女素人| 日本网色| 天天日天天干天天色| 熟妇激情| 大奶啊啊好爽| 国产a片操逼| 围产精品一区二区三区视频播放| 97天天操| 激情四射五月天| 九九亚洲| 久久一区二区三区入口| 欧美日韩大黄片| 狠狠躁伊人中文字幕| 淫淫综合网| 麻豆国产精品午夜视频| 超碰欧美在线欧美| 99999久久精| 蜜臀AV午夜精品久| 久久老女人| 天天cao在线| 女人天堂网| 亚洲色图a| 日韩av情韩国爱禁区av一区二区 | 精品超碰国产| 天天精品| 亚洲好色人妻| 中文字幕精品丝袜| 日韩性爱网址| 日本午夜福利影院| 国产精品网站免费| 天天操熟妇| 性欧美| 日韩欧美日韩| 色婷婷一区二区三区久久午夜| 天天谢天天干| 久久riav中文精品| 欧美亚洲日韩16色| 日本精品一区二区三区四区的功能| 欧美一区二区三区四区综合| 欧美视频在线第3页| 一级性爱视频免费在线| 久久婷婷亚洲| 亚洲久草AV色图| 中文字幕黄片在线| 欧美最婬乱婬爆婬性视频 | av一区二区三区四区| 精品久久視頻在线| 国产精品噜噜噜日日日| 婷婷香蕉| 性欧美999| 澳门特级毛片免费观看| 玖色av| 人妻人人做人人澡人人爽欧美一区| 一二三啪啪专区| 天天躁日日躁狠狠躁| 亚洲国产第一页综合视频| 啊啊啊啊好疼视频| 国产亲戚伦亲在线| 人妻天天爽夜夜爽2| 成人性爱美曰韩| 黄色片G G G| 约操熟妇| 一二三四区电影| 天天日B夜夜干B时时操B| 伊人精品国产| 日韩在线观看中文字幕视频| 欧美日韩欧美| 日韩精品高清资源在线| 国产亚洲性生活视频播放| 伊人久久大香蕉线AV五月天| 乱伦一区二区三区‘| 少妇第一页| 免费黄色A片| 蜜区区视频79 | 精品中文日韩字幕视频| 国产精选三级在线观看| 国产精品播放| 欧美在线伊人色| 国产传媒午夜理伦精品| 高颜值美女口爆高潮浪叫| 国产91美女高潮| 性色AV蜜色av色欲av| 日夜干射色啊| 亚洲第一页色| 成年人三级黄色片视频| 五月天AV资源| 亚射在线| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产伦精品免编号公布| 国产成年精品高清在线观看91| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 成人久久精品| 夜夜爽33333| 亚洲欧洲无码bt精品合集| 久久久久久国产手机AV| 青娱乐999| 色九九九九九九| 日韩啪啪啪啪啪| 乱操乱伦AV| 激情婷婷丁香网| 日本成a人v网站在线观看| 久久久久久中文版| 综合日本女人伊人| 免费看黄视频亚洲网站| 日本在线不卡一二区| 国产精品午夜AV完会免费| 天天干天天舔| 1区2区3区中文字幕日韩| 日韩成人无码| 成人 日韩欧美一区| 亚洲激情在线观看一区| 久久久久久久九九九九| 欧美另类天堂| 神马久久啊啊| 一区二区三区四区五区高清无码永久视频| 操一区| 亚洲自拍天堂| 日韩在线一区二区| 综合伊人网12色| 91激情国产| 久久色一区二区| 欧美第一页性| 激情五月综合网| 欧美性爱系列| 成人aⅴ一区二区三区| 久久的免费性爱视频| 色九色久| 青青久久艹| 肉丝中文无码高清| 青娱乐手机日韩在线视频| 青青草视频久久久久| 嗯嗯啊啊视频在线看| 蜜桃av综合网发布| 色婷婷香蕉| 成年女人18级毛片毛片免费观看| 久久久精品视频免费观看| 一二三四视频中文字幕在线看| 久草在线| 美女被啪到深处抽搐视频| 欧美碰碰综合色| 人妻熟女一区二区三区视频| 91宗合网| 夜色综合| 97色伦97色伦国产欧美| 中文操逼字幕| 一级岛国大片| 欧美性爱日韩性爱| 久久精品中文字幕无码l| 夜夜天天噜狠狠爱2021| 国产三级中文有码在线视频| 日韩无码黄色片| 中文字幕aⅴ在线视频| 日本性爱不卡视频| 大香交伊人网| 999综合色| 99re综合伊人| 麻豆 美女 丝袜 人妻 中文| 99re在线| 日韩无码操逼片| 在线岛国新天堂8| 中国大陆国产高清AⅤ毛片| 操操逼操操逼操操逼逼| 插欧洲美女欧美精品| 日本岛国黄色网址| 狠狠躁AV| 色777999综合| 性色AV网站| 午夜操逼不卡| A级国产欧美激情在线| 久久久91| 亚洲精品视频二区| 禁片 高清 在线观看视频网站| 天天流夜夜操| 久久超碰免费的| 黑人精品久久97| 久久色AV线| 久久久久久久97| 国产一区二区三区久久久精品| 亚洲av淫乱| 成人五月香网在线| 97伪v| 四虎影视精品| 日韩综合无码色欲vv| 丁香九月激情啪| 中文字幕一区二区三区蜜臀| 偷拍亚洲视频一区二区三区四区| 欧美视频一| 日韩一级成人毛片免费观看| 人人澡人人爽人人精品| 懂色av中文字幕一区二区三区天美| 狠狠躁伊人中文字幕| 午夜激情成人在线观看| 日本有码久久| 中文字幕午夜精品久久久| 女人天堂av在线播放| 日韩无码黄色片| 精品国产乱码久久久久久久久1| 美女AV一区二区| 成人无码欧美一级A片狼牙直播| 亚洲激情在线观看一区| 中文字幕日韩综合| 大香蕉日亚洲日本亚大| 强奸乱伦AV网站| 私色综合网| 好一吊区二区| 在线观看亚洲专区| 大香蕉欧美国产日韩高潮| 五月天亚洲色图| 天堂8在线新版官网| 神马久久久久久久久久| 国产在线综合网| 女人爽到高潮潮喷18禁网站| 在线小视频| 日本成熟少妇A∨网站| 九九在线视频| 大白逼三四级| 免费伦费视频在线观看| 青青草男人天堂| 亚洲婷婷综合网| ss久久| 97爱亚洲| 五月天精品| 少妇熟女视频一二三区| av天堂5| 欲色啪| 岛国视频免费在线观看| 欧美熟女丝袜| 东京热男人的天堂精品| 免费超碰97久久| 三级激情网站| 久久大香蕉手机高清| 日日日骚女人精品| 亚洲黄日韩无码专区| 伊人加勒比| 国产四虎在线| 综合欧美激情网| 性欧美999| 六月丁香久久| 欧美九九九| 激情丁香五月婷婷| 免费试看60秒| 中文字幕免费观看| 中文人妻av高清一区| 操死我了嗯嗯嗯| www..com操老师| 亚洲天天影视色综合| AV无码久久久精品| 丰满人妻一区二区三区免费| 国产精品一区二区三区在线密挑| 精品人成视频在线观看| 九九九九九用不成了| 久久久久国产精品喷潮免费观看臀| 极品出轨视频网站| 国产夜夜艹| 再深点灬舒服灬太大了添视频| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 婷婷丁香五月天综合东京热| 成人草草视频| 午夜久久一区二区无码中出| 家庭乱伦性爱av| 99精品无码| AV天天在线观看| 精品久久久久久AV无码| 亚洲做性| yirendaxiangjiashipin| 亚洲成人日韩小说| 大奶的诱惑| 婷婷五月天无码| 中文人妻av高清一区| 青青欧洲黑| 欧美国产婷婷久久| 四季AV综合网址| 思思热影视| 黑人猛交| 欧美激情黑人| 久久久精品电影| 97操综合| 超碰 另类 欧美 | 激情综合色| 97超碰磁| 蜜臀网 一区| 啊啊啊啊啊好大好舒服想要| www.久久爱| 在线综合 亚洲 欧美中文字幕| 亚洲天在线| 久草资源在线视频官方总站日韩丝袜美腿| 丁香色五月 97干| 亚洲欧洲中文日韩女优乱码| 久操国产在线| 大屁股熟女一区二区三区| 美女啊啊啊啊pc| 久热91| 约操熟妇| 五月天久久综合网| 中文字幕蜜乳av| 在线观看啊啊啊啊啊| 91成人国产综合久久精品蜜月| 成人丁香五月| 日韩一级免费性爱| h无码动漫在线观看| 99re免费视频精品全部| 午夜国产成人精品视频| 亚洲97在线观看| 亚洲中文字幕av| 欧美成人精品一区二区男人蜜臀| 超碰午夜| 美女骚尻视频| 亚洲青青草| 动漫av中文| 久久只有精品一区二区三区| 久久久久密| 毛片中心9视频99| 婷色五月天| 色色操| 99爱精品| 中文字幕一区 二区三四五 区日 日骚| 精品超碰国产| 97操碰| 67914亚洲精品| 99色热| 亚洲夜色在线| 超碰 97国产熟女| 亚州宗合另类| 综合网欧| 国产乱码久久久久久| 色偷偷超碰亚洲| 久久超碰天天| 欧美日韩久久精品爱爱| 亚州91| 国产家庭乱伦表演| 欧美日韩日产免费网站看| 精品国产人成在线| 亚洲国产日韩欧美熟妇在线| 亚洲少妇色| 亚州成人a∨| 欧美国产有色电影| 91天天综合在线| 亚洲天堂男人天堂网| 亚洲巨爆乳一区二区三区四季网| 51久久夜色精品国产麻豆| 亚洲蜜乳av| 韩国黄色片精品久久久| 欧美三级一级| 91影视亚洲| 日韩欧美女求操每天更新| 玖草在线视频| 国产www色在线观看| 色色五月婷婷| 三上制服丝AV| 欧美日韩国产精品久久色婷婷| 日日夜夜免费| 日韩淫色网| 91黄站| 91综合网| 精品人妻中文字幕4399| 久操视频在线| 加勒比五月天| 少妇三p| 国内精品a| 中文字幕精品区先锋资源| 艹精品| 综合五月婷婷亚洲一区| 91啪啪视频| 午夜啊啊啊| 欧亚揄拍偷拍精品视频| 激情小说在线视频| 口爆吞精在线观看| 狠狠激情综合狠狠操中文字幕| 国产11页| 98福利在线视频| 大香蕉综合网| A片三级无码| www.97在线| 综合天天。| 日韩无码精品综合久久| 婷婷五月天丁香花| 亚洲熟女乱色一区二区三区久久久 | 国产亚卅97| 国语精品对白| 国产色图乱伦| 亚洲宗合电影| 精品无码久久久| 亚洲少妇在线影音| 国产大学生高潮在线播放| 久久啊哟| 欧美日韩中文视频播放| 国产亚洲禁久一区二区 | 精品99999| 强奸乱伦中文字幕AV| 亚射在线| 久久久久亚洲| 亚洲春色激情小说| 亚洲,欧美,综合网| 色噜噜人妻丝袜a∨先锋影| 91丝袜美女| 五月情色天| 人妻av在线| 91日日夜夜| 国产中文字幕曰本毛片| 久久久18禁| 国产精品99精品视频网站| 9久综合网| 91制服丝袜中文字幕| 亚洲av乱伦色图网站| 9999九九九久久久| 欧美日本国产日韩激情视频| 裸模AV女优| 久久伊人亚洲AV无码网站| 精品四五区| 欧美亚洲高清| 91人妻超碰| 高清无码人妻久久久一区二区三区aⅴ| 宗合情欲网| 日本淫乱女一区二区三区视频| www.超碰| 999久久久国产精品| 色婷网| 骚妻少妇精品性色无码四色A V| 每日更新AV| 欧洲一区二区三区四区在线观看| 黄色毛片A片| 久草线上视频免费看| 欧洲熟妇xxXx欧美老妇裸体| 综合网亚洲1| 蜜乳AV一区| 国产精品不卡一区二区三区| 久久直播国产| 9久9久9久9久视频网站| 九月丁香| 2017大香蕉| 婷婷国产精品九区| 欧美性爱日韩性爱| 国产后入内射| 嗯嗯啊在线视频| 亚洲 暴爽 AV人人爽日日碰| 亚洲激情色片| 国产精品久久久久久 百度| 欧美精品,四区。五区| 五月丁香狠狠爱| 天美传媒婬乱在| 婷婷丁香一区二区三区| 青青操综合网| 丰满人妻一区二区三区| 中文字幕乱碼在线| 日韩中文字幕视频在线观看| 东京热综合久久一区二区| 蜜桃在线观看一区二区三区| 少妇xx精品| 蜜臀精品1区2区| 口爆吞精在线观看| 91亚洲人| 欧美日韩另类字幕中文| AA丁香综合激情| 欧美激情视频在线一区| 亚洲第一男人天堂| 欧美永久激情一区二区| 69精品久久久久中文字幕| 亚洲天堂男人| 风月影院男女十八禁| 91人妻人人妻| 亚洲国产一级精品毛一级精品看免费视频 | 91麻豆天美国产欧美| 强奸乱伦AV一天堂网| 激情文学亚洲| 成人综合网 欧美| 一区二区日韩欧美久久| 欧美亚洲一级在线观看| 精品在线78| jiujiujiujingpin| 亚洲最大黄网| 五月丁香在线| 97人人操人人摸人人爱| 中文字幕精品一区二| 美女t无毒不卡不卡| 后入式在线免费观看60秒| 五月婷婷影院| 欧美国产日韩高清在线| 人妻啪| 一起草三级AV电影在线观看 | 骚日日av| jiujiujiujingpin| 中文字幕一区二区三区蜜臀| 男人的天堂2019AV| 免费精品福利在线观看| 欧亚性爱啪啪| 日日操免费视频| 亚洲高清视频在线免费观看| 日韩精品一区二区人人人| 欧亚韩国999| juliaann丝袜大战黑鬼| 久久久久久久久久久久黄色| 免费的av网| 免费视频在线观看啊啊啊啊啊| 超碰成人免费| 色久综合| 婷婷五月天av| 九九九九九九九精品视频| 无码在线亚洲| 在线观看亚洲成人精品| 狠狠色伊人亚洲综合网站色| 国产91精品在线免费| 国产日韩欧美| 国产精品久久久久久久久久久久久久久久| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 日韩干B| 99综合| 欧美爱爱97| 欧美日韩制服| 黄页网站成人免费| 精品一区二区三区蜜桃| 91 亚欧| 加勒比海人人操超碰在线| 欧美色图亚洲色,麻豆| 人妻熟女一区二区三区视频| 日韩欧美三级| 丰满熟女一区二区三区在线播放| 天天影视亚洲| www久久国产精品| 一级做a爰片性色毛片久久| 91精品微拍福利| ji熟女.com| 国产精品一二三在线看| 2020国产精品| 九九热精品在线| 好爽,再快点啊哈嗯嗯嗯嗯| 国产精品久久久777| 国产25页| 日韩欧美三级| 青青草毛片| 午夜超爽| 亚洲一本大道中文字幕无码在线| 免费观看欧美日韩操逼视频 | 天天性射网| 欧美 色 亚洲| 色操逼网| 天天做日日爱夜夜爽| 男人的天堂2019AV| 熟妇一区二区三区| 尤物AV免费网站| 好吊色综合| 91人妻做a观看视频| 手机在线观看不卡无码av| 97色伦欧美| 嗯啊不要在线| 免费成人在线熟妇网| 制服诱惑亚洲一区二区三区在线观看| 97视频播放| 国产白丝网站| 18禁精品网站在线看| 久久久国产三级黄色片| 禁止观看美女黄| 精品人妻一区二区三区蜜桃视频| 日本色日夜干| 福利色色| 热久久精品| 99热线麻豆 | 多毛小伙内射老太婆| 激情深爱五月天| 色欲人妻一区二区在线| 91综合网站| 伊人网综合在线视频| 久久手机好看网站| 天堂精品一区| 曰韩操B| 五月婷在线| 99蜜月精品久久| 国产精品视频内谢女人| 婷婷精品| 亚州色阁| 影音先锋少妇| 91色艳| 亚洲女人91| 无码操逼网| 国产污视频麻豆传媒一区二区| 91中出在线| 青草青草久热| 国产91精品久久久久久久网曝门| 超碰91在线| 亚洲五月婷婷| www.av不卡中文字幕| 国产绿奴视频在线观看| 九九久久久九九| 亚洲欧洲激情卡通另类文学四射小说网站 | 狼人狠干| 成人午夜无码视频| 欧洲亚洲天堂精品 | 少妇被玩视频二三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 久久国产在线一区二区| 97干天天| 五月天亚洲网| 天天射天天| 97亚洲在线| 日韩视频小说在线观看| 色区久久| 午夜理论片在线观看免费| www黄片免费看com| 大逼色网站| 极品少妇久久久久| 色偷偷2020免费视频播放| 亚洲成aⅴ人片不卡无码| 99自拍B亚洲| 亚洲春色一区二区三区| 少妇二级| 国产高清亚洲日韩一区| 欧美|91色综合| 五月丁香色色网| 美国三级日本三级久久99| 97任你吞精| 久久久天美| 五月天伊人| 神马麻豆福利院| 人人澡人人爽人人精品| 欧美91精品国产自产| 97激情97激情| 你懂的在线观看区国产| 久久啊啊啊视频| 丰满的三级少妇欧美久久久| 日本一二三免费久久| 欧洲性爱无码区| 亚洲欧美综合网| 澳门成人网站久国产日韩| 1区2区3区中文字幕日韩| 少妇啪啪自拍| 亚洲国产中文字幕| 亚洲天堂区| 日韩黄片影院| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 看大黄色大片原件| 加勒比伊人影院| 国产兽交视频在线播放| 久操免费电影| 国产蜜臀在线| 欧美97爱| 亚洲第一精品在线视频| 久久久久国产精品喷潮免费观看臀 | 岛国福利在线精品播放| 天堂网亚洲区手机版| 久久免费精品96| 亚洲最大无码中文字幕网站| 久久久女人| 天天天乱色综合全| 精品中文字幕一区二区l - 百度| 青青青青青手机视频| 免费网色网站| 国模精品一区二区三区苹果色戒| 日本成a人v网站在线观看| 97碰碰日本乱偷人妻中文的| 天天综合精品| 欧美熟妇成人一区二区| 亚洲影视第一页| 怡红院怡春院| 18禁网站在线播放| 青青草大香蕉视频| 极品粉嫩一区二区| 簧片免费看视频| 亚洲啪啪综合?v一区综合精品区| 精品无码产区一区二| 欧美亚洲丝袜人妻制服99| 日本激情免费大片| 亚洲欧美电影| 超碰导航97| 色偷偷男人的天堂麻豆| 亚洲天堂人妻一区二区| 日欧操屄视频| 狠狠操官网| 国产自制av蜜乳| 男人天堂最新手机版在线青青草| 精品九九九九九九九| 偷窥自拍亚洲天堂网爆| www.久久制服糖| 玖草在线视频| 伊人久大| 国产人人干| 美女的肌被草喷水视频| 久久精品免费| 26uuu国产日韩综合在线观看| 国产一区二区三区高清视频| 国产精品一区二区三区免费视频| 91 丝袜在线观看| 97大色网| 欧美日韩国产传媒在线精品| 欧美视频在线视频免费va| 日本人妻中文字幕精品| 日产操逼| 亚洲不卡三级手机播放| 亚洲黄色| 99e久久国产精品| 久久久极品| 日韩黄色电影网站| 激情干在线| 国产午夜无码片在线观看影视 | 2017,超碰| 欧美在线第五页| 嫩草 我啊~嗯~在线| 操老熟女AV| 97超级欧美| 最新精品久久蜜桃| 啊啊啊好舒服好爽啊啊啊视频| 三级片大波波| 99青草| 91红杏| 亚洲自拍欧美国产首页网曝| 大香蕉综合| 青青草视频导航官网| 久久综合日韩亚洲欧美| 啊啊好多水| 久久这里精品国产99丫e6| 欧洲综合视频| 亚洲综合影片| 欧美一二在线| 久久久内射良家| 亚州九九九精品视频| 久久久精品九| 欧美人妻少妇| 日韩在线观看三级电影| 国产 亚洲 一二三四| 免费av在线播放二区| 手机在线播放国产福利| 欧美黄色大香蕉一区二区| 国产一区二区啪啪视频| 欧美后进式| 久久最新免费视频23| 99只有精品| 久久精品国产97欧美精品亚洲| 欧美日韩人妻精品一区二区三区| 亚洲精品欧洲色| 中国人高清www色视频免费| 亚洲国产ⅴ高清在线观看| 伊人久久大香大香线蕉中文 | 天天澡天天爽日日AV| 欧美性爱第一页久久| 美国aaaaa一级黄片| 五月天色综合| 人人综合| 超碰天天去日穴| 欧美97在线欧| 色色香蕉| 热久久91婷婷| 色香在线| 久久久四区| 亚洲精品成人动漫在线| 伦伦成年午夜免费视频| 夜色AV无码手机在线影院| 久久一二三四五六七八九区区区 | 黄色av片三级三级三级免费看| 操逼网站地址| 精品国产一区二区三区久久久蜜臀| 吊色| 91天天看| 欧美精品1区2区3区| 一区二区三区网站日日骚| 97亚洲国产| 成人自拍三级在线观看| 久久香蕉国产线看观看猫咪av| 大稥蕉免费视频这里只有精品| 男人天堂综合| 午夜性刺激视频免费观看| 岛国片在线视频网站| 91丨九色丨大屁股| 国产精品久久久九九九| 精品久久久久久久| 成人性爱电影一区二区| 国产一区二区三区久久精品太古里| 怡红院视频在线| 欧美色图成人网一区二区| 国产日韩人人| 肉丝无码中文高清| 日本人妻中文字幕精品| 人夜夜精品网站香蕉嫩草| 加勒比av官网在线| 岛国片在线播放| 97综合在线观看| 加勒比色99999| 国产精品蜜乳AV| 日韩AV中文字幕电影| 美女久久久久久久久久久| 欧美黄片视频在线观看免费| 97色色国产视频| 日本爽爽爽爽爽爽免费视频| 日韩精品区二区三区不卡| 九九av| 欧美aaaaaaa| 国产污视频麻豆传媒一区二区| 精品视频一区二区| 午夜人妻精品综合在线| 精久久久| 亚洲成人无码影院| 熟女网站最新| 男人女人18禁片免费看网站| 伊人大香蕉在线| 欧美高清色| 天天综合~91入口| 97资源久久| 日韩在线观看中文字幕视频| 九九九只有精品| 久久精品国产免费观看99| 偷拍在线观看视频| 精品少妇人妻av久久免费| 色狠狠综合噜一二三区| 熟妇综合一区二区三区| 色五月69夫妻| 老司机午夜精品视频| 欧美三级免费伊人| 91av一区二区在线观看| 白丝AV网站| 99国产在线 精品 视频| 大香蕉综合在线| ..日韩av毛片精品久久久| 人妻熟女一区二区| 五月婷网站| 9.1小视频| 这里只有精品视频在线| 欧美另类丝袜熟女| 欧美亚洲综合色| 伊人网免费视频| 大香蕉99热| 亚洲高清无码在线桃色| 九九久久国产精品怡红院| 女人双腿搬开让男人桶| 亚洲人综合19| 蜜桃臀 后入 一区 二区 三区 在线| 日本精品999| 精品96久久| 人妻偷拍一区二区三区| Aa东京男人的天堂| 天天日日夜夜| 91老熟女视频| 青青草色插素人| 丁香五月性| 999精品久久久久久久| 东北女人| 99久久99久久综合| 97天天| 国产免费久久精品99re韩国| 综合自拍| 综合激情婷婷| 亚洲无码精品AV久久久| 岛国999| 97人人干| 人妻少妇被猛烈进入中| 少妇激情一区二区三区视频| 国产黄a三级三级三级av在线看| 高清国产成人无码| 大香蕉日韩| 精品国产一区二区三区久久久蜜臀| 久久久久成人亚洲国产| 国产精品日日摸夜夜添骚逼| 国产乱弄免费在线视频。| 久久这里只精品99re66图| 91免费看一区二区三区| 九九久久首页| 欧美操逼熟女| 懂色Av| 天天操福利视频综合网站| 日本在线不卡123| 蜜臀AV网站| 日韩成人精品| 天天夜夜rb| 精品无码人妻一区二区免费蜜桃| 日韩国语字幕| 黄在线| 国产无码高清操逼视频| 91丝袜美女视频| 中文一区在线日| 亚洲不卡av在线| 夜夜爽33333| 97人妻免费中文字幕| 亚洲AV无码秘 蜜桃臀国精产品| 超碰在线91| 久久婷婷国产一区二区色| 欧美日韩另类在线播放| 青青草久草| 欧美性高潮| 精品久久九| 伊人网在线观看| 久久免费中文字幕在线观看| 国产AV毛片| 97超碰人人模人人拍人人| 理论久久婷婷网8| 人妻熟女一区二区| 欧美日韩222| 97精品国产97久久久| 99超级碰免费视频| 午夜精品五区| 国产最新小视频在线播放下载| 欧美亚洲高清| 少妇大屁屁| 中文字幕一区二区三区四五区| 任你干在线视频| 美女主播色欲91抠b在线播放| 色诱中文字幕| 国产老熟女| 少妇同性| 后X久久| 欧亚洲精品有视频| 曰韩欧美国产传媒麻豆第一区| 日本一级性爱| 99人人干| 色综合久久888| 亚洲午夜福利在线影院| 亚洲超碰AV| 国产成人精品亚洲日本| 伊人久久综合影院| 亚洲无码国产精品久久| 人人看人人插| 日本1区2区不卡视频| 国产一区二区三区高清视频| 九九九精品成人免费视频小说| 亚欧高清| 五月丁香六月综合缴清无码| 免费观看性欧美一级| 久久精品国产99精品亚洲蜜...| 成 人片 黄色大片| 精品中文字幕第一页| 国产精品久久久久久久毛片1| 新婚人妻扶着粗大强行坐下| 欧美性爱1080p| 国产免费一区在线观看|