一个专为纯前端单机游戏打造的全方位集成平台。它旨在通过简单的 SDK 接入,为传统单机游戏提供后端能力,包括用户认证、云端存档、数据同步以及管理后台。
- 🚀 快速接入:通过
fish-ball-sdk几行代码即可完成用户登录与数据持久化。 - 🛡️ 安全认证:深度集成摸鱼派开放平台,提供安全可靠的身份验证。
- ☁️ 云端存档:支持游戏存档的上传与下载,支持多设备无缝连接。
- 📊 游戏管理后台:
- 开发者端:注册新游戏、管理域名白名单、配置回调路径、查看玩家数据。
- 超级管理端:审批游戏申请、下架违规游戏、全局资源监控。
项目采用 Monorepo 架构进行管理:
/
├── apps/
│ ├── admin/ # 管理后台前端 (Vue 3, Element Plus, Vite, Pinia)
│ └── server/ # 后端服务 (Express, TypeORM, MongoDB, TypeScript)
├── packages/
│ └── sdk/ # 游戏接入 SDK (Type-safe HTTP client)
└── package.json # 根目录工作区配置
- Frontend: Vue 3, Vite, Element Plus, Pinia, Vue Router, Iconify
- Backend: Node.js, Express, TypeORM (MongoDB Driver), TypeScript
- Database: MongoDB
- Package Manager: NPM (Workspaces)
- Node.js (建议 v18+)
- MongoDB
-
安装依赖
npm install
-
配置后端 在
apps/server/src/config.ts或环境变量中配置 MongoDB 连接信息。 -
启动开发环境
启动后端服务:
npm run dev --prefix apps/server
启动管理后台:
npm run dev --prefix apps/admin
- 进入“游戏注册”页面填写游戏名称、Key 及相关配置。
- 提交申请后,状态默认为
待审批。 - 超级管理员在“超级管理”页面进行
通过操作后,游戏正式上线并可使用 SDK。
import { GameSDK } from 'fishpi-play';
const sdk = new GameSDK('YOUR_GAME_KEY');
// 登录
await sdk.login();
// 获取存档
const archive = await sdk.getArchive();
// 上传存档
await sdk.saveArchive(archiveData);SDK 更多使用方法请参考 SDK 文档。