# OnlineNoteSystem **Repository Path**: phoenix-cities/online-note-system ## Basic Information - **Project Name**: OnlineNoteSystem - **Description**: 一个在线笔记系统 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 在线笔记系统 一个基于Vue3+SpringBoot的现代化在线笔记管理系统,支持笔记本管理、笔记编辑、文件上传、公私有设置等功能。 ## 技术栈 ### 前端 - Vue 3 + TypeScript - Vite 构建工具 - Element Plus UI组件库 - Pinia 状态管理 - Vue Router 路由管理 - Axios HTTP客户端 ### 后端 - Java 8 - Spring Boot 2.7.x - Spring Security 安全框架 - MyBatis Plus ORM框架 - JWT 无状态认证 - MySQL 8.0 数据库 - Redis 缓存 - MinIO 文件存储 ## 项目结构 ``` biji/ ├── backend/ # 后端SpringBoot项目 │ ├── src/main/java/com/notes/ │ │ ├── controller/ # 控制器层 │ │ ├── service/ # 服务层 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # 数据访问层 │ │ ├── security/ # 安全配置 │ │ ├── utils/ # 工具类 │ │ └── exception/ # 异常处理 │ └── src/main/resources/ │ ├── application.yml # 应用配置 │ └── mapper/ # MyBatis映射文件 ├── front/ # 前端Vue项目 │ ├── src/ │ │ ├── views/ # 页面组件 │ │ ├── components/ # 通用组件 │ │ ├── stores/ # Pinia状态管理 │ │ ├── api/ # API接口 │ │ ├── types/ # TypeScript类型定义 │ │ ├── utils/ # 工具函数 │ │ ├── router/ # 路由配置 │ │ └── styles/ # 样式文件 │ ├── package.json # 依赖配置 │ └── vite.config.ts # Vite配置 ├── docs/ # 项目文档 ├── sql/ # 数据库脚本 └── README.md # 项目说明 ``` ## 核心功能 ### 用户认证 - [x] 用户注册登录 - [x] JWT令牌认证 - [x] 用户信息管理 ### 笔记本管理 - [x] 创建/编辑/删除笔记本 - [x] 笔记本列表查看 - [x] 公私有权限设置 ### 笔记管理 - [x] 创建/编辑/删除笔记 - [x] 富文本编辑支持 - [x] 笔记标签管理 - [x] 笔记搜索功能 ### 文件管理 - [x] 文件上传到MinIO - [x] 文件下载和预览 - [x] 文件附件管理 ### 高级功能 - [ ] 笔记版本控制 - [ ] 在线协作编辑 - [ ] 笔记分享链接 - [ ] 导出功能 ## 快速开始 ### 环境要求 - Java 8+ - Node.js 16+ - MySQL 8.0+ - Redis 6.0+ - MinIO服务器 ### 安装步骤 1. **克隆项目** ```bash git clone cd biji ``` 2. **配置数据库** ```sql -- 创建数据库 CREATE DATABASE notes_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 导入数据库结构 source sql/init.sql; ``` 3. **配置应用** 修改 `backend/src/main/resources/application.yml` 中的配置: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/notes_db username: your_username password: your_password data: redis: host: localhost port: 6379 minio: endpoint: http://localhost:9000 access-key: your_access_key secret-key: your_secret_key ``` 4. **启动后端** ```bash cd backend # 使用Maven启动 mvn spring-boot:run # 或者使用IDE运行NotesApplication.java ``` 5. **安装前端依赖** ```bash cd front npm install ``` 6. **启动前端** ```bash npm run dev ``` 7. **访问应用** 打开浏览器访问:http://localhost:5173 ## API文档 ### 认证接口 - `POST /api/auth/register` - 用户注册 - `POST /api/auth/login` - 用户登录 - `GET /api/auth/me` - 获取当前用户信息 ### 笔记本接口 - `GET /api/notebooks` - 获取笔记本列表 - `POST /api/notebooks` - 创建笔记本 - `PUT /api/notebooks/{id}` - 更新笔记本 - `DELETE /api/notebooks/{id}` - 删除笔记本 ### 笔记接口 - `GET /api/notes` - 获取笔记列表 - `GET /api/notes/{id}` - 获取笔记详情 - `POST /api/notes` - 创建笔记 - `PUT /api/notes/{id}` - 更新笔记 - `DELETE /api/notes/{id}` - 删除笔记 ### 文件接口 - `POST /api/files/upload` - 上传文件 - `GET /api/files/{id}/download` - 下载文件 - `DELETE /api/files/{id}` - 删除文件 ## Maven配置 项目使用自定义Maven配置: - Settings文件位置:`F:\dependence\maven\apache-maven-3.6.3\conf\settings.xml` - 本地仓库位置:`F:\dependence\maven\repo` ## 开发规范 ### 代码规范 - 后端遵循Spring Boot最佳实践 - 前端使用Vue 3 Composition API - 统一的错误处理和响应格式 - 完善的注释和文档 ### 安全规范 - JWT令牌认证 - CORS跨域配置 - SQL注入防护 - XSS攻击防护 ## 贡献指南 1. Fork项目 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送分支 (`git push origin feature/AmazingFeature`) 5. 创建Pull Request ## 许可证 本项目采用MIT许可证 - 查看 [LICENSE](LICENSE) 文件了解详情。 ## 更新日志 ### v1.0.0 (2024-01-01) - ✅ 项目基础架构搭建 - ✅ 用户认证模块完成 - ✅ 笔记本管理功能完成 - ✅ 笔记管理功能完成 - ✅ 文件上传功能完成 - ✅ 前端页面开发完成