security: stop tracking env files; admin gate via VITE_SITE_ADMIN_GATE; Redis/cache/docs

Remove InfoGenie-frontend and Go .env from version control; add .env.example templates; ignore .claude local settings. Admin UI reads site gate from env only. Note: rotate secrets if repo history was ever public.

Made-with: Cursor
This commit is contained in:
2026-04-03 16:10:12 +08:00
parent 284b5a5260
commit 6b3fcc1791
25 changed files with 1078 additions and 972 deletions

View File

@@ -1,61 +1,6 @@
# 万象口袋项目-跨平台一站式信息聚合式软件 面试资料
**项目名称**:万象口袋项目-跨平台一站式信息聚合式软件
**时间**2025.08 - 2026.01
**技术栈**Golang,Gin,MySQL,React、
**技术栈**Java,SpringBoot,MySQL,React、
**描述**:跨平台一站式信息聚合式软件
**上线地址**https://infogenie.shumengya.top
**开源地址**https://github.com/shumengya/infogenie
**本地实现技术栈(当前仓库版本)**
- 前端React 18.2.0、React Router DOM 6.15.0、Styled Components 6.0.7、Axios 1.5.0、React Hot Toast、React Icons、Create React App
- 前端架构React Context API用户态管理、混合架构SPA + public 静态HTML模块、PWA(Service Worker 离线缓存与 SWR 策略)
- 后端Go 1.25、Gin 1.12、GORM 1.31 + MySQL、gin-contrib/cors、go-playground/validator、joho/godotenv
- 后端能力:外部认证中心 JWT 校验与用户态透传、AI供应商(DeepSeek/Kimi) OpenAI兼容接口调用、并发扣费互斥与重试回退、站点展示配置与AI上游运行时管理
- 数据库MySQLAIUsageRecord、Site60sDisabled、Site60sUpstream、SiteAIRuntime 等表GORM 自动迁移)
- 工程化:后端 Dockerfile + docker-compose.env 多环境配置;前端 CRA 构建与 Service Worker 预缓存
## 技术特点总结(可用于简历)
- 前后端分离与RESTfulGin 路由分组与中间件清晰,统一 JSON 响应;前端 Axios 拦截器统一鉴权与错误提示
- 混合前端架构React SPA 与 public 静态HTML模块并存静态页通过 iframe + window.parent 环境注入与本地 token 传递,兼顾体验与加载速度
- 认证与用户态:对接外部认证中心,后端中间件验证 JWT 并透传用户态;前端 Context 管理登录态与本地持久化
- AI接口与计费DeepSeek/Kimi OpenAI兼容调用、超时与指数回退并发扣费互斥锁、扣费失败与余额不足的严格返回码
- 站点运行时配置:管理员口令保护的 60s 展示开关与数据源切换、AI上游 base/key/model 运行时配置写入数据库并脱敏展示
- 安全与合规CORS 策略受控、敏感配置环境变量化、后端仅在开发打印基础设施地址;管理员端采用常量口令 + 服务端令牌比对
- 性能优化PWA 预缓存入口与 runtime 缓存、SW 导航离线回退、静态模块直出;前端渐变背景与轻量组件保持流畅交互
- 工程化与部署:后端 Dockerfile + docker-compose 支持;前端 CRA 标准构建流程与静态资源缓存策略;多环境 .env
## 架构设计亮点
- SPA核心层React Router v6 管理路由UserContext 统一登录态Navigation/Header/Footer 组成稳定布局
- 静态模块60sAPI/小游戏/工具箱大量原生HTML/CSS/JS模块FullscreenEmbed 全屏嵌入并注入 token
- 站点后台AdminPage 管理 60s 展示开关、数据源与 AI 上游;与后端 X-Site-Admin-Token 双向校验
- 后端分层router/middleware/handler/service/database/model 分层清晰GORM 自动迁移与表结构约束
- 可靠性AI 调用指数退避重试、健康检查检测数据库连接状态、并发扣费互斥锁规避竞态
## 关键功能模块
- 60s聚合信息展示周期资讯/热门榜单/实用功能/消遣娱乐分类配置支持节点切换self/official静态页按 itemId 映射
- 小游戏集合2048、俄罗斯方块、别踩白方块、贪吃蛇、扫雷、跑酷、打飞机、FloppyBird、网页魔方等移动端优化即点即玩
- AI工具集变量命名、写诗、姓名评测、语言翻译、文章转文言文、表情生成、Linux命令、Markdown排版、亲戚称呼计算器
- 认证与用户:认证中心接入,后端 JWT 验证并透传用户资料;前端登录回调与本地存储持久化
- 计费与统计:每次 AI 调用扣除 100 萌芽币、扣费通过管理员接口更新认证中心;记录 AIUsageRecord 便于统计
## 安全与性能实践
- 认证与保护:后端 JWT 验证中间件、管理员令牌常量 + 服务端校验;并发扣费互斥锁避免竞态
- 配置安全:环境变量/.env 管理敏感信息管理员口令与服务端令牌一致性校验AI Key 脱敏回显与保留策略
- 前端性能PWA 预缓存 + runtime SWR、离线导航回退、静态模块直出Axios 错误统一提示与 401 清理会话
- 后端健壮AI 调用超时与指数退避、健康检查检测数据库连接状态、GORM 连接池与生命周期管理
## 部署与运维
- 前端npm run build 标准构建Service Worker 自动预缓存入口;支持静态资源离线加载
- 后端Dockerfile + docker-compose 一键编排环境变量控制端口与数据库GORM 自动迁移表结构
- 可观测性AIUsageRecord 与站点配置表为运营与审计提供基础数据;脚本与工具支撑静态页一致性校验
## 个人职责与成果(示例措辞)
- 推动 React SPA + 静态HTML 混合架构落地,封装 FullscreenEmbed 组件实现 token 注入与全屏嵌入
- 设计后端 Gin 分层与中间件体系,接入外部认证中心,完成 JWT 验证与用户态透传
- 实现 AI 调用链路DeepSeek/Kimi加入指数回退与超时控制并发扣费互斥锁与扣费回滚提示
- 搭建后端 Docker 与 composeGORM 自动迁移与连接池优化;完善 .env 多环境配置
- 开发管理员后台60s 展示开关、数据源切换、AI 上游运行时配置(密钥脱敏与保留策略)
- 完成 PWA 缓存策略与离线回退、Axios 拦截器统一错误提示,保证移动端与弱网下的可用性
- **项目名称**:万象口袋- 跨平台信息聚合网站
- **时间**2025.08 - 至今
- **技术栈**Golang,Gin,GORM,MySQL,Redis,React,Vite,Tailwind,Docker
- **描述**:产品定位为一站式资讯与工具导航:首页与栏目以配置驱动,整合 60s 类 API 浏览、休闲小游戏、实用工具箱及多款 AI 应用(后端 OpenAI 格式兼容与 SSE 流式输出)。后端采用 Go + Gin + GORMMySQL 自动迁移存站点开关;可选接入 Redis 对高频只读配置做 cache-aside独立逻辑库与 Key 前缀避免污染其他业务。提供聚合健康检查与仅管理员可调用的诊断快照接口。前端基于 React 与 ViteTailwind 统一视觉axios 封装与路由守卫;对接萌芽认证中心 JWT管理员后台支持 AI 上游、前台显隐配置及运行状态监控。支持多环境变量与开发/生产数据库隔离约束,兼顾可运维与交付效率。
- **项目地址**[https://infogenie.smyhub.com](https://infogenie.smyhub.com) **|** **开源地址**[https://github.com/shumengya/infogenie](https://github.com/shumengya/infogenie)