# imgadmin **Repository Path**: dot123dot/imgadmin ## Basic Information - **Project Name**: imgadmin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-19 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图片管理系统 (Vue + Node.js) 基于 **Vue.js 3** + **Node.js** 开发的企业级图片管理系统,支持图片上传、分类、检索、下载,采用包年订阅模式。 ## 技术栈 ### 前端 - **框架**: Vue 3 + TypeScript - **构建工具**: Vite - **UI 框架**: Element Plus / Ant Design Vue - **状态管理**: Pinia - **路由**: Vue Router - **HTTP 客户端**: Axios - **样式**: SCSS + Cyberpunk 风格 - **图片展示**: Masonry 瀑布流布局 ### 后端 - **运行环境**: Node.js 18+ - **框架**: Express.js / Nest.js - **数据库**: MySQL 8.0 - **ORM**: TypeORM / Sequelize - **认证**: JWT + Passport.js - **文件上传**: Multer - **云存储**: 阿里云 OSS / 七牛云 - **短信服务**: 阿里云短信服务 - **API 文档**: Swagger ### 开发工具 - **包管理**: pnpm - **代码规范**: ESLint + Prettier - **Git Hook**: Husky - **版本控制**: Git ## 功能特性 ### 核心功能 - ✅ **用户系统**: 手机号注册登录、短信验证 - ✅ **图片管理**: 上传、分类、标签、搜索、下载 - ✅ **多文件类型**: 支持图片、视频、文档、表格 - ✅ **存储方式**: 本地存储 + 云存储(阿里云OSS、七牛云等) - ✅ **订阅模式**: B2B 包年订阅,权限管理 - ✅ **瀑布流布局**: 响应式瀑布流展示 - ✅ **Cyberpunk UI**: 科技感、前卫的视觉设计 ### 预留功能 - 🔄 **Coze 工作流集成**: 预留接口,未来可扩展 AI 能力 ## 项目结构 ``` imgadmin/ ├── frontend/ # 前端项目 │ ├── src/ │ │ ├── api/ # API 接口 │ │ ├── assets/ # 静态资源 │ │ ├── components/ # 公共组件 │ │ ├── layouts/ # 布局组件 │ │ ├── router/ # 路由配置 │ │ ├── stores/ # Pinia 状态管理 │ │ ├── styles/ # 全局样式 │ │ ├── utils/ # 工具函数 │ │ ├── views/ # 页面组件 │ │ ├── App.vue │ │ └── main.ts │ ├── public/ │ ├── index.html │ ├── package.json │ ├── tsconfig.json │ └── vite.config.ts │ ├── backend/ # 后端项目 │ ├── src/ │ │ ├── config/ # 配置文件 │ │ ├── controllers/ # 控制器 │ │ ├── middlewares/ # 中间件 │ │ ├── models/ # 数据模型 │ │ ├── routes/ # 路由 │ │ ├── services/ # 业务逻辑 │ │ ├── utils/ # 工具函数 │ │ ├── validators/ # 数据验证 │ │ └── app.ts # 应用入口 │ ├── uploads/ # 本地上传目录 │ ├── package.json │ ├── tsconfig.json │ └── .env.example │ ├── database/ # 数据库文件 │ ├── migrations/ # 数据库迁移 │ └── seeds/ # 数据填充 │ ├── docs/ # 文档 │ ├── api.md # API 文档 │ ├── database.md # 数据库设计 │ └── deployment.md # 部署文档 │ ├── scripts/ # 脚本文件 │ ├── deploy.sh # 部署脚本 │ └── init-db.sh # 数据库初始化 │ ├── .gitignore ├── README.md └── PROJECT_PLAN.md ``` ## 快速开始 ### 环境要求 - Node.js >= 18.0.0 - MySQL >= 8.0 - pnpm >= 8.0.0 ### 安装依赖 ```bash # 安装 pnpm(如果还没安装) npm install -g pnpm # 安装后端依赖 cd backend pnpm install # 安装前端依赖 cd ../frontend pnpm install ``` ### 配置环境变量 ```bash # 后端配置 cd backend cp .env.example .env # 编辑 .env 文件,填写数据库、云存储等配置 ``` ### 初始化数据库 ```bash cd backend pnpm run migrate pnpm run seed ``` ### 启动项目 ```bash # 启动后端(开发模式) cd backend pnpm run dev # 启动前端(开发模式) cd frontend pnpm run dev ``` 访问: - 前端:http://localhost:5173 - 后端:http://localhost:3000 - API 文档:http://localhost:3000/api-docs ## 开发流程 ### 本地开发 ```bash # 1. 创建新分支 git checkout -b feature/xxx # 2. 开发功能 # 3. 提交代码 git add . git commit -m "feat: 添加某某功能" # 4. 推送到远程 git push origin feature/xxx ``` ### 部署到服务器 ```bash # 服务器上拉取最新代码 cd /var/www/imgadmin git pull origin master # 安装依赖 cd backend && pnpm install --prod cd ../frontend && pnpm install # 构建前端 cd frontend pnpm run build # 重启后端服务 pm2 restart imgadmin-backend ``` ## 部署 ### 服务器要求 - **操作系统**: Ubuntu 20.04+ / CentOS 8+ - **Node.js**: 18+ - **MySQL**: 8.0+ - **Nginx**: 1.18+ - **进程管理**: PM2 ### 部署步骤 详见:[部署文档](./docs/deployment.md) ## API 文档 详见:[API 文档](./docs/api.md) ## 数据库设计 详见:[数据库设计](./docs/database.md) ## 许可证 私有项目,仅供内部使用。 ## 联系方式 - **仓库地址**: https://gitee.com/dot123dot/imgadmin.git