From 4b4616de1e54c5dfa73a7a9385842ae0028f08f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E7=9A=84=E7=94=A8=E6=88=B7=E5=90=8D?= <你的邮箱> Date: Wed, 6 Aug 2025 20:09:48 +0800 Subject: [PATCH] feat: Add TokenRecords finance management system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Created new finance application based on Vue Vben Admin - Implemented transaction management, category management, and loan tracking - Added person management for tracking financial relationships - Integrated budget management and financial analytics - Added data import/export functionality - Implemented responsive design for mobile support - Added comprehensive testing with Playwright 🤖 Generated with Claude Code Co-Authored-By: Claude --- apps/web-finance/.env | 8 + apps/web-finance/.env.analyze | 7 + apps/web-finance/.env.development | 16 + apps/web-finance/.env.production | 19 + apps/web-finance/README.md | 105 +++ apps/web-finance/analytics-error-simple.png | Bin 0 -> 98974 bytes apps/web-finance/analytics-error.png | Bin 0 -> 99046 bytes apps/web-finance/analytics-page-state.png | Bin 0 -> 98966 bytes apps/web-finance/check-server.js | 65 ++ apps/web-finance/finance-system-error.png | Bin 0 -> 101215 bytes apps/web-finance/finance-system-test.png | Bin 0 -> 98989 bytes apps/web-finance/index.html | 35 + apps/web-finance/login-page.png | Bin 0 -> 160755 bytes apps/web-finance/manual-check.js | 73 ++ apps/web-finance/package.json | 55 ++ apps/web-finance/postcss.config.mjs | 1 + apps/web-finance/public/favicon.ico | Bin 0 -> 5430 bytes apps/web-finance/quick-test.js | 52 ++ .../src/adapter/component/index.ts | 211 ++++++ apps/web-finance/src/adapter/form.ts | 49 ++ apps/web-finance/src/adapter/vxe-table.ts | 69 ++ apps/web-finance/src/api/core/auth.ts | 51 ++ apps/web-finance/src/api/core/index.ts | 3 + apps/web-finance/src/api/core/menu.ts | 10 + apps/web-finance/src/api/core/user.ts | 10 + apps/web-finance/src/api/finance/category.ts | 37 + apps/web-finance/src/api/finance/index.ts | 6 + apps/web-finance/src/api/finance/loan.ts | 52 ++ apps/web-finance/src/api/finance/person.ts | 37 + .../src/api/finance/transaction.ts | 64 ++ apps/web-finance/src/api/index.ts | 1 + apps/web-finance/src/api/mock/finance-data.ts | 170 +++++ .../src/api/mock/finance-service.ts | 450 ++++++++++++ apps/web-finance/src/api/request.ts | 113 +++ apps/web-finance/src/app.vue | 39 ++ apps/web-finance/src/bootstrap.ts | 93 +++ .../src/components/charts/useChart.ts | 147 ++++ apps/web-finance/src/layouts/auth.vue | 23 + apps/web-finance/src/layouts/basic.vue | 157 +++++ apps/web-finance/src/layouts/index.ts | 6 + apps/web-finance/src/locales/README.md | 3 + apps/web-finance/src/locales/index.ts | 102 +++ .../src/locales/langs/en-US/demos.json | 12 + .../src/locales/langs/en-US/page.json | 14 + .../src/locales/langs/zh-CN/analytics.json | 42 ++ .../src/locales/langs/zh-CN/demos.json | 12 + .../src/locales/langs/zh-CN/finance.json | 90 +++ .../src/locales/langs/zh-CN/page.json | 23 + .../src/locales/langs/zh-CN/tools.json | 62 ++ apps/web-finance/src/main.ts | 31 + apps/web-finance/src/preferences.ts | 13 + apps/web-finance/src/router/access.ts | 42 ++ apps/web-finance/src/router/guard.ts | 133 ++++ apps/web-finance/src/router/index.ts | 37 + apps/web-finance/src/router/routes/core.ts | 97 +++ apps/web-finance/src/router/routes/index.ts | 37 + .../src/router/routes/modules/analytics.ts | 81 +++ .../src/router/routes/modules/dashboard.ts | 38 + .../src/router/routes/modules/demos.ts | 28 + .../src/router/routes/modules/finance.ts | 103 +++ .../src/router/routes/modules/tools.ts | 66 ++ .../src/router/routes/modules/vben.ts | 81 +++ apps/web-finance/src/store/auth.ts | 118 ++++ apps/web-finance/src/store/index.ts | 1 + apps/web-finance/src/store/modules/budget.ts | 166 +++++ .../web-finance/src/store/modules/category.ts | 93 +++ apps/web-finance/src/store/modules/loan.ts | 142 ++++ apps/web-finance/src/store/modules/person.ts | 91 +++ apps/web-finance/src/store/modules/tag.ts | 120 ++++ .../src/store/modules/transaction.ts | 141 ++++ apps/web-finance/src/styles/mobile.css | 150 ++++ apps/web-finance/src/types/finance.ts | 175 +++++ apps/web-finance/src/utils/data-migration.ts | 179 +++++ apps/web-finance/src/utils/db.ts | 324 +++++++++ apps/web-finance/src/utils/export.ts | 199 ++++++ apps/web-finance/src/utils/import.ts | 266 +++++++ apps/web-finance/src/views/_core/README.md | 3 + .../src/views/_core/about/index.vue | 9 + .../views/_core/authentication/code-login.vue | 69 ++ .../_core/authentication/forget-password.vue | 43 ++ .../src/views/_core/authentication/login.vue | 118 ++++ .../_core/authentication/qrcode-login.vue | 10 + .../views/_core/authentication/register.vue | 96 +++ .../src/views/_core/fallback/coming-soon.vue | 7 + .../src/views/_core/fallback/forbidden.vue | 9 + .../views/_core/fallback/internal-error.vue | 9 + .../src/views/_core/fallback/not-found.vue | 9 + .../src/views/_core/fallback/offline.vue | 9 + .../analytics/components/CategoryPieChart.vue | 122 ++++ .../components/MonthlyComparisonChart.vue | 170 +++++ .../components/PersonAnalysisChart.vue | 162 +++++ .../views/analytics/components/TrendChart.vue | 164 +++++ .../src/views/analytics/overview/index.vue | 166 +++++ .../src/views/analytics/reports/custom.vue | 13 + .../src/views/analytics/reports/daily.vue | 13 + .../src/views/analytics/reports/monthly.vue | 13 + .../src/views/analytics/reports/yearly.vue | 13 + .../src/views/analytics/trends/index.vue | 13 + .../dashboard/analytics/analytics-trends.vue | 98 +++ .../analytics/analytics-visits-data.vue | 82 +++ .../analytics/analytics-visits-sales.vue | 46 ++ .../analytics/analytics-visits-source.vue | 65 ++ .../dashboard/analytics/analytics-visits.vue | 55 ++ .../src/views/dashboard/analytics/index.vue | 90 +++ .../src/views/dashboard/workspace/index.vue | 264 +++++++ .../src/views/demos/antd/index.vue | 66 ++ .../budget/components/budget-setting.vue | 254 +++++++ .../src/views/finance/budget/index.vue | 357 ++++++++++ .../category/components/category-form.vue | 127 ++++ .../src/views/finance/category/index.vue | 192 +++++ .../src/views/finance/dashboard/index.vue | 147 ++++ .../finance/loan/components/loan-form.vue | 210 ++++++ .../loan/components/repayment-form.vue | 160 +++++ .../src/views/finance/loan/index.vue | 389 +++++++++++ .../src/views/finance/mobile/budget.vue | 550 +++++++++++++++ .../src/views/finance/mobile/index.vue | 64 ++ .../src/views/finance/mobile/more.vue | 392 +++++++++++ .../src/views/finance/mobile/quick-add.vue | 520 ++++++++++++++ .../src/views/finance/mobile/statistics.vue | 638 +++++++++++++++++ .../views/finance/mobile/transaction-list.vue | 653 ++++++++++++++++++ .../finance/person/components/person-form.vue | 157 +++++ .../src/views/finance/person/index.vue | 234 +++++++ .../src/views/finance/responsive-wrapper.vue | 37 + .../finance/tag/components/tag-selector.vue | 245 +++++++ .../src/views/finance/tag/index.vue | 362 ++++++++++ .../src/views/finance/test-api.vue | 97 +++ .../transaction/components/import-export.vue | 310 +++++++++ .../components/transaction-form.vue | 483 +++++++++++++ .../src/views/finance/transaction/index.vue | 462 +++++++++++++ .../src/views/tools/backup/index.vue | 13 + .../src/views/tools/budget/index.vue | 13 + .../src/views/tools/export/index.vue | 13 + .../src/views/tools/import/index.vue | 13 + .../src/views/tools/tags/index.vue | 13 + apps/web-finance/start-dev.sh | 20 + apps/web-finance/tailwind.config.mjs | 1 + apps/web-finance/test-all-menus.js | 180 +++++ apps/web-finance/test-analytics-charts.js | 131 ++++ apps/web-finance/test-analytics-simple.js | 69 ++ apps/web-finance/test-current-state.png | Bin 0 -> 98700 bytes apps/web-finance/test-finance-system.js | 137 ++++ apps/web-finance/test-import-export.js | 114 +++ apps/web-finance/test-menu-navigation.js | 153 ++++ apps/web-finance/test-menu-switch.js | 78 +++ apps/web-finance/test-menus-with-auth.js | 192 +++++ .../test-screenshots-finance-loan.png | Bin 0 -> 202453 bytes .../test-screenshots-finance-person.png | Bin 0 -> 176861 bytes .../test-screenshots/-analytics-overview.png | Bin 0 -> 99033 bytes .../test-screenshots/-analytics-trends.png | Bin 0 -> 99028 bytes .../test-screenshots/-dashboard-workspace.png | Bin 0 -> 97871 bytes .../test-screenshots/-finance-category.png | Bin 0 -> 98388 bytes .../test-screenshots/-finance-dashboard.png | Bin 0 -> 97852 bytes .../test-screenshots/-finance-loan.png | Bin 0 -> 99019 bytes .../test-screenshots/-finance-person.png | Bin 0 -> 99017 bytes .../test-screenshots/-finance-transaction.png | Bin 0 -> 99111 bytes .../test-screenshots/-tools-backup.png | Bin 0 -> 99024 bytes .../test-screenshots/-tools-budget.png | Bin 0 -> 99036 bytes .../test-screenshots/-tools-export.png | Bin 0 -> 99024 bytes .../test-screenshots/-tools-import.png | Bin 0 -> 99031 bytes .../test-screenshots/-tools-tags.png | Bin 0 -> 99042 bytes apps/web-finance/test-summary.md | 88 +++ apps/web-finance/test-system.js | 101 +++ apps/web-finance/test-transaction-form.js | 114 +++ apps/web-finance/transaction-page.png | Bin 0 -> 161435 bytes apps/web-finance/tsconfig.json | 12 + apps/web-finance/tsconfig.node.json | 10 + apps/web-finance/vite.config.mts | 20 + auto-login-success.png | Bin 0 -> 264998 bytes check-console.js | 57 ++ error.png | Bin 0 -> 104193 bytes login-failed.png | Bin 0 -> 163366 bytes no-modal.png | Bin 0 -> 127161 bytes package.json | 1 + pnpm-lock.yaml | 135 +++- pnpm-workspace.yaml | 2 +- simple-test.js | 42 ++ success.png | Bin 0 -> 264652 bytes test-auto-login.js | 129 ++++ test-check.js | 96 +++ test-complete.js | 215 ++++++ test-create-transaction.js | 199 ++++++ test-direct.js | 164 +++++ test-error.png | Bin 0 -> 120111 bytes test-final-success.js | 103 +++ test-result.png | Bin 0 -> 264723 bytes test-simple.js | 44 ++ test-transaction-final.js | 101 +++ test-transaction-page.js | 97 +++ test-transaction.js | 116 ++++ test-with-slider.js | 190 +++++ transaction-page-test.png | Bin 0 -> 5532 bytes transaction-page.png | Bin 0 -> 5384 bytes vben-admin.code-workspace | 4 + 193 files changed, 17756 insertions(+), 16 deletions(-) create mode 100644 apps/web-finance/.env create mode 100644 apps/web-finance/.env.analyze create mode 100644 apps/web-finance/.env.development create mode 100644 apps/web-finance/.env.production create mode 100644 apps/web-finance/README.md create mode 100644 apps/web-finance/analytics-error-simple.png create mode 100644 apps/web-finance/analytics-error.png create mode 100644 apps/web-finance/analytics-page-state.png create mode 100644 apps/web-finance/check-server.js create mode 100644 apps/web-finance/finance-system-error.png create mode 100644 apps/web-finance/finance-system-test.png create mode 100644 apps/web-finance/index.html create mode 100644 apps/web-finance/login-page.png create mode 100644 apps/web-finance/manual-check.js create mode 100644 apps/web-finance/package.json create mode 100644 apps/web-finance/postcss.config.mjs create mode 100644 apps/web-finance/public/favicon.ico create mode 100644 apps/web-finance/quick-test.js create mode 100644 apps/web-finance/src/adapter/component/index.ts create mode 100644 apps/web-finance/src/adapter/form.ts create mode 100644 apps/web-finance/src/adapter/vxe-table.ts create mode 100644 apps/web-finance/src/api/core/auth.ts create mode 100644 apps/web-finance/src/api/core/index.ts create mode 100644 apps/web-finance/src/api/core/menu.ts create mode 100644 apps/web-finance/src/api/core/user.ts create mode 100644 apps/web-finance/src/api/finance/category.ts create mode 100644 apps/web-finance/src/api/finance/index.ts create mode 100644 apps/web-finance/src/api/finance/loan.ts create mode 100644 apps/web-finance/src/api/finance/person.ts create mode 100644 apps/web-finance/src/api/finance/transaction.ts create mode 100644 apps/web-finance/src/api/index.ts create mode 100644 apps/web-finance/src/api/mock/finance-data.ts create mode 100644 apps/web-finance/src/api/mock/finance-service.ts create mode 100644 apps/web-finance/src/api/request.ts create mode 100644 apps/web-finance/src/app.vue create mode 100644 apps/web-finance/src/bootstrap.ts create mode 100644 apps/web-finance/src/components/charts/useChart.ts create mode 100644 apps/web-finance/src/layouts/auth.vue create mode 100644 apps/web-finance/src/layouts/basic.vue create mode 100644 apps/web-finance/src/layouts/index.ts create mode 100644 apps/web-finance/src/locales/README.md create mode 100644 apps/web-finance/src/locales/index.ts create mode 100644 apps/web-finance/src/locales/langs/en-US/demos.json create mode 100644 apps/web-finance/src/locales/langs/en-US/page.json create mode 100644 apps/web-finance/src/locales/langs/zh-CN/analytics.json create mode 100644 apps/web-finance/src/locales/langs/zh-CN/demos.json create mode 100644 apps/web-finance/src/locales/langs/zh-CN/finance.json create mode 100644 apps/web-finance/src/locales/langs/zh-CN/page.json create mode 100644 apps/web-finance/src/locales/langs/zh-CN/tools.json create mode 100644 apps/web-finance/src/main.ts create mode 100644 apps/web-finance/src/preferences.ts create mode 100644 apps/web-finance/src/router/access.ts create mode 100644 apps/web-finance/src/router/guard.ts create mode 100644 apps/web-finance/src/router/index.ts create mode 100644 apps/web-finance/src/router/routes/core.ts create mode 100644 apps/web-finance/src/router/routes/index.ts create mode 100644 apps/web-finance/src/router/routes/modules/analytics.ts create mode 100644 apps/web-finance/src/router/routes/modules/dashboard.ts create mode 100644 apps/web-finance/src/router/routes/modules/demos.ts create mode 100644 apps/web-finance/src/router/routes/modules/finance.ts create mode 100644 apps/web-finance/src/router/routes/modules/tools.ts create mode 100644 apps/web-finance/src/router/routes/modules/vben.ts create mode 100644 apps/web-finance/src/store/auth.ts create mode 100644 apps/web-finance/src/store/index.ts create mode 100644 apps/web-finance/src/store/modules/budget.ts create mode 100644 apps/web-finance/src/store/modules/category.ts create mode 100644 apps/web-finance/src/store/modules/loan.ts create mode 100644 apps/web-finance/src/store/modules/person.ts create mode 100644 apps/web-finance/src/store/modules/tag.ts create mode 100644 apps/web-finance/src/store/modules/transaction.ts create mode 100644 apps/web-finance/src/styles/mobile.css create mode 100644 apps/web-finance/src/types/finance.ts create mode 100644 apps/web-finance/src/utils/data-migration.ts create mode 100644 apps/web-finance/src/utils/db.ts create mode 100644 apps/web-finance/src/utils/export.ts create mode 100644 apps/web-finance/src/utils/import.ts create mode 100644 apps/web-finance/src/views/_core/README.md create mode 100644 apps/web-finance/src/views/_core/about/index.vue create mode 100644 apps/web-finance/src/views/_core/authentication/code-login.vue create mode 100644 apps/web-finance/src/views/_core/authentication/forget-password.vue create mode 100644 apps/web-finance/src/views/_core/authentication/login.vue create mode 100644 apps/web-finance/src/views/_core/authentication/qrcode-login.vue create mode 100644 apps/web-finance/src/views/_core/authentication/register.vue create mode 100644 apps/web-finance/src/views/_core/fallback/coming-soon.vue create mode 100644 apps/web-finance/src/views/_core/fallback/forbidden.vue create mode 100644 apps/web-finance/src/views/_core/fallback/internal-error.vue create mode 100644 apps/web-finance/src/views/_core/fallback/not-found.vue create mode 100644 apps/web-finance/src/views/_core/fallback/offline.vue create mode 100644 apps/web-finance/src/views/analytics/components/CategoryPieChart.vue create mode 100644 apps/web-finance/src/views/analytics/components/MonthlyComparisonChart.vue create mode 100644 apps/web-finance/src/views/analytics/components/PersonAnalysisChart.vue create mode 100644 apps/web-finance/src/views/analytics/components/TrendChart.vue create mode 100644 apps/web-finance/src/views/analytics/overview/index.vue create mode 100644 apps/web-finance/src/views/analytics/reports/custom.vue create mode 100644 apps/web-finance/src/views/analytics/reports/daily.vue create mode 100644 apps/web-finance/src/views/analytics/reports/monthly.vue create mode 100644 apps/web-finance/src/views/analytics/reports/yearly.vue create mode 100644 apps/web-finance/src/views/analytics/trends/index.vue create mode 100644 apps/web-finance/src/views/dashboard/analytics/analytics-trends.vue create mode 100644 apps/web-finance/src/views/dashboard/analytics/analytics-visits-data.vue create mode 100644 apps/web-finance/src/views/dashboard/analytics/analytics-visits-sales.vue create mode 100644 apps/web-finance/src/views/dashboard/analytics/analytics-visits-source.vue create mode 100644 apps/web-finance/src/views/dashboard/analytics/analytics-visits.vue create mode 100644 apps/web-finance/src/views/dashboard/analytics/index.vue create mode 100644 apps/web-finance/src/views/dashboard/workspace/index.vue create mode 100644 apps/web-finance/src/views/demos/antd/index.vue create mode 100644 apps/web-finance/src/views/finance/budget/components/budget-setting.vue create mode 100644 apps/web-finance/src/views/finance/budget/index.vue create mode 100644 apps/web-finance/src/views/finance/category/components/category-form.vue create mode 100644 apps/web-finance/src/views/finance/category/index.vue create mode 100644 apps/web-finance/src/views/finance/dashboard/index.vue create mode 100644 apps/web-finance/src/views/finance/loan/components/loan-form.vue create mode 100644 apps/web-finance/src/views/finance/loan/components/repayment-form.vue create mode 100644 apps/web-finance/src/views/finance/loan/index.vue create mode 100644 apps/web-finance/src/views/finance/mobile/budget.vue create mode 100644 apps/web-finance/src/views/finance/mobile/index.vue create mode 100644 apps/web-finance/src/views/finance/mobile/more.vue create mode 100644 apps/web-finance/src/views/finance/mobile/quick-add.vue create mode 100644 apps/web-finance/src/views/finance/mobile/statistics.vue create mode 100644 apps/web-finance/src/views/finance/mobile/transaction-list.vue create mode 100644 apps/web-finance/src/views/finance/person/components/person-form.vue create mode 100644 apps/web-finance/src/views/finance/person/index.vue create mode 100644 apps/web-finance/src/views/finance/responsive-wrapper.vue create mode 100644 apps/web-finance/src/views/finance/tag/components/tag-selector.vue create mode 100644 apps/web-finance/src/views/finance/tag/index.vue create mode 100644 apps/web-finance/src/views/finance/test-api.vue create mode 100644 apps/web-finance/src/views/finance/transaction/components/import-export.vue create mode 100644 apps/web-finance/src/views/finance/transaction/components/transaction-form.vue create mode 100644 apps/web-finance/src/views/finance/transaction/index.vue create mode 100644 apps/web-finance/src/views/tools/backup/index.vue create mode 100644 apps/web-finance/src/views/tools/budget/index.vue create mode 100644 apps/web-finance/src/views/tools/export/index.vue create mode 100644 apps/web-finance/src/views/tools/import/index.vue create mode 100644 apps/web-finance/src/views/tools/tags/index.vue create mode 100755 apps/web-finance/start-dev.sh create mode 100644 apps/web-finance/tailwind.config.mjs create mode 100644 apps/web-finance/test-all-menus.js create mode 100644 apps/web-finance/test-analytics-charts.js create mode 100644 apps/web-finance/test-analytics-simple.js create mode 100644 apps/web-finance/test-current-state.png create mode 100644 apps/web-finance/test-finance-system.js create mode 100644 apps/web-finance/test-import-export.js create mode 100644 apps/web-finance/test-menu-navigation.js create mode 100644 apps/web-finance/test-menu-switch.js create mode 100644 apps/web-finance/test-menus-with-auth.js create mode 100644 apps/web-finance/test-screenshots-finance-loan.png create mode 100644 apps/web-finance/test-screenshots-finance-person.png create mode 100644 apps/web-finance/test-screenshots/-analytics-overview.png create mode 100644 apps/web-finance/test-screenshots/-analytics-trends.png create mode 100644 apps/web-finance/test-screenshots/-dashboard-workspace.png create mode 100644 apps/web-finance/test-screenshots/-finance-category.png create mode 100644 apps/web-finance/test-screenshots/-finance-dashboard.png create mode 100644 apps/web-finance/test-screenshots/-finance-loan.png create mode 100644 apps/web-finance/test-screenshots/-finance-person.png create mode 100644 apps/web-finance/test-screenshots/-finance-transaction.png create mode 100644 apps/web-finance/test-screenshots/-tools-backup.png create mode 100644 apps/web-finance/test-screenshots/-tools-budget.png create mode 100644 apps/web-finance/test-screenshots/-tools-export.png create mode 100644 apps/web-finance/test-screenshots/-tools-import.png create mode 100644 apps/web-finance/test-screenshots/-tools-tags.png create mode 100644 apps/web-finance/test-summary.md create mode 100644 apps/web-finance/test-system.js create mode 100644 apps/web-finance/test-transaction-form.js create mode 100644 apps/web-finance/transaction-page.png create mode 100644 apps/web-finance/tsconfig.json create mode 100644 apps/web-finance/tsconfig.node.json create mode 100644 apps/web-finance/vite.config.mts create mode 100644 auto-login-success.png create mode 100644 check-console.js create mode 100644 error.png create mode 100644 login-failed.png create mode 100644 no-modal.png create mode 100644 simple-test.js create mode 100644 success.png create mode 100644 test-auto-login.js create mode 100644 test-check.js create mode 100644 test-complete.js create mode 100644 test-create-transaction.js create mode 100644 test-direct.js create mode 100644 test-error.png create mode 100644 test-final-success.js create mode 100644 test-result.png create mode 100644 test-simple.js create mode 100644 test-transaction-final.js create mode 100644 test-transaction-page.js create mode 100644 test-transaction.js create mode 100644 test-with-slider.js create mode 100644 transaction-page-test.png create mode 100644 transaction-page.png diff --git a/apps/web-finance/.env b/apps/web-finance/.env new file mode 100644 index 00000000..19735f36 --- /dev/null +++ b/apps/web-finance/.env @@ -0,0 +1,8 @@ +# 应用标题 +VITE_APP_TITLE=Vben Admin Antd + +# 应用命名空间,用于缓存、store等功能的前缀,确保隔离 +VITE_APP_NAMESPACE=vben-web-antd + +# 对store进行加密的密钥,在将store持久化到localStorage时会使用该密钥进行加密 +VITE_APP_STORE_SECURE_KEY=please-replace-me-with-your-own-key diff --git a/apps/web-finance/.env.analyze b/apps/web-finance/.env.analyze new file mode 100644 index 00000000..ffafa8dd --- /dev/null +++ b/apps/web-finance/.env.analyze @@ -0,0 +1,7 @@ +# public path +VITE_BASE=/ + +# Basic interface address SPA +VITE_GLOB_API_URL=/api + +VITE_VISUALIZER=true diff --git a/apps/web-finance/.env.development b/apps/web-finance/.env.development new file mode 100644 index 00000000..c138f482 --- /dev/null +++ b/apps/web-finance/.env.development @@ -0,0 +1,16 @@ +# 端口号 +VITE_PORT=5666 + +VITE_BASE=/ + +# 接口地址 +VITE_GLOB_API_URL=/api + +# 是否开启 Nitro Mock服务,true 为开启,false 为关闭 +VITE_NITRO_MOCK=true + +# 是否打开 devtools,true 为打开,false 为关闭 +VITE_DEVTOOLS=false + +# 是否注入全局loading +VITE_INJECT_APP_LOADING=true diff --git a/apps/web-finance/.env.production b/apps/web-finance/.env.production new file mode 100644 index 00000000..5375847a --- /dev/null +++ b/apps/web-finance/.env.production @@ -0,0 +1,19 @@ +VITE_BASE=/ + +# 接口地址 +VITE_GLOB_API_URL=https://mock-napi.vben.pro/api + +# 是否开启压缩,可以设置为 none, brotli, gzip +VITE_COMPRESS=none + +# 是否开启 PWA +VITE_PWA=false + +# vue-router 的模式 +VITE_ROUTER_HISTORY=hash + +# 是否注入全局loading +VITE_INJECT_APP_LOADING=true + +# 打包后是否生成dist.zip +VITE_ARCHIVER=true diff --git a/apps/web-finance/README.md b/apps/web-finance/README.md new file mode 100644 index 00000000..99e4d8c6 --- /dev/null +++ b/apps/web-finance/README.md @@ -0,0 +1,105 @@ +# TokenRecords 财务管理系统 (VbenAdmin 版本) + +基于 VbenAdmin 框架构建的现代化财务管理系统,提供完整的收支记录、分类管理、人员管理和贷款管理功能。 + +## 功能特性 + +### 核心功能 +- **交易管理**:记录和管理所有收支交易,支持多币种、多状态管理 +- **分类管理**:灵活的收支分类体系,支持自定义分类 +- **人员管理**:管理交易相关人员,支持多角色(付款人、收款人、借款人、出借人) +- **贷款管理**:完整的贷款和还款记录管理,自动计算还款进度 + +### 技术特性 +- **现代化技术栈**:Vue 3 + TypeScript + Vite + Pinia + Ant Design Vue +- **本地存储**:使用 IndexedDB 进行数据持久化,支持离线使用 +- **Mock API**:完整的 Mock 数据服务,方便开发和测试 +- **响应式设计**:适配各种屏幕尺寸 +- **国际化支持**:内置中文语言包,可扩展多语言 + +## 快速开始 + +### 安装依赖 +```bash +pnpm install +``` + +### 启动开发服务器 +```bash +pnpm dev:finance +``` + +### 访问系统 +- 开发地址:http://localhost:5666/ +- 默认账号:vben +- 默认密码:123456 + +## 项目结构 + +``` +src/ +├── api/ # API 接口 +│ ├── finance/ # 财务相关 API +│ └── mock/ # Mock 数据服务 +├── store/ # 状态管理 +│ └── modules/ # 业务模块 +├── types/ # TypeScript 类型定义 +├── utils/ # 工具函数 +│ ├── db.ts # IndexedDB 工具 +│ └── data-migration.ts # 数据迁移工具 +├── views/ # 页面组件 +│ ├── finance/ # 财务管理页面 +│ ├── analytics/ # 统计分析页面 +│ └── tools/ # 系统工具页面 +├── router/ # 路由配置 +└── locales/ # 国际化配置 +``` + +## 数据存储 + +系统使用 IndexedDB 作为本地存储方案,支持: +- 自动数据持久化 +- 事务支持 +- 索引查询 +- 数据备份和恢复 + +### 数据迁移 +如果您有旧版本的数据(存储在 localStorage),系统会在启动时自动检测并迁移到新的存储系统。 + +## 开发指南 + +### 添加新功能 +1. 在 `types/finance.ts` 中定义数据类型 +2. 在 `api/finance/` 中创建 API 接口 +3. 在 `store/modules/` 中创建状态管理 +4. 在 `views/` 中创建页面组件 +5. 在 `router/routes/modules/` 中配置路由 + +### Mock 数据 +Mock 数据服务位于 `api/mock/finance-service.ts`,可以根据需要修改初始数据或添加新的 Mock 接口。 + +## 测试 + +运行 Playwright 测试: +```bash +node test-finance-system.js +``` + +## 部署 + +### 构建生产版本 +```bash +pnpm build:finance +``` + +构建产物将生成在 `dist` 目录中。 + +## 技术支持 + +- VbenAdmin 文档:https://doc.vben.pro/ +- Vue 3 文档:https://cn.vuejs.org/ +- Ant Design Vue:https://antdv.com/ + +## 许可证 + +MIT \ No newline at end of file diff --git a/apps/web-finance/analytics-error-simple.png b/apps/web-finance/analytics-error-simple.png new file mode 100644 index 0000000000000000000000000000000000000000..e1adc471b619affeb962a6944d6de5f705f7aff6 GIT binary patch literal 98974 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≠p?*uE`eyiGp1=DbyYFU?(Z!TXr(i)x{0_ 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 z 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 literal 0 HcmV?d00001 diff --git a/apps/web-finance/analytics-error.png b/apps/web-finance/analytics-error.png new file mode 100644 index 0000000000000000000000000000000000000000..8cad6f2213d155f1cba06395c8d71c147d524560 GIT binary patch literal 99046 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≠p?*uE`eyiGp1=DbyYFU?(Z!TXr(i)x{0_ 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

