# 笔记应用 (Biji App)

这是一个功能完善的全栈笔记应用程序，采用前后端分离架构。前端使用 Vue 3 构建，后端使用 Spring Boot 3 实现。

## ✨ 功能特性 (Features)

*   **用户认证**: 支持用户注册、登录和 JWT (JSON Web Token) 认证。
*   **Markdown 笔记**: 提供功能强大的 Markdown 编辑器，支持实时预览和丰富的格式化选项。
*   **图片管理**: 支持在笔记中上传、插入和管理图片。
*   **笔记组织**: 用户可以创建分组 (Categories/Groups) 来管理和组织笔记。
*   **回收站**: 提供回收站功能，可以恢复被误删除的笔记或分组。
*   **系统设置**: 提供基本的系统配置功能。

## 🛠️ 技术栈 (Tech Stack)

### 后端 (Backend - `biji-houdaun`)

*   **框架 (Framework)**: Spring Boot 3.5.0
*   **语言 (Language)**: Java 17
*   **数据访问 (Data Access)**: MyBatis-Plus 3.5.7
*   **数据库 (Database)**: SQLite
*   **API 文档 (API Docs)**: Knife4j / SpringDoc
*   **安全 (Security)**: Spring Security, JJWT
*   **工具库 (Utilities)**: Lombok, Hutool, Commons Codec

### 前端 (Frontend - `biji-qianduan`)

*   **框架 (Framework)**: Vue 3
*   **构建工具 (Build Tool)**: Vite
*   **UI 库 (UI Library)**: Element Plus
*   **状态管理 (State Management)**: Pinia
*   **路由 (Routing)**: Vue Router
*   **Markdown 编辑器**: Vditor / @kangc/v-md-editor
*   **HTTP 客户端 (HTTP Client)**: Axios (封装在 `src/utils/axios.js` 中)

## 📂 项目结构 (Project Structure)

```
.
├── biji-houdaun/         # 后端 Spring Boot 项目
│   ├── src/main/java/    # Java 源码
│   │   └── com/test/bijihoudaun/
│   │       ├── controller/ # API 控制器
│   │       ├── service/    # 业务逻辑服务
│   │       ├── mapper/     # MyBatis 数据映射
│   │       ├── entity/     # 数据库实体
│   │       ├── config/     # 应用配置
│   │       └── common/     # 通用工具 (异常处理、响应)
│   └── pom.xml           # Maven 依赖配置
│
├── biji-qianduan/        # 前端 Vue 项目
│   ├── src/              # 前端源码
│   │   ├── api/          # API 请求模块
│   │   ├── assets/       # 静态资源 (CSS, images)
│   │   ├── components/   # Vue 组件
│   │   ├── router/       # 路由配置
│   │   ├── stores/       # Pinia 状态管理
│   │   └── utils/        # 工具函数
│   └── package.json      # NPM 依赖配置
│
├── sql/                  # 数据库初始化脚本
├── uploads/              # 用户上传文件目录
├── doc/                  # 项目相关文档
└── README.md             # 本文档
```

## 🚀 快速开始 (Getting Started)

### 环境要求

*   JDK 17
*   Maven 3.x
*   Node.js 18+
*   pnpm (或 npm/yarn)

### 后端启动

1.  **克隆项目**: `git clone <repository-url>`
2.  **数据库初始化**: 使用 `sql/` 目录下的脚本初始化 SQLite 数据库 (`mydatabase.db`)。
3.  **配置**: 检查 `biji-houdaun/src/main/resources/application-dev.yml` 中的配置是否正确。
4.  **运行**: 在 `biji-houdaun` 目录下，通过 IDE 直接运行 `BijiHoudaunApplication.java` 或使用 Maven:
    ```bash
    mvn spring-boot:run
    ```

### 前端启动

1.  **进入目录**: `cd biji-qianduan`
2.  **安装依赖**:
    ```bash
    pnpm install
    # 或者使用 npm / yarn
    # npm install
    # yarn install
    ```
3.  **运行开发服务器**:
    ```bash
    pnpm dev
    ```
4.  **访问应用**: 在浏览器中打开 `http://localhost:5173` (或其他 Vite 指定的端口)。
