From 5a0ae0b28d04806c001e3848b1361f165ded8216 Mon Sep 17 00:00:00 2001
From: wangxiaogang <1433729587@qq.com>
Date: Thu, 11 Jun 2026 09:49:17 +0800
Subject: [PATCH] refactor(iter-v2): T02 code quality - shared components,
transactions, utils
- C2: ColorPicker and EditModal reusable components extracted
- C2: tag-manage and category-manage pages use EditModal (remove ~120 dup lines)
- C3: Upload logic extracted to server/src/utils/upload.ts
- C4: /recurring/sync wrapped in DB transaction
- C7: Backup download uses API_BASE (no hardcoded URLs)
- C9: getAvatarUrl() utility function, used in 5 files
- C1: getCurrentMonth() documented as aligned with server date.ts
---
.../components/ColorPicker/ColorPicker.vue | 47 +++++
client/src/components/EditModal/EditModal.vue | 146 +++++++++++++++
.../TransactionItem/TransactionItem.vue | 8 +-
client/src/pages/admin/feedback.vue | 8 +-
client/src/pages/admin/users.vue | 8 +-
client/src/pages/backup-manage/index.vue | 3 +-
client/src/pages/category-manage/index.vue | 118 ++++--------
client/src/pages/group-manage/index.vue | 9 +-
client/src/pages/tag-manage/index.vue | 172 ++++--------------
client/src/stores/user.ts | 8 +-
client/src/utils/avatar.ts | 8 +
client/src/utils/format.ts | 2 +-
server/src/db/connection.ts | 5 +
server/src/routes/notification.ts | 41 +----
server/src/routes/recurring.ts | 19 +-
server/src/routes/user.ts | 41 +----
server/src/utils/upload.ts | 45 +++++
17 files changed, 350 insertions(+), 338 deletions(-)
create mode 100644 client/src/components/ColorPicker/ColorPicker.vue
create mode 100644 client/src/components/EditModal/EditModal.vue
create mode 100644 client/src/utils/avatar.ts
create mode 100644 server/src/utils/upload.ts
diff --git a/client/src/components/ColorPicker/ColorPicker.vue b/client/src/components/ColorPicker/ColorPicker.vue
new file mode 100644
index 0000000..386e7ab
--- /dev/null
+++ b/client/src/components/ColorPicker/ColorPicker.vue
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
diff --git a/client/src/components/EditModal/EditModal.vue b/client/src/components/EditModal/EditModal.vue
new file mode 100644
index 0000000..ea28d47
--- /dev/null
+++ b/client/src/components/EditModal/EditModal.vue
@@ -0,0 +1,146 @@
+
+
+
+ {{ title }}
+
+
+
+
+
+ 取消
+ 确定
+
+
+
+
+
+
+
+
diff --git a/client/src/components/TransactionItem/TransactionItem.vue b/client/src/components/TransactionItem/TransactionItem.vue
index a9e8c54..9d317b5 100644
--- a/client/src/components/TransactionItem/TransactionItem.vue
+++ b/client/src/components/TransactionItem/TransactionItem.vue
@@ -37,7 +37,7 @@