2025-09-19 22:03:59 +08:00
2025-09-15 19:08:47 +08:00
2025-09-16 09:14:04 +08:00
2025-09-08 11:27:03 +08:00
2025-09-19 22:03:59 +08:00

InfoGenie 万象口袋

🎨 一个多功能的聚合软件应用 💬

📋 项目概述

InfoGenie 是一个前后端分离的多功能聚合应用提供实时数据接口、休闲游戏、AI工具等丰富功能。

🌐 部署环境

🏗️ 技术架构

前端技术栈

  • 核心框架: React 18.2.0 + React Router DOM 6.15.0
  • 样式方案: Styled Components 6.0.7 (CSS-in-JS)
  • HTTP客户端: Axios 1.5.0
  • UI组件: React Icons 4.11.0 + React Hot Toast 2.4.1
  • 状态管理: React Context API
  • 构建工具: Create React App
  • PWA支持: Service Worker

后端技术栈

  • Web框架: Flask 2.3.3 (轻量、灵活、可扩展)
  • 数据库: MongoDB + PyMongo 4.5.0 (文档型数据存储)
  • 认证机制: JWT Token (PyJWT 2.8.07天有效期)
  • 密码安全: Werkzeug 2.3.7 (高强度密码哈希)
  • 跨域支持: Flask-CORS 4.0.0
  • API限流: Flask-Limiter 3.5.0 (防止API滥用)
  • 环境配置: python-dotenv 1.0.0
  • 邮件服务: 基于SMTP协议的原生实现

架构特点

  • 前后端分离: RESTful API架构无状态通信
  • 混合架构: React SPA + 静态HTML页面无缝集成
  • 模块化设计: Flask蓝图 + React组件化
  • 容器化部署: Docker + docker-compose支持
  • 多环境配置: 开发/测试/生产环境分离

🌟 主要功能

📡 60s API 模块

  • 热搜榜单: 抖音、微博、猫眼票房、头条、网易云、知乎、HackerNews等实时热搜
  • 日更资讯: 60秒读懂世界、必应每日壁纸、历史上的今天、每日国际汇率
  • 实用功能: 百度百科词条、公网IP地址、哈希解压压缩、链接OG信息、农历信息、生成二维码、天气预报、EpicGames免费游戏
  • 娱乐消遣: 随机唱歌音频、随机发病文学、随机搞笑段子、随机冷笑话、随机一言、随机运势、随机JavaScript趣味题、随机KFC文案

🎮 小游戏模块

  • 2048游戏
  • 别踩白方块
  • 俄罗斯方块
  • 移动端优化
  • 即点即玩

🤖 AI模型模块

  • AI变量命名助手: 智能生成编程变量名
  • AI写诗小助手: 基于主题创作诗歌
  • AI姓名评测: 姓名寓意分析和评分
  • 萌芽币消费系统: 每次AI调用消耗100萌芽币
  • 多模型支持: 集成DeepSeek、Kimi等AI服务
  • 需要登录验证: JWT Token认证

👤 用户系统

  • 邮箱验证注册: QQ邮箱验证码注册登录
  • 用户资料管理: 头像、用户名等个人信息
  • 签到系统: 每日签到获取经验值和萌芽币
  • 等级系统: 基于经验值的用户等级计算
  • 萌芽币管理: 虚拟货币系统用于AI功能消费
  • 使用统计: AI调用次数和萌芽币消费记录

🏛️ 架构设计亮点

🔄 混合架构创新

  • React SPA核心层: 处理用户认证、全局状态管理和主要导航逻辑
  • 静态HTML模块: 大量功能模块使用原生HTML/CSS/JS实现降低加载时间
  • 通信机制: 通过postMessage API实现SPA与静态页面的数据交换

🧩 模块化设计

  • 前端组件化: 基于React的原子设计系统从原子级别到页面级别
  • 后端蓝图架构: Flask蓝图实现功能模块解耦提高可维护性
  • 装饰器模式: 横切关注点(认证、萌芽币消费)集中处理

🔒 安全与性能

  • 多层次认证: JWT Token + 邮箱验证码双因素认证
  • API限流保护: 防止暴力攻击和资源耗尽
  • 性能优化: 代码分割、懒加载、PWA缓存策略
  • 数据安全: 密码哈希存储、敏感配置外部化

🚀 部署与扩展

  • 容器化部署: Docker + docker-compose支持
  • 多环境配置: 开发/测试/生产环境分离
  • 微服务友好: 模块化设计便于未来微服务拆分

🚀 快速开始

📋 环境要求

  • Python: 3.8+
  • Node.js: 14+
  • MongoDB: 4.0+
  • npm: 6.0+

📦 安装依赖

后端依赖

cd InfoGenie-backend
pip install -r requirements.txt

前端依赖

cd InfoGenie-frontend
npm install

主要依赖包:

  • React 18.2.0
  • React Router DOM 6.15.0
  • Styled Components 6.0.7
  • Axios 1.5.0
  • React Hot Toast 2.4.1
  • React Icons 4.11.0