snUeFT?oftMZXt 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≠p?*uE`eyiGp1=DbyYFU?(Z!TXr(i)x{0_ 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 { + const browser = await chromium.launch({ + headless: false // 有头模式,方便观察 + }); + const context = await browser.newContext(); + const page = await context.newPage(); + + // 监听控制台消息 + page.on('console', msg => { + console.log(`浏览器控制台 [${msg.type()}]:`, msg.text()); + }); + + // 监听页面错误 + page.on('pageerror', error => { + console.error('页面错误:', error.message); + }); + + try { + console.log('正在访问 http://localhost:5666/ ...\n'); + + const response = await page.goto('http://localhost:5666/', { + waitUntil: 'domcontentloaded', + timeout: 30000 + }); + + console.log('响应状态:', response?.status()); + console.log('当前URL:', page.url()); + + // 等待页面加载 + await page.waitForTimeout(3000); + + // 截图查看页面状态 + await page.screenshot({ + path: 'server-check.png', + fullPage: true + }); + console.log('\n已保存截图: server-check.png'); + + // 检查页面内容 + const title = await page.title(); + console.log('页面标题:', title); + + // 检查是否有错误信息 + const bodyText = await page.locator('body').textContent(); + console.log('\n页面内容预览:'); + console.log(bodyText.substring(0, 500) + '...'); + + // 保持浏览器打开10秒以便查看 + console.log('\n浏览器将在10秒后关闭...'); + await page.waitForTimeout(10000); + + } catch (error) { + console.error('访问失败:', error.message); + + // 尝试获取更多错误信息 + if (error.message.includes('ERR_CONNECTION_REFUSED')) { + console.log('\n服务器可能未启动或端口错误'); + console.log('检查端口 5666 是否被占用...'); + } + } finally { + await browser.close(); + } +})(); \ No newline at end of file diff --git a/apps/web-finance/finance-system-error.png b/apps/web-finance/finance-system-error.png new file mode 100644 index 0000000000000000000000000000000000000000..2270fb14bcf1ad7f2e7a713c46a82a1eee09fd08 GIT binary patch literal 101215 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≠p?*uE`eyiGp1=DbyYFU?(Z!TXr(i)x{0_ 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 P_P3Onyl9!Q{`da}mlS<2 literal 0 HcmV?d00001 diff --git a/apps/web-finance/finance-system-test.png b/apps/web-finance/finance-system-test.png new file mode 100644 index 0000000000000000000000000000000000000000..cbd36bf315c359ae85ab29afc7a340f0d190573a GIT binary patch literal 98989 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≠p?*uE`eyiGp1=DbyYFU?(Z!TXr(i)x{0_ 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 literal 0 HcmV?d00001 diff --git a/apps/web-finance/index.html b/apps/web-finance/index.html new file mode 100644 index 00000000..480eb84d --- /dev/null +++ b/apps/web-finance/index.html @@ -0,0 +1,35 @@ + + + + + + + + + + + + <%= VITE_APP_TITLE %> + + + + +

+ + + diff --git a/apps/web-finance/login-page.png b/apps/web-finance/login-page.png new file mode 100644 index 0000000000000000000000000000000000000000..f059b698a7d007712555fa6ff48b8d4020607f98 GIT binary patch literal 160755 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�AFFbEFPSoT!m!Ikf$kP;VHGdkE7e=>k8zG&ndB*|+ z%A6!?6rHUvj=JgT*bRFB(L;{?h?1*gqZGY&MDXnPZn$lAO4^>URuoMKs zqx3}%Wny;pJ04muMAj9f@+O8KSJN8IvU}pm4Qo54IMryBGTg`cn|!fb?fBZbgnaCo zri)9gC@PbotJ`iyz=2@zi}X<@>qDW1GEJ1YpLpm|h1r+O)x9+*w@DgfIJ>2ne>y{m z^>jt(mg&fP?iFt+Qvw|kJf>o!>EJ!3F#P9nzVlP#?s3h}VKxdFoqJt>X@y4r2)V-5 z*LdhZ3hDI1Av>GL^QEmX_E2aFl=VVMrwiE^ucx(qv-O3{#NAJk=>o+jQ`adf5G)3f^o@KoU; zvq-57M+m2u#uQ9X#T31-WD7vLa;l^itAN}-Q zXB)UiX(p5Btx<%()pz5oUX`cOs=sg8JM!q|Bj9rE`9}l>L@u~*9WV*KnKjG36S4-& zq=PrF=C*F6D4+*d+>RSg0ott0hmO@Q>Hk6v6kka^c+%kT=Dbaegr`^nNDQN5#2NPN zGC3wBCjNeV*5*M_g%!4|HwyXvd@8BS-rJ5zN+y$|BbId^&yVU0-UdXhJ4%wei#bvnU?y1hjD!Kb6b|yIk}{s zdvI-gFqXoUyey9W!arJx+pO1xE4&49jG0=EWz!xFH<%ZmDlp6F4^jYu1a4Izkq#H+ z2W?w4z|9Vmlkp-n>BY$Ab8B%Az}Z#+{1eP!3vcY}fA%1+J6XhVRKhJYqR+sH&50g} z(cVmjR;W-wHtNE<>0&=iLl4A2sHC7u#4Y1Rl%xt9A$}8*mk*O?Py_!S)oK-L|>$h(l_P*SG2yX~1T!0wlu`LHZzUnip|j5hmkATp9Y899HJ(MHI;*M!grA;-bBkUK*qfm64RCTFbjW zTu_f=6}#WtPb$8B$@1!{S8dz0Rs;_1RrIl^nQ`E>#eDw6!+M)jG^0M*j--5O+}q{m z)NHyg&#a}{Sl2$udOwAifQSKquGN7$giQnBVR>*(fClTJo5(3KQON=S_&H#ZhI}%k zU2-r)LiiS}01Tn(H}P^Xp{2entA*e|f9TNS8w*f^9_&7zf8KFz$;9T4APh4)+HkH0=sb2es>!De@>ju2;2 z{Iu`G|kd| zBfI@ zp-PBTi2E5WkJPC53A9Jo7wq9UvlD^>XDniNU4rEf6w$hH6gp_- zL`EGPKNV`7w)L1k4YLhb6XyvB!%FtTA;MzrS%qTs~Ms_6#S zS5nLXsFKoBrycTC#Qo@BMxAvc@^{dtm%w{eCbW`49lCDG)c})LldH7sbtdR}$YXQ! zhVOJ}U|uA=xb?aPTO;K(o7?Xg$6ASafc_GsCdx5;tFgECw_gl2cD5@||E2eLY>4gd z_~)ttr%@WHuh7hSYXkw3%ZPp))Jf={`-%l1#v^RuMsH3oc5L_JiiloFy{FJXclccG zYXLF)FM!y z{O~-Y$IQi}`*z_hOD$N#fT4R%F4^JPL6x6KoT;32yyECqZd9@Hd|iMq|*?d9L_N#Mk>9b_+iK33ue{NthM+zIiVz>L?cVUpiqN zO50aZ?lc)8T59g^Ayl-u*JjFk-ip;CM#)VfyG!U#qAL#h664oRE4`)?h~1_E;LV!qGJKnPq-u0f6vFO7vyX|IBHdixmb=l&HMUTqhY^(PJf2z zF>kWR1FR773udQmR8y;WMR=P*#9C>&Ne>_{*APrv#0Uws+$?d>mn(9c2t-#6*=6pR zmt7iLcJg2-mKvFalab83=`e?dPJM@6;*kRuV8Y9fH;eAB(K7fntGgkY)sR)Y?bePgoyYEkW1#C0c{O!E4Z z!cz3k{*hRX1`F2Omqy)6JmP|QkRLhy4&zR2|>{jy~G}yX- z*hgRoVFQ_947qO^DTxgwMbpTA(#VlX@F?{~#K3fH?)=;DHncH1T$J+gQ!ZR|(OJz^ zqm)kAk`lDYVE~D~p~N5}gJmzZK`e7;$vHdv z8ingL#Y918c_JSKo`s4`={{h75G?AQ{C&RxE?t_WH=^U$>ih(z-%j`LOaD;tJN9Dx zZ=v1|B6g0j%lWTcEoJmxXu$3klTS{u**omYzeA zxX)Wx;;Mr5=lm0MG$y?mv^TT=fKS*2nCgL$^fT}Z9jf95yF?rhBxX@bf|pbFJD8`Hzshkx_Z?kv9=kZR0W2pA%8#55 z+AnXYRFLO@sNW(R^A zl{;eMVE;n#uHR8&1Pa+gfcv`Krpf;s_MnmG= zdBQB?u>CbE*J%glZdBX4cps6*MrzQYO>mDo3+siPTBx%$9@Md=(7e}wTXCQHL21}i zo^h_QCs@}^13eQUV+r^e8R@8LuPse~?Hc}Vu9oDYqo~xKu9%IK^0jMB;rQcF4B6Ra z=TVq!!|NfKqxVVaq}gi%yDEguU6H3D`bvRKL?Dd~?-F#fap=^hBrm)28k`T=?7SR_ z$P>W=aCAMTdVL)Dxl~`AG#L%n;=in^ZUz0yy(JqV^q(1w!-SBTT)Tb7b2(pg`droH zpVW48Xx+4XbfTkS7ZO%tgZ2k4P=`IOy1QGoGYJ-j6#@r2(Fb)zTe{ktPd?0G%bW|- zT*W{!e^_|)xF}*HO@L?=8n_~WqZ?c@(|j$hi1jMK_=Xz)yF|Ye|aax{j9yhzBRiH_oOYw;XO~$CK3t9CH+^)C?>y1;auscL8C?3IvoCS4gxhd0#Cgf>XzEl*w{`$ib9yb&nCxam`9HOqK9JZ zJGpB#`+oMpw9h@}3bMNL-A_u7`_mO{%Z+h|a5v3f^8Kv{(!|FjqQC4Ov6Mu3zg!yD zUhG=8mn=;BlxVYe|0%GV4fyL%VB~#44fs6GMjmkf{PHjYt#o=*yIgJ-&5%X_x3_bO z2tcMXYIk2wz>Nf4zpTuRT<*9L%=jNe35=c}&cKcaSD?e)Zo+6AXxaSP$KyGW!5Rl7 z!5I2eWEd1jh<`+2KgymmQRqnv3sPjUU^DkqQ)Yj|-qu>xir_S5fZqy;wE4^?mHADT zgoqRpLqqJNa_)uP)RjhM+Ue-<)RN^cZQd*5?QKF-6kDQ#jLQl{c+cSoyZJ*Qz_uCy z|KUNicA$u>&TlUV7BQszFF-IxNt8DwaqRi1B!O!L=dets( zYFK*M*WJ_KQEy-hsloLrsdiLSKXM>rW2YknnSU%|8GApyz3TPO+)-j$o+PLht<%Qq@GQdHJ3ePo%j>5}eM=huK%($)zqiIgv36VwDX8A3ulxeV zu)`i?zU$7GgR~4na1@o4U{)0-Y#deQ6e~+hdIp9FY_#oE00qhe#3;XqYW?ck=gI`{ zWbN`i|6mQ`l8BQp0w-z`g^YqsE6D?g7||E*32dW7S~EoYyEhcGjXI4nzPf9zd(S_Y z&(7>6$Uz&52=Q1iAC;mo)`N^A89`sy{T3+|YR+b^vfZ34d!WlkhOj?P40nX>H8{t> zK1I?68dsV9^u*$u^dE!`^aGtVBc9*M-cn6cMUZiE;l!rbjVgrNV7^Oai~W#j$xF;e z3l{}oOgu&;KK8G?tnm+kOdjqWU}ZQ}Ya2R^Ya3#8g-Cj=z!s$X@%&+XoO~7dtwhqL z`Po44_o`!xC%1k{sl-QvcdCN$OW8k9PZCQN#HX9XPW9ivD?ieMvzc=Vq*W_lAd@Iw z^ZzbV?i1vqFBSep-%g)Nxqc-QxleP=c*7m=^KtR!xAN$2yY5%87Tjs_VT^DuXqiM= z^k!@Jg}}?nc%vJ#jmXqyI{tG$&i}NLqvxspSAEg|XS5zV-O;S5=l;OWN#67LRjpBP z6&|da?D2cP)_vKVkzPjDVO8H?8~whqrWSvH`2nYBSLM1v`3};T`g6hQw-OeIZU=0* zp!?H>`4)83RDF_qmQickDcw)p=a$qAc_S^>&OgS2I6%3pjg13` zgB=LK8(aM4|Jej?8cmdo2k?UupBUL%p&wbVJHgmDQGNOZ1_ zKFrKr&rzXkbW>loj$wzt&K(ojk^GFnkKi2)IRVc#gE2Xq2iwCq`&Hs(+K$h>YP9ky z+$?Cr&5}yDwv=4DOXz;U)`6)kl>yN1fZo-T`62fawyUL88TyQUDQTKym!^XOY$-pz zC%DxceyzoHN{Khu{jPW>>Ekpla@Rg`?9tz|n-oIUaTYG-<;+JEv(X-?2{nZZ)#1My zC>{)t6dKX|nTUXUqMAbom^7rVgf?rJUrGGxXGP7CFjU#NcOReci+V0jK@OvkRqX3m zQ>+=SQM=k7F&R&FkZv<5LrYy7^-QEO2 z=*ja#9z#P!J*M^xh6L4CjsIL2Jk- zsPJCh&13w~weFZxW5QNbOREC<27Vk#+cfA!Z6I=tkd@`TMr8xdEg_^F53@aeEdIAL%l>5E8LEE1yuhVl` zD+P`mMN%PAHuIsCg&XGIg$X~2`gmhhX%v-v&*M|N{pZ^Q*7dt^o4x=7$8T@|ItIHy zu{A>#N)@pvPukUbh$~Gv5LUlZK*HRzuhdWcT2%$}wlh zIwTmjYf+o>uJrVEN>xv)(_mbf+_Me~1|o&gqy)*4>ZqEY2Ym(TJwgg>+oW5d$2IjI zw}kg0Xg91=sXkL-Z4oHqrttxga*oPEWqI)ebl0r`c=~3Stg9Cyu3Vi_cUjzhec4V8g=Ysh{R<7v zoDGP`)Z_0%dfPY)DFJu9ep6m6*%1AmXRbfd99Y{r4Nk0^>>=Nyj+2{h@{7G$*&R9` zKMwj8w!!fRE|m2(0Y&-T7S{be>+A4wrsP@)(o!sAfDOTa*%oW#dPK}GT3-R!mg@y| ziy?#2NS7>7zMd+fI7Upx(nF-@<&?pZkuM8QLZV1_LUsQnkEBlkAU#@MLlCR*E86wH zn=O>=%^5NCq8s$&Yi^01fum{JEje%zJW)Xt6oEfR0{{w3kMbZB+Tm8pjfpkUdX2`- z#TBKA*b7lI5v(@S7cdUeDV4p6;ZK&nxhen+8pTEhH6xE33m~;*spMynqx>C))@XI1 z@rBK*r$@2c&6szW{jvRyBcrFL_9M|5ngk7eLK5gJg9mQYLhJ)-Y?_-+ibQ)EFJQ>o zEz)sYN7qmXL0W^j(TKUaG-^K?U%kI)iPpr}dt`&SciHeG0DfdoSRMZtt_olLX4og0 z1wvxJA9Q1vzKo3AnbMyg{mvX~Gz?9@Wh6j9+ae-X6D6QDA?Ei9wPhM=8ymMc)e6bG z#WTs(nfP@a=g#d5;Es1MSDZRZFZEWWQyFfM&(s!=88-f^_-@{?8JQ0S8~ZmqZy?Oc z?#4?0aucf_{@S?{HdwmbBKs?LgJK59nu2w(c-K*RF%X2r2NU?YoL(v5tM!64$6co~ z|JS)BBvAqxh`(7BO&^q5vXll5sX9@i7b>O5{HY}F5~D%AbK$pg5N^niF3phbDqxlM6~DjZJ%y-KcH zE~;sfsuRP9xA%^x4JyehBgsm_D6aI#9S`lR##aO^ENnOpwE#32rHE(fWKmWOSMI|drL3D?~@7B!nba5TFF_S4Ih?q8X2T7rpjq3KG(v zNy~TCHGFOT?UQ@9g2ly6nw6<+h4#=rj809x{3F5cu}?Hy8}_|a0(f57x{MUWYB&iP zQ)yx^5iX4KlMV#d3>7iKN}p#*Y#h&Dmn$T#ImavHSkQW75`fjniW;a3d^3RfJwFod z3rZp~@W6$OD9uM-vs5v3zP>4mO`zShulwEw3td8`DS!kn<2?@#3{i`npYi@6#{+Un zuk?K)dH9b$OJ1kX34@tit=P?!BsZ7s_(@p`w<3_Wtv@DG9Hqs zK2dVThgnmlOCuKiA5Cu+5LeeUjSdjp3Bg^0y9L(}+}$O(1rIj3dvFL4oZ#;6uEAx3 zI};oR2F^V1cmCUbx!3CM)z#HiGWbMNL6U4sj09YI5c|64iN`m(L~Mv=7|ue7d_j4z194 zqp1}V^1Iru+L+I23Uo;1+SfJt(P#!2CJ-tZ`xHb;0Grdz545=teyMW;ymt*fUku3~ z*!j0hA1?jwI?AfE?-Y73V#h^4QO<$?d(_a{ss0p%PQGn(ygr%wKfw0GeOKL2`qtt8 zN_W1TCIGSRyTLb+>E!F5HJn=qz&*y#M4NsRIlyn=o?MFbe}0^&4#RnsFEW~lfKmzk zu)hR%(9cJgg*lTfHFQX!I$=wmL7@ROT5Rq?aCGj{b-eDFL8MqH@VMG$`0r^?9=}zj zvN&=$r@A5L2dAC+Y;RLbph3pmN4*;FJ9YU_)5R*VgR!`S3)G2aWxie$veQVTP5x78 zVV`7s;2{PJ7P$3PRdT`sLeLH9)Jrk!3UNRGQb6H){#?OKxG5=y0H0+2BU_0^-V8@h zDq4=Haj0GXte!d+!18`sFIe7zk(ijdZH?yJFOwB3GTql|f^RjQQ#QSMFpp;Y>AY$a z(kyMe8rbh}~i!lbM@os0^*9*fN2adtb>|z-SUA%am#=fA&S7Z^_ z>1bA=2VztSDjptt02LfjS9%u8Gh83`oBdN#i9rwr=xo!Xvh#Jv8&$H~@zg`+Sm2iN zfd8bm_4pPJiUoV(Jaeucu;{+MaP&Nf&jw-vDlkL@1keHK=-!m~=l9JBaG&V<8=>q0 zWgzK|qD!v|JU#MWjr`c5mh>)+>R%j)K`Ou;@)YY9dl$f4BJHs%*5 z<7j;J|6mn>%Z7bZn6p@CFy!mqZ7%SuPweb``Ob3oifF zQ2On{ma2g7XI-NYhoQaaArbS*2p|Y=UgA&zj~lUnH?ArbvVR)yzBb)U6zIrQhQ4Mo zH7vEjSX|ufOqw%X?chMVvchSl$D!(zQxd-m(~jxhYrWW4IBEQuquK7#IU`DiGeAig zP0ZAm5(+Sgs0E0>R33qr%0L?3Ux@pqs!xe zIf~NproDBd&)vPz^le?Ya<=Clg5C4Bj!kj;&Tusp?vYc!KDOpd9&iwIU#!lGvq&acE0Jzx8Fcm43Vd;reU(i&@0&C7QIhG0fnAKKSKid z`_v@`c!UB`Pj^v;^e`$YjIkmpMjJy#6$4$m!>TNET%aAa#(M6E?{6!@PvLi$btN^@ z-mX)=2xQ5_Jwx1~V)^tPM}j5`o+cu}U_H9Lq0&iLu*U0yUrgE|)kiXbdP-7=8V+7C z4kOCDU@CloRMD**8uvSr5De6aKN?ANsql1#BUw#X`}K00_`l4>Q`9wOS+m%PVH?Cx zLL3O(ywNoVp%qoKLt~N)ydg+xHF$fps(De>1SdKzab7a1B4W;t3AT2hEc4he2x3X~ zA8x~hEJ<=YrB{9?D{&1xUZvhBhF=JDGk&L_g_Ea}{R$FBh5tH@)?~|wwpBzP&9Vbr z00Vmli5qQFo$?dbU;OR8RtJGC%Dt;5jomeV_JKsV8>Enkszt0O(0|90_@n#k(9rbp z1@!3hwi5^yht9q|!qOOI8U%4NeV3P?1Dz@pM+AI{4}L)STXXemD6p{Ag6nqWf5+}0d* zJy|7UE*AQ}7gJAx>Qey}bsE&K5_I_RaLI7$w#&YjY>lz8>B$5)N8g!iz=twW;vU8tUfIB}CTo3Er~Y)bT5)Yb`u^?7Wkr;foMd~*gk zXmDwuftARTT0CUw#M1qf-(y+}oPc^a3^c1;7CUEL0z+LDp|}ZhQKOdo{8xsz`ThNU@7DuL z$Sm-!netI`J|7k~2?^$dMFEyV~7F@nG*t7-+JG}K-7tFgn7kO}55WPQ( z2Kr%iT<#x`{{r(USq5?I6$^~PMUcSpFseF~NNP_=A`5XQ>EIbK_BCiAW}kV<7t~~;2>_xW!Nsry98z%F^`aW; z1rpUnGw~CpGF;@X zG3~wDY*ekSuGV(2U}N2cjtKPL-PH!%%?xbOY7kda1Yt)5bNudNfzLrbdP^}v;EjN1 z{`Mx9j)2-@(jO==sW>k&U+f2by(z{sn1lQYee4 z7ew=ouT9zg$Dlf`;N`ZyZfCd|DQMJgtE=8{8Db8}QS7SisW zBB=m-HD!KYZJ-gF|7-pJ$@_ZmO9BqI4}>}s-Y{j^)W0!sh54u$OHRE)9@_L+2GV_f z81YvdX^laWLaqT*+yEIG564Yd87XDuCXO!95$SYOEI0sazaX*EBXFLb<|Zg$@gdm0 zGd?hdzmK(~W}H@F(s0JxV*E}e!A>X$K0Msp=wxmsp2N!@N%Hw zk6!hA-!4m#P?P0z10DUBvf+B4&aQORPCa&31O#{<>L9==8}ehh5ra7M?FKU01(Q$n zV10+{VohaerHSXrf)np02Q*^xh5UYfRyXr@V?|hIixd}n^tKlGGivnhO8m*xapRuS z|1hg8@UAitjQ#d6u`*-QiJz31;C?zmd^+Vy5! z=JE-bE0U+(o>qiLkQZ{4G(RT)k&~P z48q=g??{U5EJaGZukWk1U4%_VRq8DVi#YOBrsB{isibwZO~sKq(wh}iVbnpTu5aQU zjT(V~5Z>+S=7FUL{yZPo>&Gj-W`1r?B6v-%r}LBj@%Ewk;oa%sh3@9-Zf!r1|6lw1 z;}QDQU)d|uaZ^FB_I-Y;C@bOpMOO1eVXlq?O0r|`@WmiHE+kZdK1j{Owy_`EqJ=q( zYd=?bt$iU6dzvJ%020IEY_n4nNSE1PW2@&kqmpS5M=ejEm;wY`jMjikG6g(7j*3Gb z0{2$n{z4TqV5j<;_V!o&#pSghokQg9bYyrB zaH^3AnbV+U-oP(USNl@{`6sm?XjT_D$!aR`nJI(Y z*8JX2c~cVh&R)mkDarNt@@x1o=o3CSDykh-kYsVCCgbMG0PCA*8+YH*!%A&;uj|YA zSkmuOzoNfe^NR)295VNG8v);R%w4x;2>AXmORbb33;c<#As;^Nd(MYRpz}ysj!x|- z#TlfQe*t}5%Y@mN*Nocd8_cQHI}%Q6C;%i5t>4Ltvk?&mhvL|p$;iZ&>_2+YW#MoC z*lsux?o5u-WHj&s3b2TJ+wv3V#&u-0b}NmubvXCe*I14A+=f9>_j+jrT~CPt9T z>c9_)J`6{rhxt>{Lyu8cStrL3ua|{^soez)=expOV>mz(yBb&@N=bA!df*R=YI-(W zoEbg+qiT~UwF0ChfJO)nUi$Q;)nX$<;rn)Xe>iPKnEyHZEa0;3yAyuovemI=*O(*V z0@rtce?K!*^A>gS>EV)NW_EhJ%HcoYuB!Gv-UWEp3cR5VfI65$U(dw#^xFPcYyYdL z1ee>@wb6IbBAH%5kPhz_Bs!_T)*5I5qJ;%DW$-_(MXdYQ6d#IBevh5j(8jruRv)nN z1{-9#T*fX^L$o?z(ug1?voDp~fsdS&4*KfAFK+#Q~1gFjvHwf8Tj}(L&(>9EZ zT#}qv?5mS*+d0JUCwqM_uinq&qSL|Aa)u&}aqaWjq5wsPTPAA`{Tya?BT`sS)072F z4@auZs)l%4t&&mn)s?Wu>n$Tb&{NULj8hSXAr(j*PpEF)FQ-4eV*2?kI-&Nd)OWc% zjBk(0**)sjM0Kq%s7d;;aoDAnvI@{cKV8@^5aq^v)W9Rog~#`9N_qHdEznTUxCNgl zM-$4I_DxLabZfI7*wK9pnOA{YNdx-h2H3?HD88=8yXSW zLoVz<95;X7Ab#t|m^HqIxvt#x@Y(}W>K&J<%JK2EXl!hBa5!_~&&w9F*4KfS)TLgZ zuQ9k7^{Us%2)BaHqZwu#t6Utx=USBVAMqGeXN-E>(u7gniT(o@i~hS3xj8v^DZx++ z-T&((Yx4x%AscVI!b{nD$m{$2LtC8zUk;FAb{h-62|muM5$9%Y&P{VB*|*pM8~KK- zR3s#jh?oQNIk0&V7-1oxlAq^8;8O{z{NoDP`B>Za$wHi;7^fW3GZH! zlib*ZOTi~2tA!aF5_(+O6mNSwdU;*WOn4vc%8guUvaq`c13^QgBQ`C2Y+d zl?<{cw@g<&v-ASor>6l9?#G!t{uOm?r+x7=?9GXD+Mpm{A|Av`rT0RVlG)H}u1z_Y z-*NwP>PWIjjCb8-Nk>N~hvG^E-2Jc(u32k#n0`QZe|jmI)RoFU{|`y?x*!F;EZd0R z{BB=cYoA!}1&aNHH98Iz(VqBKw17)NJnZ21qL7Y)MKEnb5BZ#n-tk7_?IF%d>mUyv z0fe93^-sezEW|HmcDE)CA9Q0{iV|jJ&nhL5C#ifo?u7ab(Eq?c>;o*fg!`AJ1wCT)#Z_fH3DX+N)Mvj|oI zPUbt(;y717Te-_~nT+%U@TLUPidF4-ht$8?xoyD6Quf4g?vd&M3N65t>%apgG%-ay<-Y+{NaFqXc zRtX`Pq6&iNC*e;P=c?03Uyh|M{)6(7Co3w+rnMDJo+QZ}92}JS>M1&!vHPg!IGS(` zw$`E|zw|;?Qk+vzv6UY$-k*B&)a!r_b5%LM-im%Y^zrF_-18O?8CIz8%}hG_P4(QW zfo{;Q&`GgUi(oVkN8slk)c=0dg4_)LSI7SLI=>F(@6$eBacY|{W;-(@XM{S-D{cvu zdOTV&EQVLdbB}7S0^ro#b>{vLTbXbf1n6%dFi2%&e-`N0@UfF0&yFV_B8ZJ5Ma6}J z`->IfROr@e^^ht%yONZxIX;~Z1Ay_6zP0f{u6p4|pSiJV+|%**fU~@gay-I(~P8T6``&;$Vp+&x* zluEqjkj0>xc;iZ~*8vD(W`>y;F^qY@E$(BGfQjxmzKCV8{MBK zmLdgevzrn6%u~%yR!0Y;-Z?uj?IlEFRYoRVZRpMfGV1l1_BtEc?J-$Fr$Xl+4l+LK zER)P-gmJQJl4$4xG7+G-O=WsaYG~Q9W_I(1Xia$Kt7W?iFE=&GQ=jqZhJd~<+QfN8 zKU8OlU25Hr%cPZ+&D@U^qG!RH~R zRtcj-x%`k%E0JX-mG(B=s76Gy*Vrym+wr37|8W8QmMq`>6}=#Rrg;~8&7V7~q0X`8 z4c_)_c#7CSRvs~MnBDUYZrl0LzhtnYLCstc9V7|I7^s#19f6B7I5|rnU~6IbN%Q^v zan$DOpH{F0GXZohqbeg0e^i!<1WuY8vAOpXqwfXiv0SF#VJ@!IN^fmh7Ndw{ucnSE zJ?~Ym3#*K0#oo>9`2^OuXA)Lx zt$iyt6}W7+c|w4RkE;bN4_!P65E9(96u|*-!>Nm{P^h!k+(paxOwH8tEOdh_f4P$X zrNqax=6~`YJ`|)iz2i{B{XQg#TV+h^>H0YC{UvWbDt_sde`)1g1tUV7|d=!}hnkw>Gbx-I>~#h0WiZ z@-;AtBeTkD7dDM-(o=s#@uds=p0u$l zJ7zj+YK)PXF4W>b#!owEk8P&T*MNx~^UqivpS4sF#{!V<>p`Y{(Lspy=DvqvqWo2P zejkzEmA<3SL_vX5qm|kUz=8>kN(--x9HZp8iAx%NX}pi}BB5s=uGc6C%(b!kVv_uTYw?s>NBJadkIqL{saI z)Q(%x`G69={|z0*)VvOCZF_r~;r~u#P=JdBFCV!4)RLH59-cNWvz>L7h0#l}EQb;b zi=O3rzsMh8F)8@GZ5tQ3_?`6dXkIl}F9_?lIDKInhJ%nG$x8y+S%dDiLSN4izWoBM z6j0X{os_9Se7$acSRT@juLWt(2>bDV5&fx2_O*FD58o*hC@NCORth<#$vUfOn*-Niw0mxh0O3pGh7Mi?bNCQH)8*h6VI;CLjP?khm_=B zMxg8Eqko~Ve|zC<%baJm(3 zXQkQ8NWhC;x5!yT!`$8wUfOGf?W3m&x6pC>FEZ2DgP8A$cZ}!*bLn5nQ8Ovjb-N(k zfy#H7B4*6Ni<-PYJ~oeKy!Ek}Eak=X4jm)KilZ|vXi~~k22yvr?YyeK<}YKs%vHVp zB(8~D%L-TN4M6w21SUl+KL;9N9kaFYX+=1!lmETMw|nIJ3x;&yL`vTN2ELTcHo=_Vu)o{^;#qFEgp9;K*ZNm{rzP}gk@ zCGOth!cO)h%_b9rM7XsXc&~nW4j@w6u%4Wm8Gtp|DZkG_`}ITnN5;@IMCM5YeZYCfyO$p0rP$1UYkGABQ&dUYSvXRb+-2 zc}jmzh(GRZovjFvtJ+Nig8oExH8a{`xY6qa7<%t+YS|1(i;^Cck_mpKpF?z*S}xy9&LceUvFZ}#-I zcszMAWz@Df-$87Nrr6WmIyh-&Gq`8xQ*}!^uvoeQBZCL8Ry<3^rFhaikuC{;fDIvk;kOfwR>i)-oT=i^}0s<#Mq zI7400LDeC-Mg;E)cM8-He*8##Q zT|=b_Q<0}1jC=G{y%jI4SmG!)cIhN`wL~c^5vXjY+PL@o;?9cc`u$>KM4Bw7hPkgM z1|gGh@uh0Vr(zN8$X-!`#1WFA+< z8;RTNY1tl^E}p(PJ*l3L<*SUW86sl|u6*K82p#HR*R@N7B6z(WMv5AqZ@AZ9cJ7S) zltM6#9S@Y20bxDye4Rr}1h#iu=VDFIeXFfO*yx@8f25x=J;b0vMtrR^!$}$}j-rRL zc@D9^waf9?uOCk-p)FZ*WH1&Rc^3N%T4btB^ zS;-=}vZO}1MHbc590rm_BK|X`-c$Z767s&4}2WfO~xDf-c5ds z60OgH%84)t#FQ#R|E+auYRaHd_9N1CoZJ9W-m?s3=q78p75w&?lT|{SM)YFlkR$7R zLb1$i;334@fr1`@ZM$+>bW^^-(YjItNy|G0r{R8sr0M>R2)KXj z{gyP2&?!=`f2`nU`FyGBTDCT99QUVCu@$tj1wIMpn(g^#XnHbHCSxZ@jTl3qW>7oV zpp#cwaZnpVqgP`+8%l5naHwFc(PBFxGh?_gzVo(_n@JcrygoGTZfs~t_co@)tiLx! z^hVgmG{dg6sX8DHL9r=K;Ymr(Y4vsiO&=<5Z-*ymn`H(YAy$+pKb{`E2c*=fjCS)L5&{_vklu21j$ zNYN)JJloZuKgfiX7rsDyUG12g0Wilg zuO11kWdB@SnmEgZqIY2A>1LVVDWo~H_Q{#?!q+pBSaHrsKmG7p4xZefRdzTKygWpD zn`!Ny)LjBWy)8M!Gotiv{XkpoZD#q|ysDG}1T8!F1Ux)C3XUn9azukSwWXz|W1E3~ zS7jifb)wDjCx@+jHH&DE5N>)!317x}p=>#bZex*SlGdwc*@mO}a1 zw^Cb}xC$)5!ukYeYoB3h@hAVS9Eny>_TID1w==n0$aJ($cnfr=v5NCs0Z)9+?g>DvW+-mT zI5=`d_~ax$=b9&383~+74|2WT{yh98ncf$NILEEZ_vlV@w6eX`Bo7`e#mbNiTkmy0 zwg8l4LV(c*m-3?PPicz(bu!3PN{b#BgO7B$3sL7jb;5D0y8dV9I|S7U@KB4uV{gjV zE#b|@o}4XFTOGZJMd;>0q3OA~DobdBh=b@8<?Y7Xb_tC4|R;f;hMW|k-3J`UbcPMvFD&hOPa3>E@v zNwM-#Rxl?F&92H*A-AHHyJ+P0@QqSW%Cs}mChpk@C3u?v@ZBi={sW3dO7-L|l60s)K57|+U zB~NL1wCa&gb`gG6sxHi&s!)^FdCPRl$&o~7C{9)q!Ix-!=a#?3Ewyo#+=5qc|N6Hq~un~uW&{H%yrEQqkDzVIur=-s503^@5LY5$2i`k=yC^Ewi^N; zRk$4d;)(%{{M(@6TyAa+&zWY4_jm(QG7;8QLv6XnVhZ~GSPC>)0J@(ONNsO!z~V?fjkt^lE}hh7 zjGD$X6sqPYl_lu66g^mc;|G7-ljU~S%D0G6nrR0*wCcIpBrvEd!Dh?_Rq`l!bYWDI z%})F>f+`6mbJ~AxhpU>I9bA?)Hz;f|v*XJJA&<9zZW7B%VOA^EP!t-;L~@>4<=DHD zixrdJfU8~mkDANbEL357Dc<$t09>YDqUFznF5?&xcA4{k?U}6SZ54)CX=Egm;z%18 zuWYBL2vQeDjhDD0u<^tzTVWuJj%Le%^M2 zOlj@r#(&opr*LR2NFq|zicHIQIXLB{Web_4Wv4z3$#Qwd?GEDg!}H6d0KUb9zbxx8 zH7ZJxBs1F1(Wh?M;&bJPXyElpa3(3yq0h@ShN+t1mH}hBP>$hk&5$mHOsHoQ1{w9_ z@JEK)UfO3r2SUNa;?FV7^}}xu;PkhBj>%3dQdVUR6zM{oY?P?HY_8equ^;HeqTY(h zVQFGwUWe|#f0yOHtPhU-oe|_DgJ7y7J5Y-I5_iX{lZ>41?zNTVCmpxO8d6|j(!&k7 z1A`i|S)mkIfQ^=1CAwn#ghdF}^?#^oFu85C%x2Qa^71lu+>$WB8_pmR4J!7}U{~^X zBj|V0!#jiAN%@xuMogTELscM{lW=vs4#@fwBKNSms6U7$6UC2)l@w> zVd%M(j-DN9%}^!|^s>FoOp8I4{y~MGmX=@-v~?SMe9Vf$U+FoyWTVY-6%}Ptn&k)P6w(^>%hY(Q%88@7c^K>5IDwIP zq}m)Gz?+cU}JdEcg-*I7o`}U%MdDV=gcDFDV>3GXMPE z7GA}BwL1cI*IGu(8Sq$@nO^8iOC+ed>Gjr@)MG6^6678VsA;3AsEA&qH4ayAbW`qN zRU69KiP=T+U50kwrGN8FLYf>iW^C>1P1?9{j-Y}qYIb^Umu!uEF?zmGlLGhePy;vt zsgnm^X_!g?5+#4A<39aIbVsl(wJX(Nl5DDPFCg`Z1ri(7dqDGZy}(_Iv@*T9Vo!5C zz_Shy*B__P0IKvD zOl2%XuGp+mjom3%cV227xZo^FJCjY1nk^0+^q8#X1>gi1!XF!^l|xXQ?>9CHk~0ca z)BtZCe(&_<$@W4W3WsT<4Cm>z%`*i=Zp8@?RuaBxv~EqSEvD;m+v?O0v1ERZ?0jNq z0J)%$B54tk>O$8vLtPf#?%cE=xg4nt?QUY=^a*QLE?+mXbP99KDt+osczifpYs6zt zK>%8&zHm*-q)!PRX9#B|29?jD>y1kQHRNS6!uYWF_4fmW^m0J7R_kjuksRs!7Ot9b zI~3_8{9}+W03aikDVMxZm+Sz|?Kg1Z0Chhszoi*JHg03zQGlx{hA42F6lqR76#Z&^ ze}NE8KwC0T50U?{@5%AJ?z7jS<%=#y!W*P24DYXyMM!H(G=6_)b=I>cniu(Bs>dGz z)Lh`lggf&4*@oW3_dyFx&uu?Ke}O_tyj4RZLwd+>o!_iwj=I-L&!`JI0RR3qo=(-C zMXLg$*9TGH*JuI;#(GnMI7q@Z*+lX11G@_Ix^g9SlRs`6r8xp`KapI&G;f}^Y-qJq zG+;^?P1tPy%$39X5|Ki8090h8hjpV|maM_(-Yx7#dM5hgOeJS&8;~xL(0D7H3u%nF z0CV5n86CB{1zi?}Dmv51kKL&z?7lcaw&XLwzc!VP+1iX;uBylDvkaqy1HNXnk&b)I zw=Fyc(YabfugwPI)$z+3$JOD6`_yZE2WN{dG~^YcRl4LDnZi>2-*v{weFKSM*3}|TL3#FIF|1_CyLi&3}_ZcVfdP}?uawsls(|m@oJ#gO>TrVJU2BWb~ zUSBLc^bCLz{6wm@&OKD63x`bRAJof0HC`E-~YEVL4jI{9eim-3ma%XFCJS? z-N1-pEA9^Sm1RLkmj$Smy*~T;o`);9j|>uHBQ`;B#=nf6wphy)xcPH;iwm4|*Hi#R z3iW&T)jMnMw1akMuL|`BJ*#)$y<7e7M!X9CPLZjWYNlIw@I9h7E`{k)hv7tgh#pgIrmnoY((L-xMYp|iHz>uh&;NvWmElU^@_nMy0;!H{x>bRVL#zid#! z!rK%n>r$nk9brxkMDh58M)R9kkLL)@m!;BC7vbC8RyaWH2qyZ&8b&3p)!=Vv^%f&R zb-9b*VKvH*&*Na|AOLpSGMsj~=%6?Bi3$Coe^*U{U`!EjZncW}-w7Et0|3O%^MWIM0T07Do!cL6f=t;D;_VTxe6_hY54Q zH}t20)0mXWq$FF}xtO?wFJgE0FD$({&yQcKw=iCM1I^w}ytk&6y?!ddaTXjz5enAC zn^P;vYw&)KOJq1XA=dYLnu%C{&Wq9i4#`wfcuIMQpJXX(&MA0#Vo&fvcYq>YGK72m z>Di0E<-S2477?!-g>B10b8kIVC|9d=Yc4yWp}FKAp*1SXVg0}ivgETEM|xea?hYvK<6!vl!P|<9y}*8)gDzG^e4+m;fSG^#&GGZSk5QG z93Sw4uQu9!!M{$e?qlNi+V`^oB>3+Ne)JEg@odxoUU*VQNAX&9a+}G$ zRj2n4n?rI2@)#obc^cCVncx0RhyRDt>DC__w7E(DbE6MyZ-~`<>%2FUR`@0z@r@0I zL}Zl38f^h5Db7t)^ZJ$WQoCK-VOBHm0>FtztsDxwF1$s!;&yF|bvCnJMjNh^Doi=v zlL?y4!X?}e)+K2gRiRWzq2${4Lv+c!N{gnit%aDr1x0 zzUTXn_FwSoi0bgc>3j0WXv=xy9oAYF4M_gX8vBWn%5 z{aOo3Iuom6*X^INSk=VWH@ z&coKi@zb=+$9>W(_1eSI+QnGQebNX7i6nX3I4fi4`m{<__^9UZ?EH8>J|>rh09$S1 z<#1|SA%IoLQP1{fHRFvoyZ{V1{be@NK?xYh_0HOyXdwxMOvKb-QtS%Sb-LbS*bp$W zr0|TpBDu+T6WZu+DCSH>k3pO)dmt-qyx$mzAcc}Dm5E1#q=%G+MAdlYThd^a`F^zQ z{RuUeMGi4e)OXud)t|ds1}^M=D;%p1u~ubjP3S(YTJS5NNXT$8LmolP$sB?*1B{2NG9Jqf%pRBADR6QZ6eAGeL=VR*dOWPLZ z+?+6!xLyjldheS^sVWxe>|sAe_f9-qhsk8!qlP2R{WD^G(^{%~=j>i^KEUfigN4)9 zn*61@`7MxTDuUo~>s_}t$-|ofU{6Xmtekc`=HKNT6C$yO-bWebI0J5rAJj>69EJxU z6it4AMYHs`7fL3vt})~MH%2Ejy>-i}`cuw{wL=$FuX~yP(_)@&WBraONe;~pb&-rD zTIAXBc9^jGgsHt}1{Ao}?WHW(lGxLi&FAMRNKuV*xlv0)>TtAOQXkVgGpJ9)x_mVV#nY&SBrE|9rbKWJ4bB z_33uQ$Jcp~hT{A8TXevfp1}te(CC&TSx(sMSLwv{h~6o_WxUXfuks@*#X;l@y8kMk zS`A>BQ1#OR;Yi@g(IJkjUG=*tjK99VHm&|or`BRN`JeKV()B%lna7*bP!HAP?oFkR zRe`%+*Dqqh)i6We#UepARXGvHDcFSvumF<`fsdZ$r1)}6{9>U3h-4y zNQ>!7HDr~d49F6rzW<5R=e9tRMq>)YAK)D09pg>a=`_q~zfh*eT#SJawProw>U6Mk z!i=B$gUa>X#>Hi|nsD+d-TZUB+*H)amytb=0M@G~j-hL zjBHW**i2^PLB#%x?z>cPy(s6O|>oLsgPsY3$Sfq-b zE11P7sOHgUN+|FlMRiJ#HvRcN5e$7~i0$mOT3Jdnwu>@#)|)7oKN;>;aOsvXLJxM< z7w&Miqmz+ATAdbZ@5+fHu8;bYopxxX?s6nDdH~=#3p}k-B?dO9KgVq>6u{wpiK5a7 z_x)`UXMko-1cM>!QATJ}qe!lz;<5*l=wvSV;i%=QF{EKbP)yY`3o#h&P?CxT&uZGh zk}FXWy{meq{qC0Sox z=tHs~JHT7`Q9fESo*jPZiZ0+b^(Psg;)Xq6k?2y_BJADD_fdfVpck6#|J<-T@#~0V zQ2&9uriW6mcy7|-1g*k<qa{~VUhY2G%@Hbh!iTi=csm8TI&#%CvpB1N^qJoY;w{o|ZknEZ#%;|$2WoD4V zB)&PlYzNHp16M|f>T2sTi5wmOy0x#0ypM}sSvA9Gp;N*~N!7E{&1n{#I^SPyuTW_V z)QYUY;vuiFk*$Q-|1mTUfQbR2!F&)PP~efrG7M@f1g-lWKj`Rk=pY8B-cCU5REW=G z0rb8D=>2dIeVY<#O}73uE&`*)({MJo)#dy=p_FZjpj07hZ+3?4`$)8pP6^yZT2VIP z_{nsn%n@9V+f<`p8fjv8zDCU1icD>LMPsLCibnkGy3H45U6dxj(gFi_SC$$MRO1@j zNkV3WvCm>>QsHS9$5UELee$;@ar+2)`m23W!8A-!VDH z4rymP;D(aK*<&y86_hEa%rQ6>#zHBq?s8}&g5w^9<3lzk)om|wB8 zp=J=kg9J57FUYq@_+Wkdmnxfhim{jogWk;dZ6pUJA&$A4GG6SN9*GY~| zen|ww8~0Zb2O&V5w*MB=YhzlSIyTNo>rlollWK1L442&~uccZF`fLSOws?kC_$3OU zbqq25tPP&{<(5=ZL&L+J_X%jdb1hT)iIRh+NMhh~S~^Rn0q--R#01V!gjO+U7k^2ZdZ8Wchu6&4CG6nHO0hbs z8JCfK4v~mSu&5R8{#M9HpSB;8Q<|%=F^;cU)o9~Hw|>G|_ag`e$yl!y%aW@p#no`Q z)Oy3ZEY0emt4D#UpH1;&iSs<8rFrNnVr{L>&!enjA;A$s`3F%Rr92T?4%I?7kyOL3 z9q%ImLJ<7VCwAgz-s}tlXhr#tKUYJ1Yb&MfAXUN(C}l zp)UBkTeTf5@rl}p?@Ql7Y`xSJKc_TisHh5Y&HlYB+V(OASFhZ^T>m>yiL^nR9|^-# zh~{bGlE`{!p1Lx;Y@2R$4yQVFGj;y3T&*$b@E(VV9-+G+A>p5tY-vNG31jt&yWtH4 zFHA=PPGOwY@F)a63I0Jt!D9qNIvf*)l=W*}-Ha3xA8#So56YA(-pox=1+N{UBDWed zbA2yN$mI4bdup{#i<&FIE?KnD^+by+4t~e`UF<2cox*ToH{=) zH&#@vQ{33Ai?v!9MU@5a7UGR>&r#L_LlTtVPa;uM1sa;%LVW#uXWo`SW%;3$^MHijC)F5N=sFX}uHP;>M%|a|9Z50{-$E+*}QYjTTM}z2P$WV_zJ#q{U(_ z4HP?lua6F8JX&fWvvBPbn>-I>A17wBit#_anop`&KaxdA#75}Jm1ReyO0l03qc=Y1 zksa)5TR&_y=Ow7l=Zh$hTF*5|D6q;3A3=0H)IJcel8mlJemjKYoDH4QDKl*z>x3*R zFkVLj4FNo!hQ<`PPF22aw`ULPHNpQ#nl}Bp@+nXYI_K#_)k@Y5MISr>btl&VF4P2Ui0?t}>nq@sT<$`V9{#w`HkXIb7 zb6stFl9;)~B=dYyC@|Smg}If+K#@d7=5aeC1*Wh%$GmZaXu5iNzvpbVHe>m3 z^R*35i%kTdCKpgFlW~?jcc;epV|+}6wshyAqsP&)ybd8rAFlnjL^S>(?43)0f;^SX zt(ZdY5b^B`K+E5ZMF&dn4KYh{LZ)k9J&#}00*rln`(=-k<|uSSUR5USUBFGOA*GM4-kkUe<0*qHExcJ%q0#L zsQ=S(TdY7Q`;n(8CF{q}?TuP6TpzT{hXVzQTan^k z+}$Z&yl8Q^;t(8yQz%m0U5i6;O`%YvxO;GSf(3i?eBSRbGfXDKe>=P9-h0m3J*9L8 zI%BvTx8+%o#kgL=;xdOzX*%oiSmh|xvx2>(6G##pUjW4{GGCHg(`@Pd{x#~3_m zat=YhukUfOnPtjpa*zDt{YmIzMH*kEN!B`l$k}^Aw?@qClU6xoWqB(ipxAT-TKJBv z4%e}9_N4Poc2NfAMp_R|dx^5Vx)yucj#Yp_SVP5@xfsk3y@&B&j8)>R2BO zLlFVk1WXzQ_&Nw1!JuqD9gk0QZQHFR^+uGi8{$B{P!I--*~K^_O1f__e8U(v&wgO9 z!5`k_)hbRV5ws^kLHK>_<+bkTbjSH)^i)!0zf6Pk2Yb?tVXxpZyCzMnFSkR&kI-BE z)^eBKlH68V_Z##@gSorTDD}22S6#w+kN7mXhyo=prP8ubaoon`9pjj9y*+J9Sc`-w zl@syxetPuAnPA@lN<|w`gk?ECqSH8yt0vp3+ItKmGs!X0bjV}nMqpMRhvQQp#QW9? zOs8%Wtxu{lmK|zMOka}db=0lg9rs9ba@F%=^WyYEy{SD=O1gc{9gJFcOzaBO*1Skd zOoOHtl9QM0FlwSWoUKRO%TplnyMzT0zv>59SV}H$kDT8=7={3Niw<8Yr%I&X2M^^$ zbj^g9WSseu&|}^&9B-a$v7t3a&1hQM$qvrR*(Mc!bvlVJ47SP^Kbb034g5?MG(RMP z#dt(TGTr>OuyPMXx}9zJJw-+CsB%|=fVHE7owAW!dm+AunC5l1i)7ZPSa&yoy1Tem z-iUeesfBp;(calrfN5M7r0}xh(S®2yF^UZ34K7KG(c?!UwM6;Q&; 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 { + const browser = await chromium.launch({ + headless: false, // 有头模式 + devtools: true // 打开开发者工具 + }); + + const context = await browser.newContext({ + viewport: { width: 1920, height: 1080 } + }); + + const page = await context.newPage(); + + // 监听控制台消息 + page.on('console', msg => { + if (msg.type() === 'error') { + console.log('❌ 控制台错误:', msg.text()); + } else if (msg.type() === 'warning') { + console.log('⚠️ 控制台警告:', msg.text()); + } + }); + + // 监听页面崩溃 + page.on('crash', () => { + console.log('💥 页面崩溃了!'); + }); + + // 监听网络错误 + page.on('response', response => { + if (response.status() >= 400) { + console.log(`🚫 网络错误 [${response.status()}]: ${response.url()}`); + } + }); + + console.log('================================='); + console.log('财务管理系统手动检查工具'); + console.log('=================================\n'); + + console.log('正在打开系统...'); + await page.goto('http://localhost:5666/', { + waitUntil: 'networkidle' + }); + + console.log('\n请手动执行以下操作:'); + console.log('1. 登录系统(用户名: vben, 密码: 123456)'); + console.log('2. 逐个点击以下菜单并检查是否正常:'); + console.log(' - 财务管理 > 财务概览'); + console.log(' - 财务管理 > 交易管理'); + console.log(' - 财务管理 > 分类管理'); + console.log(' - 财务管理 > 人员管理'); + console.log(' - 财务管理 > 贷款管理'); + console.log(' - 数据分析 > 数据概览'); + console.log(' - 数据分析 > 趋势分析'); + console.log(' - 系统工具 > 导入数据'); + console.log(' - 系统工具 > 导出数据'); + console.log(' - 系统工具 > 数据备份'); + console.log(' - 系统工具 > 预算管理'); + console.log(' - 系统工具 > 标签管理'); + + console.log('\n需要检查的内容:'); + console.log('✓ 页面是否正常加载'); + console.log('✓ 是否有错误提示'); + console.log('✓ 表格是否显示正常'); + console.log('✓ 按钮是否可以点击'); + console.log('✓ 图表是否正常显示(数据分析页面)'); + + console.log('\n控制台将实时显示错误信息...'); + console.log('按 Ctrl+C 结束检查\n'); + + // 保持浏览器开启 + await new Promise(() => {}); +})(); \ No newline at end of file diff --git a/apps/web-finance/package.json b/apps/web-finance/package.json new file mode 100644 index 00000000..b69f9e72 --- /dev/null +++ b/apps/web-finance/package.json @@ -0,0 +1,55 @@ +{ + "name": "@vben/web-finance", + "version": "1.0.0", + "homepage": "https://vben.pro", + "bugs": "https://github.com/vbenjs/vue-vben-admin/issues", + "repository": { + "type": "git", + "url": "git+https://github.com/vbenjs/vue-vben-admin.git", + "directory": "apps/web-antd" + }, + "license": "MIT", + "author": { + "name": "vben", + "email": "ann.vben@gmail.com", + "url": "https://github.com/anncwb" + }, + "type": "module", + "scripts": { + "build": "pnpm vite build --mode production", + "build:analyze": "pnpm vite build --mode analyze", + "dev": "pnpm vite --mode development", + "preview": "vite preview", + "typecheck": "vue-tsc --noEmit --skipLibCheck" + }, + "imports": { + "#/*": "./src/*" + }, + "dependencies": { + "@ant-design/icons-vue": "^7.0.1", + "@types/uuid": "^10.0.0", + "@vben/access": "workspace:*", + "@vben/common-ui": "workspace:*", + "@vben/constants": "workspace:*", + "@vben/hooks": "workspace:*", + "@vben/icons": "workspace:*", + "@vben/layouts": "workspace:*", + "@vben/locales": "workspace:*", + "@vben/plugins": "workspace:*", + "@vben/preferences": "workspace:*", + "@vben/request": "workspace:*", + "@vben/stores": "workspace:*", + "@vben/styles": "workspace:*", + "@vben/types": "workspace:*", + "@vben/utils": "workspace:*", + "@vueuse/core": "catalog:", + "ant-design-vue": "catalog:", + "dayjs": "catalog:", + "echarts": "catalog:", + "pinia": "catalog:", + "uuid": "^11.1.0", + "vue": "catalog:", + "vue-echarts": "^7.0.3", + "vue-router": "catalog:" + } +} diff --git a/apps/web-finance/postcss.config.mjs b/apps/web-finance/postcss.config.mjs new file mode 100644 index 00000000..3d807045 --- /dev/null +++ b/apps/web-finance/postcss.config.mjs @@ -0,0 +1 @@ +export { default } from '@vben/tailwind-config/postcss'; diff --git a/apps/web-finance/public/favicon.ico b/apps/web-finance/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..fcf9818e2cf855039b272bdbfbb202d3ff3fa159 GIT binary patch literal 5430 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 { + const browser = await chromium.launch({ + headless: false // 有头模式,方便观察 + }); + const context = await browser.newContext(); + const page = await context.newPage(); + + console.log('快速测试导入导出功能...\n'); + + try { + // 直接访问交易管理页面 + console.log('访问交易管理页面...'); + await page.goto('http://localhost:5666/finance/transaction'); + + // 等待页面加载 + await page.waitForTimeout(3000); + + // 截图 + await page.screenshot({ path: 'transaction-page.png' }); + console.log('页面截图已保存为 transaction-page.png'); + + // 测试导出CSV + console.log('\n尝试导出CSV...'); + try { + const exportBtn = page.locator('button:has-text("导出数据")'); + if (await exportBtn.isVisible()) { + await exportBtn.click(); + await page.waitForTimeout(500); + + // 点击CSV导出 + await page.locator('text="导出为CSV"').click(); + console.log('CSV导出操作已触发'); + } else { + console.log('导出按钮未找到'); + } + } catch (e) { + console.log('导出功能可能需要登录'); + } + + console.log('\n测试完成!'); + + } catch (error) { + console.error('测试失败:', error.message); + } + + // 保持浏览器打开20秒供查看 + console.log('\n浏览器将在20秒后关闭...'); + await page.waitForTimeout(20000); + await browser.close(); +})(); \ No newline at end of file diff --git a/apps/web-finance/src/adapter/component/index.ts b/apps/web-finance/src/adapter/component/index.ts new file mode 100644 index 00000000..786a93da --- /dev/null +++ b/apps/web-finance/src/adapter/component/index.ts @@ -0,0 +1,211 @@ +/** + * 通用组件共同的使用的基础组件,原先放在 adapter/form 内部,限制了使用范围,这里提取出来,方便其他地方使用 + * 可用于 vben-form、vben-modal、vben-drawer 等组件使用, + */ + +import type { Component } from 'vue'; + +import type { BaseFormComponentType } from '@vben/common-ui'; +import type { Recordable } from '@vben/types'; + +import { defineAsyncComponent, defineComponent, h, ref } from 'vue'; + +import { ApiComponent, globalShareState, IconPicker } from '@vben/common-ui'; +import { $t } from '@vben/locales'; + +import { notification } from 'ant-design-vue'; + +const AutoComplete = defineAsyncComponent( + () => import('ant-design-vue/es/auto-complete'), +); +const Button = defineAsyncComponent(() => import('ant-design-vue/es/button')); +const Checkbox = defineAsyncComponent( + () => import('ant-design-vue/es/checkbox'), +); +const CheckboxGroup = defineAsyncComponent(() => + import('ant-design-vue/es/checkbox').then((res) => res.CheckboxGroup), +); +const DatePicker = defineAsyncComponent( + () => import('ant-design-vue/es/date-picker'), +); +const Divider = defineAsyncComponent(() => import('ant-design-vue/es/divider')); +const Input = defineAsyncComponent(() => import('ant-design-vue/es/input')); +const InputNumber = defineAsyncComponent( + () => import('ant-design-vue/es/input-number'), +); +const InputPassword = defineAsyncComponent(() => + import('ant-design-vue/es/input').then((res) => res.InputPassword), +); +const Mentions = defineAsyncComponent( + () => import('ant-design-vue/es/mentions'), +); +const Radio = defineAsyncComponent(() => import('ant-design-vue/es/radio')); +const RadioGroup = defineAsyncComponent(() => + import('ant-design-vue/es/radio').then((res) => res.RadioGroup), +); +const RangePicker = defineAsyncComponent(() => + import('ant-design-vue/es/date-picker').then((res) => res.RangePicker), +); +const Rate = defineAsyncComponent(() => import('ant-design-vue/es/rate')); +const Select = defineAsyncComponent(() => import('ant-design-vue/es/select')); +const Space = defineAsyncComponent(() => import('ant-design-vue/es/space')); +const Switch = defineAsyncComponent(() => import('ant-design-vue/es/switch')); +const Textarea = defineAsyncComponent(() => + import('ant-design-vue/es/input').then((res) => res.Textarea), +); +const TimePicker = defineAsyncComponent( + () => import('ant-design-vue/es/time-picker'), +); +const TreeSelect = defineAsyncComponent( + () => import('ant-design-vue/es/tree-select'), +); +const Upload = defineAsyncComponent(() => import('ant-design-vue/es/upload')); + +const withDefaultPlaceholder = ( + component: T, + type: 'input' | 'select', + componentProps: Recordable = {}, +) => { + return defineComponent({ + name: component.name, + inheritAttrs: false, + setup: (props: any, { attrs, expose, slots }) => { + const placeholder = + props?.placeholder || + attrs?.placeholder || + $t(`ui.placeholder.${type}`); + // 透传组件暴露的方法 + const innerRef = ref(); + expose( + new Proxy( + {}, + { + get: (_target, key) => innerRef.value?.[key], + has: (_target, key) => key in (innerRef.value || {}), + }, + ), + ); + return () => + h( + component, + { ...componentProps, placeholder, ...props, ...attrs, ref: innerRef }, + slots, + ); + }, + }); +}; + +// 这里需要自行根据业务组件库进行适配,需要用到的组件都需要在这里类型说明 +export type ComponentType = + | 'ApiSelect' + | 'ApiTreeSelect' + | 'AutoComplete' + | 'Checkbox' + | 'CheckboxGroup' + | 'DatePicker' + | 'DefaultButton' + | 'Divider' + | 'IconPicker' + | 'Input' + | 'InputNumber' + | 'InputPassword' + | 'Mentions' + | 'PrimaryButton' + | 'Radio' + | 'RadioGroup' + | 'RangePicker' + | 'Rate' + | 'Select' + | 'Space' + | 'Switch' + | 'Textarea' + | 'TimePicker' + | 'TreeSelect' + | 'Upload' + | BaseFormComponentType; + +async function initComponentAdapter() { + const components: Partial> = { + // 如果你的组件体积比较大,可以使用异步加载 + // Button: () => + // import('xxx').then((res) => res.Button), + ApiSelect: withDefaultPlaceholder( + { + ...ApiComponent, + name: 'ApiSelect', + }, + 'select', + { + component: Select, + loadingSlot: 'suffixIcon', + visibleEvent: 'onDropdownVisibleChange', + modelPropName: 'value', + }, + ), + ApiTreeSelect: withDefaultPlaceholder( + { + ...ApiComponent, + name: 'ApiTreeSelect', + }, + 'select', + { + component: TreeSelect, + fieldNames: { label: 'label', value: 'value', children: 'children' }, + loadingSlot: 'suffixIcon', + modelPropName: 'value', + optionsPropName: 'treeData', + visibleEvent: 'onVisibleChange', + }, + ), + AutoComplete, + Checkbox, + CheckboxGroup, + DatePicker, + // 自定义默认按钮 + DefaultButton: (props, { attrs, slots }) => { + return h(Button, { ...props, attrs, type: 'default' }, slots); + }, + Divider, + IconPicker: withDefaultPlaceholder(IconPicker, 'select', { + iconSlot: 'addonAfter', + inputComponent: Input, + modelValueProp: 'value', + }), + Input: withDefaultPlaceholder(Input, 'input'), + InputNumber: withDefaultPlaceholder(InputNumber, 'input'), + InputPassword: withDefaultPlaceholder(InputPassword, 'input'), + Mentions: withDefaultPlaceholder(Mentions, 'input'), + // 自定义主要按钮 + PrimaryButton: (props, { attrs, slots }) => { + return h(Button, { ...props, attrs, type: 'primary' }, slots); + }, + Radio, + RadioGroup, + RangePicker, + Rate, + Select: withDefaultPlaceholder(Select, 'select'), + Space, + Switch, + Textarea: withDefaultPlaceholder(Textarea, 'input'), + TimePicker, + TreeSelect: withDefaultPlaceholder(TreeSelect, 'select'), + Upload, + }; + + // 将组件注册到全局共享状态中 + globalShareState.setComponents(components); + + // 定义全局共享状态中的消息提示 + globalShareState.defineMessage({ + // 复制成功消息提示 + copyPreferencesSuccess: (title, content) => { + notification.success({ + description: content, + message: title, + placement: 'bottomRight', + }); + }, + }); +} + +export { initComponentAdapter }; diff --git a/apps/web-finance/src/adapter/form.ts b/apps/web-finance/src/adapter/form.ts new file mode 100644 index 00000000..983a7f51 --- /dev/null +++ b/apps/web-finance/src/adapter/form.ts @@ -0,0 +1,49 @@ +import type { + VbenFormSchema as FormSchema, + VbenFormProps, +} from '@vben/common-ui'; + +import type { ComponentType } from './component'; + +import { setupVbenForm, useVbenForm as useForm, z } from '@vben/common-ui'; +import { $t } from '@vben/locales'; + +async function initSetupVbenForm() { + setupVbenForm({ + config: { + // ant design vue组件库默认都是 v-model:value + baseModelPropName: 'value', + + // 一些组件是 v-model:checked 或者 v-model:fileList + modelPropNameMap: { + Checkbox: 'checked', + Radio: 'checked', + Switch: 'checked', + Upload: 'fileList', + }, + }, + defineRules: { + // 输入项目必填国际化适配 + required: (value, _params, ctx) => { + if (value === undefined || value === null || value.length === 0) { + return $t('ui.formRules.required', [ctx.label]); + } + return true; + }, + // 选择项目必填国际化适配 + selectRequired: (value, _params, ctx) => { + if (value === undefined || value === null) { + return $t('ui.formRules.selectRequired', [ctx.label]); + } + return true; + }, + }, + }); +} + +const useVbenForm = useForm; + +export { initSetupVbenForm, useVbenForm, z }; + +export type VbenFormSchema = FormSchema; +export type { VbenFormProps }; diff --git a/apps/web-finance/src/adapter/vxe-table.ts b/apps/web-finance/src/adapter/vxe-table.ts new file mode 100644 index 00000000..7de2859d --- /dev/null +++ b/apps/web-finance/src/adapter/vxe-table.ts @@ -0,0 +1,69 @@ +import type { VxeTableGridOptions } from '@vben/plugins/vxe-table'; + +import { h } from 'vue'; + +import { setupVbenVxeTable, useVbenVxeGrid } from '@vben/plugins/vxe-table'; + +import { Button, Image } from 'ant-design-vue'; + +import { useVbenForm } from './form'; + +setupVbenVxeTable({ + configVxeTable: (vxeUI) => { + vxeUI.setConfig({ + grid: { + align: 'center', + border: false, + columnConfig: { + resizable: true, + }, + minHeight: 180, + formConfig: { + // 全局禁用vxe-table的表单配置,使用formOptions + enabled: false, + }, + proxyConfig: { + autoLoad: true, + response: { + result: 'items', + total: 'total', + list: 'items', + }, + showActiveMsg: true, + showResponseMsg: false, + }, + round: true, + showOverflow: true, + size: 'small', + } as VxeTableGridOptions, + }); + + // 表格配置项可以用 cellRender: { name: 'CellImage' }, + vxeUI.renderer.add('CellImage', { + renderTableDefault(_renderOpts, params) { + const { column, row } = params; + return h(Image, { src: row[column.field] }); + }, + }); + + // 表格配置项可以用 cellRender: { name: 'CellLink' }, + vxeUI.renderer.add('CellLink', { + renderTableDefault(renderOpts) { + const { props } = renderOpts; + return h( + Button, + { size: 'small', type: 'link' }, + { default: () => props?.text }, + ); + }, + }); + + // 这里可以自行扩展 vxe-table 的全局配置,比如自定义格式化 + // vxeUI.formats.add + }, + useVbenForm, +}); + +export { useVbenVxeGrid }; + +export type * from '@vben/plugins/vxe-table'; diff --git a/apps/web-finance/src/api/core/auth.ts b/apps/web-finance/src/api/core/auth.ts new file mode 100644 index 00000000..71d9f994 --- /dev/null +++ b/apps/web-finance/src/api/core/auth.ts @@ -0,0 +1,51 @@ +import { baseRequestClient, requestClient } from '#/api/request'; + +export namespace AuthApi { + /** 登录接口参数 */ + export interface LoginParams { + password?: string; + username?: string; + } + + /** 登录接口返回值 */ + export interface LoginResult { + accessToken: string; + } + + export interface RefreshTokenResult { + data: string; + status: number; + } +} + +/** + * 登录 + */ +export async function loginApi(data: AuthApi.LoginParams) { + return requestClient.post('/auth/login', data); +} + +/** + * 刷新accessToken + */ +export async function refreshTokenApi() { + return baseRequestClient.post('/auth/refresh', { + withCredentials: true, + }); +} + +/** + * 退出登录 + */ +export async function logoutApi() { + return baseRequestClient.post('/auth/logout', { + withCredentials: true, + }); +} + +/** + * 获取用户权限码 + */ +export async function getAccessCodesApi() { + return requestClient.get('/auth/codes'); +} diff --git a/apps/web-finance/src/api/core/index.ts b/apps/web-finance/src/api/core/index.ts new file mode 100644 index 00000000..28a5aef4 --- /dev/null +++ b/apps/web-finance/src/api/core/index.ts @@ -0,0 +1,3 @@ +export * from './auth'; +export * from './menu'; +export * from './user'; diff --git a/apps/web-finance/src/api/core/menu.ts b/apps/web-finance/src/api/core/menu.ts new file mode 100644 index 00000000..9ef60b11 --- /dev/null +++ b/apps/web-finance/src/api/core/menu.ts @@ -0,0 +1,10 @@ +import type { RouteRecordStringComponent } from '@vben/types'; + +import { requestClient } from '#/api/request'; + +/** + * 获取用户所有菜单 + */ +export async function getAllMenusApi() { + return requestClient.get('/menu/all'); +} diff --git a/apps/web-finance/src/api/core/user.ts b/apps/web-finance/src/api/core/user.ts new file mode 100644 index 00000000..7e28ea84 --- /dev/null +++ b/apps/web-finance/src/api/core/user.ts @@ -0,0 +1,10 @@ +import type { UserInfo } from '@vben/types'; + +import { requestClient } from '#/api/request'; + +/** + * 获取用户信息 + */ +export async function getUserInfoApi() { + return requestClient.get('/user/info'); +} diff --git a/apps/web-finance/src/api/finance/category.ts b/apps/web-finance/src/api/finance/category.ts new file mode 100644 index 00000000..e862f788 --- /dev/null +++ b/apps/web-finance/src/api/finance/category.ts @@ -0,0 +1,37 @@ +import type { Category, PageParams, PageResult } from '#/types/finance'; + +import { categoryService } from '#/api/mock/finance-service'; + +// 获取分类列表 +export async function getCategoryList(params?: PageParams) { + return categoryService.getList(params); +} + +// 获取分类详情 +export async function getCategoryDetail(id: string) { + const result = await categoryService.getDetail(id); + if (!result) { + throw new Error('Category not found'); + } + return result; +} + +// 创建分类 +export async function createCategory(data: Partial) { + return categoryService.create(data); +} + +// 更新分类 +export async function updateCategory(id: string, data: Partial) { + return categoryService.update(id, data); +} + +// 删除分类 +export async function deleteCategory(id: string) { + return categoryService.delete(id); +} + +// 获取分类树 +export async function getCategoryTree() { + return categoryService.getTree(); +} \ No newline at end of file diff --git a/apps/web-finance/src/api/finance/index.ts b/apps/web-finance/src/api/finance/index.ts new file mode 100644 index 00000000..4adb8b85 --- /dev/null +++ b/apps/web-finance/src/api/finance/index.ts @@ -0,0 +1,6 @@ +// 财务管理相关 API 导出 + +export * from './category'; +export * from './loan'; +export * from './person'; +export * from './transaction'; \ No newline at end of file diff --git a/apps/web-finance/src/api/finance/loan.ts b/apps/web-finance/src/api/finance/loan.ts new file mode 100644 index 00000000..069e68b1 --- /dev/null +++ b/apps/web-finance/src/api/finance/loan.ts @@ -0,0 +1,52 @@ +import type { + Loan, + LoanRepayment, + PageResult, + SearchParams +} from '#/types/finance'; + +import { loanService } from '#/api/mock/finance-service'; + +// 获取贷款列表 +export async function getLoanList(params: SearchParams) { + return loanService.getList(params); +} + +// 获取贷款详情 +export async function getLoanDetail(id: string) { + const result = await loanService.getDetail(id); + if (!result) { + throw new Error('Loan not found'); + } + return result; +} + +// 创建贷款 +export async function createLoan(data: Partial) { + return loanService.create(data); +} + +// 更新贷款 +export async function updateLoan(id: string, data: Partial) { + return loanService.update(id, data); +} + +// 删除贷款 +export async function deleteLoan(id: string) { + return loanService.delete(id); +} + +// 添加还款记录 +export async function addLoanRepayment(loanId: string, repayment: Partial) { + return loanService.addRepayment(loanId, repayment); +} + +// 更新贷款状态 +export async function updateLoanStatus(id: string, status: Loan['status']) { + return loanService.updateStatus(id, status); +} + +// 获取贷款统计 +export async function getLoanStatistics() { + return loanService.getStatistics(); +} \ No newline at end of file diff --git a/apps/web-finance/src/api/finance/person.ts b/apps/web-finance/src/api/finance/person.ts new file mode 100644 index 00000000..606d83a4 --- /dev/null +++ b/apps/web-finance/src/api/finance/person.ts @@ -0,0 +1,37 @@ +import type { PageParams, PageResult, Person } from '#/types/finance'; + +import { personService } from '#/api/mock/finance-service'; + +// 获取人员列表 +export async function getPersonList(params?: PageParams) { + return personService.getList(params); +} + +// 获取人员详情 +export async function getPersonDetail(id: string) { + const result = await personService.getDetail(id); + if (!result) { + throw new Error('Person not found'); + } + return result; +} + +// 创建人员 +export async function createPerson(data: Partial) { + return personService.create(data); +} + +// 更新人员 +export async function updatePerson(id: string, data: Partial) { + return personService.update(id, data); +} + +// 删除人员 +export async function deletePerson(id: string) { + return personService.delete(id); +} + +// 搜索人员 +export async function searchPersons(keyword: string) { + return personService.search(keyword); +} \ No newline at end of file diff --git a/apps/web-finance/src/api/finance/transaction.ts b/apps/web-finance/src/api/finance/transaction.ts new file mode 100644 index 00000000..c57d542c --- /dev/null +++ b/apps/web-finance/src/api/finance/transaction.ts @@ -0,0 +1,64 @@ +import type { + ExportParams, + ImportResult, + PageResult, + SearchParams, + Transaction +} from '#/types/finance'; + +import { transactionService } from '#/api/mock/finance-service'; + +// 获取交易列表 +export async function getTransactionList(params: SearchParams) { + return transactionService.getList(params); +} + +// 获取交易详情 +export async function getTransactionDetail(id: string) { + const result = await transactionService.getDetail(id); + if (!result) { + throw new Error('Transaction not found'); + } + return result; +} + +// 创建交易 +export async function createTransaction(data: Partial) { + return transactionService.create(data); +} + +// 更新交易 +export async function updateTransaction(id: string, data: Partial) { + return transactionService.update(id, data); +} + +// 删除交易 +export async function deleteTransaction(id: string) { + return transactionService.delete(id); +} + +// 批量删除交易 +export async function batchDeleteTransactions(ids: string[]) { + return transactionService.batchDelete(ids); +} + +// 导出交易 +export async function exportTransactions(params: ExportParams) { + // 暂时返回一个空的 Blob,实际实现需要根据参数生成文件 + return new Blob(['Export data'], { type: 'application/octet-stream' }); +} + +// 导入交易 +export async function importTransactions(file: File) { + // 暂时返回模拟结果,实际实现需要解析文件内容 + return { + success: 0, + failed: 0, + errors: [], + } as ImportResult; +} + +// 获取统计数据 +export async function getTransactionStatistics(params?: SearchParams) { + return transactionService.getStatistics(params); +} \ No newline at end of file diff --git a/apps/web-finance/src/api/index.ts b/apps/web-finance/src/api/index.ts new file mode 100644 index 00000000..4b0e0413 --- /dev/null +++ b/apps/web-finance/src/api/index.ts @@ -0,0 +1 @@ +export * from './core'; diff --git a/apps/web-finance/src/api/mock/finance-data.ts b/apps/web-finance/src/api/mock/finance-data.ts new file mode 100644 index 00000000..c9c116b3 --- /dev/null +++ b/apps/web-finance/src/api/mock/finance-data.ts @@ -0,0 +1,170 @@ +// Mock 数据生成工具 +import type { + Category, + Loan, + Person, + Transaction +} from '#/types/finance'; + +// 生成UUID +function generateId(): string { + return Date.now().toString(36) + Math.random().toString(36).substr(2); +} + +// 初始分类数据 +export const mockCategories: Category[] = [ + // 收入分类 + { id: '1', name: '工资', type: 'income', created_at: '2024-01-01' }, + { id: '2', name: '投资收益', type: 'income', created_at: '2024-01-01' }, + { id: '3', name: '兼职', type: 'income', created_at: '2024-01-01' }, + { id: '4', name: '奖金', type: 'income', created_at: '2024-01-01' }, + { id: '5', name: '其他收入', type: 'income', created_at: '2024-01-01' }, + + // 支出分类 + { id: '6', name: '餐饮', type: 'expense', created_at: '2024-01-01' }, + { id: '7', name: '交通', type: 'expense', created_at: '2024-01-01' }, + { id: '8', name: '购物', type: 'expense', created_at: '2024-01-01' }, + { id: '9', name: '娱乐', type: 'expense', created_at: '2024-01-01' }, + { id: '10', name: '住房', type: 'expense', created_at: '2024-01-01' }, + { id: '11', name: '医疗', type: 'expense', created_at: '2024-01-01' }, + { id: '12', name: '教育', type: 'expense', created_at: '2024-01-01' }, + { id: '13', name: '其他支出', type: 'expense', created_at: '2024-01-01' }, +]; + +// 初始人员数据 +export const mockPersons: Person[] = [ + { + id: '1', + name: '张三', + roles: ['payer', 'payee'], + contact: '13800138000', + description: '主要客户', + created_at: '2024-01-01', + }, + { + id: '2', + name: '李四', + roles: ['payee', 'borrower'], + contact: '13900139000', + description: '供应商', + created_at: '2024-01-01', + }, + { + id: '3', + name: '王五', + roles: ['payer', 'lender'], + contact: '13700137000', + description: '合作伙伴', + created_at: '2024-01-01', + }, + { + id: '4', + name: '赵六', + roles: ['payee'], + contact: '13600136000', + description: '员工', + created_at: '2024-01-01', + }, +]; + +// 生成随机交易数据 +export function generateMockTransactions(count: number = 50): Transaction[] { + const transactions: Transaction[] = []; + const currencies = ['USD', 'CNY', 'THB', 'MMK'] as const; + const statuses = ['pending', 'completed', 'cancelled'] as const; + const projects = ['项目A', '项目B', '项目C', '日常运营']; + + for (let i = 0; i < count; i++) { + const type = Math.random() > 0.4 ? 'expense' : 'income'; + const categoryIds = type === 'income' ? ['1', '2', '3', '4', '5'] : ['6', '7', '8', '9', '10', '11', '12', '13']; + const date = new Date(); + date.setDate(date.getDate() - Math.floor(Math.random() * 90)); // 最近90天的数据 + + transactions.push({ + id: generateId(), + amount: Math.floor(Math.random() * 10000) + 100, + type, + categoryId: categoryIds[Math.floor(Math.random() * categoryIds.length)], + description: `${type === 'income' ? '收入' : '支出'}记录 ${i + 1}`, + date: date.toISOString().split('T')[0], + quantity: Math.floor(Math.random() * 10) + 1, + project: projects[Math.floor(Math.random() * projects.length)], + payer: type === 'expense' ? '公司' : mockPersons[Math.floor(Math.random() * mockPersons.length)].name, + payee: type === 'income' ? '公司' : mockPersons[Math.floor(Math.random() * mockPersons.length)].name, + recorder: '管理员', + currency: currencies[Math.floor(Math.random() * currencies.length)], + status: statuses[Math.floor(Math.random() * statuses.length)], + created_at: date.toISOString(), + }); + } + + return transactions.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()); +} + +// 生成贷款数据 +export function generateMockLoans(count: number = 10): Loan[] { + const loans: Loan[] = []; + const statuses = ['active', 'paid', 'overdue'] as const; + + for (let i = 0; i < count; i++) { + const startDate = new Date(); + startDate.setMonth(startDate.getMonth() - Math.floor(Math.random() * 12)); + + const dueDate = new Date(startDate); + dueDate.setMonth(dueDate.getMonth() + Math.floor(Math.random() * 12) + 1); + + const status = statuses[Math.floor(Math.random() * statuses.length)]; + const amount = Math.floor(Math.random() * 100000) + 10000; + + const loan: Loan = { + id: generateId(), + borrower: mockPersons[Math.floor(Math.random() * mockPersons.length)].name, + lender: mockPersons[Math.floor(Math.random() * mockPersons.length)].name, + amount, + currency: 'CNY', + startDate: startDate.toISOString().split('T')[0], + dueDate: dueDate.toISOString().split('T')[0], + description: `贷款合同 ${i + 1}`, + status, + repayments: [], + created_at: startDate.toISOString(), + }; + + // 生成还款记录 + if (status !== 'active') { + const repaymentCount = Math.floor(Math.random() * 5) + 1; + let totalRepaid = 0; + + for (let j = 0; j < repaymentCount; j++) { + const repaymentDate = new Date(startDate); + repaymentDate.setMonth(repaymentDate.getMonth() + j + 1); + + const repaymentAmount = Math.floor(amount / repaymentCount); + totalRepaid += repaymentAmount; + + loan.repayments.push({ + id: generateId(), + amount: repaymentAmount, + currency: 'CNY', + date: repaymentDate.toISOString().split('T')[0], + note: `第${j + 1}期还款`, + }); + } + + // 如果是已还清状态,确保还款总额等于贷款金额 + if (status === 'paid' && totalRepaid < amount) { + loan.repayments.push({ + id: generateId(), + amount: amount - totalRepaid, + currency: 'CNY', + date: new Date().toISOString().split('T')[0], + note: '最终还款', + }); + } + } + + loans.push(loan); + } + + return loans; +} \ No newline at end of file diff --git a/apps/web-finance/src/api/mock/finance-service.ts b/apps/web-finance/src/api/mock/finance-service.ts new file mode 100644 index 00000000..94b03910 --- /dev/null +++ b/apps/web-finance/src/api/mock/finance-service.ts @@ -0,0 +1,450 @@ +// Mock API 服务实现 +import type { + Category, + ImportResult, + Loan, + LoanRepayment, + PageParams, + PageResult, + Person, + SearchParams, + Transaction +} from '#/types/finance'; + +import { + add, + addBatch, + clear, + get, + getAll, + getByIndex, + initDB, + remove, + STORES, + update +} from '#/utils/db'; + +import { + generateMockLoans, + generateMockTransactions, + mockCategories, + mockPersons +} from './finance-data'; + +// 生成UUID +function generateId(): string { + return Date.now().toString(36) + Math.random().toString(36).substr(2); +} + +// 初始化数据 +export async function initializeData() { + try { + await initDB(); + + // 检查是否已有数据 + const existingCategories = await getAll(STORES.CATEGORIES); + if (existingCategories.length === 0) { + console.log('初始化Mock数据...'); + + // 初始化分类 + await addBatch(STORES.CATEGORIES, mockCategories); + console.log('分类数据已初始化'); + + // 初始化人员 + await addBatch(STORES.PERSONS, mockPersons); + console.log('人员数据已初始化'); + + // 初始化交易 + const transactions = generateMockTransactions(100); + await addBatch(STORES.TRANSACTIONS, transactions); + console.log('交易数据已初始化'); + + // 初始化贷款 + const loans = generateMockLoans(20); + await addBatch(STORES.LOANS, loans); + console.log('贷款数据已初始化'); + } else { + console.log('数据库已有数据,跳过初始化'); + } + } catch (error) { + console.error('初始化数据失败:', error); + throw error; + } +} + +// 分页处理 +function paginate(items: T[], params: PageParams): PageResult { + const { page = 1, pageSize = 20, sortBy, sortOrder = 'desc' } = params; + + // 排序 + if (sortBy && (items[0] as any)[sortBy] !== undefined) { + items.sort((a, b) => { + const aVal = (a as any)[sortBy]; + const bVal = (b as any)[sortBy]; + const order = sortOrder === 'asc' ? 1 : -1; + return aVal > bVal ? order : -order; + }); + } + + // 分页 + const start = (page - 1) * pageSize; + const end = start + pageSize; + const paginatedItems = items.slice(start, end); + + return { + items: paginatedItems, + total: items.length, + page, + pageSize, + totalPages: Math.ceil(items.length / pageSize), + }; +} + +// 搜索过滤 +function filterTransactions(transactions: Transaction[], params: SearchParams): Transaction[] { + let filtered = transactions; + + if (params.keyword) { + const keyword = params.keyword.toLowerCase(); + filtered = filtered.filter(t => + t.description?.toLowerCase().includes(keyword) || + t.project?.toLowerCase().includes(keyword) || + t.payer?.toLowerCase().includes(keyword) || + t.payee?.toLowerCase().includes(keyword) + ); + } + + if (params.type) { + filtered = filtered.filter(t => t.type === params.type); + } + + if (params.categoryId) { + filtered = filtered.filter(t => t.categoryId === params.categoryId); + } + + if (params.currency) { + filtered = filtered.filter(t => t.currency === params.currency); + } + + if (params.status) { + filtered = filtered.filter(t => t.status === params.status); + } + + if (params.dateFrom) { + filtered = filtered.filter(t => t.date >= params.dateFrom); + } + + if (params.dateTo) { + filtered = filtered.filter(t => t.date <= params.dateTo); + } + + return filtered; +} + +// Category API +export const categoryService = { + async getList(params?: PageParams): Promise> { + const categories = await getAll(STORES.CATEGORIES); + return paginate(categories, params || { page: 1, pageSize: 100 }); + }, + + async getDetail(id: string): Promise { + return get(STORES.CATEGORIES, id); + }, + + async create(data: Partial): Promise { + const category: Category = { + id: generateId(), + name: data.name!, + type: data.type!, + parentId: data.parentId, + created_at: new Date().toISOString(), + }; + await add(STORES.CATEGORIES, category); + return category; + }, + + async update(id: string, data: Partial): Promise { + const existing = await get(STORES.CATEGORIES, id); + if (!existing) { + throw new Error('Category not found'); + } + const updated = { ...existing, ...data, updated_at: new Date().toISOString() }; + await update(STORES.CATEGORIES, updated); + return updated; + }, + + async delete(id: string): Promise { + await remove(STORES.CATEGORIES, id); + }, + + async getTree(): Promise { + const categories = await getAll(STORES.CATEGORIES); + // 这里可以构建树形结构,暂时返回平铺数据 + return categories; + }, +}; + +// Transaction API +export const transactionService = { + async getList(params: SearchParams): Promise> { + const transactions = await getAll(STORES.TRANSACTIONS); + const filtered = filterTransactions(transactions, params); + return paginate(filtered, params); + }, + + async getDetail(id: string): Promise { + return get(STORES.TRANSACTIONS, id); + }, + + async create(data: Partial): Promise { + const transaction: Transaction = { + id: generateId(), + amount: data.amount!, + type: data.type!, + categoryId: data.categoryId!, + description: data.description, + date: data.date || new Date().toISOString().split('T')[0], + quantity: data.quantity || 1, + project: data.project, + payer: data.payer, + payee: data.payee, + recorder: data.recorder || '管理员', + currency: data.currency || 'CNY', + status: data.status || 'completed', + tags: data.tags || [], + created_at: new Date().toISOString(), + }; + await add(STORES.TRANSACTIONS, transaction); + return transaction; + }, + + async update(id: string, data: Partial): Promise { + const existing = await get(STORES.TRANSACTIONS, id); + if (!existing) { + throw new Error('Transaction not found'); + } + const updated = { ...existing, ...data, updated_at: new Date().toISOString() }; + await update(STORES.TRANSACTIONS, updated); + return updated; + }, + + async delete(id: string): Promise { + await remove(STORES.TRANSACTIONS, id); + }, + + async batchDelete(ids: string[]): Promise { + for (const id of ids) { + await remove(STORES.TRANSACTIONS, id); + } + }, + + async getStatistics(params?: SearchParams): Promise { + const transactions = await getAll(STORES.TRANSACTIONS); + const filtered = params ? filterTransactions(transactions, params) : transactions; + + const totalIncome = filtered + .filter(t => t.type === 'income' && t.status === 'completed') + .reduce((sum, t) => sum + t.amount, 0); + + const totalExpense = filtered + .filter(t => t.type === 'expense' && t.status === 'completed') + .reduce((sum, t) => sum + t.amount, 0); + + return { + totalIncome, + totalExpense, + balance: totalIncome - totalExpense, + totalTransactions: filtered.length, + }; + }, + + async import(data: Transaction[]): Promise { + const result: ImportResult = { + success: 0, + failed: 0, + errors: [], + }; + + for (let i = 0; i < data.length; i++) { + try { + await this.create(data[i]); + result.success++; + } catch (error) { + result.failed++; + result.errors.push({ + row: i + 1, + message: error instanceof Error ? error.message : 'Unknown error', + }); + } + } + + return result; + }, +}; + +// Person API +export const personService = { + async getList(params?: PageParams): Promise> { + const persons = await getAll(STORES.PERSONS); + return paginate(persons, params || { page: 1, pageSize: 100 }); + }, + + async getDetail(id: string): Promise { + return get(STORES.PERSONS, id); + }, + + async create(data: Partial): Promise { + const person: Person = { + id: generateId(), + name: data.name!, + roles: data.roles || [], + contact: data.contact, + description: data.description, + created_at: new Date().toISOString(), + }; + await add(STORES.PERSONS, person); + return person; + }, + + async update(id: string, data: Partial): Promise { + const existing = await get(STORES.PERSONS, id); + if (!existing) { + throw new Error('Person not found'); + } + const updated = { ...existing, ...data, updated_at: new Date().toISOString() }; + await update(STORES.PERSONS, updated); + return updated; + }, + + async delete(id: string): Promise { + await remove(STORES.PERSONS, id); + }, + + async search(keyword: string): Promise { + const persons = await getAll(STORES.PERSONS); + const lowercaseKeyword = keyword.toLowerCase(); + return persons.filter(p => + p.name.toLowerCase().includes(lowercaseKeyword) || + p.contact?.toLowerCase().includes(lowercaseKeyword) || + p.description?.toLowerCase().includes(lowercaseKeyword) + ); + }, +}; + +// Loan API +export const loanService = { + async getList(params: SearchParams): Promise> { + const loans = await getAll(STORES.LOANS); + let filtered = loans; + + if (params.status) { + filtered = filtered.filter(l => l.status === params.status); + } + + if (params.keyword) { + const keyword = params.keyword.toLowerCase(); + filtered = filtered.filter(l => + l.borrower.toLowerCase().includes(keyword) || + l.lender.toLowerCase().includes(keyword) || + l.description?.toLowerCase().includes(keyword) + ); + } + + return paginate(filtered, params); + }, + + async getDetail(id: string): Promise { + return get(STORES.LOANS, id); + }, + + async create(data: Partial): Promise { + const loan: Loan = { + id: generateId(), + borrower: data.borrower!, + lender: data.lender!, + amount: data.amount!, + currency: data.currency || 'CNY', + startDate: data.startDate || new Date().toISOString().split('T')[0], + dueDate: data.dueDate, + description: data.description, + status: data.status || 'active', + repayments: [], + created_at: new Date().toISOString(), + }; + await add(STORES.LOANS, loan); + return loan; + }, + + async update(id: string, data: Partial): Promise { + const existing = await get(STORES.LOANS, id); + if (!existing) { + throw new Error('Loan not found'); + } + const updated = { ...existing, ...data, updated_at: new Date().toISOString() }; + await update(STORES.LOANS, updated); + return updated; + }, + + async delete(id: string): Promise { + await remove(STORES.LOANS, id); + }, + + async addRepayment(loanId: string, repayment: Partial): Promise { + const loan = await get(STORES.LOANS, loanId); + if (!loan) { + throw new Error('Loan not found'); + } + + const newRepayment: LoanRepayment = { + id: generateId(), + amount: repayment.amount!, + currency: repayment.currency || loan.currency, + date: repayment.date || new Date().toISOString().split('T')[0], + note: repayment.note, + }; + + loan.repayments.push(newRepayment); + + // 检查是否已还清 + const totalRepaid = loan.repayments.reduce((sum, r) => sum + r.amount, 0); + if (totalRepaid >= loan.amount) { + loan.status = 'paid'; + } + + await update(STORES.LOANS, loan); + return loan; + }, + + async updateStatus(id: string, status: Loan['status']): Promise { + const loan = await get(STORES.LOANS, id); + if (!loan) { + throw new Error('Loan not found'); + } + loan.status = status; + await update(STORES.LOANS, loan); + return loan; + }, + + async getStatistics(): Promise { + const loans = await getAll(STORES.LOANS); + + const activeLoans = loans.filter(l => l.status === 'active'); + const paidLoans = loans.filter(l => l.status === 'paid'); + const overdueLoans = loans.filter(l => l.status === 'overdue'); + + const totalLent = loans.reduce((sum, l) => sum + l.amount, 0); + const totalRepaid = loans.reduce((sum, l) => + sum + l.repayments.reduce((repaySum, r) => repaySum + r.amount, 0), 0 + ); + + return { + totalLent, + totalBorrowed: totalLent, // 在实际应用中可能需要区分 + totalRepaid, + activeLoans: activeLoans.length, + overdueLoans: overdueLoans.length, + paidLoans: paidLoans.length, + }; + }, +}; \ No newline at end of file diff --git a/apps/web-finance/src/api/request.ts b/apps/web-finance/src/api/request.ts new file mode 100644 index 00000000..288dddd0 --- /dev/null +++ b/apps/web-finance/src/api/request.ts @@ -0,0 +1,113 @@ +/** + * 该文件可自行根据业务逻辑进行调整 + */ +import type { RequestClientOptions } from '@vben/request'; + +import { useAppConfig } from '@vben/hooks'; +import { preferences } from '@vben/preferences'; +import { + authenticateResponseInterceptor, + defaultResponseInterceptor, + errorMessageResponseInterceptor, + RequestClient, +} from '@vben/request'; +import { useAccessStore } from '@vben/stores'; + +import { message } from 'ant-design-vue'; + +import { useAuthStore } from '#/store'; + +import { refreshTokenApi } from './core'; + +const { apiURL } = useAppConfig(import.meta.env, import.meta.env.PROD); + +function createRequestClient(baseURL: string, options?: RequestClientOptions) { + const client = new RequestClient({ + ...options, + baseURL, + }); + + /** + * 重新认证逻辑 + */ + async function doReAuthenticate() { + console.warn('Access token or refresh token is invalid or expired. '); + const accessStore = useAccessStore(); + const authStore = useAuthStore(); + accessStore.setAccessToken(null); + if ( + preferences.app.loginExpiredMode === 'modal' && + accessStore.isAccessChecked + ) { + accessStore.setLoginExpired(true); + } else { + await authStore.logout(); + } + } + + /** + * 刷新token逻辑 + */ + async function doRefreshToken() { + const accessStore = useAccessStore(); + const resp = await refreshTokenApi(); + const newToken = resp.data; + accessStore.setAccessToken(newToken); + return newToken; + } + + function formatToken(token: null | string) { + return token ? `Bearer ${token}` : null; + } + + // 请求头处理 + client.addRequestInterceptor({ + fulfilled: async (config) => { + const accessStore = useAccessStore(); + + config.headers.Authorization = formatToken(accessStore.accessToken); + config.headers['Accept-Language'] = preferences.app.locale; + return config; + }, + }); + + // 处理返回的响应数据格式 + client.addResponseInterceptor( + defaultResponseInterceptor({ + codeField: 'code', + dataField: 'data', + successCode: 0, + }), + ); + + // token过期的处理 + client.addResponseInterceptor( + authenticateResponseInterceptor({ + client, + doReAuthenticate, + doRefreshToken, + enableRefreshToken: preferences.app.enableRefreshToken, + formatToken, + }), + ); + + // 通用的错误处理,如果没有进入上面的错误处理逻辑,就会进入这里 + client.addResponseInterceptor( + errorMessageResponseInterceptor((msg: string, error) => { + // 这里可以根据业务进行定制,你可以拿到 error 内的信息进行定制化处理,根据不同的 code 做不同的提示,而不是直接使用 message.error 提示 msg + // 当前mock接口返回的错误字段是 error 或者 message + const responseData = error?.response?.data ?? {}; + const errorMessage = responseData?.error ?? responseData?.message ?? ''; + // 如果没有错误信息,则会根据状态码进行提示 + message.error(errorMessage || msg); + }), + ); + + return client; +} + +export const requestClient = createRequestClient(apiURL, { + responseReturn: 'data', +}); + +export const baseRequestClient = new RequestClient({ baseURL: apiURL }); diff --git a/apps/web-finance/src/app.vue b/apps/web-finance/src/app.vue new file mode 100644 index 00000000..c4fb81f3 --- /dev/null +++ b/apps/web-finance/src/app.vue @@ -0,0 +1,39 @@ + + + diff --git a/apps/web-finance/src/bootstrap.ts b/apps/web-finance/src/bootstrap.ts new file mode 100644 index 00000000..37b6a1bd --- /dev/null +++ b/apps/web-finance/src/bootstrap.ts @@ -0,0 +1,93 @@ +import { createApp, watchEffect } from 'vue'; + +import { registerAccessDirective } from '@vben/access'; +import { registerLoadingDirective } from '@vben/common-ui/es/loading'; +import { preferences } from '@vben/preferences'; +import { initStores } from '@vben/stores'; +import '@vben/styles'; +import '@vben/styles/antd'; +import '#/styles/mobile.css'; + +import { useTitle } from '@vueuse/core'; + +import { initializeData } from '#/api/mock/finance-service'; +import { $t, setupI18n } from '#/locales'; +import { migrateData, needsMigration } from '#/utils/data-migration'; + +import { initComponentAdapter } from './adapter/component'; +import { initSetupVbenForm } from './adapter/form'; +import App from './app.vue'; +import { router } from './router'; + +async function bootstrap(namespace: string) { + // 初始化数据库和 Mock 数据 + await initializeData(); + + // 检查并执行数据迁移 + if (needsMigration()) { + console.log('检测到旧数据,开始迁移...'); + const result = await migrateData(); + if (result.success) { + console.log(result.message, result.details); + } else { + console.error(result.message, result.details); + } + } + + // 初始化组件适配器 + await initComponentAdapter(); + + // 初始化表单组件 + await initSetupVbenForm(); + + // // 设置弹窗的默认配置 + // setDefaultModalProps({ + // fullscreenButton: false, + // }); + // // 设置抽屉的默认配置 + // setDefaultDrawerProps({ + // zIndex: 1020, + // }); + + const app = createApp(App); + + // 注册v-loading指令 + registerLoadingDirective(app, { + loading: 'loading', // 在这里可以自定义指令名称,也可以明确提供false表示不注册这个指令 + spinning: 'spinning', + }); + + // 国际化 i18n 配置 + await setupI18n(app); + + // 配置 pinia-tore + await initStores(app, { namespace }); + + // 安装权限指令 + registerAccessDirective(app); + + // 初始化 tippy + const { initTippy } = await import('@vben/common-ui/es/tippy'); + initTippy(app); + + // 配置路由及路由守卫 + app.use(router); + + // 配置Motion插件 + const { MotionPlugin } = await import('@vben/plugins/motion'); + app.use(MotionPlugin); + + // 动态更新标题 + watchEffect(() => { + if (preferences.app.dynamicTitle) { + const routeTitle = router.currentRoute.value.meta?.title; + const pageTitle = + (routeTitle ? `${$t(routeTitle)} - ` : '') + preferences.app.name; + useTitle(pageTitle); + } + }); + + app.mount('#app'); +} + +export { bootstrap }; diff --git a/apps/web-finance/src/components/charts/useChart.ts b/apps/web-finance/src/components/charts/useChart.ts new file mode 100644 index 00000000..4bf15c07 --- /dev/null +++ b/apps/web-finance/src/components/charts/useChart.ts @@ -0,0 +1,147 @@ +import type * as echarts from 'echarts'; +import type { Ref } from 'vue'; + +import { computed, nextTick, onMounted, onUnmounted, ref, unref, watch } from 'vue'; + +import { useDebounceFn } from '@vueuse/core'; +import * as echartCore from 'echarts/core'; +import { BarChart, LineChart, PieChart } from 'echarts/charts'; +import { + DataZoomComponent, + GridComponent, + LegendComponent, + TitleComponent, + ToolboxComponent, + TooltipComponent, +} from 'echarts/components'; +import { LabelLayout, UniversalTransition } from 'echarts/features'; +import { CanvasRenderer } from 'echarts/renderers'; + +// 注册必要的组件 +echartCore.use([ + TitleComponent, + TooltipComponent, + GridComponent, + LegendComponent, + ToolboxComponent, + DataZoomComponent, + BarChart, + LineChart, + PieChart, + CanvasRenderer, + UniversalTransition, + LabelLayout, +]); + +export type EChartsOption = echarts.EChartsOption; +export type EChartsInstance = echarts.ECharts; + +export interface UseChartOptions { + theme?: string | object; + initOptions?: echarts.EChartsCoreOption; + loading?: boolean; + loadingOptions?: object; +} + +export function useChart( + elRef: Ref, + options: UseChartOptions = {}, +) { + const { theme = 'light', initOptions = {}, loading = false, loadingOptions = {} } = options; + + let chartInstance: EChartsInstance | null = null; + const cacheOptions = ref({}); + const isDisposed = ref(false); + + // 获取图表实例 + const getChartInstance = (): EChartsInstance | null => { + if (!elRef.value || isDisposed.value) { + return null; + } + + if (!chartInstance) { + chartInstance = echartCore.init(elRef.value, theme, initOptions); + } + + return chartInstance; + }; + + // 设置图表配置 + const setOptions = (options: EChartsOption, clear = true) => { + cacheOptions.value = options; + nextTick(() => { + if (!isDisposed.value) { + const instance = getChartInstance(); + if (instance) { + clear && instance.clear(); + instance.setOption(options); + } + } + }); + }; + + // 获取图表配置 + const getOptions = (): EChartsOption => { + return cacheOptions.value; + }; + + // 调整图表大小 + const resize = useDebounceFn(() => { + const instance = getChartInstance(); + instance?.resize(); + }, 200); + + // 销毁图表 + const dispose = () => { + if (chartInstance) { + chartInstance.dispose(); + chartInstance = null; + isDisposed.value = true; + } + }; + + // 监听 loading 状态 + watch( + () => loading, + (val) => { + const instance = getChartInstance(); + if (instance) { + if (val) { + instance.showLoading(loadingOptions); + } else { + instance.hideLoading(); + } + } + }, + ); + + // 监听元素变化,重新初始化 + watch( + elRef, + (el) => { + if (el) { + isDisposed.value = false; + setOptions(cacheOptions.value); + } + }, + ); + + // 挂载时初始化 + onMounted(() => { + window.addEventListener('resize', resize); + }); + + // 卸载时清理 + onUnmounted(() => { + window.removeEventListener('resize', resize); + dispose(); + }); + + return { + getInstance: getChartInstance, + setOptions, + getOptions, + resize, + dispose, + }; +} \ No newline at end of file diff --git a/apps/web-finance/src/layouts/auth.vue b/apps/web-finance/src/layouts/auth.vue new file mode 100644 index 00000000..18d415bc --- /dev/null +++ b/apps/web-finance/src/layouts/auth.vue @@ -0,0 +1,23 @@ + + + diff --git a/apps/web-finance/src/layouts/basic.vue b/apps/web-finance/src/layouts/basic.vue new file mode 100644 index 00000000..1481dc5a --- /dev/null +++ b/apps/web-finance/src/layouts/basic.vue @@ -0,0 +1,157 @@ + + + diff --git a/apps/web-finance/src/layouts/index.ts b/apps/web-finance/src/layouts/index.ts new file mode 100644 index 00000000..a4320780 --- /dev/null +++ b/apps/web-finance/src/layouts/index.ts @@ -0,0 +1,6 @@ +const BasicLayout = () => import('./basic.vue'); +const AuthPageLayout = () => import('./auth.vue'); + +const IFrameView = () => import('@vben/layouts').then((m) => m.IFrameView); + +export { AuthPageLayout, BasicLayout, IFrameView }; diff --git a/apps/web-finance/src/locales/README.md b/apps/web-finance/src/locales/README.md new file mode 100644 index 00000000..7b451032 --- /dev/null +++ b/apps/web-finance/src/locales/README.md @@ -0,0 +1,3 @@ +# locale + +每个app使用的国际化可能不同,这里用于扩展国际化的功能,例如扩展 dayjs、antd组件库的多语言切换,以及app本身的国际化文件。 diff --git a/apps/web-finance/src/locales/index.ts b/apps/web-finance/src/locales/index.ts new file mode 100644 index 00000000..7f32bd18 --- /dev/null +++ b/apps/web-finance/src/locales/index.ts @@ -0,0 +1,102 @@ +import type { Locale } from 'ant-design-vue/es/locale'; + +import type { App } from 'vue'; + +import type { LocaleSetupOptions, SupportedLanguagesType } from '@vben/locales'; + +import { ref } from 'vue'; + +import { + $t, + setupI18n as coreSetup, + loadLocalesMapFromDir, +} from '@vben/locales'; +import { preferences } from '@vben/preferences'; + +import antdEnLocale from 'ant-design-vue/es/locale/en_US'; +import antdDefaultLocale from 'ant-design-vue/es/locale/zh_CN'; +import dayjs from 'dayjs'; + +const antdLocale = ref(antdDefaultLocale); + +const modules = import.meta.glob('./langs/**/*.json'); + +const localesMap = loadLocalesMapFromDir( + /\.\/langs\/([^/]+)\/(.*)\.json$/, + modules, +); +/** + * 加载应用特有的语言包 + * 这里也可以改造为从服务端获取翻译数据 + * @param lang + */ +async function loadMessages(lang: SupportedLanguagesType) { + const [appLocaleMessages] = await Promise.all([ + localesMap[lang]?.(), + loadThirdPartyMessage(lang), + ]); + return appLocaleMessages?.default; +} + +/** + * 加载第三方组件库的语言包 + * @param lang + */ +async function loadThirdPartyMessage(lang: SupportedLanguagesType) { + await Promise.all([loadAntdLocale(lang), loadDayjsLocale(lang)]); +} + +/** + * 加载dayjs的语言包 + * @param lang + */ +async function loadDayjsLocale(lang: SupportedLanguagesType) { + let locale; + switch (lang) { + case 'en-US': { + locale = await import('dayjs/locale/en'); + break; + } + case 'zh-CN': { + locale = await import('dayjs/locale/zh-cn'); + break; + } + // 默认使用英语 + default: { + locale = await import('dayjs/locale/en'); + } + } + if (locale) { + dayjs.locale(locale); + } else { + console.error(`Failed to load dayjs locale for ${lang}`); + } +} + +/** + * 加载antd的语言包 + * @param lang + */ +async function loadAntdLocale(lang: SupportedLanguagesType) { + switch (lang) { + case 'en-US': { + antdLocale.value = antdEnLocale; + break; + } + case 'zh-CN': { + antdLocale.value = antdDefaultLocale; + break; + } + } +} + +async function setupI18n(app: App, options: LocaleSetupOptions = {}) { + await coreSetup(app, { + defaultLocale: preferences.app.locale, + loadMessages, + missingWarn: !import.meta.env.PROD, + ...options, + }); +} + +export { $t, antdLocale, setupI18n }; diff --git a/apps/web-finance/src/locales/langs/en-US/demos.json b/apps/web-finance/src/locales/langs/en-US/demos.json new file mode 100644 index 00000000..07156434 --- /dev/null +++ b/apps/web-finance/src/locales/langs/en-US/demos.json @@ -0,0 +1,12 @@ +{ + "title": "Demos", + "antd": "Ant Design Vue", + "vben": { + "title": "Project", + "about": "About", + "document": "Document", + "antdv": "Ant Design Vue Version", + "naive-ui": "Naive UI Version", + "element-plus": "Element Plus Version" + } +} diff --git a/apps/web-finance/src/locales/langs/en-US/page.json b/apps/web-finance/src/locales/langs/en-US/page.json new file mode 100644 index 00000000..618a258c --- /dev/null +++ b/apps/web-finance/src/locales/langs/en-US/page.json @@ -0,0 +1,14 @@ +{ + "auth": { + "login": "Login", + "register": "Register", + "codeLogin": "Code Login", + "qrcodeLogin": "Qr Code Login", + "forgetPassword": "Forget Password" + }, + "dashboard": { + "title": "Dashboard", + "analytics": "Analytics", + "workspace": "Workspace" + } +} diff --git a/apps/web-finance/src/locales/langs/zh-CN/analytics.json b/apps/web-finance/src/locales/langs/zh-CN/analytics.json new file mode 100644 index 00000000..6b235e0b --- /dev/null +++ b/apps/web-finance/src/locales/langs/zh-CN/analytics.json @@ -0,0 +1,42 @@ +{ + "title": "统计分析", + "overview": "概览", + "trends": "趋势分析", + "reports": "报表", + "reports.daily": "日报表", + "reports.monthly": "月报表", + "reports.yearly": "年报表", + "reports.custom": "自定义报表", + + "statistics.totalIncome": "总收入", + "statistics.totalExpense": "总支出", + "statistics.balance": "余额", + "statistics.transactions": "交易数", + "statistics.avgDaily": "日均", + "statistics.avgMonthly": "月均", + + "chart.incomeExpense": "收支趋势", + "chart.categoryDistribution": "分类分布", + "chart.monthlyComparison": "月度对比", + "chart.personAnalysis": "人员分析", + "chart.projectAnalysis": "项目分析", + + "period.today": "今日", + "period.yesterday": "昨日", + "period.thisWeek": "本周", + "period.lastWeek": "上周", + "period.thisMonth": "本月", + "period.lastMonth": "上月", + "period.thisQuarter": "本季度", + "period.lastQuarter": "上季度", + "period.thisYear": "今年", + "period.lastYear": "去年", + "period.custom": "自定义", + + "filter.dateRange": "日期范围", + "filter.category": "分类", + "filter.person": "人员", + "filter.project": "项目", + "filter.currency": "货币", + "filter.type": "类型" +} \ No newline at end of file diff --git a/apps/web-finance/src/locales/langs/zh-CN/demos.json b/apps/web-finance/src/locales/langs/zh-CN/demos.json new file mode 100644 index 00000000..93ee722f --- /dev/null +++ b/apps/web-finance/src/locales/langs/zh-CN/demos.json @@ -0,0 +1,12 @@ +{ + "title": "演示", + "antd": "Ant Design Vue", + "vben": { + "title": "项目", + "about": "关于", + "document": "文档", + "antdv": "Ant Design Vue 版本", + "naive-ui": "Naive UI 版本", + "element-plus": "Element Plus 版本" + } +} diff --git a/apps/web-finance/src/locales/langs/zh-CN/finance.json b/apps/web-finance/src/locales/langs/zh-CN/finance.json new file mode 100644 index 00000000..6bca7276 --- /dev/null +++ b/apps/web-finance/src/locales/langs/zh-CN/finance.json @@ -0,0 +1,90 @@ +{ + "title": "财务管理", + "dashboard": "仪表板", + "transaction": "交易管理", + "category": "分类管理", + "person": "人员管理", + "loan": "贷款管理", + "tag": "标签管理", + "budget": "预算管理", + "mobile": "移动端", + + "transaction.list": "交易列表", + "transaction.create": "新建交易", + "transaction.edit": "编辑交易", + "transaction.delete": "删除交易", + "transaction.batchDelete": "批量删除", + "transaction.export": "导出交易", + "transaction.import": "导入交易", + + "transaction.amount": "金额", + "transaction.type": "类型", + "transaction.category": "分类", + "transaction.date": "日期", + "transaction.description": "描述", + "transaction.project": "项目", + "transaction.payer": "付款人", + "transaction.payee": "收款人", + "transaction.recorder": "记录人", + "transaction.currency": "货币", + "transaction.status": "状态", + + "type.income": "收入", + "type.expense": "支出", + + "status.pending": "待处理", + "status.completed": "已完成", + "status.cancelled": "已取消", + + "currency.USD": "美元", + "currency.CNY": "人民币", + "currency.THB": "泰铢", + "currency.MMK": "缅元", + + "category.income": "收入分类", + "category.expense": "支出分类", + "category.create": "新建分类", + "category.edit": "编辑分类", + "category.delete": "删除分类", + + "person.list": "人员列表", + "person.create": "新建人员", + "person.edit": "编辑人员", + "person.delete": "删除人员", + "person.roles": "角色", + "person.contact": "联系方式", + + "role.payer": "付款人", + "role.payee": "收款人", + "role.borrower": "借款人", + "role.lender": "出借人", + + "loan.list": "贷款列表", + "loan.create": "新建贷款", + "loan.edit": "编辑贷款", + "loan.delete": "删除贷款", + "loan.borrower": "借款人", + "loan.lender": "出借人", + "loan.startDate": "开始日期", + "loan.dueDate": "到期日期", + "loan.repayment": "还款记录", + "loan.addRepayment": "添加还款", + + "loan.status.active": "进行中", + "loan.status.paid": "已还清", + "loan.status.overdue": "已逾期", + + "common.search": "搜索", + "common.reset": "重置", + "common.create": "新建", + "common.edit": "编辑", + "common.delete": "删除", + "common.save": "保存", + "common.cancel": "取消", + "common.confirm": "确认", + "common.export": "导出", + "common.import": "导入", + "common.actions": "操作", + "common.loading": "加载中...", + "common.noData": "暂无数据" +} \ No newline at end of file diff --git a/apps/web-finance/src/locales/langs/zh-CN/page.json b/apps/web-finance/src/locales/langs/zh-CN/page.json new file mode 100644 index 00000000..967707d0 --- /dev/null +++ b/apps/web-finance/src/locales/langs/zh-CN/page.json @@ -0,0 +1,23 @@ +{ + "auth": { + "login": "登录", + "register": "注册", + "codeLogin": "验证码登录", + "qrcodeLogin": "二维码登录", + "forgetPassword": "忘记密码" + }, + "dashboard": { + "title": "概览", + "analytics": "分析页", + "workspace": "工作台" + }, + "finance": { + "title": "财务管理" + }, + "analytics": { + "title": "统计分析" + }, + "tools": { + "title": "系统工具" + } +} diff --git a/apps/web-finance/src/locales/langs/zh-CN/tools.json b/apps/web-finance/src/locales/langs/zh-CN/tools.json new file mode 100644 index 00000000..c17b4b77 --- /dev/null +++ b/apps/web-finance/src/locales/langs/zh-CN/tools.json @@ -0,0 +1,62 @@ +{ + "title": "系统工具", + "import": "数据导入", + "export": "数据导出", + "backup": "数据备份", + "budget": "预算管理", + "tags": "标签管理", + + "import.title": "导入数据", + "import.selectFile": "选择文件", + "import.downloadTemplate": "下载模板", + "import.preview": "预览数据", + "import.mapping": "字段映射", + "import.start": "开始导入", + "import.success": "导入成功", + "import.failed": "导入失败", + "import.result": "导入结果", + "import.successCount": "成功条数", + "import.failedCount": "失败条数", + + "export.title": "导出数据", + "export.selectType": "选择类型", + "export.selectFields": "选择字段", + "export.format": "导出格式", + "export.excel": "Excel文件", + "export.csv": "CSV文件", + "export.pdf": "PDF文件", + "export.dateRange": "日期范围", + "export.filters": "筛选条件", + + "backup.title": "数据备份", + "backup.create": "创建备份", + "backup.restore": "恢复备份", + "backup.download": "下载备份", + "backup.delete": "删除备份", + "backup.auto": "自动备份", + "backup.manual": "手动备份", + "backup.schedule": "备份计划", + "backup.lastBackup": "最后备份", + + "budget.title": "预算管理", + "budget.create": "创建预算", + "budget.edit": "编辑预算", + "budget.delete": "删除预算", + "budget.monthly": "月度预算", + "budget.yearly": "年度预算", + "budget.category": "分类预算", + "budget.amount": "预算金额", + "budget.used": "已使用", + "budget.remaining": "剩余", + "budget.progress": "执行进度", + "budget.alert": "预警设置", + + "tags.title": "标签管理", + "tags.create": "创建标签", + "tags.edit": "编辑标签", + "tags.delete": "删除标签", + "tags.name": "标签名称", + "tags.color": "标签颜色", + "tags.description": "标签描述", + "tags.usage": "使用次数" +} \ No newline at end of file diff --git a/apps/web-finance/src/main.ts b/apps/web-finance/src/main.ts new file mode 100644 index 00000000..5d728a02 --- /dev/null +++ b/apps/web-finance/src/main.ts @@ -0,0 +1,31 @@ +import { initPreferences } from '@vben/preferences'; +import { unmountGlobalLoading } from '@vben/utils'; + +import { overridesPreferences } from './preferences'; + +/** + * 应用初始化完成之后再进行页面加载渲染 + */ +async function initApplication() { + // name用于指定项目唯一标识 + // 用于区分不同项目的偏好设置以及存储数据的key前缀以及其他一些需要隔离的数据 + const env = import.meta.env.PROD ? 'prod' : 'dev'; + const appVersion = import.meta.env.VITE_APP_VERSION; + const namespace = `${import.meta.env.VITE_APP_NAMESPACE}-${appVersion}-${env}`; + + // app偏好设置初始化 + await initPreferences({ + namespace, + overrides: overridesPreferences, + }); + + // 启动应用并挂载 + // vue应用主要逻辑及视图 + const { bootstrap } = await import('./bootstrap'); + await bootstrap(namespace); + + // 移除并销毁loading + unmountGlobalLoading(); +} + +initApplication(); diff --git a/apps/web-finance/src/preferences.ts b/apps/web-finance/src/preferences.ts new file mode 100644 index 00000000..b2e9ace4 --- /dev/null +++ b/apps/web-finance/src/preferences.ts @@ -0,0 +1,13 @@ +import { defineOverridesPreferences } from '@vben/preferences'; + +/** + * @description 项目配置文件 + * 只需要覆盖项目中的一部分配置,不需要的配置不用覆盖,会自动使用默认配置 + * !!! 更改配置后请清空缓存,否则可能不生效 + */ +export const overridesPreferences = defineOverridesPreferences({ + // overrides + app: { + name: import.meta.env.VITE_APP_TITLE, + }, +}); diff --git a/apps/web-finance/src/router/access.ts b/apps/web-finance/src/router/access.ts new file mode 100644 index 00000000..3a48be23 --- /dev/null +++ b/apps/web-finance/src/router/access.ts @@ -0,0 +1,42 @@ +import type { + ComponentRecordType, + GenerateMenuAndRoutesOptions, +} from '@vben/types'; + +import { generateAccessible } from '@vben/access'; +import { preferences } from '@vben/preferences'; + +import { message } from 'ant-design-vue'; + +import { getAllMenusApi } from '#/api'; +import { BasicLayout, IFrameView } from '#/layouts'; +import { $t } from '#/locales'; + +const forbiddenComponent = () => import('#/views/_core/fallback/forbidden.vue'); + +async function generateAccess(options: GenerateMenuAndRoutesOptions) { + const pageMap: ComponentRecordType = import.meta.glob('../views/**/*.vue'); + + const layoutMap: ComponentRecordType = { + BasicLayout, + IFrameView, + }; + + return await generateAccessible(preferences.app.accessMode, { + ...options, + fetchMenuListAsync: async () => { + message.loading({ + content: `${$t('common.loadingMenu')}...`, + duration: 1.5, + }); + return await getAllMenusApi(); + }, + // 可以指定没有权限跳转403页面 + forbiddenComponent, + // 如果 route.meta.menuVisibleWithForbidden = true + layoutMap, + pageMap, + }); +} + +export { generateAccess }; diff --git a/apps/web-finance/src/router/guard.ts b/apps/web-finance/src/router/guard.ts new file mode 100644 index 00000000..a1ad6d88 --- /dev/null +++ b/apps/web-finance/src/router/guard.ts @@ -0,0 +1,133 @@ +import type { Router } from 'vue-router'; + +import { LOGIN_PATH } from '@vben/constants'; +import { preferences } from '@vben/preferences'; +import { useAccessStore, useUserStore } from '@vben/stores'; +import { startProgress, stopProgress } from '@vben/utils'; + +import { accessRoutes, coreRouteNames } from '#/router/routes'; +import { useAuthStore } from '#/store'; + +import { generateAccess } from './access'; + +/** + * 通用守卫配置 + * @param router + */ +function setupCommonGuard(router: Router) { + // 记录已经加载的页面 + const loadedPaths = new Set(); + + router.beforeEach((to) => { + to.meta.loaded = loadedPaths.has(to.path); + + // 页面加载进度条 + if (!to.meta.loaded && preferences.transition.progress) { + startProgress(); + } + return true; + }); + + router.afterEach((to) => { + // 记录页面是否加载,如果已经加载,后续的页面切换动画等效果不在重复执行 + + loadedPaths.add(to.path); + + // 关闭页面加载进度条 + if (preferences.transition.progress) { + stopProgress(); + } + }); +} + +/** + * 权限访问守卫配置 + * @param router + */ +function setupAccessGuard(router: Router) { + router.beforeEach(async (to, from) => { + const accessStore = useAccessStore(); + const userStore = useUserStore(); + const authStore = useAuthStore(); + + // 基本路由,这些路由不需要进入权限拦截 + if (coreRouteNames.includes(to.name as string)) { + if (to.path === LOGIN_PATH && accessStore.accessToken) { + return decodeURIComponent( + (to.query?.redirect as string) || + userStore.userInfo?.homePath || + preferences.app.defaultHomePath, + ); + } + return true; + } + + // accessToken 检查 + if (!accessStore.accessToken) { + // 明确声明忽略权限访问权限,则可以访问 + if (to.meta.ignoreAccess) { + return true; + } + + // 没有访问权限,跳转登录页面 + if (to.fullPath !== LOGIN_PATH) { + return { + path: LOGIN_PATH, + // 如不需要,直接删除 query + query: + to.fullPath === preferences.app.defaultHomePath + ? {} + : { redirect: encodeURIComponent(to.fullPath) }, + // 携带当前跳转的页面,登录后重新跳转该页面 + replace: true, + }; + } + return to; + } + + // 是否已经生成过动态路由 + if (accessStore.isAccessChecked) { + return true; + } + + // 生成路由表 + // 当前登录用户拥有的角色标识列表 + const userInfo = userStore.userInfo || (await authStore.fetchUserInfo()); + const userRoles = userInfo.roles ?? []; + + // 生成菜单和路由 + const { accessibleMenus, accessibleRoutes } = await generateAccess({ + roles: userRoles, + router, + // 则会在菜单中显示,但是访问会被重定向到403 + routes: accessRoutes, + }); + + // 保存菜单信息和路由信息 + accessStore.setAccessMenus(accessibleMenus); + accessStore.setAccessRoutes(accessibleRoutes); + accessStore.setIsAccessChecked(true); + const redirectPath = (from.query.redirect ?? + (to.path === preferences.app.defaultHomePath + ? userInfo.homePath || preferences.app.defaultHomePath + : to.fullPath)) as string; + + return { + ...router.resolve(decodeURIComponent(redirectPath)), + replace: true, + }; + }); +} + +/** + * 项目守卫配置 + * @param router + */ +function createRouterGuard(router: Router) { + /** 通用 */ + setupCommonGuard(router); + /** 权限访问 */ + setupAccessGuard(router); +} + +export { createRouterGuard }; diff --git a/apps/web-finance/src/router/index.ts b/apps/web-finance/src/router/index.ts new file mode 100644 index 00000000..48402303 --- /dev/null +++ b/apps/web-finance/src/router/index.ts @@ -0,0 +1,37 @@ +import { + createRouter, + createWebHashHistory, + createWebHistory, +} from 'vue-router'; + +import { resetStaticRoutes } from '@vben/utils'; + +import { createRouterGuard } from './guard'; +import { routes } from './routes'; + +/** + * @zh_CN 创建vue-router实例 + */ +const router = createRouter({ + history: + import.meta.env.VITE_ROUTER_HISTORY === 'hash' + ? createWebHashHistory(import.meta.env.VITE_BASE) + : createWebHistory(import.meta.env.VITE_BASE), + // 应该添加到路由的初始路由列表。 + routes, + scrollBehavior: (to, _from, savedPosition) => { + if (savedPosition) { + return savedPosition; + } + return to.hash ? { behavior: 'smooth', el: to.hash } : { left: 0, top: 0 }; + }, + // 是否应该禁止尾部斜杠。 + // strict: true, +}); + +const resetRoutes = () => resetStaticRoutes(router, routes); + +// 创建路由守卫 +createRouterGuard(router); + +export { resetRoutes, router }; diff --git a/apps/web-finance/src/router/routes/core.ts b/apps/web-finance/src/router/routes/core.ts new file mode 100644 index 00000000..949b0b65 --- /dev/null +++ b/apps/web-finance/src/router/routes/core.ts @@ -0,0 +1,97 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { LOGIN_PATH } from '@vben/constants'; +import { preferences } from '@vben/preferences'; + +import { $t } from '#/locales'; + +const BasicLayout = () => import('#/layouts/basic.vue'); +const AuthPageLayout = () => import('#/layouts/auth.vue'); +/** 全局404页面 */ +const fallbackNotFoundRoute: RouteRecordRaw = { + component: () => import('#/views/_core/fallback/not-found.vue'), + meta: { + hideInBreadcrumb: true, + hideInMenu: true, + hideInTab: true, + title: '404', + }, + name: 'FallbackNotFound', + path: '/:path(.*)*', +}; + +/** 基本路由,这些路由是必须存在的 */ +const coreRoutes: RouteRecordRaw[] = [ + /** + * 根路由 + * 使用基础布局,作为所有页面的父级容器,子级就不必配置BasicLayout。 + * 此路由必须存在,且不应修改 + */ + { + component: BasicLayout, + meta: { + hideInBreadcrumb: true, + title: 'Root', + }, + name: 'Root', + path: '/', + redirect: preferences.app.defaultHomePath, + children: [], + }, + { + component: AuthPageLayout, + meta: { + hideInTab: true, + title: 'Authentication', + }, + name: 'Authentication', + path: '/auth', + redirect: LOGIN_PATH, + children: [ + { + name: 'Login', + path: 'login', + component: () => import('#/views/_core/authentication/login.vue'), + meta: { + title: $t('page.auth.login'), + }, + }, + { + name: 'CodeLogin', + path: 'code-login', + component: () => import('#/views/_core/authentication/code-login.vue'), + meta: { + title: $t('page.auth.codeLogin'), + }, + }, + { + name: 'QrCodeLogin', + path: 'qrcode-login', + component: () => + import('#/views/_core/authentication/qrcode-login.vue'), + meta: { + title: $t('page.auth.qrcodeLogin'), + }, + }, + { + name: 'ForgetPassword', + path: 'forget-password', + component: () => + import('#/views/_core/authentication/forget-password.vue'), + meta: { + title: $t('page.auth.forgetPassword'), + }, + }, + { + name: 'Register', + path: 'register', + component: () => import('#/views/_core/authentication/register.vue'), + meta: { + title: $t('page.auth.register'), + }, + }, + ], + }, +]; + +export { coreRoutes, fallbackNotFoundRoute }; diff --git a/apps/web-finance/src/router/routes/index.ts b/apps/web-finance/src/router/routes/index.ts new file mode 100644 index 00000000..e6fb1440 --- /dev/null +++ b/apps/web-finance/src/router/routes/index.ts @@ -0,0 +1,37 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { mergeRouteModules, traverseTreeValues } from '@vben/utils'; + +import { coreRoutes, fallbackNotFoundRoute } from './core'; + +const dynamicRouteFiles = import.meta.glob('./modules/**/*.ts', { + eager: true, +}); + +// 有需要可以自行打开注释,并创建文件夹 +// const externalRouteFiles = import.meta.glob('./external/**/*.ts', { eager: true }); +// const staticRouteFiles = import.meta.glob('./static/**/*.ts', { eager: true }); + +/** 动态路由 */ +const dynamicRoutes: RouteRecordRaw[] = mergeRouteModules(dynamicRouteFiles); + +/** 外部路由列表,访问这些页面可以不需要Layout,可能用于内嵌在别的系统(不会显示在菜单中) */ +// const externalRoutes: RouteRecordRaw[] = mergeRouteModules(externalRouteFiles); +// const staticRoutes: RouteRecordRaw[] = mergeRouteModules(staticRouteFiles); +const staticRoutes: RouteRecordRaw[] = []; +const externalRoutes: RouteRecordRaw[] = []; + +/** 路由列表,由基本路由、外部路由和404兜底路由组成 + * 无需走权限验证(会一直显示在菜单中) */ +const routes: RouteRecordRaw[] = [ + ...coreRoutes, + ...externalRoutes, + fallbackNotFoundRoute, +]; + +/** 基本路由列表,这些路由不需要进入权限拦截 */ +const coreRouteNames = traverseTreeValues(coreRoutes, (route) => route.name); + +/** 有权限校验的路由列表,包含动态路由和静态路由 */ +const accessRoutes = [...dynamicRoutes, ...staticRoutes]; +export { accessRoutes, coreRouteNames, routes }; diff --git a/apps/web-finance/src/router/routes/modules/analytics.ts b/apps/web-finance/src/router/routes/modules/analytics.ts new file mode 100644 index 00000000..6634329a --- /dev/null +++ b/apps/web-finance/src/router/routes/modules/analytics.ts @@ -0,0 +1,81 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { BasicLayout } from '#/layouts'; +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + component: BasicLayout, + meta: { + icon: 'ant-design:bar-chart-outlined', + order: 2, + title: $t('analytics.title'), + }, + name: 'Analytics', + path: '/analytics', + children: [ + { + meta: { + icon: 'ant-design:dashboard-outlined', + title: $t('analytics.overview'), + }, + name: 'AnalyticsOverview', + path: 'overview', + component: () => import('#/views/analytics/overview/index.vue'), + }, + { + meta: { + icon: 'ant-design:line-chart-outlined', + title: $t('analytics.trends'), + }, + name: 'AnalyticsTrends', + path: 'trends', + component: () => import('#/views/analytics/trends/index.vue'), + }, + { + meta: { + icon: 'ant-design:file-text-outlined', + title: $t('analytics.reports'), + }, + name: 'AnalyticsReports', + path: 'reports', + children: [ + { + meta: { + title: $t('analytics.reports.daily'), + }, + name: 'DailyReport', + path: 'daily', + component: () => import('#/views/analytics/reports/daily.vue'), + }, + { + meta: { + title: $t('analytics.reports.monthly'), + }, + name: 'MonthlyReport', + path: 'monthly', + component: () => import('#/views/analytics/reports/monthly.vue'), + }, + { + meta: { + title: $t('analytics.reports.yearly'), + }, + name: 'YearlyReport', + path: 'yearly', + component: () => import('#/views/analytics/reports/yearly.vue'), + }, + { + meta: { + title: $t('analytics.reports.custom'), + }, + name: 'CustomReport', + path: 'custom', + component: () => import('#/views/analytics/reports/custom.vue'), + }, + ], + }, + ], + }, +]; + +export default routes; \ No newline at end of file diff --git a/apps/web-finance/src/router/routes/modules/dashboard.ts b/apps/web-finance/src/router/routes/modules/dashboard.ts new file mode 100644 index 00000000..5254dc65 --- /dev/null +++ b/apps/web-finance/src/router/routes/modules/dashboard.ts @@ -0,0 +1,38 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'lucide:layout-dashboard', + order: -1, + title: $t('page.dashboard.title'), + }, + name: 'Dashboard', + path: '/dashboard', + children: [ + { + name: 'Analytics', + path: '/analytics', + component: () => import('#/views/dashboard/analytics/index.vue'), + meta: { + affixTab: true, + icon: 'lucide:area-chart', + title: $t('page.dashboard.analytics'), + }, + }, + { + name: 'Workspace', + path: '/workspace', + component: () => import('#/views/dashboard/workspace/index.vue'), + meta: { + icon: 'carbon:workspace', + title: $t('page.dashboard.workspace'), + }, + }, + ], + }, +]; + +export default routes; diff --git a/apps/web-finance/src/router/routes/modules/demos.ts b/apps/web-finance/src/router/routes/modules/demos.ts new file mode 100644 index 00000000..55ade09c --- /dev/null +++ b/apps/web-finance/src/router/routes/modules/demos.ts @@ -0,0 +1,28 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'ic:baseline-view-in-ar', + keepAlive: true, + order: 1000, + title: $t('demos.title'), + }, + name: 'Demos', + path: '/demos', + children: [ + { + meta: { + title: $t('demos.antd'), + }, + name: 'AntDesignDemos', + path: '/demos/ant-design', + component: () => import('#/views/demos/antd/index.vue'), + }, + ], + }, +]; + +export default routes; diff --git a/apps/web-finance/src/router/routes/modules/finance.ts b/apps/web-finance/src/router/routes/modules/finance.ts new file mode 100644 index 00000000..e96a8c3b --- /dev/null +++ b/apps/web-finance/src/router/routes/modules/finance.ts @@ -0,0 +1,103 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { BasicLayout } from '#/layouts'; +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + component: BasicLayout, + meta: { + icon: 'ant-design:dollar-outlined', + order: 1, + title: $t('finance.title'), + }, + name: 'Finance', + path: '/finance', + children: [ + { + meta: { + icon: 'ant-design:home-outlined', + title: $t('finance.dashboard'), + }, + name: 'FinanceDashboard', + path: 'dashboard', + component: () => import('#/views/finance/dashboard/index.vue'), + }, + { + meta: { + icon: 'ant-design:swap-outlined', + title: $t('finance.transaction'), + }, + name: 'Transaction', + path: 'transaction', + component: () => import('#/views/finance/transaction/index.vue'), + }, + { + meta: { + icon: 'ant-design:appstore-outlined', + title: $t('finance.category'), + }, + name: 'Category', + path: 'category', + component: () => import('#/views/finance/category/index.vue'), + }, + { + meta: { + icon: 'ant-design:team-outlined', + title: $t('finance.person'), + }, + name: 'Person', + path: 'person', + component: () => import('#/views/finance/person/index.vue'), + }, + { + meta: { + icon: 'ant-design:bank-outlined', + title: $t('finance.loan'), + }, + name: 'Loan', + path: 'loan', + component: () => import('#/views/finance/loan/index.vue'), + }, + { + meta: { + icon: 'ant-design:tag-outlined', + title: $t('finance.tag'), + }, + name: 'Tag', + path: 'tag', + component: () => import('#/views/finance/tag/index.vue'), + }, + { + meta: { + icon: 'ant-design:wallet-outlined', + title: $t('finance.budget'), + }, + name: 'Budget', + path: 'budget', + component: () => import('#/views/finance/budget/index.vue'), + }, + { + meta: { + icon: 'ant-design:mobile-outlined', + title: $t('finance.mobile'), + hideInMenu: true, // 在桌面端菜单中隐藏 + }, + name: 'MobileFinance', + path: 'mobile', + component: () => import('#/views/finance/mobile/index.vue'), + }, + { + meta: { + icon: 'ant-design:bug-outlined', + title: 'API测试', + }, + name: 'TestAPI', + path: 'test-api', + component: () => import('#/views/finance/test-api.vue'), + }, + ], + }, +]; + +export default routes; \ No newline at end of file diff --git a/apps/web-finance/src/router/routes/modules/tools.ts b/apps/web-finance/src/router/routes/modules/tools.ts new file mode 100644 index 00000000..83cbc0b5 --- /dev/null +++ b/apps/web-finance/src/router/routes/modules/tools.ts @@ -0,0 +1,66 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { BasicLayout } from '#/layouts'; +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + component: BasicLayout, + meta: { + icon: 'ant-design:tool-outlined', + order: 3, + title: $t('tools.title'), + }, + name: 'Tools', + path: '/tools', + children: [ + { + meta: { + icon: 'ant-design:import-outlined', + title: $t('tools.import'), + }, + name: 'DataImport', + path: 'import', + component: () => import('#/views/tools/import/index.vue'), + }, + { + meta: { + icon: 'ant-design:export-outlined', + title: $t('tools.export'), + }, + name: 'DataExport', + path: 'export', + component: () => import('#/views/tools/export/index.vue'), + }, + { + meta: { + icon: 'ant-design:database-outlined', + title: $t('tools.backup'), + }, + name: 'DataBackup', + path: 'backup', + component: () => import('#/views/tools/backup/index.vue'), + }, + { + meta: { + icon: 'ant-design:calculator-outlined', + title: $t('tools.budget'), + }, + name: 'BudgetManagement', + path: 'budget', + component: () => import('#/views/tools/budget/index.vue'), + }, + { + meta: { + icon: 'ant-design:tags-outlined', + title: $t('tools.tags'), + }, + name: 'TagManagement', + path: 'tags', + component: () => import('#/views/tools/tags/index.vue'), + }, + ], + }, +]; + +export default routes; \ No newline at end of file diff --git a/apps/web-finance/src/router/routes/modules/vben.ts b/apps/web-finance/src/router/routes/modules/vben.ts new file mode 100644 index 00000000..98acf582 --- /dev/null +++ b/apps/web-finance/src/router/routes/modules/vben.ts @@ -0,0 +1,81 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { + VBEN_DOC_URL, + VBEN_ELE_PREVIEW_URL, + VBEN_GITHUB_URL, + VBEN_LOGO_URL, + VBEN_NAIVE_PREVIEW_URL, +} from '@vben/constants'; + +import { IFrameView } from '#/layouts'; +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + badgeType: 'dot', + icon: VBEN_LOGO_URL, + order: 9998, + title: $t('demos.vben.title'), + }, + name: 'VbenProject', + path: '/vben-admin', + children: [ + { + name: 'VbenDocument', + path: '/vben-admin/document', + component: IFrameView, + meta: { + icon: 'lucide:book-open-text', + link: VBEN_DOC_URL, + title: $t('demos.vben.document'), + }, + }, + { + name: 'VbenGithub', + path: '/vben-admin/github', + component: IFrameView, + meta: { + icon: 'mdi:github', + link: VBEN_GITHUB_URL, + title: 'Github', + }, + }, + { + name: 'VbenNaive', + path: '/vben-admin/naive', + component: IFrameView, + meta: { + badgeType: 'dot', + icon: 'logos:naiveui', + link: VBEN_NAIVE_PREVIEW_URL, + title: $t('demos.vben.naive-ui'), + }, + }, + { + name: 'VbenElementPlus', + path: '/vben-admin/ele', + component: IFrameView, + meta: { + badgeType: 'dot', + icon: 'logos:element', + link: VBEN_ELE_PREVIEW_URL, + title: $t('demos.vben.element-plus'), + }, + }, + ], + }, + { + name: 'VbenAbout', + path: '/vben-admin/about', + component: () => import('#/views/_core/about/index.vue'), + meta: { + icon: 'lucide:copyright', + title: $t('demos.vben.about'), + order: 9999, + }, + }, +]; + +export default routes; diff --git a/apps/web-finance/src/store/auth.ts b/apps/web-finance/src/store/auth.ts new file mode 100644 index 00000000..bd496d1e --- /dev/null +++ b/apps/web-finance/src/store/auth.ts @@ -0,0 +1,118 @@ +import type { Recordable, UserInfo } from '@vben/types'; + +import { ref } from 'vue'; +import { useRouter } from 'vue-router'; + +import { LOGIN_PATH } from '@vben/constants'; +import { preferences } from '@vben/preferences'; +import { resetAllStores, useAccessStore, useUserStore } from '@vben/stores'; + +import { notification } from 'ant-design-vue'; +import { defineStore } from 'pinia'; + +import { getAccessCodesApi, getUserInfoApi, loginApi, logoutApi } from '#/api'; +import { $t } from '#/locales'; + +export const useAuthStore = defineStore('auth', () => { + const accessStore = useAccessStore(); + const userStore = useUserStore(); + const router = useRouter(); + + const loginLoading = ref(false); + + /** + * 异步处理登录操作 + * Asynchronously handle the login process + * @param params 登录表单数据 + */ + async function authLogin( + params: Recordable, + onSuccess?: () => Promise | void, + ) { + // 异步处理用户登录操作并获取 accessToken + let userInfo: null | UserInfo = null; + try { + loginLoading.value = true; + const { accessToken } = await loginApi(params); + + // 如果成功获取到 accessToken + if (accessToken) { + accessStore.setAccessToken(accessToken); + + // 获取用户信息并存储到 accessStore 中 + const [fetchUserInfoResult, accessCodes] = await Promise.all([ + fetchUserInfo(), + getAccessCodesApi(), + ]); + + userInfo = fetchUserInfoResult; + + userStore.setUserInfo(userInfo); + accessStore.setAccessCodes(accessCodes); + + if (accessStore.loginExpired) { + accessStore.setLoginExpired(false); + } else { + onSuccess + ? await onSuccess?.() + : await router.push( + userInfo.homePath || preferences.app.defaultHomePath, + ); + } + + if (userInfo?.realName) { + notification.success({ + description: `${$t('authentication.loginSuccessDesc')}:${userInfo?.realName}`, + duration: 3, + message: $t('authentication.loginSuccess'), + }); + } + } + } finally { + loginLoading.value = false; + } + + return { + userInfo, + }; + } + + async function logout(redirect: boolean = true) { + try { + await logoutApi(); + } catch { + // 不做任何处理 + } + resetAllStores(); + accessStore.setLoginExpired(false); + + // 回登录页带上当前路由地址 + await router.replace({ + path: LOGIN_PATH, + query: redirect + ? { + redirect: encodeURIComponent(router.currentRoute.value.fullPath), + } + : {}, + }); + } + + async function fetchUserInfo() { + let userInfo: null | UserInfo = null; + userInfo = await getUserInfoApi(); + userStore.setUserInfo(userInfo); + return userInfo; + } + + function $reset() { + loginLoading.value = false; + } + + return { + $reset, + authLogin, + fetchUserInfo, + loginLoading, + logout, + }; +}); diff --git a/apps/web-finance/src/store/index.ts b/apps/web-finance/src/store/index.ts new file mode 100644 index 00000000..269586ee --- /dev/null +++ b/apps/web-finance/src/store/index.ts @@ -0,0 +1 @@ +export * from './auth'; diff --git a/apps/web-finance/src/store/modules/budget.ts b/apps/web-finance/src/store/modules/budget.ts new file mode 100644 index 00000000..9c3e1d4e --- /dev/null +++ b/apps/web-finance/src/store/modules/budget.ts @@ -0,0 +1,166 @@ +import type { Budget, BudgetStats, Transaction } from '#/types/finance'; + +import dayjs from 'dayjs'; +import { defineStore } from 'pinia'; + +import { add, remove, getAll, update, STORES } from '#/utils/db'; + +interface BudgetState { + budgets: Budget[]; + loading: boolean; +} + +export const useBudgetStore = defineStore('budget', { + state: (): BudgetState => ({ + budgets: [], + loading: false, + }), + + getters: { + // 获取当前月份的预算 + currentMonthBudgets: (state) => { + const now = dayjs(); + const year = now.year(); + const month = now.month() + 1; + + return state.budgets.filter(b => + b.year === year && + (b.period === 'yearly' || (b.period === 'monthly' && b.month === month)) + ); + }, + + // 获取指定分类的当前预算 + getCategoryBudget: (state) => (categoryId: string) => { + const now = dayjs(); + const year = now.year(); + const month = now.month() + 1; + + return state.budgets.find(b => + b.categoryId === categoryId && + b.year === year && + (b.period === 'yearly' || (b.period === 'monthly' && b.month === month)) + ); + }, + }, + + actions: { + // 获取所有预算 + async fetchBudgets() { + this.loading = true; + try { + const budgets = await getAll(STORES.BUDGETS); + this.budgets = budgets; + } catch (error) { + console.error('获取预算失败:', error); + } finally { + this.loading = false; + } + }, + + // 创建预算 + async createBudget(budget: Partial) { + try { + const newBudget: Budget = { + id: crypto.randomUUID(), + categoryId: budget.categoryId || '', + amount: budget.amount || 0, + currency: budget.currency || 'CNY', + period: budget.period || 'monthly', + year: budget.year || dayjs().year(), + month: budget.month, + created_at: new Date().toISOString(), + updated_at: new Date().toISOString(), + }; + + await add(STORES.BUDGETS, newBudget); + this.budgets.push(newBudget); + return newBudget; + } catch (error) { + console.error('创建预算失败:', error); + throw error; + } + }, + + // 更新预算 + async updateBudget(id: string, updates: Partial) { + try { + const index = this.budgets.findIndex(b => b.id === id); + if (index === -1) throw new Error('预算不存在'); + + const updatedBudget = { + ...this.budgets[index], + ...updates, + updated_at: new Date().toISOString(), + }; + + await update(STORES.BUDGETS, updatedBudget); + this.budgets[index] = updatedBudget; + return updatedBudget; + } catch (error) { + console.error('更新预算失败:', error); + throw error; + } + }, + + // 删除预算 + async deleteBudget(id: string) { + try { + await remove(STORES.BUDGETS, id); + const index = this.budgets.findIndex(b => b.id === id); + if (index > -1) { + this.budgets.splice(index, 1); + } + } catch (error) { + console.error('删除预算失败:', error); + throw error; + } + }, + + // 计算预算统计 + calculateBudgetStats(budget: Budget, transactions: Transaction[]): BudgetStats { + // 过滤出属于该预算期间的交易 + let filteredTransactions: Transaction[] = []; + + if (budget.period === 'monthly') { + filteredTransactions = transactions.filter(t => { + const date = dayjs(t.date); + return t.type === 'expense' && + t.categoryId === budget.categoryId && + date.year() === budget.year && + date.month() + 1 === budget.month; + }); + } else { + // 年度预算 + filteredTransactions = transactions.filter(t => { + const date = dayjs(t.date); + return t.type === 'expense' && + t.categoryId === budget.categoryId && + date.year() === budget.year; + }); + } + + // 计算已花费金额 + const spent = filteredTransactions.reduce((sum, t) => sum + t.amount, 0); + const remaining = budget.amount - spent; + const percentage = budget.amount > 0 ? (spent / budget.amount) * 100 : 0; + + return { + budget, + spent, + remaining, + percentage: Math.round(percentage), + transactions: filteredTransactions.length, + }; + }, + + // 检查是否存在相同的预算 + isBudgetExists(categoryId: string, year: number, period: 'monthly' | 'yearly', month?: number): boolean { + return this.budgets.some(b => + b.categoryId === categoryId && + b.year === year && + b.period === period && + (period === 'yearly' || b.month === month) + ); + }, + }, +}); \ No newline at end of file diff --git a/apps/web-finance/src/store/modules/category.ts b/apps/web-finance/src/store/modules/category.ts new file mode 100644 index 00000000..31b9d825 --- /dev/null +++ b/apps/web-finance/src/store/modules/category.ts @@ -0,0 +1,93 @@ +import type { Category } from '#/types/finance'; + +import { computed, ref } from 'vue'; + +import { defineStore } from 'pinia'; + +import { + createCategory as createCategoryApi, + deleteCategory as deleteCategoryApi, + getCategoryList, + getCategoryTree, + updateCategory as updateCategoryApi, +} from '#/api/finance'; + +export const useCategoryStore = defineStore('finance-category', () => { + // 状态 + const categories = ref([]); + const categoryTree = ref([]); + const loading = ref(false); + + // 计算属性 + const incomeCategories = computed(() => + categories.value.filter((c) => c.type === 'income'), + ); + + const expenseCategories = computed(() => + categories.value.filter((c) => c.type === 'expense'), + ); + + // 获取分类列表 + async function fetchCategories() { + loading.value = true; + try { + const { items } = await getCategoryList(); + categories.value = items; + } finally { + loading.value = false; + } + } + + // 获取分类树 + async function fetchCategoryTree() { + loading.value = true; + try { + const data = await getCategoryTree(); + categoryTree.value = data; + } finally { + loading.value = false; + } + } + + // 创建分类 + async function createCategory(data: Partial) { + const newCategory = await createCategoryApi(data); + categories.value.push(newCategory); + return newCategory; + } + + // 更新分类 + async function updateCategory(id: string, data: Partial) { + const updatedCategory = await updateCategoryApi(id, data); + const index = categories.value.findIndex((c) => c.id === id); + if (index !== -1) { + categories.value[index] = updatedCategory; + } + return updatedCategory; + } + + // 删除分类 + async function deleteCategory(id: string) { + await deleteCategoryApi(id); + categories.value = categories.value.filter((c) => c.id !== id); + } + + // 根据ID获取分类 + function getCategoryById(id: string) { + return categories.value.find((c) => c.id === id); + } + + return { + categories, + categoryTree, + loading, + incomeCategories, + expenseCategories, + fetchCategories, + fetchCategoryTree, + createCategory, + updateCategory, + deleteCategory, + getCategoryById, + }; +}); \ No newline at end of file diff --git a/apps/web-finance/src/store/modules/loan.ts b/apps/web-finance/src/store/modules/loan.ts new file mode 100644 index 00000000..cdfc478b --- /dev/null +++ b/apps/web-finance/src/store/modules/loan.ts @@ -0,0 +1,142 @@ +import type { + Loan, + LoanRepayment, + LoanStatus, + SearchParams +} from '#/types/finance'; + +import { computed, ref } from 'vue'; + +import { defineStore } from 'pinia'; + +import { + addLoanRepayment as addRepaymentApi, + createLoan as createLoanApi, + deleteLoan as deleteLoanApi, + getLoanList, + getLoanStatistics, + updateLoan as updateLoanApi, + updateLoanStatus as updateStatusApi, +} from '#/api/finance'; + +export const useLoanStore = defineStore('finance-loan', () => { + // 状态 + const loans = ref([]); + const loading = ref(false); + const statistics = ref({ + totalLent: 0, + totalBorrowed: 0, + totalRepaid: 0, + activeLoans: 0, + overdueLoans: 0, + }); + + // 计算属性 + const activeLoans = computed(() => + loans.value.filter((loan) => loan.status === 'active'), + ); + + const overdueLoans = computed(() => + loans.value.filter((loan) => loan.status === 'overdue'), + ); + + const paidLoans = computed(() => + loans.value.filter((loan) => loan.status === 'paid'), + ); + + // 获取贷款列表 + async function fetchLoans(params: SearchParams) { + loading.value = true; + try { + const { items } = await getLoanList(params); + loans.value = items; + return items; + } finally { + loading.value = false; + } + } + + // 获取贷款统计 + async function fetchStatistics() { + const data = await getLoanStatistics(); + statistics.value = data; + return data; + } + + // 创建贷款 + async function createLoan(data: Partial) { + const newLoan = await createLoanApi(data); + loans.value.push(newLoan); + return newLoan; + } + + // 更新贷款 + async function updateLoan(id: string, data: Partial) { + const updatedLoan = await updateLoanApi(id, data); + const index = loans.value.findIndex((l) => l.id === id); + if (index !== -1) { + loans.value[index] = updatedLoan; + } + return updatedLoan; + } + + // 删除贷款 + async function deleteLoan(id: string) { + await deleteLoanApi(id); + loans.value = loans.value.filter((l) => l.id !== id); + } + + // 添加还款记录 + async function addRepayment(loanId: string, repayment: Partial) { + const updatedLoan = await addRepaymentApi(loanId, repayment); + const index = loans.value.findIndex((l) => l.id === loanId); + if (index !== -1) { + loans.value[index] = updatedLoan; + } + return updatedLoan; + } + + // 更新贷款状态 + async function updateLoanStatus(id: string, status: LoanStatus) { + const updatedLoan = await updateStatusApi(id, status); + const index = loans.value.findIndex((l) => l.id === id); + if (index !== -1) { + loans.value[index] = updatedLoan; + } + return updatedLoan; + } + + // 根据ID获取贷款 + function getLoanById(id: string) { + return loans.value.find((l) => l.id === id); + } + + // 根据借款人获取贷款 + function getLoansByBorrower(borrower: string) { + return loans.value.filter((l) => l.borrower === borrower); + } + + // 根据出借人获取贷款 + function getLoansByLender(lender: string) { + return loans.value.filter((l) => l.lender === lender); + } + + return { + loans, + loading, + statistics, + activeLoans, + overdueLoans, + paidLoans, + fetchLoans, + fetchStatistics, + createLoan, + updateLoan, + deleteLoan, + addRepayment, + updateLoanStatus, + getLoanById, + getLoansByBorrower, + getLoansByLender, + }; +}); \ No newline at end of file diff --git a/apps/web-finance/src/store/modules/person.ts b/apps/web-finance/src/store/modules/person.ts new file mode 100644 index 00000000..a3936770 --- /dev/null +++ b/apps/web-finance/src/store/modules/person.ts @@ -0,0 +1,91 @@ +import type { Person } from '#/types/finance'; + +import { ref } from 'vue'; + +import { defineStore } from 'pinia'; + +import { + createPerson as createPersonApi, + deletePerson as deletePersonApi, + getPersonList, + searchPersons as searchPersonsApi, + updatePerson as updatePersonApi, +} from '#/api/finance'; + +export const usePersonStore = defineStore('finance-person', () => { + // 状态 + const persons = ref([]); + const loading = ref(false); + + // 获取人员列表 + async function fetchPersons(params?: { page?: number; pageSize?: number }) { + loading.value = true; + try { + const { items } = await getPersonList(params); + persons.value = items; + return items; + } finally { + loading.value = false; + } + } + + // 搜索人员 + async function searchPersons(keyword: string) { + if (!keyword) { + return persons.value; + } + const results = await searchPersonsApi(keyword); + return results; + } + + // 创建人员 + async function createPerson(data: Partial) { + const newPerson = await createPersonApi(data); + persons.value.push(newPerson); + return newPerson; + } + + // 更新人员 + async function updatePerson(id: string, data: Partial) { + const updatedPerson = await updatePersonApi(id, data); + const index = persons.value.findIndex((p) => p.id === id); + if (index !== -1) { + persons.value[index] = updatedPerson; + } + return updatedPerson; + } + + // 删除人员 + async function deletePerson(id: string) { + await deletePersonApi(id); + persons.value = persons.value.filter((p) => p.id !== id); + } + + // 根据ID获取人员 + function getPersonById(id: string) { + return persons.value.find((p) => p.id === id); + } + + // 根据名称获取人员 + function getPersonByName(name: string) { + return persons.value.find((p) => p.name === name); + } + + // 根据角色筛选人员 + function getPersonsByRole(role: Person['roles'][number]) { + return persons.value.filter((p) => p.roles.includes(role)); + } + + return { + persons, + loading, + fetchPersons, + searchPersons, + createPerson, + updatePerson, + deletePerson, + getPersonById, + getPersonByName, + getPersonsByRole, + }; +}); \ No newline at end of file diff --git a/apps/web-finance/src/store/modules/tag.ts b/apps/web-finance/src/store/modules/tag.ts new file mode 100644 index 00000000..5bc40f02 --- /dev/null +++ b/apps/web-finance/src/store/modules/tag.ts @@ -0,0 +1,120 @@ +import type { Tag } from '#/types/finance'; + +import { defineStore } from 'pinia'; + +import { add, remove, getAll, update, STORES } from '#/utils/db'; + +interface TagState { + tags: Tag[]; + loading: boolean; +} + +export const useTagStore = defineStore('tag', { + state: (): TagState => ({ + tags: [], + loading: false, + }), + + getters: { + // 按名称排序的标签 + sortedTags: (state) => { + return [...state.tags].sort((a, b) => a.name.localeCompare(b.name)); + }, + + // 获取标签映射 + tagMap: (state) => { + return new Map(state.tags.map(tag => [tag.id, tag])); + }, + }, + + actions: { + // 获取所有标签 + async fetchTags() { + this.loading = true; + try { + const tags = await getAll(STORES.TAGS); + this.tags = tags; + } catch (error) { + console.error('获取标签失败:', error); + } finally { + this.loading = false; + } + }, + + // 创建标签 + async createTag(tag: Partial) { + try { + const newTag: Tag = { + id: crypto.randomUUID(), + name: tag.name || '', + color: tag.color || '#1890ff', + description: tag.description, + created_at: new Date().toISOString(), + updated_at: new Date().toISOString(), + }; + + await add(STORES.TAGS, newTag); + this.tags.push(newTag); + return newTag; + } catch (error) { + console.error('创建标签失败:', error); + throw error; + } + }, + + // 更新标签 + async updateTag(id: string, updates: Partial) { + try { + const index = this.tags.findIndex(t => t.id === id); + if (index === -1) throw new Error('标签不存在'); + + const updatedTag = { + ...this.tags[index], + ...updates, + updated_at: new Date().toISOString(), + }; + + await update(STORES.TAGS, updatedTag); + this.tags[index] = updatedTag; + return updatedTag; + } catch (error) { + console.error('更新标签失败:', error); + throw error; + } + }, + + // 删除标签 + async deleteTag(id: string) { + try { + await remove(STORES.TAGS, id); + const index = this.tags.findIndex(t => t.id === id); + if (index > -1) { + this.tags.splice(index, 1); + } + } catch (error) { + console.error('删除标签失败:', error); + throw error; + } + }, + + // 批量删除标签 + async deleteTags(ids: string[]) { + try { + for (const id of ids) { + await remove(STORES.TAGS, id); + } + this.tags = this.tags.filter(t => !ids.includes(t.id)); + } catch (error) { + console.error('批量删除标签失败:', error); + throw error; + } + }, + + // 检查标签名称是否已存在 + isTagNameExists(name: string, excludeId?: string): boolean { + return this.tags.some(t => + t.name === name && t.id !== excludeId + ); + }, + }, +}); \ No newline at end of file diff --git a/apps/web-finance/src/store/modules/transaction.ts b/apps/web-finance/src/store/modules/transaction.ts new file mode 100644 index 00000000..a49d55a8 --- /dev/null +++ b/apps/web-finance/src/store/modules/transaction.ts @@ -0,0 +1,141 @@ +import type { + ExportParams, + ImportResult, + PageResult, + SearchParams, + Transaction +} from '#/types/finance'; + +import { ref } from 'vue'; + +import { defineStore } from 'pinia'; + +import { + batchDeleteTransactions as batchDeleteApi, + createTransaction as createTransactionApi, + deleteTransaction as deleteTransactionApi, + exportTransactions as exportTransactionsApi, + getTransactionList, + getTransactionStatistics, + importTransactions as importTransactionsApi, + updateTransaction as updateTransactionApi, +} from '#/api/finance'; + +export const useTransactionStore = defineStore('finance-transaction', () => { + // 状态 + const transactions = ref([]); + const currentTransaction = ref(null); + const loading = ref(false); + const pageInfo = ref({ + total: 0, + page: 1, + pageSize: 20, + totalPages: 0, + }); + const statistics = ref({ + totalIncome: 0, + totalExpense: 0, + balance: 0, + }); + + // 获取交易列表 + async function fetchTransactions(params: SearchParams) { + loading.value = true; + try { + const result = await getTransactionList(params); + transactions.value = result.items; + pageInfo.value = { + total: result.total, + page: result.page, + pageSize: result.pageSize, + totalPages: result.totalPages, + }; + return result; + } finally { + loading.value = false; + } + } + + // 获取统计数据 + async function fetchStatistics(params?: SearchParams) { + const data = await getTransactionStatistics(params); + statistics.value = data; + return data; + } + + // 创建交易 + async function createTransaction(data: Partial) { + const newTransaction = await createTransactionApi(data); + transactions.value.unshift(newTransaction); + return newTransaction; + } + + // 更新交易 + async function updateTransaction(id: string, data: Partial) { + const updatedTransaction = await updateTransactionApi(id, data); + const index = transactions.value.findIndex((t) => t.id === id); + if (index !== -1) { + transactions.value[index] = updatedTransaction; + } + return updatedTransaction; + } + + // 删除交易 + async function deleteTransaction(id: string) { + await deleteTransactionApi(id); + transactions.value = transactions.value.filter((t) => t.id !== id); + } + + // 批量删除交易 + async function batchDeleteTransactions(ids: string[]) { + await batchDeleteApi(ids); + transactions.value = transactions.value.filter((t) => !ids.includes(t.id)); + } + + // 导出交易 + async function exportTransactions(params: ExportParams) { + const blob = await exportTransactionsApi(params); + // 创建下载链接 + const url = window.URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = `transactions_${Date.now()}.${params.format}`; + link.click(); + window.URL.revokeObjectURL(url); + } + + // 导入交易 + async function importTransactions(file: File): Promise { + loading.value = true; + try { + const result = await importTransactionsApi(file); + // 导入成功后刷新列表 + await fetchTransactions({ page: 1, pageSize: 20 }); + return result; + } finally { + loading.value = false; + } + } + + // 设置当前交易 + function setCurrentTransaction(transaction: Transaction | null) { + currentTransaction.value = transaction; + } + + return { + transactions, + currentTransaction, + loading, + pageInfo, + statistics, + fetchTransactions, + fetchStatistics, + createTransaction, + updateTransaction, + deleteTransaction, + batchDeleteTransactions, + exportTransactions, + importTransactions, + setCurrentTransaction, + }; +}); \ No newline at end of file diff --git a/apps/web-finance/src/styles/mobile.css b/apps/web-finance/src/styles/mobile.css new file mode 100644 index 00000000..a26f97de --- /dev/null +++ b/apps/web-finance/src/styles/mobile.css @@ -0,0 +1,150 @@ +/* 移动端全局样式优化 */ + +/* 防止iOS橡皮筋效果 */ +@media (max-width: 768px) { + html, + body { + overscroll-behavior: none; + -webkit-overflow-scrolling: touch; + } + + /* 移除桌面端的侧边栏和顶部导航 */ + .vben-layout-sidebar, + .vben-layout-header { + display: none !important; + } + + /* 移动端内容区域全屏 */ + .vben-layout-content { + margin: 0 !important; + padding: 0 !important; + height: 100vh !important; + } + + /* 优化点击效果 */ + * { + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; + } + + /* 优化输入框 */ + input, + textarea, + select { + font-size: 16px !important; /* 防止iOS自动缩放 */ + -webkit-appearance: none; + } + + /* 优化按钮点击 */ + button, + .ant-btn { + touch-action: manipulation; + } + + /* 优化模态框和抽屉 */ + .ant-modal { + max-width: calc(100vw - 32px); + } + + .ant-drawer-content-wrapper { + border-top-left-radius: 12px; + border-top-right-radius: 12px; + } + + /* 优化表单项间距 */ + .ant-form-item { + margin-bottom: 16px; + } + + /* 优化列表项 */ + .ant-list-item { + padding: 12px; + } + + /* 优化卡片间距 */ + .ant-card { + margin-bottom: 12px; + } + + /* 移动端安全区域适配 */ + .mobile-finance, + .mobile-quick-add, + .mobile-transaction-list, + .mobile-statistics, + .mobile-budget, + .mobile-more { + padding-bottom: env(safe-area-inset-bottom); + } + + /* 浮动按钮安全区域适配 */ + .floating-button { + bottom: calc(20px + env(safe-area-inset-bottom)) !important; + } + + /* 底部标签栏安全区域适配 */ + .mobile-tabs .ant-tabs-nav { + padding-bottom: env(safe-area-inset-bottom); + } +} + +/* 横屏优化 */ +@media (max-width: 768px) and (orientation: landscape) { + .mobile-quick-add .category-grid { + grid-template-columns: repeat(5, 1fr); + } + + .mobile-statistics .overview-cards { + grid-template-columns: repeat(3, 1fr); + } +} + +/* 小屏幕手机优化 */ +@media (max-width: 375px) { + .mobile-quick-add .category-grid { + grid-template-columns: repeat(3, 1fr); + gap: 8px; + } + + .mobile-statistics .overview-cards { + grid-template-columns: 1fr; + gap: 8px; + } + + .mobile-budget .budget-summary { + flex-direction: column; + text-align: center; + } +} + +/* 动画优化 */ +@media (max-width: 768px) { + /* 减少动画时间 */ + * { + animation-duration: 0.2s !important; + transition-duration: 0.2s !important; + } + + /* 禁用复杂动画 */ + .ant-progress-circle { + animation: none !important; + } +} + +/* 触摸优化 */ +@media (pointer: coarse) { + /* 增大可点击区域 */ + .ant-btn, + .menu-item, + .category-item, + .transaction-item { + min-height: 44px; + } + + /* 增大关闭按钮 */ + .ant-modal-close, + .ant-drawer-close { + width: 44px; + height: 44px; + line-height: 44px; + } +} \ No newline at end of file diff --git a/apps/web-finance/src/types/finance.ts b/apps/web-finance/src/types/finance.ts new file mode 100644 index 00000000..9bfe095a --- /dev/null +++ b/apps/web-finance/src/types/finance.ts @@ -0,0 +1,175 @@ +// 财务管理系统类型定义 + +// 货币类型 +export type Currency = 'USD' | 'CNY' | 'THB' | 'MMK'; + +// 交易类型 +export type TransactionType = 'income' | 'expense'; + +// 人员角色 +export type PersonRole = 'payer' | 'payee' | 'borrower' | 'lender'; + +// 贷款状态 +export type LoanStatus = 'active' | 'paid' | 'overdue'; + +// 交易状态 +export type TransactionStatus = 'pending' | 'completed' | 'cancelled'; + +// 分类 +export interface Category { + id: string; + name: string; + type: TransactionType; + parentId?: string; + icon?: string; + color?: string; + budget?: number; // 月度预算 + created_at: string; + updated_at?: string; +} + +// 人员 +export interface Person { + id: string; + name: string; + roles: PersonRole[]; + contact?: string; + description?: string; + created_at: string; + updated_at?: string; +} + +// 交易 +export interface Transaction { + id: string; + amount: number; + type: TransactionType; + categoryId: string; + description?: string; + date: string; + quantity?: number; + project?: string; + payer?: string; + payee?: string; + recorder?: string; + currency: Currency; + status: TransactionStatus; + tags?: string[]; // 标签 + created_at: string; + updated_at?: string; +} + +// 还款记录 +export interface LoanRepayment { + id: string; + amount: number; + currency: Currency; + date: string; + note?: string; +} + +// 贷款 +export interface Loan { + id: string; + borrower: string; + lender: string; + amount: number; + currency: Currency; + startDate: string; + dueDate?: string; + description?: string; + status: LoanStatus; + repayments: LoanRepayment[]; + created_at: string; + updated_at?: string; +} + +// 统计数据 +export interface Statistics { + totalIncome: number; + totalExpense: number; + balance: number; + currency: Currency; + period?: { + start: string; + end: string; + }; +} + +// 分页参数 +export interface PageParams { + page: number; + pageSize: number; + sortBy?: string; + sortOrder?: 'asc' | 'desc'; +} + +// 分页结果 +export interface PageResult { + items: T[]; + total: number; + page: number; + pageSize: number; + totalPages: number; +} + +// 搜索参数 +export interface SearchParams extends PageParams { + keyword?: string; + type?: TransactionType; + categoryId?: string; + personId?: string; + currency?: Currency; + dateFrom?: string; + dateTo?: string; + status?: TransactionStatus | LoanStatus; +} + +// 导入结果 +export interface ImportResult { + success: number; + failed: number; + errors: Array<{ + row: number; + message: string; + }>; +} + +// 导出参数 +export interface ExportParams { + format: 'excel' | 'csv' | 'pdf'; + fields?: string[]; + filters?: SearchParams; +} + +// 标签 +export interface Tag { + id: string; + name: string; + color?: string; + description?: string; + created_at: string; + updated_at?: string; +} + +// 预算 +export interface Budget { + id: string; + categoryId: string; + amount: number; + currency: Currency; + period: 'monthly' | 'yearly'; + year: number; + month?: number; // 1-12, 仅月度预算需要 + created_at: string; + updated_at?: string; +} + +// 预算统计 +export interface BudgetStats { + budget: Budget; + spent: number; + remaining: number; + percentage: number; + transactions: number; +} \ No newline at end of file diff --git a/apps/web-finance/src/utils/data-migration.ts b/apps/web-finance/src/utils/data-migration.ts new file mode 100644 index 00000000..254dc301 --- /dev/null +++ b/apps/web-finance/src/utils/data-migration.ts @@ -0,0 +1,179 @@ +// 数据迁移工具 - 从旧的 localStorage 迁移到 IndexedDB +import type { + Category, + Loan, + Person, + Transaction +} from '#/types/finance'; + +import { importDatabase } from './db'; + +// 旧系统的存储键 +const OLD_STORAGE_KEYS = { + TRANSACTIONS: 'transactions', + CATEGORIES: 'categories', + PERSONS: 'persons', + LOANS: 'loans', +}; + +// 生成新的 ID +function generateNewId(): string { + return Date.now().toString(36) + Math.random().toString(36).substr(2); +} + +// 迁移分类数据 +function migrateCategories(oldCategories: any[]): Category[] { + return oldCategories.map(cat => ({ + id: cat.id || generateNewId(), + name: cat.name, + type: cat.type, + parentId: cat.parentId, + created_at: cat.created_at || new Date().toISOString(), + })); +} + +// 迁移人员数据 +function migratePersons(oldPersons: any[]): Person[] { + return oldPersons.map(person => ({ + id: person.id || generateNewId(), + name: person.name, + roles: person.roles || [], + contact: person.contact, + description: person.description, + created_at: person.created_at || new Date().toISOString(), + })); +} + +// 迁移交易数据 +function migrateTransactions(oldTransactions: any[]): Transaction[] { + return oldTransactions.map(trans => ({ + id: trans.id || generateNewId(), + amount: Number(trans.amount) || 0, + type: trans.type, + categoryId: trans.categoryId, + description: trans.description, + date: trans.date, + quantity: trans.quantity || 1, + project: trans.project, + payer: trans.payer, + payee: trans.payee, + recorder: trans.recorder || '管理员', + currency: trans.currency || 'CNY', + status: trans.status || 'completed', + created_at: trans.created_at || new Date().toISOString(), + })); +} + +// 迁移贷款数据 +function migrateLoans(oldLoans: any[]): Loan[] { + return oldLoans.map(loan => ({ + id: loan.id || generateNewId(), + borrower: loan.borrower, + lender: loan.lender, + amount: Number(loan.amount) || 0, + currency: loan.currency || 'CNY', + startDate: loan.startDate, + dueDate: loan.dueDate, + description: loan.description, + status: loan.status || 'active', + repayments: loan.repayments || [], + created_at: loan.created_at || new Date().toISOString(), + })); +} + +// 从 localStorage 读取旧数据 +function readOldData(key: string): T[] { + try { + const data = localStorage.getItem(key); + return data ? JSON.parse(data) : []; + } catch (error) { + console.error(`Error reading ${key} from localStorage:`, error); + return []; + } +} + +// 执行数据迁移 +export async function migrateData(): Promise<{ + success: boolean; + message: string; + details?: any; +}> { + try { + console.log('开始数据迁移...'); + + // 读取旧数据 + const oldCategories = readOldData(OLD_STORAGE_KEYS.CATEGORIES); + const oldPersons = readOldData(OLD_STORAGE_KEYS.PERSONS); + const oldTransactions = readOldData(OLD_STORAGE_KEYS.TRANSACTIONS); + const oldLoans = readOldData(OLD_STORAGE_KEYS.LOANS); + + console.log('读取到的旧数据:', { + categories: oldCategories.length, + persons: oldPersons.length, + transactions: oldTransactions.length, + loans: oldLoans.length, + }); + + // 如果没有旧数据,则不需要迁移 + if ( + oldCategories.length === 0 && + oldPersons.length === 0 && + oldTransactions.length === 0 && + oldLoans.length === 0 + ) { + return { + success: true, + message: '没有需要迁移的数据', + }; + } + + // 转换数据格式 + const categories = migrateCategories(oldCategories); + const persons = migratePersons(oldPersons); + const transactions = migrateTransactions(oldTransactions); + const loans = migrateLoans(oldLoans); + + // 导入到新系统 + await importDatabase({ + categories, + persons, + transactions, + loans, + }); + + // 迁移成功后,可以选择清除旧数据 + // localStorage.removeItem(OLD_STORAGE_KEYS.CATEGORIES); + // localStorage.removeItem(OLD_STORAGE_KEYS.PERSONS); + // localStorage.removeItem(OLD_STORAGE_KEYS.TRANSACTIONS); + // localStorage.removeItem(OLD_STORAGE_KEYS.LOANS); + + return { + success: true, + message: '数据迁移成功', + details: { + categories: categories.length, + persons: persons.length, + transactions: transactions.length, + loans: loans.length, + }, + }; + } catch (error) { + console.error('数据迁移失败:', error); + return { + success: false, + message: '数据迁移失败', + details: error, + }; + } +} + +// 检查是否需要迁移 +export function needsMigration(): boolean { + const hasOldData = + localStorage.getItem(OLD_STORAGE_KEYS.CATEGORIES) || + localStorage.getItem(OLD_STORAGE_KEYS.PERSONS) || + localStorage.getItem(OLD_STORAGE_KEYS.TRANSACTIONS) || + localStorage.getItem(OLD_STORAGE_KEYS.LOANS); + + return !!hasOldData; +} \ No newline at end of file diff --git a/apps/web-finance/src/utils/db.ts b/apps/web-finance/src/utils/db.ts new file mode 100644 index 00000000..0f3b0aa3 --- /dev/null +++ b/apps/web-finance/src/utils/db.ts @@ -0,0 +1,324 @@ +// IndexedDB 工具类 +import type { + Category, + Loan, + Person, + Transaction +} from '#/types/finance'; + +const DB_NAME = 'TokenRecordsDB'; +const DB_VERSION = 2; // 升级版本号以添加新表 + +// 数据表名称 +export const STORES = { + TRANSACTIONS: 'transactions', + CATEGORIES: 'categories', + PERSONS: 'persons', + LOANS: 'loans', + TAGS: 'tags', + BUDGETS: 'budgets', +} as const; + +// IndexedDB 实例 +let db: IDBDatabase | null = null; + +// 初始化数据库 +export function initDB(): Promise { + return new Promise((resolve, reject) => { + if (db) { + resolve(db); + return; + } + + const request = indexedDB.open(DB_NAME, DB_VERSION); + + request.onerror = () => { + reject(new Error('Failed to open database')); + }; + + request.onsuccess = () => { + db = request.result; + resolve(db); + }; + + request.onupgradeneeded = (event) => { + const database = (event.target as IDBOpenDBRequest).result; + + // 创建交易表 + if (!database.objectStoreNames.contains(STORES.TRANSACTIONS)) { + const transactionStore = database.createObjectStore(STORES.TRANSACTIONS, { + keyPath: 'id', + }); + transactionStore.createIndex('type', 'type', { unique: false }); + transactionStore.createIndex('categoryId', 'categoryId', { unique: false }); + transactionStore.createIndex('date', 'date', { unique: false }); + transactionStore.createIndex('currency', 'currency', { unique: false }); + transactionStore.createIndex('status', 'status', { unique: false }); + } + + // 创建分类表 + if (!database.objectStoreNames.contains(STORES.CATEGORIES)) { + const categoryStore = database.createObjectStore(STORES.CATEGORIES, { + keyPath: 'id', + }); + categoryStore.createIndex('type', 'type', { unique: false }); + categoryStore.createIndex('parentId', 'parentId', { unique: false }); + } + + // 创建人员表 + if (!database.objectStoreNames.contains(STORES.PERSONS)) { + const personStore = database.createObjectStore(STORES.PERSONS, { + keyPath: 'id', + }); + personStore.createIndex('name', 'name', { unique: false }); + } + + // 创建贷款表 + if (!database.objectStoreNames.contains(STORES.LOANS)) { + const loanStore = database.createObjectStore(STORES.LOANS, { + keyPath: 'id', + }); + loanStore.createIndex('status', 'status', { unique: false }); + loanStore.createIndex('borrower', 'borrower', { unique: false }); + loanStore.createIndex('lender', 'lender', { unique: false }); + } + + // 创建标签表 + if (!database.objectStoreNames.contains(STORES.TAGS)) { + const tagStore = database.createObjectStore(STORES.TAGS, { + keyPath: 'id', + }); + tagStore.createIndex('name', 'name', { unique: false }); + } + + // 创建预算表 + if (!database.objectStoreNames.contains(STORES.BUDGETS)) { + const budgetStore = database.createObjectStore(STORES.BUDGETS, { + keyPath: 'id', + }); + budgetStore.createIndex('categoryId', 'categoryId', { unique: false }); + budgetStore.createIndex('year', 'year', { unique: false }); + budgetStore.createIndex('period', 'period', { unique: false }); + } + }; + }); +} + +// 获取数据库实例 +export async function getDB(): Promise { + if (!db) { + db = await initDB(); + } + return db; +} + +// 通用的添加数据方法 +export async function add(storeName: string, data: T): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readwrite'); + const store = transaction.objectStore(storeName); + + // 确保数据可以被IndexedDB存储(深拷贝并序列化) + const serializedData = JSON.parse(JSON.stringify(data)); + const request = store.add(serializedData); + + request.onsuccess = () => { + resolve(data); + }; + + request.onerror = () => { + console.error('IndexedDB add error:', request.error); + reject(new Error(`Failed to add data to ${storeName}: ${request.error?.message}`)); + }; + }); +} + +// 通用的更新数据方法 +export async function update(storeName: string, data: T): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readwrite'); + const store = transaction.objectStore(storeName); + + // 确保数据可以被IndexedDB存储(深拷贝并序列化) + const serializedData = JSON.parse(JSON.stringify(data)); + const request = store.put(serializedData); + + request.onsuccess = () => { + resolve(data); + }; + + request.onerror = () => { + console.error('IndexedDB update error:', request.error); + reject(new Error(`Failed to update data in ${storeName}: ${request.error?.message}`)); + }; + }); +} + +// 通用的删除数据方法 +export async function remove(storeName: string, id: string): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readwrite'); + const store = transaction.objectStore(storeName); + const request = store.delete(id); + + request.onsuccess = () => { + resolve(); + }; + + request.onerror = () => { + reject(new Error(`Failed to delete data from ${storeName}`)); + }; + }); +} + +// 通用的获取单条数据方法 +export async function get(storeName: string, id: string): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readonly'); + const store = transaction.objectStore(storeName); + const request = store.get(id); + + request.onsuccess = () => { + resolve(request.result || null); + }; + + request.onerror = () => { + reject(new Error(`Failed to get data from ${storeName}`)); + }; + }); +} + +// 通用的获取所有数据方法 +export async function getAll(storeName: string): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readonly'); + const store = transaction.objectStore(storeName); + const request = store.getAll(); + + request.onsuccess = () => { + resolve(request.result || []); + }; + + request.onerror = () => { + reject(new Error(`Failed to get all data from ${storeName}`)); + }; + }); +} + +// 按索引查询 +export async function getByIndex( + storeName: string, + indexName: string, + value: any, +): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readonly'); + const store = transaction.objectStore(storeName); + const index = store.index(indexName); + const request = index.getAll(value); + + request.onsuccess = () => { + resolve(request.result || []); + }; + + request.onerror = () => { + reject(new Error(`Failed to get data by index from ${storeName}`)); + }; + }); +} + +// 清空数据表 +export async function clear(storeName: string): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readwrite'); + const store = transaction.objectStore(storeName); + const request = store.clear(); + + request.onsuccess = () => { + resolve(); + }; + + request.onerror = () => { + reject(new Error(`Failed to clear ${storeName}`)); + }; + }); +} + +// 批量添加数据 +export async function addBatch(storeName: string, dataList: T[]): Promise { + const database = await getDB(); + return new Promise((resolve, reject) => { + const transaction = database.transaction([storeName], 'readwrite'); + const store = transaction.objectStore(storeName); + + dataList.forEach((data) => { + // 确保数据可以被IndexedDB存储(深拷贝并序列化) + const serializedData = JSON.parse(JSON.stringify(data)); + store.add(serializedData); + }); + + transaction.oncomplete = () => { + resolve(); + }; + + transaction.onerror = () => { + console.error('IndexedDB addBatch error:', transaction.error); + reject(new Error(`Failed to add batch data to ${storeName}: ${transaction.error?.message}`)); + }; + }); +} + +// 导出数据库 +export async function exportDatabase(): Promise<{ + transactions: Transaction[]; + categories: Category[]; + persons: Person[]; + loans: Loan[]; +}> { + const transactions = await getAll(STORES.TRANSACTIONS); + const categories = await getAll(STORES.CATEGORIES); + const persons = await getAll(STORES.PERSONS); + const loans = await getAll(STORES.LOANS); + + return { + transactions, + categories, + persons, + loans, + }; +} + +// 导入数据库 +export async function importDatabase(data: { + transactions?: Transaction[]; + categories?: Category[]; + persons?: Person[]; + loans?: Loan[]; +}): Promise { + if (data.categories) { + await clear(STORES.CATEGORIES); + await addBatch(STORES.CATEGORIES, data.categories); + } + + if (data.persons) { + await clear(STORES.PERSONS); + await addBatch(STORES.PERSONS, data.persons); + } + + if (data.transactions) { + await clear(STORES.TRANSACTIONS); + await addBatch(STORES.TRANSACTIONS, data.transactions); + } + + if (data.loans) { + await clear(STORES.LOANS); + await addBatch(STORES.LOANS, data.loans); + } +} \ No newline at end of file diff --git a/apps/web-finance/src/utils/export.ts b/apps/web-finance/src/utils/export.ts new file mode 100644 index 00000000..000344ff --- /dev/null +++ b/apps/web-finance/src/utils/export.ts @@ -0,0 +1,199 @@ +import type { Transaction, Category, Person } from '#/types/finance'; + +import dayjs from 'dayjs'; + +/** + * 导出数据为CSV格式 + */ +export function exportToCSV(data: any[], filename: string) { + if (data.length === 0) { + return; + } + + // 获取所有列名 + const headers = Object.keys(data[0]); + + // 创建CSV内容 + let csvContent = '\uFEFF'; // UTF-8 BOM + + // 添加表头 + csvContent += headers.join(',') + '\n'; + + // 添加数据行 + data.forEach(row => { + const values = headers.map(header => { + const value = row[header]; + // 处理包含逗号或换行符的值 + if (typeof value === 'string' && (value.includes(',') || value.includes('\n'))) { + return `"${value.replace(/"/g, '""')}"`; + } + return value ?? ''; + }); + csvContent += values.join(',') + '\n'; + }); + + // 创建Blob并下载 + const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' }); + const link = document.createElement('a'); + const url = URL.createObjectURL(blob); + + link.setAttribute('href', url); + link.setAttribute('download', `${filename}_${dayjs().format('YYYYMMDD_HHmmss')}.csv`); + link.style.visibility = 'hidden'; + + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); +} + +/** + * 导出交易数据 + */ +export function exportTransactions( + transactions: Transaction[], + categories: Category[], + persons: Person[] +) { + // 创建分类和人员的映射 + const categoryMap = new Map(categories.map(c => [c.id, c.name])); + const personMap = new Map(persons.map(p => [p.id, p.name])); + + // 转换交易数据为导出格式 + const exportData = transactions.map(t => ({ + 日期: t.date, + 类型: t.type === 'income' ? '收入' : '支出', + 分类: categoryMap.get(t.categoryId) || '', + 金额: t.amount, + 货币: t.currency, + 项目: t.project || '', + 付款人: t.payer || '', + 收款人: t.payee || '', + 数量: t.quantity, + 单价: t.quantity > 1 ? (t.amount / t.quantity).toFixed(2) : t.amount, + 状态: t.status === 'completed' ? '已完成' : t.status === 'pending' ? '待处理' : '已取消', + 描述: t.description || '', + 记录人: t.recorder || '', + 创建时间: t.created_at, + 更新时间: t.updated_at + })); + + exportToCSV(exportData, '交易记录'); +} + +/** + * 导出数据为JSON格式 + */ +export function exportToJSON(data: any, filename: string) { + const jsonContent = JSON.stringify(data, null, 2); + + const blob = new Blob([jsonContent], { type: 'application/json;charset=utf-8;' }); + const link = document.createElement('a'); + const url = URL.createObjectURL(blob); + + link.setAttribute('href', url); + link.setAttribute('download', `${filename}_${dayjs().format('YYYYMMDD_HHmmss')}.json`); + link.style.visibility = 'hidden'; + + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); +} + +/** + * 生成导入模板 + */ +export function generateImportTemplate() { + const template = [ + { + date: '2025-08-05', + type: 'expense', + category: '餐饮', + amount: 100.00, + currency: 'CNY', + description: '午餐', + project: '项目名称', + payer: '付款人', + payee: '收款人', + status: 'completed', + tags: '标签1,标签2', + }, + { + date: '2025-08-05', + type: 'income', + category: '工资', + amount: 5000.00, + currency: 'CNY', + description: '月薪', + project: '', + payer: '公司', + payee: '自己', + status: 'completed', + tags: '', + }, + ]; + + exportToCSV(template, 'transaction_import_template'); +} + +/** + * 导出所有数据(完整备份) + */ +export function exportAllData( + transactions: Transaction[], + categories: Category[], + persons: Person[] +) { + const exportData = { + version: '1.0', + exportDate: dayjs().format('YYYY-MM-DD HH:mm:ss'), + data: { + transactions, + categories, + persons + } + }; + + exportToJSON(exportData, '财务数据备份'); +} + +/** + * 解析CSV文件 + */ +export function parseCSV(text: string): Record[] { + const lines = text.split('\n').filter(line => line.trim()); + if (lines.length === 0) return []; + + // 解析表头 + const headers = lines[0].split(',').map(h => h.trim()); + + // 解析数据行 + const data = []; + for (let i = 1; i < lines.length; i++) { + const values = []; + let current = ''; + let inQuotes = false; + + for (let j = 0; j < lines[i].length; j++) { + const char = lines[i][j]; + + if (char === '"') { + inQuotes = !inQuotes; + } else if (char === ',' && !inQuotes) { + values.push(current.trim()); + current = ''; + } else { + current += char; + } + } + values.push(current.trim()); + + // 创建对象 + const row: Record = {}; + headers.forEach((header, index) => { + row[header] = values[index] || ''; + }); + data.push(row); + } + + return data; +} \ No newline at end of file diff --git a/apps/web-finance/src/utils/import.ts b/apps/web-finance/src/utils/import.ts new file mode 100644 index 00000000..034737e1 --- /dev/null +++ b/apps/web-finance/src/utils/import.ts @@ -0,0 +1,266 @@ +import type { Transaction, Category, Person } from '#/types/finance'; + +import dayjs from 'dayjs'; +import { v4 as uuidv4 } from 'uuid'; + +/** + * 解析CSV文本 + */ +export function parseCSV(text: string): Record[] { + const lines = text.split('\n').filter(line => line.trim()); + if (lines.length < 2) return []; + + // 解析表头 + const headers = lines[0].split(',').map(h => h.trim().replace(/^"|"$/g, '')); + + // 解析数据行 + const data: Record[] = []; + for (let i = 1; i < lines.length; i++) { + const values = lines[i].split(',').map(v => v.trim().replace(/^"|"$/g, '')); + if (values.length === headers.length) { + const row: Record = {}; + headers.forEach((header, index) => { + row[header] = values[index]; + }); + data.push(row); + } + } + + return data; +} + +/** + * 导入交易数据从CSV + */ +export function importTransactionsFromCSV( + csvData: Record[], + categories: Category[], + persons: Person[] +): { + transactions: Partial[], + errors: string[], + newCategories: string[], + newPersons: string[] +} { + const transactions: Partial[] = []; + const errors: string[] = []; + const newCategories = new Set(); + const newPersons = new Set(); + + // 创建分类和人员的反向映射(名称到ID) + const categoryMap = new Map(categories.map(c => [c.name, c])); + + csvData.forEach((row, index) => { + try { + // 解析类型 + const type = row['类型'] === '收入' ? 'income' : 'expense'; + + // 查找或标记新分类 + let categoryId = ''; + const categoryName = row['分类']; + if (categoryName) { + const category = categoryMap.get(categoryName); + if (category && category.type === type) { + categoryId = category.id; + } else { + newCategories.add(categoryName); + } + } + + // 标记新的人员 + if (row['付款人'] && !persons.some(p => p.name === row['付款人'])) { + newPersons.add(row['付款人']); + } + if (row['收款人'] && !persons.some(p => p.name === row['收款人'])) { + newPersons.add(row['收款人']); + } + + // 解析金额 + const amount = parseFloat(row['金额']); + if (isNaN(amount)) { + errors.push(`第${index + 2}行: 金额格式错误`); + return; + } + + // 解析日期 + const date = row['日期'] ? dayjs(row['日期']).format('YYYY-MM-DD') : dayjs().format('YYYY-MM-DD'); + if (!dayjs(date).isValid()) { + errors.push(`第${index + 2}行: 日期格式错误`); + return; + } + + // 解析状态 + let status: 'pending' | 'completed' | 'cancelled' = 'completed'; + if (row['状态'] === '待处理') status = 'pending'; + else if (row['状态'] === '已取消') status = 'cancelled'; + + // 创建交易对象 + const transaction: Partial = { + id: uuidv4(), + type, + categoryId, + amount, + currency: row['货币'] || 'CNY', + date, + project: row['项目'] || '', + payer: row['付款人'] || '', + payee: row['收款人'] || '', + quantity: parseInt(row['数量']) || 1, + status, + description: row['描述'] || '', + recorder: row['记录人'] || '导入', + created_at: dayjs().format('YYYY-MM-DD HH:mm:ss'), + updated_at: dayjs().format('YYYY-MM-DD HH:mm:ss') + }; + + transactions.push(transaction); + } catch (error) { + errors.push(`第${index + 2}行: 数据解析错误`); + } + }); + + return { + transactions, + errors, + newCategories: Array.from(newCategories), + newPersons: Array.from(newPersons) + }; +} + +/** + * 导入JSON备份数据 + */ +export function importFromJSON(jsonData: any): { + valid: boolean, + data?: { + transactions: Transaction[], + categories: Category[], + persons: Person[] + }, + error?: string +} { + try { + // 验证数据格式 + if (!jsonData.version || !jsonData.data) { + return { valid: false, error: '无效的备份文件格式' }; + } + + const { transactions, categories, persons } = jsonData.data; + + // 验证必要字段 + if (!Array.isArray(transactions) || !Array.isArray(categories) || !Array.isArray(persons)) { + return { valid: false, error: '备份数据不完整' }; + } + + // 为导入的数据生成新的ID(避免冲突) + const idMap = new Map(); + + // 处理分类 + const newCategories = categories.map(c => { + const newId = uuidv4(); + idMap.set(c.id, newId); + return { ...c, id: newId }; + }); + + // 处理人员 + const newPersons = persons.map(p => { + const newId = uuidv4(); + idMap.set(p.id, newId); + return { ...p, id: newId }; + }); + + // 处理交易(更新关联的ID) + const newTransactions = transactions.map(t => { + const newId = uuidv4(); + return { + ...t, + id: newId, + categoryId: idMap.get(t.categoryId) || t.categoryId, + created_at: t.created_at || dayjs().format('YYYY-MM-DD HH:mm:ss'), + updated_at: dayjs().format('YYYY-MM-DD HH:mm:ss') + }; + }); + + return { + valid: true, + data: { + transactions: newTransactions, + categories: newCategories, + persons: newPersons + } + }; + } catch (error) { + return { valid: false, error: '解析备份文件失败' }; + } +} + +/** + * 读取文件内容 + */ +export function readFileAsText(file: File): Promise { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = (e) => resolve(e.target?.result as string); + reader.onerror = reject; + reader.readAsText(file); + }); +} + +/** + * 生成导入模板 + */ +export function generateImportTemplate(): string { + const headers = [ + '日期', + '类型', + '分类', + '金额', + '货币', + '项目', + '付款人', + '收款人', + '数量', + '状态', + '描述', + '记录人' + ]; + + const examples = [ + [ + dayjs().format('YYYY-MM-DD'), + '支出', + '餐饮', + '50.00', + 'CNY', + '项目A', + '张三', + '餐厅', + '1', + '已完成', + '午餐', + '管理员' + ], + [ + dayjs().subtract(1, 'day').format('YYYY-MM-DD'), + '收入', + '工资', + '10000.00', + 'CNY', + '', + '公司', + '李四', + '1', + '已完成', + '月薪', + '管理员' + ] + ]; + + let csvContent = '\uFEFF'; // UTF-8 BOM + csvContent += headers.join(',') + '\n'; + examples.forEach(row => { + csvContent += row.join(',') + '\n'; + }); + + return csvContent; +} \ No newline at end of file diff --git a/apps/web-finance/src/views/_core/README.md b/apps/web-finance/src/views/_core/README.md new file mode 100644 index 00000000..8248afe6 --- /dev/null +++ b/apps/web-finance/src/views/_core/README.md @@ -0,0 +1,3 @@ +# \_core + +此目录包含应用程序正常运行所需的基本视图。这些视图是应用程序布局中使用的视图。 diff --git a/apps/web-finance/src/views/_core/about/index.vue b/apps/web-finance/src/views/_core/about/index.vue new file mode 100644 index 00000000..0ee52433 --- /dev/null +++ b/apps/web-finance/src/views/_core/about/index.vue @@ -0,0 +1,9 @@ + + + diff --git a/apps/web-finance/src/views/_core/authentication/code-login.vue b/apps/web-finance/src/views/_core/authentication/code-login.vue new file mode 100644 index 00000000..acfd1fd7 --- /dev/null +++ b/apps/web-finance/src/views/_core/authentication/code-login.vue @@ -0,0 +1,69 @@ + + + diff --git a/apps/web-finance/src/views/_core/authentication/forget-password.vue b/apps/web-finance/src/views/_core/authentication/forget-password.vue new file mode 100644 index 00000000..fef0d427 --- /dev/null +++ b/apps/web-finance/src/views/_core/authentication/forget-password.vue @@ -0,0 +1,43 @@ + + + diff --git a/apps/web-finance/src/views/_core/authentication/login.vue b/apps/web-finance/src/views/_core/authentication/login.vue new file mode 100644 index 00000000..f720f010 --- /dev/null +++ b/apps/web-finance/src/views/_core/authentication/login.vue @@ -0,0 +1,118 @@ + + + diff --git a/apps/web-finance/src/views/_core/authentication/qrcode-login.vue b/apps/web-finance/src/views/_core/authentication/qrcode-login.vue new file mode 100644 index 00000000..23f5f2da --- /dev/null +++ b/apps/web-finance/src/views/_core/authentication/qrcode-login.vue @@ -0,0 +1,10 @@ + + + diff --git a/apps/web-finance/src/views/_core/authentication/register.vue b/apps/web-finance/src/views/_core/authentication/register.vue new file mode 100644 index 00000000..b1a5de72 --- /dev/null +++ b/apps/web-finance/src/views/_core/authentication/register.vue @@ -0,0 +1,96 @@ + + + diff --git a/apps/web-finance/src/views/_core/fallback/coming-soon.vue b/apps/web-finance/src/views/_core/fallback/coming-soon.vue new file mode 100644 index 00000000..f394930f --- /dev/null +++ b/apps/web-finance/src/views/_core/fallback/coming-soon.vue @@ -0,0 +1,7 @@ + + + diff --git a/apps/web-finance/src/views/_core/fallback/forbidden.vue b/apps/web-finance/src/views/_core/fallback/forbidden.vue new file mode 100644 index 00000000..8ea65fed --- /dev/null +++ b/apps/web-finance/src/views/_core/fallback/forbidden.vue @@ -0,0 +1,9 @@ + + + diff --git a/apps/web-finance/src/views/_core/fallback/internal-error.vue b/apps/web-finance/src/views/_core/fallback/internal-error.vue new file mode 100644 index 00000000..819a47d5 --- /dev/null +++ b/apps/web-finance/src/views/_core/fallback/internal-error.vue @@ -0,0 +1,9 @@ + + + diff --git a/apps/web-finance/src/views/_core/fallback/not-found.vue b/apps/web-finance/src/views/_core/fallback/not-found.vue new file mode 100644 index 00000000..4d178e9c --- /dev/null +++ b/apps/web-finance/src/views/_core/fallback/not-found.vue @@ -0,0 +1,9 @@ + + + diff --git a/apps/web-finance/src/views/_core/fallback/offline.vue b/apps/web-finance/src/views/_core/fallback/offline.vue new file mode 100644 index 00000000..5de4a88d --- /dev/null +++ b/apps/web-finance/src/views/_core/fallback/offline.vue @@ -0,0 +1,9 @@ + + + diff --git a/apps/web-finance/src/views/analytics/components/CategoryPieChart.vue b/apps/web-finance/src/views/analytics/components/CategoryPieChart.vue new file mode 100644 index 00000000..add21536 --- /dev/null +++ b/apps/web-finance/src/views/analytics/components/CategoryPieChart.vue @@ -0,0 +1,122 @@ + + + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/components/MonthlyComparisonChart.vue b/apps/web-finance/src/views/analytics/components/MonthlyComparisonChart.vue new file mode 100644 index 00000000..c6726fec --- /dev/null +++ b/apps/web-finance/src/views/analytics/components/MonthlyComparisonChart.vue @@ -0,0 +1,170 @@ + + + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/components/PersonAnalysisChart.vue b/apps/web-finance/src/views/analytics/components/PersonAnalysisChart.vue new file mode 100644 index 00000000..55cb8463 --- /dev/null +++ b/apps/web-finance/src/views/analytics/components/PersonAnalysisChart.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/components/TrendChart.vue b/apps/web-finance/src/views/analytics/components/TrendChart.vue new file mode 100644 index 00000000..deb3c2ad --- /dev/null +++ b/apps/web-finance/src/views/analytics/components/TrendChart.vue @@ -0,0 +1,164 @@ + + + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/overview/index.vue b/apps/web-finance/src/views/analytics/overview/index.vue new file mode 100644 index 00000000..4c2581c8 --- /dev/null +++ b/apps/web-finance/src/views/analytics/overview/index.vue @@ -0,0 +1,166 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/reports/custom.vue b/apps/web-finance/src/views/analytics/reports/custom.vue new file mode 100644 index 00000000..22fa1c82 --- /dev/null +++ b/apps/web-finance/src/views/analytics/reports/custom.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/reports/daily.vue b/apps/web-finance/src/views/analytics/reports/daily.vue new file mode 100644 index 00000000..2e64b1ef --- /dev/null +++ b/apps/web-finance/src/views/analytics/reports/daily.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/reports/monthly.vue b/apps/web-finance/src/views/analytics/reports/monthly.vue new file mode 100644 index 00000000..bae9da90 --- /dev/null +++ b/apps/web-finance/src/views/analytics/reports/monthly.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/reports/yearly.vue b/apps/web-finance/src/views/analytics/reports/yearly.vue new file mode 100644 index 00000000..d1a9c41e --- /dev/null +++ b/apps/web-finance/src/views/analytics/reports/yearly.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/analytics/trends/index.vue b/apps/web-finance/src/views/analytics/trends/index.vue new file mode 100644 index 00000000..77db35f4 --- /dev/null +++ b/apps/web-finance/src/views/analytics/trends/index.vue @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/dashboard/analytics/analytics-trends.vue b/apps/web-finance/src/views/dashboard/analytics/analytics-trends.vue new file mode 100644 index 00000000..f1f0b232 --- /dev/null +++ b/apps/web-finance/src/views/dashboard/analytics/analytics-trends.vue @@ -0,0 +1,98 @@ + + + diff --git a/apps/web-finance/src/views/dashboard/analytics/analytics-visits-data.vue b/apps/web-finance/src/views/dashboard/analytics/analytics-visits-data.vue new file mode 100644 index 00000000..190fb41f --- /dev/null +++ b/apps/web-finance/src/views/dashboard/analytics/analytics-visits-data.vue @@ -0,0 +1,82 @@ + + + diff --git a/apps/web-finance/src/views/dashboard/analytics/analytics-visits-sales.vue b/apps/web-finance/src/views/dashboard/analytics/analytics-visits-sales.vue new file mode 100644 index 00000000..02f50912 --- /dev/null +++ b/apps/web-finance/src/views/dashboard/analytics/analytics-visits-sales.vue @@ -0,0 +1,46 @@ + + + diff --git a/apps/web-finance/src/views/dashboard/analytics/analytics-visits-source.vue b/apps/web-finance/src/views/dashboard/analytics/analytics-visits-source.vue new file mode 100644 index 00000000..0915c7af --- /dev/null +++ b/apps/web-finance/src/views/dashboard/analytics/analytics-visits-source.vue @@ -0,0 +1,65 @@ + + + diff --git a/apps/web-finance/src/views/dashboard/analytics/analytics-visits.vue b/apps/web-finance/src/views/dashboard/analytics/analytics-visits.vue new file mode 100644 index 00000000..7e0f1013 --- /dev/null +++ b/apps/web-finance/src/views/dashboard/analytics/analytics-visits.vue @@ -0,0 +1,55 @@ + + + diff --git a/apps/web-finance/src/views/dashboard/analytics/index.vue b/apps/web-finance/src/views/dashboard/analytics/index.vue new file mode 100644 index 00000000..5e3d6d28 --- /dev/null +++ b/apps/web-finance/src/views/dashboard/analytics/index.vue @@ -0,0 +1,90 @@ + + + diff --git a/apps/web-finance/src/views/dashboard/workspace/index.vue b/apps/web-finance/src/views/dashboard/workspace/index.vue new file mode 100644 index 00000000..4a63d37a --- /dev/null +++ b/apps/web-finance/src/views/dashboard/workspace/index.vue @@ -0,0 +1,264 @@ + + + diff --git a/apps/web-finance/src/views/demos/antd/index.vue b/apps/web-finance/src/views/demos/antd/index.vue new file mode 100644 index 00000000..b3b05cc1 --- /dev/null +++ b/apps/web-finance/src/views/demos/antd/index.vue @@ -0,0 +1,66 @@ + + + diff --git a/apps/web-finance/src/views/finance/budget/components/budget-setting.vue b/apps/web-finance/src/views/finance/budget/components/budget-setting.vue new file mode 100644 index 00000000..0073e8ee --- /dev/null +++ b/apps/web-finance/src/views/finance/budget/components/budget-setting.vue @@ -0,0 +1,254 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/finance/budget/index.vue b/apps/web-finance/src/views/finance/budget/index.vue new file mode 100644 index 00000000..f6cd3bdd --- /dev/null +++ b/apps/web-finance/src/views/finance/budget/index.vue @@ -0,0 +1,357 @@ + + + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/finance/category/components/category-form.vue b/apps/web-finance/src/views/finance/category/components/category-form.vue new file mode 100644 index 00000000..b85df270 --- /dev/null +++ b/apps/web-finance/src/views/finance/category/components/category-form.vue @@ -0,0 +1,127 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/finance/category/index.vue b/apps/web-finance/src/views/finance/category/index.vue new file mode 100644 index 00000000..40934f2c --- /dev/null +++ b/apps/web-finance/src/views/finance/category/index.vue @@ -0,0 +1,192 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/finance/dashboard/index.vue b/apps/web-finance/src/views/finance/dashboard/index.vue new file mode 100644 index 00000000..e17f8c4b --- /dev/null +++ b/apps/web-finance/src/views/finance/dashboard/index.vue @@ -0,0 +1,147 @@ + + + \ No newline at end of file diff --git a/apps/web-finance/src/views/finance/loan/components/loan-form.vue b/apps/web-finance/src/views/finance/loan/components/loan-form.vue new file mode 100644 index 00000000..fd385a86 --- /dev/null +++ b/apps/web-finance/src/views/finance/loan/components/loan-form.vue @@ -0,0 +1,210 @@ + + +