This commit is contained in:
2024-11-02 18:24:16 +08:00
parent 579fd2eaf6
commit 51f961b054
18 changed files with 298 additions and 96 deletions

View File

@@ -10,43 +10,57 @@
<body class="layui-bg-gray">
<div id="header"></div>
<div class="layui-panel" style="width: 260px; margin: 16px;">
<ul class="layui-menu" id="menusss">
<!-- <div id="menuView"></div> -->
<li class="layui-menu-item-group layui-menu-item-down" lay-options="{type: 'group'}">
<div class="layui-menu-body-title">
menu group <i class="layui-icon layui-icon-up"></i>
<div class="layui-row">
<div class="layui-col-xs2">
<div class="grid-demo grid-demo-bg1">
<div class="layui-panel" style="width: auto; margin: 16px;">
<ul class="layui-menu" id="menusss">
<div id="menuView"></div>
</ul>
</div>
<ul>
<li lay-options="{id: 103}">
<div class="layui-menu-body-title">menu item 3-1</div>
</li>
<li lay-options="{id: 102}">
<div class="layui-menu-body-title">menu item 3-2</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="layui-col-xs9">
<div class="grid-demo">
<video id="videoElement" style="width: 80%; margin-top: 16px;" controls></video>
</div>
</div>
</div>
</body>
<script id="menulist" type="text/html">
<ul class="layui-tab-title">
{{# layui.each(d.data, function(index, item){ }}
<li lay-id="{{= item.live_room_id}}">{{= item.anchorName}}</li>
{{# layui.each(Object.keys(d), function(index, item){ }}
<li class="layui-menu-item-group layui-menu-item-down" lay-options="{type: 'group'}">
<div class="layui-menu-body-title">
{{= item}} <i class="layui-icon layui-icon-up"></i>
</div>
<ul>
{{# layui.each(d[item], function(index, video){ }}
<li lay-options="{id: {{= video.path}} }">
<div class="layui-menu-body-title">{{= video.name}}</div>
</li>
{{# }); }}
</ul>
</li>
{{# }); }}
{{# if(d.data.length === 0){ }}
无数据
{{# } }}
</ul>
</script>
<script src="/js/jquery-3.2.1.js"></script>
<script src="/js/CommonConfig.js"></script>
<script src="/js/httpUtils.js"></script>
<script src="/layui/layui.js"></script>
<script src="https://cdn.jsdelivr.net/npm/hls.js@1"></script>
<script>
headerModel = 2;
$('#header').load("/html/header.html");
@@ -62,28 +76,40 @@
var layer = layui.layer;
var laytpl = layui.laytpl;
function initTabs() {
getVideo(roomId, pageIndex, pageMax)
getVideo(roomId, 0, 0)
.then(data => {
initMenu(data)
initMenu(data.data.children)
})
}
dropdown.on('click(menusss)', function (options) {
console.log(this, options);
console.log(options);
// playVideo()
getPlayerVideo(roomId, options.id)
.then(data => {
playVideo(data.data)
})
});
function initMenu(data) {
var view = $("#menuView").get(0);
laytpl($('#menulist').get(0).innerHTML).render(data, function (html) {
console.log(html)
view.innerHTML = html;
layer.close(loadIndex)
});
}
function init() {
// initTabs()
initTabs()
}
function playVideo(url) {
var video = document.getElementById('videoElement');
var videoSrc = url;
var hls = new Hls();
hls.loadSource(videoSrc);
hls.attachMedia(video);
}
init()
})

View File

@@ -135,6 +135,9 @@ function stopLiveVideo(roomId){
function getVideo(roomId,page,limit){
return get("/file/list?roomId="+roomId+"&page="+page+"&limit="+limit)
}
function getPlayerVideo(roomId,videoId){
return get('/video/play?roomId='+roomId+"&videoId="+videoId)
}
//----------------直播视频相关接口end
//----------------弹幕相关接口
function startLiveDanmu(roomId){

9
Web/js/mpegts.js Normal file

File diff suppressed because one or more lines are too long