今天上午继续解决了下公司项目主页的布局白边问题,原先使用的是 calc(100vh - 100px)
这种方式再结合 JS 判断高度(Header 可能有可能没有,所以才用了 JS 判断,明显并不需要),用这种方法就容易产生白边。我给它全部换成了 Flex,期间依旧是遇到了“子容器把父撑开”的现象,我写了一个最简 Demo,给 Flex 容器追加 min-height: 0
这招就能解决。
按照上级的吩咐,我熟悉了下项目“音视频设备管理”相关功能,并结合着 Bug 清单定位下涉及到的代码,具体的逻辑使用的是 Agora 声网提供的 SDK,但其底层肯定还是用的浏览器本身有的 API 二次封装的。去 MDN 搜了一圈,得知关于授权语音和视频设备这块的 API 都属于 WebRTC 规范。
我根据 MDN 的案例写了一段 JS 尝试弹出一个发起授权的界面,发现 navigator.mediaDevices
API 会返回 undefined
,参考了 这篇文章,其实是因为当前电脑不符合 WebRTC 的安全机制所致。
- localhost 可直接使用
- 非 localhost,需要 HTTPS
- file 协议访问的无法使用
由于本地测试环境没法快速弄出带 HTTPS 的站给手机测试(公司电脑没有音视频设备),遂打算把网站丢到服务器上试试,结果发现网站全挂了,Nginx 服务一直无法启动,说是用户登录有问题。可我并不知道宝塔自己创建的 www 账户的密码啊,网上搜索也没有人回答过相关的答案。最后尝试重新安装 Nginx,宝塔那给的操作说是“重装”,但其实是在保留站点的同时卸载了,刷新面板后直接重新安装就解决问题了,最后续签一下 SSL 证书,网站就恢复了,我上面的 API 验证也成功了。
最后下班前和上级说了下我目前遇到的一些问题,要么是对 Bug 清单里面描述的功能还不熟悉,要么就是提出了问题却没有提供改进的参考方案,又或是比较难重新复现的“确实”存在的 Bug。关于这些问题他的建议是直接在对应看板上评论,测试会收到并反馈给我。部分功能点不懂,可以找 @Derrick 问问。于是乎我下周一的任务,也就是继续通过浏览 Bug 清单来熟悉功能了。