refactor: 文档站品牌改名为汇账 Ledgerly,站点与脚本标识统一为 ledgerly
- 站点标题、首页与文档正文品牌名由「收支管理系统」改为「汇账 Ledgerly」 - package.json 包名改为 ledgerly-docs - 维护脚本环境变量由 FINANCE_* 改为 LEDGERLY_*,测试库路径与示例同步 - 项目结构、构建部署、开发环境等文档中的目录名与 jar 名改为 ledgerly - 保留在线体验域名与 OSS 截图前缀不变
This commit is contained in:
@@ -2,15 +2,15 @@ import { defineConfig } from 'vitepress'
|
|||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
lang: 'zh-CN',
|
lang: 'zh-CN',
|
||||||
title: '收支管理系统',
|
title: '汇账',
|
||||||
description: '个人收支管理系统使用与开发文档',
|
description: '个人汇账使用与开发文档',
|
||||||
head: [['link', { rel: 'icon', href: '/favicon.svg', type: 'image/svg+xml' }]],
|
head: [['link', { rel: 'icon', href: '/favicon.svg', type: 'image/svg+xml' }]],
|
||||||
lastUpdated: true,
|
lastUpdated: true,
|
||||||
cleanUrls: true,
|
cleanUrls: true,
|
||||||
ignoreDeadLinks: true,
|
ignoreDeadLinks: true,
|
||||||
// 维护类文档不参与站点构建
|
// 维护类文档不参与站点构建
|
||||||
srcExclude: ['AGENTS.md'],
|
srcExclude: ['AGENTS.md'],
|
||||||
// 文档站默认端口从 5173 调整为 5175,把 5173 让给 finance-app 前端
|
// 文档站默认端口从 5173 调整为 5175,把 5173 让给 ledgerly 前端
|
||||||
vite: {
|
vite: {
|
||||||
server: {
|
server: {
|
||||||
host: '0.0.0.0',
|
host: '0.0.0.0',
|
||||||
@@ -105,7 +105,7 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
socialLinks: [],
|
socialLinks: [],
|
||||||
footer: {
|
footer: {
|
||||||
message: '基于 Spring Boot 3 + Vue 3 的个人收支管理系统',
|
message: '基于 Spring Boot 3 + Vue 3 的个人汇账',
|
||||||
},
|
},
|
||||||
docFooter: {
|
docFooter: {
|
||||||
prev: '上一页',
|
prev: '上一页',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# 收支管理系统 · 文档站
|
# 汇账 · 文档站
|
||||||
|
|
||||||
本目录是「收支管理系统」(同级目录 `../finance-app`)的**使用文档**与**开发文档**站点,基于 [VitePress](https://vitepress.dev/) 构建,并附带一套 Node/TypeScript 维护脚本(截图、演示数据、资料抓取)。
|
本目录是「汇账」(同级目录 `../ledgerly`)的**使用文档**与**开发文档**站点,基于 [VitePress](https://vitepress.dev/) 构建,并附带一套 Node/TypeScript 维护脚本(截图、演示数据、资料抓取)。
|
||||||
|
|
||||||
> **在线体验**:[https://finance.rosercode.cn/](https://finance.rosercode.cn/)(演示账号 `demo` / `demo123456`,使用独立的 SQLite 演示库与虚构数据)
|
> **在线体验**:[https://finance.rosercode.cn/](https://finance.rosercode.cn/)(演示账号 `demo` / `demo123456`,使用独立的 SQLite 演示库与虚构数据)
|
||||||
|
|
||||||
@@ -83,7 +83,7 @@ npm run typecheck:scripts # 类型检查
|
|||||||
1. 应用实例已启动(默认访问 `jar-home/` 下的 jar 实例 `localhost:18082`);
|
1. 应用实例已启动(默认访问 `jar-home/` 下的 jar 实例 `localhost:18082`);
|
||||||
2. 测试库中已配置 AI(用于截取启用 AI 后的界面)。
|
2. 测试库中已配置 AI(用于截取启用 AI 后的界面)。
|
||||||
|
|
||||||
可通过环境变量覆盖:`FINANCE_WEB`、`FINANCE_API`、`FINANCE_USER`、`FINANCE_PASSWORD`。
|
可通过环境变量覆盖:`LEDGERLY_WEB`、`LEDGERLY_API`、`LEDGERLY_USER`、`LEDGERLY_PASSWORD`。
|
||||||
|
|
||||||
> **环境安全**:截图与演示数据只操作测试环境,禁止访问真实环境(5173 / 8080 / MySQL 真实库)。
|
> **环境安全**:截图与演示数据只操作测试环境,禁止访问真实环境(5173 / 8080 / MySQL 真实库)。
|
||||||
|
|
||||||
|
|||||||
+4
-4
@@ -11,12 +11,12 @@
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# 后端(默认 8080)
|
# 后端(默认 8080)
|
||||||
cd finance-app
|
cd ledgerly
|
||||||
set JAVA_HOME=D:\venv\jdk-21
|
set JAVA_HOME=D:\venv\jdk-21
|
||||||
gradlew.bat bootRun
|
gradlew.bat bootRun
|
||||||
|
|
||||||
# 前端(默认 5173,接口代理到 8080)
|
# 前端(默认 5173,接口代理到 8080)
|
||||||
cd finance-app/frontend
|
cd ledgerly/frontend
|
||||||
npm run dev
|
npm run dev
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -34,12 +34,12 @@ gradle bootJar
|
|||||||
./package.sh
|
./package.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
输出:`build/libs/finance-app-0.0.1-SNAPSHOT.jar`
|
输出:`build/libs/ledgerly-0.0.1-SNAPSHOT.jar`
|
||||||
|
|
||||||
启动(默认 8080,可另指定端口):
|
启动(默认 8080,可另指定端口):
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
java -jar build/libs/finance-app-0.0.1-SNAPSHOT.jar --server.port=18081
|
java -jar build/libs/ledgerly-0.0.1-SNAPSHOT.jar --server.port=18081
|
||||||
```
|
```
|
||||||
|
|
||||||
访问对应端口即可;刷新 `/dashboard` 等子路由由后端 `SpaErrorController` 回退到 `index.html`。
|
访问对应端口即可;刷新 `/dashboard` 等子路由由后端 `SpaErrorController` 回退到 `index.html`。
|
||||||
|
|||||||
+1
-1
@@ -20,7 +20,7 @@
|
|||||||
| `SchemaMigrator` | 建表后的幂等结构迁移(如列重命名),启动与切换数据源时执行 |
|
| `SchemaMigrator` | 建表后的幂等结构迁移(如列重命名),启动与切换数据源时执行 |
|
||||||
| `DatabaseBootstrap` | 应用启动后加载配置并初始化 |
|
| `DatabaseBootstrap` | 应用启动后加载配置并初始化 |
|
||||||
|
|
||||||
`FinanceApplication` 刻意排除了 `DataSourceAutoConfiguration`,以便「零配置也能启动」。
|
`LedgerlyApplication` 刻意排除了 `DataSourceAutoConfiguration`,以便「零配置也能启动」。
|
||||||
|
|
||||||
## 配置来源与顺序
|
## 配置来源与顺序
|
||||||
|
|
||||||
|
|||||||
+3
-3
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
| 环境 | 前端 | 后端 | 数据库 |
|
| 环境 | 前端 | 后端 | 数据库 |
|
||||||
|---|---|---|---|
|
|---|---|---|---|
|
||||||
| 测试环境 | 5174 | 8081 | 独立 SQLite 空库(`ai-home/data/ai-finance.db`) |
|
| 测试环境 | 5174 | 8081 | 独立 SQLite 空库(`ai-home/data/ai-ledgerly.db`) |
|
||||||
| 真实环境 | 5173 | 8080 | MySQL(真实数据) |
|
| 真实环境 | 5173 | 8080 | MySQL(真实数据) |
|
||||||
|
|
||||||
- 两个环境共用同一份源码:前端改动经 Vite HMR 两边同步;后端改动执行 `./reload.sh` 后两边 devtools 同时热重启。
|
- 两个环境共用同一份源码:前端改动经 Vite HMR 两边同步;后端改动执行 `./reload.sh` 后两边 devtools 同时热重启。
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
- 修改 `src/main/resources` 下的资源文件后,需额外同步资源:
|
- 修改 `src/main/resources` 下的资源文件后,需额外同步资源:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker exec finance-backend-dev gradle -I /project/nexus-init.gradle processResources
|
docker exec ledgerly-backend-dev gradle -I /project/nexus-init.gradle processResources
|
||||||
```
|
```
|
||||||
|
|
||||||
- 仅在新增依赖、修改配置等需要彻底重启时才重启容器。
|
- 仅在新增依赖、修改配置等需要彻底重启时才重启容器。
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
- **Javadoc**:新增 Java 文件的类级 javadoc 末尾必须加一行 `@date`,格式 `yyyy-MM-dd HH:mm:ss`,时间取文件创建时间。
|
- **Javadoc**:新增 Java 文件的类级 javadoc 末尾必须加一行 `@date`,格式 `yyyy-MM-dd HH:mm:ss`,时间取文件创建时间。
|
||||||
- **导入顺序**:由 Spotless 管理,三组、组间空行分隔:`java`/`javax` → 第三方 → `cn.rosercode`。
|
- **导入顺序**:由 Spotless 管理,三组、组间空行分隔:`java`/`javax` → 第三方 → `cn.rosercode`。
|
||||||
- 格式化:`docker exec finance-backend-dev gradle -I /project/nexus-init.gradle spotlessApply`
|
- 格式化:`docker exec ledgerly-backend-dev gradle -I /project/nexus-init.gradle spotlessApply`
|
||||||
- `spotlessCheck` 已挂到 `check`,`build` 时会校验。
|
- `spotlessCheck` 已挂到 `check`,`build` 时会校验。
|
||||||
- **日志**:统一使用 Lombok `@Slf4j`,按级别使用(`error` 未预期异常、`warn` 可预期业务失败、`info` 关键写操作与外部调用、`debug` 流程细节)。
|
- **日志**:统一使用 Lombok `@Slf4j`,按级别使用(`error` 未预期异常、`warn` 可预期业务失败、`info` 关键写操作与外部调用、`debug` 流程细节)。
|
||||||
- **控制器**:方法签名禁止声明 `HttpServletRequest` / `HttpServletResponse`,统一使用 `cn.rosercode.finance.util.UserContext`。
|
- **控制器**:方法签名禁止声明 `HttpServletRequest` / `HttpServletResponse`,统一使用 `cn.rosercode.finance.util.UserContext`。
|
||||||
|
|||||||
+2
-2
@@ -4,9 +4,9 @@
|
|||||||
|
|
||||||
## 为什么保存
|
## 为什么保存
|
||||||
|
|
||||||
收支管理系统的不少界面是「多 Tab」或「带筛选条件」的,如果每次进入都重置为默认值,用户每次都要重新选一遍语言、筛选项、分页、排序、上次使用的记账方式等,体验割裂。
|
汇账的不少界面是「多 Tab」或「带筛选条件」的,如果每次进入都重置为默认值,用户每次都要重新选一遍语言、筛选项、分页、排序、上次使用的记账方式等,体验割裂。
|
||||||
|
|
||||||
为此项目在 `finance-app/AGENTS.md` 中约定:
|
为此项目在 `ledgerly/AGENTS.md` 中约定:
|
||||||
|
|
||||||
> 多 Tab 或可切换的界面偏好需**持久化记忆**(`localStorage`),下次打开时恢复到上次选择;存储键统一以 `finance.` 前缀命名,读取时对非法值回退默认项,写入时忽略存储异常。
|
> 多 Tab 或可切换的界面偏好需**持久化记忆**(`localStorage`),下次打开时恢复到上次选择;存储键统一以 `finance.` 前缀命名,读取时对非法值回退默认项,写入时忽略存储异常。
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
## 仓库根目录
|
## 仓库根目录
|
||||||
|
|
||||||
```text
|
```text
|
||||||
finance-app/
|
ledgerly/
|
||||||
├── build.gradle # Gradle 构建脚本(依赖、打包、前端集成、Spotless)
|
├── build.gradle # Gradle 构建脚本(依赖、打包、前端集成、Spotless)
|
||||||
├── settings.gradle # Gradle 项目设置
|
├── settings.gradle # Gradle 项目设置
|
||||||
├── gradlew / gradlew.bat # Gradle Wrapper
|
├── gradlew / gradlew.bat # Gradle Wrapper
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# 项目简介
|
# 项目简介
|
||||||
|
|
||||||
收支管理系统是一个**自托管的个人收支管理应用**,用于把分散在支付宝、微信、美团、银行等平台的账单汇总到一处,统一分类、打标签、统计收支,并通过自定义规则与 AI 能力减少手工整理的工作量。
|
汇账是一个**自托管的个人收支管理应用**,用于把分散在支付宝、微信、美团、银行等平台的账单汇总到一处,统一分类、打标签、统计收支,并通过自定义规则与 AI 能力减少手工整理的工作量。
|
||||||
|
|
||||||
## 解决什么问题
|
## 解决什么问题
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
layout: home
|
layout: home
|
||||||
|
|
||||||
hero:
|
hero:
|
||||||
name: 收支管理系统
|
name: 汇账
|
||||||
text: 个人收支管理 · 多来源账单导入 · AI 智能记账
|
text: 个人收支管理 · 多来源账单导入 · AI 智能记账
|
||||||
tagline: 支持支付宝、微信、美团、淘宝、京东、招商银行、交通银行账单导入,提供分类标签与交易渠道管理、自定义规则、AI 建议(含多图图片记账)与定时提醒
|
tagline: 支持支付宝、微信、美团、淘宝、京东、招商银行、交通银行账单导入,提供分类标签与交易渠道管理、自定义规则、AI 建议(含多图图片记账)与定时提醒
|
||||||
image:
|
image:
|
||||||
@@ -42,7 +42,7 @@ features:
|
|||||||
|
|
||||||
## 这是什么
|
## 这是什么
|
||||||
|
|
||||||
收支管理系统是一个自托管的个人记账应用,帮助你把分散在支付宝、微信、银行等平台的账单汇总到一处,统一分类、打标签、统计收支,并通过 AI 与自动化减少手工整理的工作量。
|
汇账是一个自托管的个人记账应用,帮助你把分散在支付宝、微信、银行等平台的账单汇总到一处,统一分类、打标签、统计收支,并通过 AI 与自动化减少手工整理的工作量。
|
||||||
|
|
||||||
> **在线体验**:[https://finance.rosercode.cn/](https://finance.rosercode.cn/)(演示账号 `demo` / `demo123456`,使用独立的 SQLite 演示库与虚构数据)
|
> **在线体验**:[https://finance.rosercode.cn/](https://finance.rosercode.cn/)(演示账号 `demo` / `demo123456`,使用独立的 SQLite 演示库与虚构数据)
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "finance-app-docs",
|
"name": "ledgerly-docs",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ import { fileURLToPath } from 'node:url'
|
|||||||
const currentDir = dirname(fileURLToPath(import.meta.url))
|
const currentDir = dirname(fileURLToPath(import.meta.url))
|
||||||
|
|
||||||
/** 应用访问入口(默认 jar 一体化实例) */
|
/** 应用访问入口(默认 jar 一体化实例) */
|
||||||
export const BASE_URL = process.env.FINANCE_WEB ?? 'http://localhost:18082'
|
export const BASE_URL = process.env.LEDGERLY_WEB ?? 'http://localhost:18082'
|
||||||
/** 后端 API 地址 */
|
/** 后端 API 地址 */
|
||||||
export const API_URL = process.env.FINANCE_API ?? 'http://localhost:18082/api'
|
export const API_URL = process.env.LEDGERLY_API ?? 'http://localhost:18082/api'
|
||||||
/** 测试账号 */
|
/** 测试账号 */
|
||||||
export const USERNAME = process.env.FINANCE_USER ?? 'docuser'
|
export const USERNAME = process.env.LEDGERLY_USER ?? 'docuser'
|
||||||
export const PASSWORD = process.env.FINANCE_PASSWORD ?? 'doc123456'
|
export const PASSWORD = process.env.LEDGERLY_PASSWORD ?? 'doc123456'
|
||||||
|
|
||||||
/** Chromium 可执行文件(复用 Playwright 缓存,无需系统安装) */
|
/** Chromium 可执行文件(复用 Playwright 缓存,无需系统安装) */
|
||||||
export const CHROMIUM_BIN =
|
export const CHROMIUM_BIN =
|
||||||
|
|||||||
Reference in New Issue
Block a user