# memeking **Repository Path**: fbinba3955/memeking ## Basic Information - **Project Name**: memeking - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-03 - **Last Updated**: 2025-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 斗图王 - 表情包创建与分享平台 斗图王是一个全栈Web应用程序,用于创建、分享和发现表情包。该应用由Vue.js前端和Flask后端组成,支持表情包的浏览、搜索、下载和标签管理。 Image ## 项目结构 ``` memeking/ ├── frontend/ # Vue.js前端应用 │ ├── src/ # 源代码 │ │ ├── api/ # API客户端模块 │ │ ├── assets/ # 静态资源 │ │ ├── components/# Vue组件 │ │ ├── config/ # 配置文件 │ │ ├── composables/# 组合式API │ │ ├── plugins/ # Vue插件 │ │ ├── router/ # Vue Router配置 │ │ ├── views/ # Vue视图/页面 │ │ ├── App.vue # 根组件 │ │ └── main.js # 入口点 │ ├── index.html # HTML模板 │ ├── package.json # 依赖项和脚本 │ └── vite.config.js # Vite配置 └── backend/ # Flask后端应用 ├── app.py # 主Flask应用 ├── config/ # 配置文件 ├── models/ # 数据模型 ├── routes/ # API路由 ├── services/ # 业务逻辑服务 ├── utils/ # 实用工具函数 ├── requirements.txt # Python依赖项 └── uploads/ # 上传表情包的文件夹 ``` ## 功能特点 - 浏览和搜索表情包库 - 按标签分类表情包 - 下载和分享表情包 - 管理员界面进行表情包导入和管理 - AI自动为表情包生成标签 - 支持MySQL数据库存储 ## 环境要求 - Node.js (v16+) - Python 3.8+ - MySQL数据库 (可选) - npm或yarn - OpenAI API密钥 (用于AI标签生成) ## 安装说明 ### 前端设置 1. 进入前端目录: ``` cd memeking/frontend ``` 2. 安装依赖: ``` npm install ``` 3. 启动开发服务器: ``` npm run dev ``` 4. 前端将在 http://localhost:13966 可用 ### 后端设置 1. 进入后端目录: ``` cd memeking/backend ``` 2. 创建虚拟环境(推荐): ``` python -m venv venv source venv/bin/activate # Windows系统: venv\Scripts\activate ``` 3. 安装依赖: ``` pip install -r requirements.txt ``` 4. 创建.env文件(可从.env.example复制)并配置: ``` # 主要配置 PORT=13955 OPENAI_API_KEY=your_api_key_here # 数据库配置(MySQL可选) USE_MYSQL=true MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USER=root MYSQL_PASSWORD=your_password MYSQL_DB=db_memeking ``` 5. 如果使用MySQL,创建数据库: ``` mysql -u root -p CREATE DATABASE db_memeking; ``` 6. 启动Flask服务器: ``` python app.py ``` 7. 后端API将在 http://localhost:13955 可用 ## API端点 ### 表情包管理 - `GET /api/memes` - 获取所有表情包 - `GET /api/memes/` - 获取特定表情包 - `GET /api/memes/search/tag` - 按标签搜索表情包 - `GET /api/memes/popular` - 获取热门表情包 - `GET /api/latest-memes` - 获取最新表情包 ### 标签管理 - `GET /api/tags` - 获取所有标签 - `GET /api/tags/stats` - 获取标签统计数据 - `POST /api/tags/sync` - 同步标签数据 ### 上传和导入 - `POST /api/upload` - 上传新文件 - `POST /api/import-files` - 从import目录导入表情包 - `GET /api/uploads/recent-imports` - 获取最近导入的表情包 - `PUT /api/uploads//tags` - 更新表情包标签 ## 生产环境部署 ### 前端部署 1. 修改API配置: 在 `frontend/src/config/api.js` 中设置生产环境API地址: ```javascript export const API_BASE_URL = 'http://your-production-api.com'; ``` 2. 构建前端: ``` cd memeking/frontend npm run build ``` 3. 部署dist目录: - 可以使用Nginx服务器托管dist目录 - 或者使用其他静态文件托管服务 ### 后端部署 1. 为Flask后端设置生产服务器: ``` pip install gunicorn gunicorn -w 4 -b 0.0.0.0:13955 app:app ``` 2. 使用Nginx作为反向代理 3. 确保MySQL数据库已正确配置 ## 许可证 本项目根据MIT许可证授权。