# Barrier **Repository Path**: zhangkede/barrier ## Basic Information - **Project Name**: Barrier - **Description**: Barrier/结界: 是一个商业化元宇宙定位游戏社交平台项目,基于实时定位的社交 + Unity 元宇宙游戏平台,通过社交关系、地图探索、游戏虚拟内容,把用户从线上吸引到线下真实地点 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-09 - **Last Updated**: 2026-06-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Barrier - 元宇宙定位游戏社交平台 > 基于实时定位的社交 + Unity 元宇宙游戏平台,通过社交关系、地图探索、游戏虚拟内容,把用户从线上吸引到线下真实地点 ## 🚀 项目简介 Barrier 是一个商业化的元宇宙定位游戏社交平台,融合了实时定位服务、社交互动、游戏玩法和元宇宙体验,为用户提供全新的线上线下融合社交体验。 ## 📦 技术架构 ``` Barrier/ ├── core/ # KMP 核心模块 │ ├── domain/ # 业务逻辑层 │ ├── data/ # 数据访问层 │ └── gateway/ # 第三方 SDK 封装 ├── app/shared/ # Compose UI + 数据库 ├── app/android/ # Android 特定代码 ├── app/ios/ # iOS 特定代码 ├── server/ # Ktor 后端服务 └── unity-bridge/ # Unity SDK ``` ## ✨ 核心功能 ### 🔐 用户认证 - ✅ 邮箱登录/注册 - ✅ 手机号登录/注册(短信验证码) - ✅ 社交登录(微信/QQ/Apple/Google) - ✅ JWT 令牌认证 - ✅ Token 刷新机制 ### 🗺️ 位置服务 - ✅ 实时定位获取 - ✅ 位置更新回调 - ✅ 附近玩家搜索 - ✅ 地理围栏检测 - ✅ POI 地标展示 ### 👥 社交系统 - ✅ 好友列表管理 - ✅ 好友请求(发送/接受/拒绝) - ✅ 实时聊天(文本/图片/位置) - ✅ 附近的人发现 - ✅ 聊天会话管理 ### 🎮 游戏系统 - ✅ 任务系统(每日/每周/探索/社交) - ✅ 成就系统 - ✅ 道具背包 - ✅ 排行榜 - ✅ 签到奖励 ### 🌐 元宇宙 - ✅ 元宇宙入口发现 - ✅ 进入/退出元宇宙 - ✅ 角色位置同步 - ✅ 角色外观同步 - ✅ 多人实时同步 ### 💰 支付系统 - ✅ 虚拟货币购买 - ✅ 道具购买 - ✅ 优惠券兑换 ### 🔔 推送通知 - ✅ 设备令牌注册 - ✅ 推送消息接收 - ✅ 消息本地存储 - ✅ 通知中心 UI - ✅ 消息标记已读/删除 - ✅ Firebase Cloud Messaging 集成 - ✅ Apple Push Notification Service 集成 - ✅ 统一推送服务管理 ### 📷 图片上传服务 - ✅ 图片压缩(质量/尺寸控制) - ✅ 图片裁剪(1:1/4:3/16:9) - ✅ OSS 云存储集成 - ✅ 上传进度回调 - ✅ ImagePicker 组件 - ✅ ImageCropper 组件 - ✅ UploadProgressIndicator ### 🎤 实时语音聊天 - ✅ 语音通话会话管理 - ✅ 音频采集和播放 - ✅ WebSocket 音频流传输 - ✅ 语音消息录制/播放 - ✅ VoiceCallScreen 页面 - ✅ VoiceMessageRecorder 组件 - ✅ VoiceMessagePlayer 组件 ### 🔮 AR 增强现实 - ✅ AR 锚点系统 - ✅ AR 对象管理 - ✅ 地标渲染和交互 - ✅ AR 场景管理器 - ✅ ARViewScreen 页面 - ✅ ARControls 组件 - ✅ ARInfoOverlay 组件 - ✅ Unity ARService 封装 ## 🛠️ 技术栈 | 模块 | 技术 | |------|------| | 跨平台 | Kotlin Multiplatform | | UI | Compose Multiplatform | | 后端 | Ktor | | 数据库 | SQLDelight | | 依赖注入 | Koin | | 序列化 | Kotlinx Serialization | | 异步 | Kotlin Coroutines | | 元宇宙 | Unity | ## 📊 SDK 服务 ### Unity SDK Unity 开发者只需导入 SDK 即可快速接入: ```csharp // 初始化 BarrierSDK.Init("YOUR_APP_KEY", "YOUR_APP_SECRET"); // 使用服务 BarrierSDK.SocialService.LoginWithWeChat((user, error) => { ... }); BarrierSDK.LocationService.GetCurrentLocation((loc, error) => { ... }); BarrierSDK.GameService.GetTasks((tasks, error) => { ... }); BarrierSDK.MetaverseService.EnterMetaverse("entry_id", (success, error) => { ... }); ``` ### 服务列表 | 服务 | 功能 | |------|------| | `LocationService` | 位置、附近玩家、地理围栏 | | `SocialService` | 登录、好友、聊天 | | `GameService` | 任务、成就、道具、排行 | | `PaymentService` | 购买、兑换 | | `MetaverseService` | 进入/退出、角色同步 | ## 🚀 快速开始 ### 环境要求 - Kotlin 2.4.0+ - Gradle 8.0+ - Android SDK 36+ - Unity 2020.3+ ### 构建命令 ```bash # 构建核心模块 ./gradlew :core:build # 构建服务器 ./gradlew :server:run # 构建 Android ./gradlew :app:android:assembleDebug ``` ## 📁 项目结构 ``` core/src/commonMain/kotlin/com/pragmatic/barrier/ ├── domain/ │ ├── model/ # 数据模型 │ ├── repository/ # 仓库接口 │ └── usecase/ # 业务用例 ├── data/ │ ├── repository/ # 仓库实现 │ ├── gateway/ # Gateway 接口 │ └── api/ # API 服务 └── di/ # 依赖注入 unity-bridge/Assets/Scripts/SDK/ ├── BarrierSDK.cs # 主入口 ├── Models.cs # 数据模型 ├── Services/ # 服务类 └── PlatformBridge/ # 平台桥接 ``` ## 🧪 测试覆盖 端到端测试已覆盖以下场景: | 模块 | 测试用例数 | |------|-----------| | 认证流程 | 24 | | 位置服务 | 19 | | 社交功能 | 24 | | 游戏系统 | 36 | | 元宇宙 | 20 | | **总计** | **123** | ## 🔒 安全特性 - ✅ JWT 令牌认证 - ✅ 密码加密存储 - ✅ HTTPS 通信 - ✅ 输入验证 - ✅ 权限控制 ## 🌍 支持平台 - ✅ Android (API 24+) - ✅ iOS (13+) - ✅ WebAssembly (浏览器) - ✅ Unity (2020.3+) ## 📊 项目统计 | 类别 | 数量 | |------|------| | 源代码文件 | 186 | | 测试文件 | 8 | | 测试用例 | 158 | | 规范文档 | 16 | | 代码行数 | ~85,000 | | 第三方 SDK | 12个 Gateway | ## 🏆 项目亮点 - **跨平台架构**: 基于 Kotlin Multiplatform,一套代码支持 Android、iOS、WebAssembly 和 Unity - **模块化设计**: 清晰的分层架构(domain/data/common),便于维护和扩展 - **SDK封装**: 12个 Gateway 接口封装第三方服务,实现接口隔离 - **Unity集成**: 提供完整的 Unity SDK,开发者只需导入即可快速接入 - **测试覆盖**: 158个端到端测试用例,覆盖核心业务流程 ## 📝 License MIT License --- **Built with ❤️ by Barrier Team** --- ## 📋 功能清单 ### 已完成 ✅ - [x] 第三方 SDK 封装架构(6个 Gateway) - [x] 业务逻辑层(Auth/Location/Social/Game UseCase) - [x] 数据访问层(Repository 实现) - [x] SQLDelight 数据库配置(13张表) - [x] Compose UI(登录/地图/社交/游戏/通知页面) - [x] Ktor 后端 API(认证/社交/游戏接口) - [x] Unity 通信协议(ACK/NACK/角色同步) - [x] Unity SDK(5个服务类) - [x] 端到端测试(123个测试用例) - [x] 推送通知服务(数据模型/数据库/Repository/UseCase/UI) - [x] 图片上传服务(ImageUploadGateway/ImageProcessor/OSS集成/UI组件) - [x] 实时语音聊天(VoiceGateway/AudioRecorder/AudioPlayer/WebSocket) - [x] AR 增强现实功能(ARGateway/ARUseCase/Unity ARService) - [x] 跨平台推送集成(FCM/APNs/UnifiedPushManager) ### 测试覆盖 ✅ - [x] 图片上传服务测试(12个测试用例) - [x] 实时语音聊天测试(5个测试用例) - [x] AR增强现实测试(8个测试用例) - [x] 推送通知服务测试(10个测试用例) ### 待开发 ⏳ - [ ] 性能优化 - [ ] 国际化支持