- 添加环境配置文件 .env.example 包含数据库、JWT、CORS等配置 - 创建 .gitignore 文件忽略敏感文件和临时文件 - 配置 Apache 重写规则支持路由转发 - 实现 JWT 认证中间件提供用户身份验证功能 - 添加 MySQL 数据库初始化脚本包含分组、图片、笔记表结构
131 lines
2.7 KiB
Markdown
131 lines
2.7 KiB
Markdown
# 笔记管理系统 - PHP 后端
|
||
|
||
基于 PHP 7.4 的笔记管理系统后端,使用 Slim Framework 4 构建 RESTful API。
|
||
|
||
## 环境要求
|
||
|
||
- PHP 7.4(线程安全版)
|
||
- MySQL 5.7+
|
||
- Apache/Nginx
|
||
- Composer
|
||
|
||
## 安装步骤
|
||
|
||
### 1. 安装依赖
|
||
|
||
```bash
|
||
cd biji-php
|
||
composer install
|
||
```
|
||
|
||
### 2. 配置环境变量
|
||
|
||
复制 `.env.example` 为 `.env` 并修改配置:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
编辑 `.env` 文件,配置数据库连接信息:
|
||
|
||
```
|
||
DB_HOST=localhost
|
||
DB_PORT=3306
|
||
DB_NAME=biji_db
|
||
DB_USER=root
|
||
DB_PASS=your_password
|
||
|
||
JWT_SECRET=your-secret-key-change-this
|
||
JWT_EXPIRE=86400
|
||
|
||
CORS_ORIGIN=http://localhost:5173
|
||
```
|
||
|
||
### 3. 导入数据库
|
||
|
||
使用 `sql/mysql/all.sql` 文件创建数据库表结构。
|
||
|
||
```bash
|
||
mysql -u root -p biji_db < ../sql/mysql/all.sql
|
||
```
|
||
|
||
### 4. 配置 Web 服务器
|
||
|
||
#### Apache 配置
|
||
|
||
确保启用了 `mod_rewrite` 模块,并将网站根目录指向 `public` 目录。
|
||
|
||
#### Nginx 配置示例
|
||
|
||
```nginx
|
||
server {
|
||
listen 80;
|
||
server_name your-domain.com;
|
||
root /path/to/biji-php/public;
|
||
index index.php;
|
||
|
||
location / {
|
||
try_files $uri $uri/ /index.php?$query_string;
|
||
}
|
||
|
||
location ~ \.php$ {
|
||
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
|
||
fastcgi_index index.php;
|
||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||
include fastcgi_params;
|
||
}
|
||
}
|
||
```
|
||
|
||
## API 接口文档
|
||
|
||
### 用户接口 (`/api/user`)
|
||
|
||
- `POST /register` - 用户注册
|
||
- `POST /login` - 用户登录
|
||
- `POST /validate-token` - 验证 Token(需认证)
|
||
- `PUT /password` - 更新密码(需认证)
|
||
- `DELETE /deleteUser` - 删除用户(需认证)
|
||
|
||
### Markdown 接口 (`/api/markdown`)
|
||
|
||
- `GET /{id}` - 获取笔记内容
|
||
- `GET /` - 获取所有笔记
|
||
- `POST /updateMarkdown` - 更新笔记(需认证)
|
||
- `DELETE /{id}` - 删除笔记(需认证)
|
||
|
||
### 分组接口 (`/api/groupings`)
|
||
|
||
- `GET /` - 获取所有分组(需认证)
|
||
- `POST /` - 创建分组(需认证)
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
biji-php/
|
||
├── public/ # Web 根目录
|
||
│ ├── index.php # 入口文件
|
||
│ └── .htaccess # Apache 重写规则
|
||
├── src/ # 源代码
|
||
│ ├── Controllers/ # 控制器
|
||
│ ├── Models/ # 模型
|
||
│ ├── Middleware/ # 中间件
|
||
│ └── Utils/ # 工具类
|
||
├── config/ # 配置文件
|
||
├── uploads/ # 文件上传目录
|
||
├── vendor/ # Composer 依赖
|
||
└── composer.json # Composer 配置
|
||
```
|
||
|
||
## 开发说明
|
||
|
||
本项目遵循以下原则:
|
||
- PSR-4 自动加载
|
||
- RESTful API 设计
|
||
- JWT Token 认证
|
||
- MVC 架构模式
|
||
|
||
## 许可证
|
||
|
||
MIT License
|