# blog-code **Repository Path**: zzcjmxj_admin/blog-code ## Basic Information - **Project Name**: blog-code - **Description**: 开源博客系统, - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-15 - **Last Updated**: 2026-10-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Blog Code 博客代码项目。 ## 技术栈 | 层级 | 技术 | |------|------| | 前端 | Vue 3 + Vite + Vue Router + Pinia + TypeScript | | 后端 | FastAPI + SQLAlchemy + JWT(SQLite / MySQL / PostgreSQL) | | 文档 | Docusaurus 3 + TypeScript | ## 项目结构 ``` blog-code/ ├── frontend/ # 前端项目 (Vue 3) │ ├── src/ │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 公共组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── views/ # 页面视图 │ │ ├── App.vue # 根组件 │ │ ├── main.ts # 入口文件 │ │ └── style.css # 全局样式 │ ├── index.html │ ├── vite.config.ts │ └── package.json ├── backend/ # 后端项目 (FastAPI) │ ├── app/ │ │ ├── core/ # 核心:配置、数据库、安全 │ │ ├── models/ # 数据模型 (SQLAlchemy) │ │ ├── schemas/ # 请求/响应模型 (Pydantic) │ │ ├── services/ # 业务逻辑层 │ │ ├── routers/ # 路由控制层 │ │ ├── utils/ # 工具:响应、认证 │ │ └── main.py # 应用入口 │ ├── requirements.txt │ └── .env ├── docs/ # 文档站点 (Docusaurus) │ ├── docs/ # 文档内容 │ ├── blog/ # 博客内容 │ ├── src/ # 页面/组件 │ ├── docusaurus.config.ts │ └── package.json ├── .gitignore ├── LICENSE └── README.md ``` ## 目录说明 ### frontend(前端) 基于 Vue 3 + Vite + Vue Router + Pinia + TypeScript 构建。 **启动方式:** ```bash cd frontend npm install npm run dev ``` ### backend(后端) 基于 FastAPI + SQLAlchemy + JWT 构建的 RESTful API,支持 SQLite / MySQL / PostgreSQL 三数据库一键切换。 **模块架构:** ``` 请求 → Router(路由) → Service(业务) → Model(数据) ↑ ↑ ↑ Schemas 校验 安全认证 SQLAlchemy ``` | 层 | 职责 | |----|------| | `routers/` | 接收 HTTP 请求,参数校验,调用 Service | | `services/` | 业务逻辑,不直接操作 HTTP | | `models/` | 数据库表定义 (SQLAlchemy ORM) | | `schemas/` | 请求/响应结构 (Pydantic) | | `core/` | 配置、数据库连接、安全加密 | **API 一览:** | 方法 | 路径 | 说明 | 认证 | |------|------|------|:--:| | POST | `/users/register` | 用户注册 | | | POST | `/users/login` | 用户登录 | | | POST | `/articles` | 创建文章 | ✅ | | GET | `/articles` | 文章列表(分页) | | | GET | `/articles/{id}` | 文章详情 | | | PUT | `/articles/{id}` | 更新文章 | ✅ | | DELETE | `/articles/{id}` | 删除文章 | ✅ | **数据库切换:** 只需修改 `backend/.env` 中的 `DB_TYPE`: ```bash # SQLite(默认,零配置) DB_TYPE=sqlite # MySQL DB_TYPE=mysql DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASSWORD=123456 DB_NAME=blog # PostgreSQL DB_TYPE=postgresql DB_HOST=localhost DB_PORT=5432 DB_USER=postgres DB_PASSWORD=123456 DB_NAME=blog ``` > MySQL / PostgreSQL 需先手动创建数据库:`CREATE DATABASE blog;` **启动方式:** ```bash cd backend pip install -r requirements.txt uvicorn app.main:app --reload ``` API 文档自动生成:http://localhost:8000/docs ### docs(文档) 基于 Docusaurus 3 + TypeScript 构建的文档站点。 **启动方式:** ```bash cd docs npm start ```