Files
urldb/README.md

140 lines
2.7 KiB
Markdown
Raw Normal View History

2025-07-10 01:27:35 +08:00
# 资源管理系统
一个基于 Golang + Nuxt.js 的资源管理系统,参考网盘资源管理界面设计。
## 技术栈
### 后端
- **Golang** - 主要编程语言
- **Gin** - Web框架
- **PostgreSQL** - 数据库
- **lib/pq** - PostgreSQL驱动
### 前端
- **Nuxt.js 3** - Vue.js框架
- **Vue 3** - 前端框架
- **TypeScript** - 类型安全
- **Tailwind CSS** - 样式框架
## 项目结构
```
res_db/
├── main.go # 主程序入口
├── go.mod # Go模块文件
├── env.example # 环境变量示例
├── models/ # 数据模型
│ ├── database.go # 数据库连接
│ └── resource.go # 资源模型
├── handlers/ # API处理器
│ ├── resource.go # 资源相关API
│ └── category.go # 分类相关API
├── web/ # 前端项目
│ ├── nuxt.config.ts # Nuxt配置
│ ├── package.json # 前端依赖
│ ├── pages/ # 页面
│ ├── components/ # 组件
│ └── composables/ # 组合式函数
└── uploads/ # 文件上传目录
```
## 快速开始
### 1. 环境准备
确保已安装:
- Go 1.21+
- PostgreSQL 12+
- Node.js 18+
### 2. 数据库设置
```sql
CREATE DATABASE res_db;
```
### 3. 后端设置
```bash
# 复制环境变量文件
cp env.example .env
# 修改.env文件中的数据库配置
# 安装依赖
go mod tidy
# 运行后端
go run main.go
```
### 4. 前端设置
```bash
# 进入前端目录
cd web
# 安装依赖
2025-07-10 13:56:37 +08:00
pnpm install
2025-07-10 01:27:35 +08:00
# 运行开发服务器
2025-07-10 13:56:37 +08:00
pnpm dev
2025-07-10 01:27:35 +08:00
```
## API接口
### 资源管理
- `GET /api/resources` - 获取资源列表
- `POST /api/resources` - 创建资源
- `PUT /api/resources/:id` - 更新资源
- `DELETE /api/resources/:id` - 删除资源
- `GET /api/resources/:id` - 获取单个资源
### 分类管理
- `GET /api/categories` - 获取分类列表
- `POST /api/categories` - 创建分类
- `PUT /api/categories/:id` - 更新分类
- `DELETE /api/categories/:id` - 删除分类
### 搜索和统计
- `GET /api/search` - 搜索资源
- `GET /api/stats` - 获取统计信息
## 功能特性
- 📁 资源分类管理
- 🔍 全文搜索
- 📊 统计信息
- 🏷️ 标签系统
- 📈 下载/浏览统计
- 🎨 现代化UI界面
## 开发
### 后端开发
```bash
# 热重载开发
go install github.com/cosmtrek/air@latest
air
```
### 前端开发
```bash
cd web
npm run dev
```
## 部署
### Docker部署
```bash
# 构建镜像
docker build -t res-db .
# 运行容器
docker run -p 8080:8080 res-db
```
## 许可证
MIT License