logo
1
0
WeChat Login

妍秀直播系统 Vue PC端

基于Vue 3 + Vite构建的直播平台PC端应用

技术栈

  • Vue 3.3+ - 渐进式JavaScript框架
  • Vite 5.0+ - 下一代前端构建工具
  • Vue Router 4 - 官方路由管理器
  • Vuex 4 - 状态管理
  • Element Plus - Vue 3 UI组件库
  • Axios - HTTP客户端
  • Socket.IO Client - WebSocket实时通信
  • FLV.js - FLV视频播放器

项目结构

zhibo/ ├── public/ # 静态资源 ├── src/ │ ├── api/ # API接口封装 │ │ ├── config.js # API配置 │ │ ├── home.js # 首页API │ │ ├── live.js # 直播API │ │ ├── linkmic.js # 连麦API │ │ ├── livepk.js # PK API │ │ └── user.js # 用户API │ ├── assets/ # 静态资源 │ ├── components/ # 公共组件 │ │ ├── LivePlayer.vue # 直播播放器 │ │ ├── ChatRoom.vue # 聊天室 │ │ ├── LinkMicControl.vue # 连麦控制 │ │ └── PkArena.vue # PK竞技场 │ ├── router/ # 路由配置 │ ├── store/ # Vuex状态管理 │ ├── utils/ # 工具函数 │ │ └── socket.js # WebSocket封装 │ ├── views/ # 页面视图 │ │ ├── Home.vue # 首页 │ │ ├── LiveRoom.vue # 直播间 │ │ └── UserProfile.vue # 用户中心 │ ├── App.vue # 根组件 │ └── main.js # 入口文件 ├── index.html # HTML模板 ├── package.json # 项目配置 ├── vite.config.js # Vite配置 └── README.md # 项目说明

安装依赖

npm install

开发运行

npm run dev

访问 http://localhost:3000

构建生产版本

npm run build

预览生产构建

npm run preview

功能模块

1. 首页模块

  • 轮播图展示
  • 热门直播列表
  • 分类直播推荐
  • 最新直播列表
  • 搜索功能

2. 直播间模块

  • FLV/WebRTC直播播放
  • 实时聊天室
  • 礼物系统
  • 关注/取消关注
  • 连麦功能(主播端)
  • PK竞技功能

3. 用户中心模块

  • 用户登录/注册
  • 个人信息管理
  • 关注/粉丝列表
  • 账户设置

4. 连麦PK模块

  • 主播连麦申请与接受
  • PK挑战发起与应战
  • 实时PK计分
  • 礼物互动特效

API配置

src/api/config.js 中配置API基础地址:

export const BASE_URL = '/phalapi/public/'

vite.config.js 中配置代理:

server: { proxy: { '/phalapi': { target: 'http://your-api-domain.com', changeOrigin: true } } }

WebSocket配置

src/utils/socket.js 中配置WebSocket服务器地址:

this.socket = io('ws://your-domain.com', { // ... })

注意事项

  1. 接口鉴权: 所有需要登录的接口都需要传递token参数
  2. 直播协议: 支持FLV和WebRTC两种播放协议
  3. 兼容性: 需要兼容不同浏览器的媒体播放能力
  4. 实时通信: 连麦PK功能依赖WebSocket实现实时通信
  5. 资源管理: 合理管理音视频资源,避免内存泄漏

开发计划

  • 项目基础架构搭建
  • API接口封装
  • 路由和状态管理配置
  • 核心组件开发
  • 主要页面开发
  • 功能测试与优化
  • 性能优化
  • 部署上线

License

MIT

About

No description, topics, or website provided.
Language
C96.5%
C++1.3%
HTML0.9%
JavaScript0.4%
Others0.9%