🖥️ 前端部署

  1. 进入前端目录:cd InfoGenie-frontend
  2. 安装依赖:npm install
  3. 构建生产环境应用:npm run build
  4. build 目录下的所有文件上传到前端服务器的网站根目录

也可以直接运行 InfoGenie-frontend/build_frontend.bat 脚本进行构建。

⚙️ 后端部署

方式一:传统部署

  1. 进入后端目录:cd InfoGenie-backend
  2. 安装依赖:pip install -r requirements.txt
  3. 配置环境变量或创建 .env 文件:
    # 数据库配置
    MONGO_URI=mongodb://localhost:27017/infogenie
    
    # 邮件服务配置
    MAIL_USERNAME=your_email@qq.com
    MAIL_PASSWORD=your_email_auth_code
    MAIL_SERVER=smtp.qq.com
    MAIL_PORT=587
    
    # 应用配置
    SECRET_KEY=your_secret_key_here
    SESSION_COOKIE_SECURE=True
    FLASK_ENV=production
    
    # AI服务配置
    DEEPSEEK_API_KEY=your_deepseek_api_key
    KIMI_API_KEY=your_kimi_api_key
    
  4. 使用 Gunicorn 启动应用:
    gunicorn -w 4 -b 0.0.0.0:5000 "app:create_app()"
    

方式二Docker部署推荐

  1. 进入后端目录:cd InfoGenie-backend
  2. 构建Docker镜像
    docker build -t infogenie-backend .
    
  3. 使用docker-compose启动
    docker-compose up -d
    
  4. 或者直接运行构建脚本:
    ./build_docker.sh  # Linux/Mac
    # 或
    build_docker.bat   # Windows
    

环境配置说明

  • 开发环境: 使用 .env 文件配置本地开发环境
  • 生产环境: 使用 .env.production 文件或环境变量注入
  • 反向代理: 配置Nginx将 https://infogenie.api.shumengya.top 反向代理到后端服务

⚙️ 配置说明

前端配置

前端通过环境变量配置API基础URL

  • 开发环境:.env.development 文件中设置 REACT_APP_API_URL=http://localhost:5000
  • 生产环境:.env.production 文件中设置 REACT_APP_API_URL=https://infogenie.api.shumengya.top

后端配置

后端通过 config.py 和环境变量进行配置:

  • MongoDB连接通过环境变量 MONGO_URI 设置
  • 邮件服务:通过环境变量 MAIL_USERNAMEMAIL_PASSWORD 设置支持QQ邮箱
  • 认证配置支持QQ邮箱验证登录
  • CORS配置app.py 中配置允许的前端域名

60sAPI配置

60sAPI模块的静态文件位于 frontend/60sapi 目录,通过后端的静态文件服务提供访问。

各API模块的接口地址已配置为 https://infogenie.api.shumengya.top/api/60s

项目结构

InfoGenie/
├── InfoGenie-backend/           # 后端Python Flask应用
│   ├── app.py                  # 主应用入口
│   ├── config.py               # 配置文件
│   ├── requirements.txt        # Python依赖
│   ├── Dockerfile              # Docker构建文件
│   ├── docker-compose.yml      # Docker编排文件
│   ├── .env                    # 环境变量配置
│   ├── modules/                # 功能模块
│   │   ├── auth.py            # 用户认证
│   │   ├── user_management.py # 用户管理
│   │   ├── email_service.py   # 邮件服务
│   │   └── aimodelapp.py      # AI模型应用
│   ├── test/                   # 测试文件
│   └── 后端架构文档.md          # 后端架构文档
├── InfoGenie-frontend/          # 前端应用
│   ├── src/                    # React源码
│   │   ├── components/        # 公共组件
│   │   ├── pages/             # 页面组件
│   │   ├── contexts/          # React Context
│   │   ├── utils/             # 工具函数
│   │   └── styles/            # 全局样式
│   ├── public/                 # 静态资源
│   │   ├── 60sapi/            # 60s API静态页面
│   │   ├── aimodelapp/        # AI模型应用页面
│   │   └── smallgame/         # 小游戏页面
│   ├── package.json           # 前端依赖
│   ├── setting.json           # 前端配置
│   └── 前端架构文档.md         # 前端架构文档
├── README.md                   # 项目说明
├── LICENSE                     # 许可证
└── 项目架构说明.txt            # 项目架构说明

前端依赖

cd frontend/react-app
npm install

🎯 启动服务

方式一:使用启动器(推荐)

# 双击运行 启动器.bat
# 选择相应的启动选项

方式二:手动启动

启动后端服务

cd InfoGenie-backend
python app.py
# 后端服务: http://localhost:5002

启动前端服务

cd InfoGenie-frontend
npm start
# 前端服务: http://localhost:3000

📞 联系方式

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情


感谢使用 InfoGenie 万象口袋

🎨 一个多功能的聚合软件应用 💬

支持Web、Windows、Android多平台

Description
万象口袋项目备份
Readme Apache-2.0 43 MiB
Languages
JavaScript 45.2%
CSS 37%
HTML 11.7%
Python 5.9%
Shell 0.2%