1.3.4 • Published 4 years ago

yh-av-pc2 v1.3.4

Weekly downloads
16
License
-
Repository
-
Last release
4 years ago

testwebuiadmin

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

url 这些配置自会所以要放到 static,主要是为了后续线上修改方便,因为代码不会被加密(有问题,如果在项目中引用了这个文件,那么还是会被打包,根本不会从外部文件读取) 只能在 html 里面手动添加 config 文件引入,作为全局变量,然后项目中不要再引入 config

要区分 url 调用和组件调用 url 可以手动引入 config,组件调用不行,组件调用还是只能用内部打包读取; npm run build npm run lib 首先,config 全局和打包变量名要分开, config.js 保存全局变量,不打包,手动插入 config-lib.js 保存包内变量,项目中引入 变量名为_AV_GLOBAL_BASE_URL 和 baseUrl 在 config-lib 中定义方法 getBaseUrl(){ // 如果没有检测到这个变量,说明没有引入 config 文件,那就用内部变量定义,如果检测到了说明引入了,用全局变量 if(typeof _AV_GLOBAL_BASE_URL === 'undefined') return baseUrl return _AV_GLOBAL_BASE_URL }

然后,在项目中,统一全部使用 getBaseUrl() 方法获取路径

api 要针对 control 和 sdk 分开文件保存到 api 目录

v1/roomManage/st?Action=$room$create

接口超时 超时的问题也要捕捉下来 提供重试的可能性,并且要检测超时,然后进行提示

浏览器接手消息,一定要区分类型,因为这是一个公共的方法,任何发送消息都从这里接手,一定要区分 比如:if( typeof msg.data.isYhVideo !== 'undefined'){}

作为组件方式调用的时候,如果实在 dialog 里面,则会报错,可能是因为初始化数据的问题。只能直接放在页面上。

还有组组件的结构流程有问题,作为组件使用时,如果不传入 roomId,还要强制刷新整个页面。

还有就是作为组件时,css 竟然有全局样式定义,引入后会影响整个页面的样视

作为组件时,如果顶部出现 百度 微信 扩展条,则会挤压视屏框和工具栏,导致工具栏有一半被遮挡

env.development 是否还可以生成其他自定义后缀?用于不同环境,比如 onlinetest、onlinedemo 线上测试、线上演示

不能有外界控制精确大小,因为涉及到太多的子组件位置,外界只能设置容器的大小,然后 video 自动占满(自适应)。 外界可以设置横屏、竖屏,这个设置不影响内部大小,只影响组件出现的位置和显示。

所有组件支持横屏、竖屏

彻底删除 element-ui,全部使用 Kangaroo 组件

scene 不要直接控制组件的样视和显示,应该是控制 screenMode、 displayToolBar = true 这类参数,然后不同模式就可以进行非常细节的控制了 displayMode 改为 screenMode,

不能将 screenMode 和 scene 混为一谈 screenMode 控制横向和竖向的摆放,不能太复杂,因为要用于程序中判断。如果模式太多,根本判断不过来。 scene 为业务场景,比如:scene=正常模式,那么正常模式控制 screenMode、displayToolBar = true 这类参数


所有的接口返回提示,必须带各个系统的特征码!!!


screenMode 窄屏 并不是等于支持手机端,仅仅只是 PC 端上符合样视而已; 因为 h5 调用摄像头和音频还存在权限问题,所以还是要哟个小程序来解决 只有三种调用方式: pc url 调用,pc 组件调用 app 内嵌 url 调用 小程序调用


模式分为 一对一、会议、直播

画中画只能在标准布局中启用,在其他布局中毫无意义 画中画只能在一对一模式中使用,其他模式中毫无意义

一对一模式:强制启用拨号模式、启用画中画,禁止切换布局(只能标准模式) 会议模式:强制关闭拨号模式、关闭画中画,允许切换布局 直播模式:强制关闭拨号模式、关闭画中画、禁止切换布局(只能 1 屏模式)、关闭所有用户摄像头、禁止发言

关于各种模式的处理: 1、主屏和用户列表 概念上分开,因为列表中也有自己,所以在组件上要分开对待 2、切换布局,是增加不同的主屏,然后隐藏列表 3、只有标准布局才有列表,其余的一律隐藏 4、主屏要根据模式,分为不同组件:会议主屏、一对一主屏、直播主屏(可以用会议),根据不同模式显示不同主屏组件即可。是不是可以不用分不同的组件,就弄成小组件,根据参数配置设置行为就行了。(还是要分开,每种模式、每种布局都要分开处理) 5、control 不要设置什么 focususer 或者 screenuser,直接俄让组件根据当前情况自行判断就行了,因为 control 中需要判断的情况太多了,对以后的维护和扩展是个很大的问题。 6、用户列表显示跟标准布局走,因为其他模式都不需要

部分不想让样视发生变化的,一定要用 px

文档要从每个页面对比说明,改进了那些东西

参数配置 options 还要进一步分组保存,不然太他妈多了

_initOptionsExToolbarItems 里面替换参数还有问题,还没搞清楚 largeScreenUser

1、如果创建了房间,要把房间 id 传给调用方 -ok

2、要设置一个字段,精简消息模式,比如在一对一模式下,很多提示就显得莫名其妙,这样干脆就不提示,只提供最关键的信息提示 -ok

4、不能使用目前的加载方式,这样会导致组建的 store 和调用方的 store 混在一起 -ok

6、avControl 最好不要全局,control 只能引入调用,因为他跟 store 不一样,store 是 vue 内置的,可以自动向下传递,contro 不行,而且又不能全局,所以只能引入调用 -ok addEvent 不要这么长,采用 props 方式分开设置 -ok

7、不要把整个 control 暴露出去,应该在 YhAvPc 中指定暴露,因为调用者不清楚内部状况,如果错误调用 control 或造成不可预知的错误,所以必须限定暴露的方法 -ok

8、一对一模式还需要做些限制,比如只允许两人加入,设一个最大人数,打到人术后锁定房间,禁止加入 -ok

9、要不要前端的下层方法中加权限验证? -ok 因为即使加了,也不能百分百防范,因为接口没有验证,所以,只要在前端浏览器修改节点,调用 js 方法,就可以直接像接口发送数据,这就是后端不验证的后果。 前端只在高层加权限判断,下层方法一律不要加

可以重复 init,只需要提前把所有参数全部重置 -ok

5、提示最好在组件剧中,而不是屏幕剧中 -ok 3、用户的加入、退出,都要触发事件 -ok

对组件外传的时间参数,必须要复制一个,不能直接传,万一外部修改了就糟糕了 -ok 用户列表要做一个对象保存,提高查找性能 -ok

视频狂大小还是有问题,始终不对

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago