refactor: 文档站品牌改名为汇账 Ledgerly,站点与脚本标识统一为 ledgerly

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