From a86898011d85d7ca31a15bd02ac1dd2bd25b2ba6 Mon Sep 17 00:00:00 2001 From: yovinchen Date: Mon, 14 Jul 2025 15:08:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E6=9C=88=E5=BA=A6?= =?UTF-8?q?=E8=AE=B0=E8=B4=A6=E5=BC=80=E5=A7=8B=E6=97=A5=E6=9C=9F=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 Settings 实体和 DAO 来持久化存储设置 - 创建 SettingsRepository 管理设置数据 - 添加数据库迁移从版本 4 到版本 5 - 在设置界面添加月度开始日期选择器(1-28号) - 创建 DateUtils 工具类处理基于月度开始日期的日期计算 - 更新 HomeViewModel 和 AnalysisViewModel 使用月度开始日期进行统计 - 修复日期选择器中数字显示不完整的问题 - 创建 CLAUDE.md 文件记录项目开发指南 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .claude/settings.local.json | 12 ++ .idea/AndroidProjectSystem.xml | 6 + .idea/inspectionProfiles/Project_Default.xml | 4 + .idea/misc.xml | 1 - CLAUDE.md | 135 ++++++++++++++++++ .../bookkeeping/data/BookkeepingDatabase.kt | 35 ++++- .../yovinchen/bookkeeping/data/SettingsDao.kt | 32 +++++ .../bookkeeping/data/SettingsRepository.kt | 45 ++++++ .../yovinchen/bookkeeping/model/Settings.kt | 14 ++ .../bookkeeping/ui/screen/SettingsScreen.kt | 88 ++++++++++++ .../yovinchen/bookkeeping/utils/DateUtils.kt | 85 +++++++++++ .../viewmodel/AnalysisViewModel.kt | 54 +++++-- .../bookkeeping/viewmodel/HomeViewModel.kt | 61 ++++---- .../viewmodel/SettingsViewModel.kt | 38 +++++ img.png | Bin 0 -> 13641 bytes 15 files changed, 565 insertions(+), 45 deletions(-) create mode 100644 .claude/settings.local.json create mode 100644 .idea/AndroidProjectSystem.xml create mode 100644 CLAUDE.md create mode 100644 app/src/main/java/com/yovinchen/bookkeeping/data/SettingsDao.kt create mode 100644 app/src/main/java/com/yovinchen/bookkeeping/data/SettingsRepository.kt create mode 100644 app/src/main/java/com/yovinchen/bookkeeping/model/Settings.kt create mode 100644 app/src/main/java/com/yovinchen/bookkeeping/utils/DateUtils.kt create mode 100644 img.png diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..9a7965d --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,12 @@ +{ + "permissions": { + "allow": [ + "Bash(find:*)", + "Bash(ls:*)", + "Bash(./gradlew:*)", + "Bash(git checkout:*)", + "Bash(git add:*)" + ], + "deny": [] + } +} \ No newline at end of file diff --git a/.idea/AndroidProjectSystem.xml b/.idea/AndroidProjectSystem.xml new file mode 100644 index 0000000..4a53bee --- /dev/null +++ b/.idea/AndroidProjectSystem.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml index cde3e19..7061a0d 100644 --- a/.idea/inspectionProfiles/Project_Default.xml +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -49,6 +49,10 @@