8 changed files with 323 additions and 4 deletions
@ -0,0 +1,42 @@ |
|||||
|
<?php |
||||
|
|
||||
|
namespace app\admin\validate; |
||||
|
|
||||
|
use app\admin\model\LiveRoom; |
||||
|
use think\Validate; |
||||
|
|
||||
|
class LiveRoomValidate extends Validate |
||||
|
{ |
||||
|
|
||||
|
|
||||
|
protected $rule = [ |
||||
|
'id|编号' => 'require|number', |
||||
|
'room_id|房间号' => 'require|alphaNum|max:50', |
||||
|
'anchor_information|主播信息' => 'require', |
||||
|
'link|直播间链接' => 'require|checkLink', |
||||
|
'status|状态' => 'require|in:0,1', |
||||
|
]; |
||||
|
|
||||
|
protected $message = []; |
||||
|
|
||||
|
protected $scene= [ |
||||
|
'add' => ['room_id', 'anchor_information', 'link', 'status'], |
||||
|
'edit' => ['id', 'room_id', 'anchor_information', 'link', 'status'] |
||||
|
]; |
||||
|
|
||||
|
protected function checkLink($value, $rule, $data=[]) |
||||
|
{ |
||||
|
if (strpos($value, 'http://') !== 0 && strpos($value, 'https://') !== 0) { |
||||
|
return '直播间链接填写错误'; |
||||
|
} |
||||
|
return true; |
||||
|
} |
||||
|
|
||||
|
public static function existsRoomId($room_id, $id = 0) |
||||
|
{ |
||||
|
$where = [['room_id', "=", $room_id]]; |
||||
|
if ($id > 0) $where[] = ['id', '<>', $id]; |
||||
|
$res = LiveRoom::where($where)->find(); |
||||
|
return !$res ? true : '房间号已存在'; |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,43 @@ |
|||||
|
<div class="layuimini-container"> |
||||
|
<form id="app-form" class="layui-form layuimini-form"> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">房间号</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="room_id" class="layui-input" lay-verify="required" lay-reqtext="请输入房间号" placeholder="请输入房间号" value=""> |
||||
|
<tip>填写房间号。</tip> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">主播信息</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<textarea name="anchor_information" lay-verify="required" lay-reqtext="请输入主播信息" placeholder="请输入主播信息" class="layui-textarea"></textarea> |
||||
|
<tip>填写主播信息。</tip> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">直播间链接</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="link" class="layui-input" lay-verify="required" lay-reqtext="请输入直播间链接" placeholder="请输入直播间链接" value=""> |
||||
|
<tip>填写直播间链接。</tip> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">状态</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="radio" name="status" value="1" title="启用" checked> |
||||
|
<input type="radio" name="status" value="0" title="禁用"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="hr-line"></div> |
||||
|
<div class="layui-form-item text-center"> |
||||
|
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button> |
||||
|
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button> |
||||
|
</div> |
||||
|
|
||||
|
</form> |
||||
|
</div> |
||||
@ -0,0 +1,43 @@ |
|||||
|
<div class="layuimini-container"> |
||||
|
<form id="app-form" class="layui-form layuimini-form"> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">房间号</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="room_id" class="layui-input" lay-verify="required" lay-reqtext="请输入房间号" placeholder="请输入房间号" value="{$row.room_id|default=''}"> |
||||
|
<tip>填写房间号。</tip> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">主播信息</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<textarea name="anchor_information" lay-verify="required" lay-reqtext="请输入主播信息" placeholder="请输入主播信息" class="layui-textarea">{$row.anchor_information|default=''}</textarea> |
||||
|
<tip>填写主播信息。</tip> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">直播间链接</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="text" name="link" class="layui-input" lay-verify="required" lay-reqtext="请输入直播间链接" placeholder="请输入直播间链接" value="{$row.link|default=''}"> |
||||
|
<tip>填写直播间链接。</tip> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="layui-form-item"> |
||||
|
<label class="layui-form-label required">状态</label> |
||||
|
<div class="layui-input-block"> |
||||
|
<input type="radio" name="status" value="1" title="启用" {if $row.status == 1}checked{/if}> |
||||
|
<input type="radio" name="status" value="0" title="禁用" {if $row.status == 0}checked{/if}> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="hr-line"></div> |
||||
|
<div class="layui-form-item text-center"> |
||||
|
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit>确认</button> |
||||
|
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button> |
||||
|
</div> |
||||
|
|
||||
|
</form> |
||||
|
</div> |
||||
@ -0,0 +1,10 @@ |
|||||
|
<div class="layuimini-container"> |
||||
|
<div class="layuimini-main"> |
||||
|
<table id="currentTable" class="layui-table layui-hide" |
||||
|
data-auth-add="{:auth('liveroom.index/add')}" |
||||
|
data-auth-edit="{:auth('liveroom.index/edit')}" |
||||
|
data-auth-delete="{:auth('liveroom.index/delete')}" |
||||
|
lay-filter="currentTable"> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
@ -0,0 +1,54 @@ |
|||||
|
define(["jquery", "easy-admin"], function ($, ea) { |
||||
|
|
||||
|
var init = { |
||||
|
table_elem: '#currentTable', |
||||
|
table_render_id: 'currentTableRenderId', |
||||
|
index_url: 'liveroom.index/index', |
||||
|
add_url: 'liveroom.index/add', |
||||
|
edit_url: 'liveroom.index/edit', |
||||
|
delete_url: 'liveroom.index/delete', |
||||
|
modify_url: 'liveroom.index/modify', |
||||
|
}; |
||||
|
|
||||
|
var Controller = { |
||||
|
|
||||
|
index: function () { |
||||
|
|
||||
|
ea.table.render({ |
||||
|
init: init, |
||||
|
toolbar: [ |
||||
|
'refresh', |
||||
|
'add', |
||||
|
'delete' |
||||
|
], |
||||
|
cols: [[ |
||||
|
{type: "checkbox"}, |
||||
|
{field: 'id', width: 80, title: '编号'}, |
||||
|
{field: 'room_id', minWidth: 80, title: '房间号'}, |
||||
|
{field: 'anchor_information', minWidth: 80, title: '主播信息'}, |
||||
|
{field: 'link', minWidth: 80, title: '直播间链接'}, |
||||
|
{field: 'status', title: '状态', width: 100, search: 'select', selectList: {0: '禁用', 1: '启用'}, templet: ea.table.switch}, |
||||
|
{field: 'create_time', minWidth: 80, title: '创建时间', search: 'range'}, |
||||
|
{ |
||||
|
width: 250, |
||||
|
title: '操作', |
||||
|
templet: ea.table.tool, |
||||
|
operat: [ |
||||
|
'edit', |
||||
|
'delete' |
||||
|
] |
||||
|
} |
||||
|
]], |
||||
|
}); |
||||
|
|
||||
|
ea.listen(); |
||||
|
}, |
||||
|
add: function () { |
||||
|
ea.listen(); |
||||
|
}, |
||||
|
edit: function () { |
||||
|
ea.listen(); |
||||
|
} |
||||
|
}; |
||||
|
return Controller; |
||||
|
}); |
||||
Loading…
Reference in new issue