# CyberLink **Repository Path**: liuyun073/CyberLink ## Basic Information - **Project Name**: CyberLink - **Description**: testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: refactor - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-30 - **Last Updated**: 2026-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CyberLink CyberLink 是一个基于 Spring Boot 和 Netty 构建的企业级即时通讯系统,采用三层交互架构(UI层 → SDK层 → 后端层),支持 Web、Uniapp 等多端接入,提供实时消息、语音视频通话等功能。 从开源项目 [盒子IM](https://gitee.com/bluexsx/box-im) 改造而来。 ## 特点 - **多端支持**:Web 端、Uniapp 端、SDK 接入 - **实时通信**:基于 Netty 的高性能 WebSocket/TCP 通信 - **语音视频**:基于 WebRTC 的实时音视频通话 - **分布式架构**:支持水平扩展,高可用设计 - **安全性**:JWT 认证、消息加密、敏感词过滤 - **职责隔离**:前端仅负责 UI 展示,所有后端交互由 cyber-jsdk 统一封装 ## 技术栈 ### 后端 | 技术 | 版本 | 用途 | |------|------|------| | Spring Boot | 2.7.18 | 基础框架 | | Netty | 4.1.42 | 通信框架 | | Spring Cloud Alibaba | 2021.0.5 | 微服务组件 | | Nacos | 2.0.x | 服务注册与配置中心 | | Redis | 6.x | 分布式缓存 | | RocketMQ | 4.9.x | 消息队列 | | MySQL | 8.x | 关系型数据库 | | MinIO | 2023.09 | 对象存储 | ### 前端 | 技术 | 版本 | 用途 | |------|------|------| | Vue | 3.5.25 | 前端框架 | | Element Plus | 2.11.9 | UI 组件库 | | TypeScript | 5.9.3 | 类型安全 | | Vite | 4.5.3 | 构建工具 | | Pinia | 2.0.36 | 状态管理 | | cyber-jsdk | TypeScript SDK | 所有后端交互封装 | ## 项目结构 ``` cyberlink/ ├── cyber-common/ # 通用核心模块 ├── cyber-connect/ # 连接管理模块 ├── cyber-dispatch/ # 消息调度模块 ├── cyber-gateway/ # 网关服务模块 ├── cyber-jsdk/ # JavaScript SDK(所有后端交互逻辑) ├── cyber-message/ # 消息处理模块 ├── cyber-platform/ # 平台服务模块 ├── cyber-protocol/ # 通信协议模块 ├── cyber-uniapp/ # Uniapp 移动端(仅 UI 展示) ├── cyber-web/ # Web 前端(仅 UI 展示) └── docs/ # 项目文档 ``` ## 架构原则 CyberLink 采用严格的三层交互架构,确保前后端职责清晰: ``` ┌──────────────────────────────────────┐ │ UI 层(cyber-web / cyber-uniapp) │ ← 仅负责 UI 展示和用户交互 │ 禁止直接发起 HTTP 请求 │ └──────────────┬───────────────────────┘ │ import { xxx } from 'cyber-jsdk' ▼ ┌──────────────────────────────────────┐ │ SDK 层(cyber-jsdk) │ ← 封装所有后端交互逻辑 │ HTTP 请求 · WebSocket · RTC 信令 │ └──────────────┬───────────────────────┘ │ ▼ ┌──────────────────────────────────────┐ │ 后端层(cyber-gateway → 各微服务) │ ← 业务逻辑处理 └──────────────────────────────────────┘ ``` **核心规则:** - cyber-web 和 cyber-uniapp 不包含 /api/ 目录,不直接调用 `client.request()` - 所有后端交互通过 `import { xxx } from 'cyber-jsdk'` 完成 - SDK 提供 API 函数(函数式)和 Service 对象(面向对象)两种调用方式 ## 快速开始 ### 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 8.0+ - Redis 6.0+ - RocketMQ 4.9+ - Nacos 2.0+ - Node.js 16.0+ ### 1. 初始化数据库 ```bash mysql -u root -p < db/cyber-platform.sql mysql -u root -p < db/敏感词库初始化.sql ``` ### 2. 编译后端 ```bash mvn clean package -DskipTests ``` ### 3. 启动服务 ```bash cd cyber-platform && mvn spring-boot:run -Dspring.profiles.active=dev cd cyber-dispatch && mvn spring-boot:run -Dspring.profiles.active=dev cd cyber-connect && mvn spring-boot:run -Dspring.profiles.active=dev cd cyber-gateway && mvn spring-boot:run -Dspring.profiles.active=dev ``` ### 4. 启动前端 ```bash cd cyber-web npm install npm run dev ``` ## 文档 - [项目架构设计](docs/项目架构设计.md) - [部署文档](docs/部署文档.md) - [数据库设计](docs/数据库设计.md) - [SDK 设计文档](cyber-jsdk/design.md) ## 许可证 Apache License 2.0