1.0.5 • Published 4 years ago

yh-video-pc v1.0.5

Weekly downloads
5
License
MIT
Repository
-
Last release
4 years ago

项目简介

该项目为音视频的基础组件,将提供音视频部分的基础功能,此项目有三种调用的方式
1、直接打开页面
2、组件
3、核心SDK功能使用(功能尚未完全提供,待更新)

项目启动

启动组件的基础文档示例页面
npm run dev

项目打包

npm run build

项目发布

npm run lib
npm login
npm publish

项目结构

|-- build                   #webpack打包部分
|-- config                  #webpack配置部分
|-- node_modules            #依赖包
|-- src                     #核心组件文件
| |-- mian.js                 #组件入口文件
| |-- yhVideo.vue             #组件
| |-- components              #组件的依赖、模块组件
| |-- assets                  #静态资源
| |-- scss                    #样式文件
| |-- utils                   #组件的工具包
| |-- axios                   #基础请求部分的封装
|-- example                  #测试及demo页面
| |-- index.html
| |-- main.js                    #案例入口
| |-- demo.vue                   #案例vue文件
|-- dist                    #打包后的文件

项目使用

页面的方式调用

直接提供默认的场景及页面,直接调用地址如https://test.yanhuamedical.com/videoser;
浏览器地址中需要带核心的参数具体参数见下方组件中yhVideoDatas中可通过url传递的字段;
注意:
1、userId,userName其中一个不传就会默认打开加入房间的页面
2、userId,userName,roomId都传了直接加入房间
3、userId,userName都传了,未传roomId会默认创建一个房间(**所以要特别注意刷新页面会重新创建房间**)

组件的方式调用

基础使用

npm install yh-video-pc

入口main.js中引入组件

import yhVideoPc from 'yh-video-pc'
Vue.use(yhVideoPc)
<template>
 <!--自定义宽高-->
 <div style="width: 980px;height: 560px;margin:0 auto;">
    <yh-video-pc :yhVideoDatas="yhVideoDatas">
      <div slot="extendNav">
        <!--业务系统自定义插槽内容-->
      </div>
    </yh-video-pc>
  </div>
</template>

<script>

export default {
  data () {
    return {
      yhVideoDatas: {}
    }
  }
}
</script>

yhVideoDatas参数及说明

参数说明必传类型可通过url传递
systemToken网关tokenstring
systemId系统ID,授权使用string
systemName系统名string
roomId房间号-string
userId用户ID-string
userName用户名-string
roleType角色的类型 'doctor' 'patient'-string
roleText角色名-string
isAdmin是否为管理员 0否 1 是-int
topic会议主题-string-
menus菜单(详见下方)-Object-
baseUrl接口的请求地址(有默认值)-string-
roomUrl加入房间的地址(有默认值)-string-
layoutType分屏模式,默认standard(详见下方)-string-
visibleMemberSection是否显示成员列表,默认true-Boolean-
openAudio默认开启音频,默认true-Boolean-
openCamera默认开启视频,默认false-Boolean-
useIm默认使用Im,默认false-Boolean-
otherCanControlBoard非共享白板的时候其他人是否可以操作白板,默认true-Boolean-
memberMenus成员默认菜单(详见下方)-Array-

menus

 {
   audio: {
     name: 'audio', // 功能名,不能随意修改
     imgUrl: require('@/assets/audio.png'), // 按钮图标,不传使用默认
     text: '关闭声音', // 按钮下方文字
     closeText: '开启声音' // 按钮关闭状态的文字
     floatLeft: true, // 左浮动,固定在工具栏左侧
     floatRight: true // 右浮动,固定在工具栏的右侧
   },
   camera: {
     name: 'camera',
     imgUrl: require('@/assets/camera.png'),
     text: '关摄像头',
     closeText: '开摄像头'
   },
   raiseHands: {
     name: 'raiseHands',
     imgUrl: require('@/assets/raiseHands.png'),
     text: '举手',
     closeText: '放手'
   },
   broadcast: {
     name: 'broadcast',
     imgUrl: require('@/assets/broadcast.png'),
     text: '直播'
   },
   recording: {
     name: 'recording',
     imgUrl: require('@/assets/recording.png'),
     text: '开始录制'
   },
   invitation: {
     name: 'invitation',
     imgUrl: require('@/assets/invitation.png'),
     text: '邀请成员'
   },
   memberManage: {
     name: 'memberManage',
     imgUrl: require('@/assets/memberManage.png'),
     text: '管理成员'
   },
   fileShare: {
     name: 'fileShare',
     imgUrl: require('@/assets/fileShare.png'),
     text: '文件共享'
   },
   layout: {
     name: 'layout',
     imgUrl: require('@/assets/layout.png'),
     text: '布局切换'
   },
   more: {
     name: 'more',
     imgUrl: require('@/assets/more.png'),
     text: '更多功能'
   },
   exit: {
     name: 'exit',
     imgUrl: require('@/assets/exit.png'),
     text: '离开会诊室',
     floatRight: true
   }

layoutType

默认的分屏方式有:

 'standard' // 标准布局
 'one' // 一分屏
 'two' // 两分屏
 'rowTwo' // 一行排两个人
 'rowThree' // 一行排三个人
 'rowThree' // 一行排四个人

memberMenus

默认除了录制,其他功能都有:

 ['audio', 'camera', 'raiseHands', 'broadcast', 'invitation', 'memberManage', 'fileShare', 'layout', 'more', 'exit']

  'audio' // 声音
  'camera' // 摄像头
  'raiseHands' // 举手
  'broadcast' // 直播
  'invitation' // 邀请
  'memberManage' // 成员管理
  'fileShare' // 文件共享(**必须配置了使用IM才可以用**)
  'layout' // 切换布局
  'more' // 跟多功能
  'exit' // 退出

组件提供的方法

initYhVideo

房间初始化完成,加入房间成功后会返回room对象,里面包含房间的各种数据和方法

updateYhVideo

更新了video的数据,会触发此方法,会返回一个对象,目前的值有roomLock(房间是否锁定),后期会扩展