更新前后端开发说明
This commit is contained in:
+22
-41
@@ -1,6 +1,6 @@
|
|||||||
# Pixiv 后端服务
|
# Pixiv 后端服务
|
||||||
|
|
||||||
这是一个优雅的 Pixiv 后端服务架构,提供作品信息获取、作者信息查询、文件下载等功能。
|
Pixiv 后端服务架构,提供作品信息获取、作者信息查询、文件下载等功能。
|
||||||
|
|
||||||
## 🏗️ 项目架构
|
## 🏗️ 项目架构
|
||||||
|
|
||||||
@@ -28,33 +28,6 @@ backend/
|
|||||||
└── response.js # 响应工具
|
└── response.js # 响应工具
|
||||||
```
|
```
|
||||||
|
|
||||||
## 🚀 快速开始
|
|
||||||
|
|
||||||
### 1. 安装依赖
|
|
||||||
|
|
||||||
```bash
|
|
||||||
npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
### 2. 启动服务器
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# 开发模式
|
|
||||||
npm run dev
|
|
||||||
|
|
||||||
# 生产模式
|
|
||||||
npm start
|
|
||||||
|
|
||||||
# 或直接运行
|
|
||||||
node backend/start.js
|
|
||||||
```
|
|
||||||
|
|
||||||
### 3. 测试登录
|
|
||||||
|
|
||||||
```bash
|
|
||||||
node backend/test-login.js
|
|
||||||
```
|
|
||||||
|
|
||||||
## 📡 API 接口
|
## 📡 API 接口
|
||||||
|
|
||||||
### 认证相关
|
### 认证相关
|
||||||
@@ -67,27 +40,44 @@ node backend/test-login.js
|
|||||||
|
|
||||||
### 作品相关
|
### 作品相关
|
||||||
|
|
||||||
|
- `GET /api/artwork/search` - 搜索作品
|
||||||
|
- 参数: `keyword`, `type`, `sort`, `duration`, `offset`, `limit`
|
||||||
- `GET /api/artwork/:id` - 获取作品详情
|
- `GET /api/artwork/:id` - 获取作品详情
|
||||||
|
- 参数: `include_user`, `include_series`
|
||||||
- `GET /api/artwork/:id/preview` - 获取作品预览
|
- `GET /api/artwork/:id/preview` - 获取作品预览
|
||||||
- `GET /api/artwork/:id/images` - 获取作品图片URL
|
- `GET /api/artwork/:id/images` - 获取作品图片URL
|
||||||
- `GET /api/artwork/search` - 搜索作品
|
- 参数: `size` (small/medium/large/original)
|
||||||
|
|
||||||
### 作者相关
|
### 作者相关
|
||||||
|
|
||||||
- `GET /api/artist/:id` - 获取作者信息
|
- `GET /api/artist/following` - 获取当前用户关注的作者列表
|
||||||
|
- 参数: `offset`, `limit`
|
||||||
- `GET /api/artist/:id/artworks` - 获取作者作品列表
|
- `GET /api/artist/:id/artworks` - 获取作者作品列表
|
||||||
|
- 参数: `type`, `filter`, `offset`, `limit`
|
||||||
- `GET /api/artist/:id/following` - 获取作者关注列表
|
- `GET /api/artist/:id/following` - 获取作者关注列表
|
||||||
|
- 参数: `restrict`, `offset`, `limit`
|
||||||
- `GET /api/artist/:id/followers` - 获取作者粉丝列表
|
- `GET /api/artist/:id/followers` - 获取作者粉丝列表
|
||||||
|
- 参数: `restrict`, `offset`, `limit`
|
||||||
- `POST /api/artist/:id/follow` - 关注/取消关注作者
|
- `POST /api/artist/:id/follow` - 关注/取消关注作者
|
||||||
|
- 参数: `restrict` (public/private)
|
||||||
|
|
||||||
### 下载相关
|
### 下载相关
|
||||||
|
|
||||||
- `POST /api/download/artwork/:id` - 下载单个作品
|
- `POST /api/download/artwork/:id` - 下载单个作品
|
||||||
|
- 参数: `size`, `quality`, `format`
|
||||||
- `POST /api/download/artworks` - 批量下载作品
|
- `POST /api/download/artworks` - 批量下载作品
|
||||||
|
- 参数: `artworkIds`, `size`, `quality`, `format`, `concurrent`
|
||||||
- `POST /api/download/artist/:id` - 下载作者作品
|
- `POST /api/download/artist/:id` - 下载作者作品
|
||||||
|
- 参数: `type`, `filter`, `size`, `quality`, `format`, `concurrent`
|
||||||
- `GET /api/download/progress/:taskId` - 获取下载进度
|
- `GET /api/download/progress/:taskId` - 获取下载进度
|
||||||
- `DELETE /api/download/cancel/:taskId` - 取消下载任务
|
- `DELETE /api/download/cancel/:taskId` - 取消下载任务
|
||||||
- `GET /api/download/history` - 获取下载历史
|
- `GET /api/download/history` - 获取下载历史
|
||||||
|
- 参数: `offset`, `limit`
|
||||||
|
|
||||||
|
### 代理相关
|
||||||
|
|
||||||
|
- `GET /api/proxy/image` - 图片代理服务
|
||||||
|
- 参数: `url` (图片URL)
|
||||||
|
|
||||||
## 🔧 配置说明
|
## 🔧 配置说明
|
||||||
|
|
||||||
@@ -95,16 +85,6 @@ node backend/test-login.js
|
|||||||
|
|
||||||
在 `config.js` 中配置代理设置:
|
在 `config.js` 中配置代理设置:
|
||||||
|
|
||||||
```javascript
|
|
||||||
const proxyConfig = {
|
|
||||||
system: {
|
|
||||||
host: '127.0.0.1',
|
|
||||||
port: 7897,
|
|
||||||
protocol: 'http'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
```
|
|
||||||
|
|
||||||
### 环境变量
|
### 环境变量
|
||||||
|
|
||||||
- `PORT` - 服务器端口 (默认: 3000)
|
- `PORT` - 服务器端口 (默认: 3000)
|
||||||
@@ -130,6 +110,7 @@ const proxyConfig = {
|
|||||||
- **artwork.js**: 作品相关路由
|
- **artwork.js**: 作品相关路由
|
||||||
- **artist.js**: 作者相关路由
|
- **artist.js**: 作者相关路由
|
||||||
- **download.js**: 下载相关路由
|
- **download.js**: 下载相关路由
|
||||||
|
- **proxy.js**: 代理服务路由
|
||||||
|
|
||||||
### 服务层
|
### 服务层
|
||||||
|
|
||||||
@@ -212,6 +193,6 @@ const proxyConfig = {
|
|||||||
|
|
||||||
欢迎提交 Issue 和 Pull Request!
|
欢迎提交 Issue 和 Pull Request!
|
||||||
|
|
||||||
## �� 许可证
|
## 许可证
|
||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
+1
-47
@@ -1,15 +1,6 @@
|
|||||||
# Pixiv Manager Frontend
|
# Pixiv Manager Frontend
|
||||||
|
|
||||||
一个优雅的 Pixiv 作品管理前端应用,基于 Vue 3 + TypeScript + Vite + Pinia 构建。
|
Pixiv 作品管理前端应用,基于 Vue 3 + TypeScript + Vite + Pinia 构建。
|
||||||
|
|
||||||
## 功能特性
|
|
||||||
|
|
||||||
- 🎨 **作品搜索与浏览** - 支持关键词搜索、标签筛选、排序等功能
|
|
||||||
- 👨🎨 **作者管理** - 关注喜欢的作者,查看作品列表和统计信息
|
|
||||||
- 📥 **下载管理** - 支持单个作品、批量作品、作者作品下载
|
|
||||||
- 🔐 **用户认证** - 基于 Pixiv OAuth 2.0 的安全登录系统
|
|
||||||
- 📱 **响应式设计** - 完美适配桌面端和移动端
|
|
||||||
- ⚡ **现代化技术栈** - Vue 3 + TypeScript + Vite + Pinia
|
|
||||||
|
|
||||||
## 技术栈
|
## 技术栈
|
||||||
|
|
||||||
@@ -88,28 +79,6 @@ pnpm build
|
|||||||
pnpm lint
|
pnpm lint
|
||||||
```
|
```
|
||||||
|
|
||||||
## 设计原则
|
|
||||||
|
|
||||||
### 组件设计
|
|
||||||
- **单一职责**: 每个组件只负责一个特定功能
|
|
||||||
- **可复用性**: 组件设计时考虑复用性,避免过度耦合
|
|
||||||
- **类型安全**: 全面使用 TypeScript 确保类型安全
|
|
||||||
|
|
||||||
### 状态管理
|
|
||||||
- **集中管理**: 使用 Pinia 进行集中状态管理
|
|
||||||
- **响应式**: 状态变化自动触发 UI 更新
|
|
||||||
- **持久化**: 关键状态支持本地持久化
|
|
||||||
|
|
||||||
### API 设计
|
|
||||||
- **服务层**: 所有 API 调用封装在服务层
|
|
||||||
- **错误处理**: 统一的错误处理机制
|
|
||||||
- **类型安全**: API 响应类型定义完整
|
|
||||||
|
|
||||||
### 样式设计
|
|
||||||
- **响应式**: 支持多种屏幕尺寸
|
|
||||||
- **一致性**: 统一的设计语言和组件库
|
|
||||||
- **可维护性**: 模块化的 CSS 结构
|
|
||||||
|
|
||||||
## 主要功能模块
|
## 主要功能模块
|
||||||
|
|
||||||
### 1. 认证模块
|
### 1. 认证模块
|
||||||
@@ -161,22 +130,7 @@ pnpm build
|
|||||||
# dist/ 目录包含所有静态文件
|
# dist/ 目录包含所有静态文件
|
||||||
```
|
```
|
||||||
|
|
||||||
## 贡献指南
|
|
||||||
|
|
||||||
1. Fork 项目
|
|
||||||
2. 创建功能分支 (`git checkout -b feature/AmazingFeature`)
|
|
||||||
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
|
|
||||||
4. 推送到分支 (`git push origin feature/AmazingFeature`)
|
|
||||||
5. 打开 Pull Request
|
|
||||||
|
|
||||||
## 许可证
|
## 许可证
|
||||||
|
|
||||||
本项目仅供学习和个人使用,请遵守 Pixiv 的服务条款。
|
本项目仅供学习和个人使用,请遵守 Pixiv 的服务条款。
|
||||||
|
|
||||||
## 更新日志
|
|
||||||
|
|
||||||
### v1.0.0
|
|
||||||
- 初始版本发布
|
|
||||||
- 基础功能实现
|
|
||||||
- 响应式设计
|
|
||||||
- TypeScript 支持
|
|
||||||
|
|||||||
Reference in New Issue
Block a user