first commit
This commit is contained in:
@@ -0,0 +1,232 @@
|
||||
{layout name="layout2" /}
|
||||
<style>
|
||||
.layui-form-mid.layui-word-aux { width: 392px; }
|
||||
.layui-upload-drag {padding: 20px 23px;}
|
||||
.shareImg { position: relative; }
|
||||
.shareImg img {width: 100px; height: 100px; }
|
||||
.shareImg:hover .img-del-x { display: block; }
|
||||
.shareImg .img-del-x {
|
||||
display: none;
|
||||
position: absolute;
|
||||
z-index: 100;
|
||||
top: -10px;
|
||||
right: -2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
font-size: 16px;
|
||||
line-height: 16px;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
background: hsla(0, 0%, 60%, .6);
|
||||
border-radius: 10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="layui-card layui-form">
|
||||
<div class="layui-card-body">
|
||||
<!--直播类型-->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:105px;"><font color="red">*</font>直播类型:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="type" value="0" title="手机直播" checked>
|
||||
<!-- <input type="radio" name="type" value="1" title="推流">-->
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">通过“小程序直播/推流设备”开播</div>
|
||||
</div>
|
||||
<!-- 直播间标题 -->
|
||||
<div class="layui-form-item">
|
||||
<label for="name" class="layui-form-label" style="width:105px;"><font color="red">*</font>直播标题:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="name" name="name" placeholder="本次直播的标题"
|
||||
class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<!-- 开播时间 -->
|
||||
<div class="layui-form-item">
|
||||
<label for="startTime" class="layui-form-label" style="width:105px;"><font color="red">*</font>开播时间:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="startTime" name="startTime" placeholder="填写直播开始时间"
|
||||
class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required" readonly>
|
||||
<div class="layui-form-mid layui-word-aux" style="white-space:nowrap;">开播时间需要在当前时间的10分钟后 并且 开始时间不能在 6 个月后</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 结束时间 -->
|
||||
<div class="layui-form-item">
|
||||
<label for="endTime" class="layui-form-label" style="width:105px;"><font color="red">*</font>结束时间:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="endTime" name="endTime" class="layui-input" placeholder="直播结束时间"
|
||||
autocomplete="off" lay-verType="tips" lay-verify="required" readonly>
|
||||
<div class="layui-form-mid layui-word-aux" style="white-space:nowrap;">开播时间和结束时间间隔不得短于30分钟,不得超过24小时</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 主播昵称 -->
|
||||
<div class="layui-form-item">
|
||||
<label for="anchorName" class="layui-form-label" style="width:105px;"><font color="red">*</font>主播昵称:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="anchorName" name="anchorName" placeholder="填写本次直播的主播昵称"
|
||||
class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
<!-- 主播微信账号 -->
|
||||
<div class="layui-form-item">
|
||||
<label for="anchorWechat" class="layui-form-label" style="width:105px;"><font color="red">*</font>主播微信号:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" id="anchorWechat" name="anchorWechat"
|
||||
class="layui-input" autocomplete="off" lay-verType="tips" lay-verify="required">
|
||||
<div class="layui-form-mid layui-word-aux">每个直播间需要绑定一个用作核实主播身份,不会展示给观众。</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 分享卡片样式配置 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:105px;"><font color="red">*</font>分享卡片封面:</label>
|
||||
<div class="layui-input-block" style="width: 165px; min-height: 37px;">
|
||||
<div class="layui-upload-drag" id="shareImgUpload">
|
||||
<img src="/static/plug/layui-admin/dist/layuiadmin/layui/images/other/image.png" alt="img">
|
||||
<p>点击上传</p>
|
||||
</div>
|
||||
<div class="shareImg layui-hide">
|
||||
<img src="" alt="img">
|
||||
<input type="hidden" name="shareImg" value="">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:105px;"></label>
|
||||
<div class="layui-form-mid layui-word-aux">用户在微信对话框内分享的直播间将以分享卡片的形式呈现。 建议尺寸:800像素 * 640像素,图片大小不得超过1M</div>
|
||||
</div>
|
||||
<!-- 官方收录样式 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:105px;"><font color="red">*</font>直播卡片封面:</label>
|
||||
<div class="layui-input-block" style="width: 165px; min-height: 37px;">
|
||||
<div class="layui-upload-drag" id="feedsImgUpload">
|
||||
<img src="/static/plug/layui-admin/dist/layuiadmin/layui/images/other/image.png" alt="img">
|
||||
<p>点击上传</p>
|
||||
</div>
|
||||
<div class="shareImg layui-hide">
|
||||
<img src="" alt="img">
|
||||
<input type="hidden" name="feedsImg" value="">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:105px;"></label>
|
||||
<div class="layui-form-mid layui-word-aux">图片建议大小为 800像素 * 800像素。图片大小不超过 300KB。</div>
|
||||
</div>
|
||||
<!-- 直播间样式配置 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:105px;"><font color="red">*</font>直播间背景墙:</label>
|
||||
<div class="layui-input-block" style="width: 165px; min-height: 37px;">
|
||||
<div class="layui-upload-drag" id="coverImgUpload">
|
||||
<img src="/static/plug/layui-admin/dist/layuiadmin/layui/images/other/image.png" alt="img">
|
||||
<p>点击上传</p>
|
||||
</div>
|
||||
<div class="shareImg layui-hide">
|
||||
<img src="" alt="img">
|
||||
<input type="hidden" name="coverImg" value="">
|
||||
<a class="img-del-x">x</a>
|
||||
</div>
|
||||
</div>
|
||||
<label class="layui-form-label" style="width:105px;"></label>
|
||||
<div class="layui-form-mid layui-word-aux">直播间背景墙是每个直播间的默认背景。 建议尺寸:600像素 * 1300像素,图片大小不得超过 3M</div>
|
||||
</div>
|
||||
<!-- 直播间功能-->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width:105px;">直播间功能:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="checkbox" name="closeLike" lay-skin="primary" title="开启点赞" checked>
|
||||
<input type="checkbox" name="closeGoods" lay-skin="primary" title="开启货架" checked>
|
||||
<input type="checkbox" name="closeComment" lay-skin="primary" title="开启评论" checked>
|
||||
<input type="checkbox" name="closeReplay" lay-skin="primary" title="开启回放" checked>
|
||||
<input type="checkbox" name="closeShare" lay-skin="primary" title="开启分享" checked>
|
||||
<input type="checkbox" name="closeKf" lay-skin="primary" title="开启客服" checked>
|
||||
<input type="checkbox" name="isFeedsPublic" lay-skin="primary" title="开启官方收录">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item layui-hide">
|
||||
<input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index', 'form', 'like', 'laydate', 'upload'], function() {
|
||||
var $ = layui.$
|
||||
,form = layui.form
|
||||
,like = layui.like
|
||||
,laydate = layui.laydate
|
||||
,upload = layui.upload;
|
||||
|
||||
// 时间组件
|
||||
laydate.render({type:'datetime' ,elem:'#startTime', trigger:'click'});
|
||||
laydate.render({type:'datetime' ,elem:'#endTime' ,trigger: 'click'});
|
||||
|
||||
// 分享卡片封面
|
||||
upload.render({
|
||||
elem: '#shareImgUpload'
|
||||
,url: '{:url("LiveRoom/uploadImage")}'
|
||||
,exts: 'jpg|png|gif|bmp|jpeg'
|
||||
,size: 1024
|
||||
,before: function () {
|
||||
layer.load();
|
||||
}
|
||||
,done: function(res){
|
||||
var elem = $('#shareImgUpload');
|
||||
elem.addClass('layui-hide');
|
||||
elem.next().next().removeClass('layui-hide');
|
||||
elem.next().next().children('img').attr('src', res.data.url);
|
||||
elem.next().next().children('input').val(res.data.media_id);
|
||||
layer.closeAll('loading');
|
||||
}
|
||||
});
|
||||
|
||||
// 直播卡片封面
|
||||
upload.render({
|
||||
elem: '#feedsImgUpload '
|
||||
,url: '{:url("LiveRoom/uploadImage")}'
|
||||
,exts: 'jpg|png|gif|bmp|jpeg'
|
||||
,size: 1024
|
||||
,before: function () {
|
||||
layer.load();
|
||||
}
|
||||
,done: function(res){
|
||||
var elem = $('#feedsImgUpload');
|
||||
elem.addClass('layui-hide');
|
||||
elem.next().next().removeClass('layui-hide');
|
||||
elem.next().next().children('img').attr('src', res.data.url);
|
||||
elem.next().next().children('input').val(res.data.media_id);
|
||||
layer.closeAll('loading');
|
||||
}
|
||||
});
|
||||
|
||||
// 直播间背景墙
|
||||
upload.render({
|
||||
elem: '#coverImgUpload'
|
||||
,url: '{:url("LiveRoom/uploadImage")}'
|
||||
,exts: 'jpg|png|gif|bmp|jpeg'
|
||||
,size: 1024
|
||||
,before: function () {
|
||||
layer.load();
|
||||
}
|
||||
,done: function(res){
|
||||
var elem = $('#coverImgUpload');
|
||||
elem.addClass('layui-hide');
|
||||
elem.next().next().removeClass('layui-hide');
|
||||
elem.next().next().children('img').attr('src', res.data.url);
|
||||
elem.next().next().children('input').val(res.data.media_id);
|
||||
layer.closeAll('loading');
|
||||
}
|
||||
});
|
||||
|
||||
// 删除图片
|
||||
$(document).on('click', '.img-del-x', function () {
|
||||
$(this).parent().addClass('layui-hide');
|
||||
$(this).parent().prev().prev().removeClass('layui-hide')
|
||||
})
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,166 @@
|
||||
{layout name="layout1" /}
|
||||
<style>
|
||||
.layui-table-cell {
|
||||
height: auto;
|
||||
white-space: normal;
|
||||
}
|
||||
</style>
|
||||
<div class="layui-fluid">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-collapse like-layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title like-layui-colla-title">操作提示</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
<p>*同步直播间每天最多可同步100000次,请合理分配获取频次。</p>
|
||||
<p>*获取直播间列表及直播间信息每天最多可同步100000次。</p>
|
||||
<p>*扫此二维码开播:<img class="image-show" src="/static/admin/images/zhibo.png" alt="zb" style="width:50px;height:50px;"> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card-body">
|
||||
<div style="padding-bottom: 10px;">
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn {$view_theme_color}" data-type="add">创建直播间</button>
|
||||
<button class="layui-btn layui-btn-sm layuiadmin-btn {$view_theme_color}" data-type="sync">同步直播间</button>
|
||||
</div>
|
||||
<table id="like-table-lists" lay-filter="like-table-lists"></table>
|
||||
<script type="text/html" id="operation">
|
||||
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
layui.config({
|
||||
version:"{$front_version}",
|
||||
base: '/static/plug/layui-admin/dist/layuiadmin/'
|
||||
}).extend({
|
||||
index: 'lib/index'
|
||||
}).use(['index','table','like','laydate'], function(){
|
||||
var $ = layui.$
|
||||
,table = layui.table
|
||||
,like = layui.like;
|
||||
|
||||
$(document).on('click', '.image-show', function () {
|
||||
var src = $(this).attr('src');
|
||||
like.showImg(src,600);
|
||||
});
|
||||
|
||||
//管理员管理
|
||||
table.render({
|
||||
id: 'like-table-lists'
|
||||
,elem: '#like-table-lists'
|
||||
,url: '{:url("LiveRoom/lists")}'
|
||||
,cols: [[
|
||||
{field:'id', width: 80, title: 'ID', sort: true, hide:true}
|
||||
,{field:'name', title:'直播间名称',width:200}
|
||||
,{field:'roomid', title:'直播间ID',width:100, align:'center'}
|
||||
,{field:'anchor_name', title:'主播昵称', width:100, align:'center'}
|
||||
,{field:'start_time', title:'开播时间', width:200, align:'center'}
|
||||
,{field:'end_time', title:'结束时间', width:200, align:'center'}
|
||||
,{field:'goods', title:'商品数量', width:100, align:'center'}
|
||||
,{field:'live_status', title:'状态', width:100, align:'center'}
|
||||
,{fixed:'right', title:'操作', width:150, align:'center', toolbar:'#operation'}
|
||||
|
||||
]]
|
||||
,page:true
|
||||
,text: {none: '暂无数据!'}
|
||||
,parseData: function(res){
|
||||
return {
|
||||
"code":res.code,
|
||||
"msg":res.msg,
|
||||
"count": res.data.count,
|
||||
"data": res.data.lists
|
||||
};
|
||||
}
|
||||
,done: function fix() {
|
||||
$(".layui-table-main tr").each(function (index, val) {
|
||||
$(".layui-table-fixed").each(function () {
|
||||
$($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
|
||||
});
|
||||
});
|
||||
$(".layui-table-header tr").each(function (index, val) {
|
||||
$(".layui-table-fixed").each(function () {
|
||||
$($(this).find(".layui-table-header thead tr")[index]).height($(val).height());
|
||||
});
|
||||
});
|
||||
window.onresize = function () {
|
||||
fix()
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//事件
|
||||
var active = {
|
||||
add: function(){
|
||||
layer.open({
|
||||
type: 2
|
||||
,title: '创建直播间'
|
||||
,content: '{:url("LiveRoom/add")}'
|
||||
,area: ['90%','90%']
|
||||
,btn: ['确定', '取消']
|
||||
,yes: function(index, layero){
|
||||
var iframeWindow = window['layui-layer-iframe'+ index]
|
||||
,submitID = 'addSubmit'
|
||||
,submit = layero.find('iframe').contents().find('#'+ submitID);
|
||||
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
|
||||
var field = data.field;
|
||||
console.log(field);
|
||||
like.ajax({
|
||||
url:'{:url("LiveRoom/add")}',
|
||||
data:field,
|
||||
type:"post",
|
||||
success:function(res) {
|
||||
if(res.code === 1) {
|
||||
layui.layer.msg(res.msg, { offset:'15px', icon:1, time:1000 });
|
||||
layer.close(index);
|
||||
table.reload('like-table-lists');
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
submit.trigger('click');
|
||||
}
|
||||
});
|
||||
},
|
||||
// 同步直播间
|
||||
sync: function(){
|
||||
table.reload('like-table-lists');
|
||||
},
|
||||
// 删除
|
||||
del: function (obj) {
|
||||
layer.confirm('确定要删除直播间:'+obj.data.name, function(index) {
|
||||
like.ajax({
|
||||
url: '{:url("LiveRoom/del")}',
|
||||
data: {id:obj.data.roomid},
|
||||
type: "post",
|
||||
success: function (res) {
|
||||
if (res.code === 1) {
|
||||
layui.layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000});
|
||||
layer.close(index);
|
||||
obj.del();
|
||||
}
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
})
|
||||
}
|
||||
};
|
||||
|
||||
// 监听表格右侧工具条
|
||||
table.on('tool(like-table-lists)', function(obj){
|
||||
var type = obj.event;
|
||||
active[type] ? active[type].call(this, obj) : '';
|
||||
});
|
||||
|
||||
// 绑定点击按钮事件
|
||||
$('.layui-btn.layuiadmin-btn').on('click', function(){
|
||||
var type = $(this).data('type');
|
||||
active[type] ? active[type].call(this) : '';
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user