mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-28 21:31:37 +08:00
后台模板改成继承模式
This commit is contained in:
parent
f589c5011a
commit
7b39e6d224
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -11,7 +15,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -50,7 +54,16 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
{{ partial('partials/ip2region') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('admin/js/ip2region.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
@ -69,7 +82,8 @@
|
||||
content: [url]
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,37 +1,35 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.audit.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.audit.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索记录</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="user_id" placeholder="用户编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="user_name" placeholder="用户名称精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">请求路由</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="req_route" placeholder="请求路由精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">请求路径</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="req_path" placeholder="请求路径精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">请求时间</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -42,7 +40,6 @@
|
||||
<input class="layui-input time-range" type="text" name="end_time" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -50,9 +47,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['laydate'], function () {
|
||||
@ -66,7 +66,8 @@
|
||||
trigger: 'click'
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,5 +1,13 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<pre class="layui-code" id="kg-code"></pre>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery'], function () {
|
||||
@ -10,3 +18,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.category.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.category.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加分类</legend>
|
||||
</fieldset>
|
||||
|
||||
{% if parent_id > 0 %}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">父级</label>
|
||||
@ -17,21 +19,18 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="10" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -39,7 +38,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -48,5 +46,6 @@
|
||||
<input type="hidden" name="parent_id" value="{{ parent_id }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.category.update','id':category.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.category.update','id':category.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑分类</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" value="{{ category.name }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="{{ category.priority }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,7 +25,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if category.published == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -33,5 +32,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -17,7 +21,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -71,3 +75,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加章节</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -26,5 +26,6 @@
|
||||
<input type="hidden" name="course_id" value="{{ course.id }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加课时</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">章节</label>
|
||||
<div class="layui-input-block">
|
||||
@ -15,21 +17,18 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">免费</label>
|
||||
<div class="layui-input-block">
|
||||
@ -37,7 +36,6 @@
|
||||
<input type="radio" name="free" value="0" title="否" checked="checked">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -46,5 +44,6 @@
|
||||
<input type="hidden" name="course_id" value="{{ course.id }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.update','id':chapter.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.update','id':chapter.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑章节</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" value="{{ chapter.title }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary">{{ chapter.summary }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="{{ chapter.priority }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,5 +31,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro content_title(model) %}
|
||||
{% if model == 'vod' %}
|
||||
点播信息
|
||||
@ -13,12 +17,10 @@
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-tab layui-tab-brief">
|
||||
|
||||
<ul class="layui-tab-title kg-tab-title">
|
||||
<li class="layui-this">基本信息</li>
|
||||
<li>{{ content_title(course.model) }}</li>
|
||||
</ul>
|
||||
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
{{ partial('chapter/edit_lesson_basic') }}
|
||||
@ -33,5 +35,57 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vditor/dist/index.css"/>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js" defer></script>
|
||||
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer', 'laydate'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
var laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: 'input[name=start_time]',
|
||||
type: 'datetime'
|
||||
});
|
||||
|
||||
laydate.render({
|
||||
elem: 'input[name=end_time]',
|
||||
type: 'datetime'
|
||||
});
|
||||
|
||||
$('#show-push-test').on('click', function () {
|
||||
var streamName = $('input[name=stream_name]').val();
|
||||
var url = '/admin/test/live/push?stream=' + streamName;
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '推流测试',
|
||||
area: ['680px', '450px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,26 +1,22 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.update','id':chapter.id}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" value="{{ chapter.title }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary">{{ chapter.summary }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="{{ chapter.priority }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">免费</label>
|
||||
<div class="layui-input-block">
|
||||
@ -28,7 +24,6 @@
|
||||
<input type="radio" name="free" value="0" title="否" {% if chapter.free == 0 %}checked="checked"{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -36,5 +31,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
@ -1,27 +1,28 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.content','id':chapter.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.content','id':chapter.id}) }}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开始时间</label>
|
||||
<div class="layui-input-block">
|
||||
{% if live.start_time > 0 %}
|
||||
<input class="layui-input" type="text" name="start_time" autocomplete="off" value="{{ date('Y-m-d H:i:s',live.start_time) }}" {% if live.start_time < time() %}readonly="true"{% endif %} lay-verify="required">
|
||||
<input class="layui-input" type="text" name="start_time" autocomplete="off" value="{{ date('Y-m-d H:i:s',live.start_time) }}" {% if live.start_time < time() %}readonly{% endif %} lay-verify="required">
|
||||
{% else %}
|
||||
<input class="layui-input" type="text" name="start_time" autocomplete="off" lay-verify="required">
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">结束时间</label>
|
||||
<div class="layui-input-block">
|
||||
{% if live.end_time > 0 %}
|
||||
<input class="layui-input" type="text" name="end_time" autocomplete="off" value="{{ date('Y-m-d H:i:s',live.end_time) }}" {% if live.end_time < time() %}readonly="true"{% endif %} lay-verify="required">
|
||||
<input class="layui-input" type="text" name="end_time" autocomplete="off" value="{{ date('Y-m-d H:i:s',live.end_time) }}" {% if live.end_time < time() %}readonly{% endif %} lay-verify="required">
|
||||
{% else %}
|
||||
<input class="layui-input" type="text" name="end_time" autocomplete="off" lay-verify="required">
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -29,22 +30,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>推流测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Stream Name</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="stream_name" value="chapter_{{ chapter.id }}" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -52,9 +49,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer', 'laydate'], function () {
|
||||
@ -87,3 +87,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,70 +1,14 @@
|
||||
<div id="editor"></div>
|
||||
<div id="vditor"></div>
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.content','id':chapter.id}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<textarea class="layui-hide" name="content">{{ read.content }}</textarea>
|
||||
<textarea id="vditor-textarea" class="layui-hide" name="content">{{ read.content }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<button class="kg-submit layui-btn" lay-submit="true" lay-filter="go">提交</button>
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
<input type="hidden" name="chapter_id" value="{{ chapter.id }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/vditor/dist/index.css"/>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js" defer></script>
|
||||
|
||||
<script>
|
||||
layui.use(['jquery'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var $content = $('textarea[name=content]');
|
||||
var vditor = new Vditor('editor', {
|
||||
minHeight: 420,
|
||||
outline: true,
|
||||
tab: " ",
|
||||
resize: {
|
||||
enable: true
|
||||
},
|
||||
cache: {
|
||||
enable: false
|
||||
},
|
||||
preview: {
|
||||
markdown: {
|
||||
chinesePunct: true
|
||||
}
|
||||
},
|
||||
counter: {
|
||||
enable: true,
|
||||
max: 60000
|
||||
},
|
||||
upload: {
|
||||
url: '/admin/upload/img/editor',
|
||||
max: 10 * 1024 * 1024,
|
||||
accept: 'image/*',
|
||||
headers: {
|
||||
'X-Csrf-Token': $('meta[name="csrf-token"]').attr('content'),
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
},
|
||||
success: function (editor, responseText) {
|
||||
console.log(editor, responseText);
|
||||
var json = JSON.parse(responseText);
|
||||
var img = '';
|
||||
vditor.insertValue(img);
|
||||
}
|
||||
},
|
||||
value: $content.val()
|
||||
});
|
||||
|
||||
$('.kg-submit').on('click', function () {
|
||||
$content.val(vditor.getValue());
|
||||
});
|
||||
});
|
||||
</script>
|
@ -1,17 +0,0 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.chapter.content','id':chapter.id}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<textarea name="content" class="layui-hide" id="kg-layedit">{{ read.content }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<button class="kg-submit layui-btn" lay-submit="true" lay-filter="go">提交</button>
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/layedit') }}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% if play_urls %}
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>视频信息</legend>
|
||||
@ -33,7 +37,6 @@
|
||||
</fieldset>
|
||||
|
||||
<form class="layui-form kg-form" id="vod-form" method="POST" action="{{ url({'for':'admin.chapter.content','id':chapter.id}) }}">
|
||||
|
||||
<div class="layui-form-item" id="upload-block">
|
||||
<label class="layui-form-label">视频文件</label>
|
||||
<div class="layui-input-block">
|
||||
@ -41,7 +44,6 @@
|
||||
<input class="layui-hide" type="file" name="file" accept="video/*,audio/*">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide" id="upload-progress-block">
|
||||
<label class="layui-form-label">上传进度</label>
|
||||
<div class="layui-input-block">
|
||||
@ -50,14 +52,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文件编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="file_id" value="{{ vod.file_id }}" readonly="readonly" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -66,9 +66,16 @@
|
||||
<input type="hidden" name="chapter_id" value="{{ chapter.id }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/media_uploader') }}
|
||||
{{ partial('partials/media_preview') }}
|
||||
{{ partial('partials/clipboard_tips') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/vod-js-sdk-v6.min.js') }}
|
||||
{{ js_include('lib/clipboard.min.js') }}
|
||||
{{ js_include('admin/js/media.upload.js') }}
|
||||
{{ js_include('admin/js/media.preview.js') }}
|
||||
{{ js_include('admin/js/copy.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -27,6 +31,10 @@
|
||||
{{ partial('chapter/lessons_read') }}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer', 'form'], function () {
|
||||
@ -58,3 +66,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro live_time_info(attrs) %}
|
||||
{% if attrs['start_time'] > 0 %}
|
||||
<p>开始:{{ date('Y-m-d H:i',attrs['start_time']) }}</p>
|
||||
@ -7,7 +11,7 @@
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -53,3 +57,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,4 +1,8 @@
|
||||
<table class="kg-table layui-table layui-form">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -44,3 +48,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro file_status(value) %}
|
||||
{% if value == 'pending' %}
|
||||
<span class="layui-badge layui-bg-gray">待上传</span>
|
||||
@ -12,7 +16,7 @@
|
||||
{% endif %}
|
||||
{%- endmacro %}
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -61,3 +65,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加课程</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">类型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -12,21 +14,18 @@
|
||||
<input type="radio" name="model" value="read" title="图文" lay-filter="model">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux" id="model-tips"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" style="margin:25px 0px 35px 0px;">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -34,9 +33,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
@ -61,3 +63,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -56,3 +60,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,16 +1,18 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑课程</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-tab layui-tab-brief">
|
||||
|
||||
<ul class="layui-tab-title kg-tab-title">
|
||||
<li class="layui-this">基本信息</li>
|
||||
<li>课程介绍</li>
|
||||
<li>营销设置</li>
|
||||
<li>相关课程</li>
|
||||
</ul>
|
||||
|
||||
<div class="layui-tab-content">
|
||||
<div class="layui-tab-item layui-show">
|
||||
{{ partial('course/edit_basic') }}
|
||||
@ -25,5 +27,84 @@
|
||||
{{ partial('course/edit_related') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('admin/js/xm-course.js') }}
|
||||
{{ js_include('admin/js/cover.upload.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
xmSelect.render({
|
||||
el: '#xm-category-ids',
|
||||
name: 'xm_category_ids',
|
||||
max: 5,
|
||||
prop: {
|
||||
name: 'name',
|
||||
value: 'id'
|
||||
},
|
||||
data: {{ xm_categories|json_encode }}
|
||||
});
|
||||
|
||||
xmSelect.render({
|
||||
el: '#xm-teacher-ids',
|
||||
name: 'xm_teacher_ids',
|
||||
paging: true,
|
||||
max: 5,
|
||||
prop: {
|
||||
name: 'name',
|
||||
value: 'id'
|
||||
},
|
||||
data: {{ xm_teachers|json_encode }}
|
||||
});
|
||||
|
||||
xmCourse({{ xm_courses|json_encode }}, '/admin/xm/course/all');
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
|
||||
form.on('radio(price_mode)', function (data) {
|
||||
var priceBlock = $('#price-block');
|
||||
if (data.value === 'free') {
|
||||
priceBlock.hide();
|
||||
} else {
|
||||
priceBlock.show();
|
||||
}
|
||||
});
|
||||
|
||||
$('.kg-submit').on('click', function () {
|
||||
|
||||
var xm_category_ids = $('input[name=xm_category_ids]');
|
||||
var xm_teacher_ids = $('input[name=xm_teacher_ids]');
|
||||
|
||||
if (xm_category_ids.val() === '') {
|
||||
layer.msg('请选择分类', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (xm_teacher_ids.val() === '') {
|
||||
layer.msg('请选择讲师', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,12 +1,10 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.update','id':course.id}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" value="{{ course.title }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">封面</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -17,21 +15,18 @@
|
||||
<button id="change-cover" class="layui-btn layui-btn-sm" type="button">更换</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分类</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="xm-category-ids"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">讲师</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="xm-teacher-ids"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">难度</label>
|
||||
<div class="layui-input-block">
|
||||
@ -41,7 +36,6 @@
|
||||
<input type="radio" name="level" value="senior" title="高级" {% if course.level == 'senior' %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -49,59 +43,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/cover_uploader') }}
|
||||
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
|
||||
<script>
|
||||
|
||||
xmSelect.render({
|
||||
el: '#xm-category-ids',
|
||||
name: 'xm_category_ids',
|
||||
max: 5,
|
||||
prop: {
|
||||
name: 'name',
|
||||
value: 'id'
|
||||
},
|
||||
data: {{ xm_categories|json_encode }}
|
||||
});
|
||||
|
||||
xmSelect.render({
|
||||
el: '#xm-teacher-ids',
|
||||
name: 'xm_teacher_ids',
|
||||
paging: true,
|
||||
max: 5,
|
||||
prop: {
|
||||
name: 'name',
|
||||
value: 'id'
|
||||
},
|
||||
data: {{ xm_teachers|json_encode }}
|
||||
});
|
||||
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('.kg-submit').on('click', function () {
|
||||
|
||||
var xm_category_ids = $('input[name=xm_category_ids]');
|
||||
var xm_teacher_ids = $('input[name=xm_teacher_ids]');
|
||||
|
||||
if (xm_category_ids.val() === '') {
|
||||
layer.msg('请选择分类', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
|
||||
if (xm_teacher_ids.val() === '') {
|
||||
layer.msg('请选择讲师', {icon: 2});
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
})
|
||||
|
||||
</script>
|
||||
|
@ -1,26 +1,26 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.update','id':course.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.update','id':course.id}) }}">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">详情</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="details" class="layui-hide" id="kg-layedit">{{ course.details }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="summary" class="layui-textarea">{{ course.summary }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">关键字</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="keywords" value="{{ course.keywords }}" placeholder="多个关键字逗号分隔">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -28,7 +28,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/layedit') }}
|
||||
{% endblock %}
|
@ -1,12 +1,10 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.update','id':course.id}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">相关课程</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="xm-course-ids"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -14,11 +12,5 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ js_include('admin/js/xm-course.js') }}
|
||||
|
||||
<script>
|
||||
xmCourse({{ xm_courses|json_encode }}, '/admin/xm/course/all');
|
||||
</script>
|
||||
|
@ -1,21 +1,19 @@
|
||||
{% set free = course.market_price == 0 %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.course.update','id':course.id}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">模式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="price_mode" value="free" title="免费" lay-filter="price-mode" {% if free %}checked="checked"{% endif %}>
|
||||
<input type="radio" name="price_mode" value="charge" title="收费" lay-filter="price-mode" {% if not free %}checked="checked"{% endif %}>
|
||||
<input type="radio" name="price_mode" value="free" title="免费" lay-filter="price_mode" {% if free %}checked="checked"{% endif %}>
|
||||
<input type="radio" name="price_mode" value="charge" title="收费" lay-filter="price_mode" {% if not free %}checked="checked"{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="price-block" {% if free %}style="display:none;"{% endif %}>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">市场价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" type="text" name="market_price" value="{{ course.market_price }}" lay-filter="number">
|
||||
<input class="layui-input" type="text" name="market_price" value="{{ course.market_price }}" lay-verify="number">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">元</div>
|
||||
</div>
|
||||
@ -24,7 +22,7 @@
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">会员价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" type="text" name="vip_price" value="{{ course.vip_price }}" lay-filter="number">
|
||||
<input class="layui-input" type="text" name="vip_price" value="{{ course.vip_price }}" lay-verify="number">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">元</div>
|
||||
</div>
|
||||
@ -46,7 +44,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -54,25 +51,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
|
||||
form.on('radio(price-mode)', function (data) {
|
||||
var priceBlock = $('#price-block');
|
||||
if (data.value === 'free') {
|
||||
priceBlock.hide();
|
||||
} else {
|
||||
priceBlock.show();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro model_info(value) %}
|
||||
{% if value == 'vod' %}
|
||||
<span class="layui-badge layui-bg-green">点播</span>
|
||||
@ -50,7 +54,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col width="50%">
|
||||
<col>
|
||||
@ -116,3 +120,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,37 +1,35 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.course.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.course.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索课程</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="id" placeholder="编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" placeholder="标题模糊匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分类</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="xm-category-ids"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">讲师</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="xm-teacher-ids"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">模型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,7 +38,6 @@
|
||||
<input type="radio" name="model" value="read" title="图文">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">难度</label>
|
||||
<div class="layui-input-block">
|
||||
@ -50,7 +47,6 @@
|
||||
<input type="radio" name="level" value="senior" title="高级">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">免费</label>
|
||||
<div class="layui-input-block">
|
||||
@ -58,7 +54,6 @@
|
||||
<input type="radio" name="free" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -66,7 +61,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">删除</label>
|
||||
<div class="layui-input-block">
|
||||
@ -74,7 +68,6 @@
|
||||
<input type="radio" name="deleted" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -82,11 +75,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
xmSelect.render({
|
||||
@ -112,3 +112,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.group.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.group.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加群组</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="about"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">类型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,7 +25,6 @@
|
||||
<input type="radio" name="type" value="chat" title="聊天" checked="checked">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -33,5 +32,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.group.update','id':group.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.group.update','id':group.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑群组</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">头像</label>
|
||||
<div class="layui-input-inline" style="width: 110px;">
|
||||
@ -14,28 +16,24 @@
|
||||
<button id="change-avatar" class="layui-btn layui-btn-sm" type="button">更换</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" value="{{ group.name }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="about">{{ group.about }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">群主编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="owner_id" value="{{ group.owner_id }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -43,7 +41,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if group.published == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -51,7 +48,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/avatar_uploader') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('admin/js/avatar.upload.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro type_info(value) %}
|
||||
{% if value == 'course' %}
|
||||
<span class="layui-badge layui-bg-green">课</span>
|
||||
@ -69,3 +73,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,37 +1,35 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.group.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.group.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索群组</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">群组编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="id" placeholder="群组编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">群组名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" placeholder="群组名称模糊匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">群主编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="user_id" placeholder="群主编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">课程编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="course_id" placeholder="课程编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">类型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -39,7 +37,6 @@
|
||||
<input type="radio" name="type" value="chat" title="聊天">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -47,7 +44,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">删除</label>
|
||||
<div class="layui-input-block">
|
||||
@ -55,7 +51,6 @@
|
||||
<input type="radio" name="deleted" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -63,5 +58,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.help.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.help.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加帮助</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-hide" id="kg-layedit"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="10" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,7 +31,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,7 +38,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/layedit') }}
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.help.update','id':help.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.help.update','id':help.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑帮助</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="title" value="{{ help.title }}" class="layui-input" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-hide" id="kg-layedit">{{ help.content }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="{{ help.priority }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,7 +31,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if help.published == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,8 +38,7 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/layedit') }}
|
||||
{% endblock %}
|
||||
|
||||
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -55,3 +59,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,6 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<html lang="zh-CN-Hans">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
@ -11,11 +10,8 @@
|
||||
{{ js_include('lib/layui/layui.js') }}
|
||||
{{ js_include('admin/js/index.js') }}
|
||||
</head>
|
||||
|
||||
<body class="layui-layout-body">
|
||||
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
|
||||
<div class="layui-header">
|
||||
<div class="layui-logo">COURSE ADMIN</div>
|
||||
<div class="kg-side-menu-bar">
|
||||
@ -42,7 +38,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="layui-side layui-bg-black">
|
||||
<div class="layui-side-scroll">
|
||||
{% for key,level in left_menus %}
|
||||
@ -61,16 +56,12 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-body">
|
||||
<iframe name="content" style="width:100%;height:100%;border:0;" src="{{ url({'for':'admin.main'}) }}"></iframe>
|
||||
</div>
|
||||
|
||||
<div class="layui-footer">
|
||||
© 2020 <a href="http://koogua.com"><b>koogua.com</b></a> all rights reserved
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,5 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.nav.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.nav.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加导航</legend>
|
||||
</fieldset>
|
||||
|
||||
{% if parent_id > 0 %}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">父级</label>
|
||||
@ -17,28 +19,24 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="url" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="10" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">位置</label>
|
||||
<div class="layui-input-block">
|
||||
@ -46,7 +44,6 @@
|
||||
<input type="radio" name="position" value="bottom" title="底部">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">目标</label>
|
||||
<div class="layui-input-block">
|
||||
@ -54,7 +51,6 @@
|
||||
<input type="radio" name="target" value="_self" title="原窗口">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -62,7 +58,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -71,5 +66,6 @@
|
||||
<input type="hidden" name="parent_id" value="{{ parent_id }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.nav.update','id':nav.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.nav.update','id':nav.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑导航</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" value="{{ nav.name }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="url" value="{{ nav.url }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="{{ nav.priority }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">位置</label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,7 +31,6 @@
|
||||
<input type="radio" name="position" value="bottom" title="底部" {% if nav.position == 'bottom' %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">目标</label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,7 +38,6 @@
|
||||
<input type="radio" name="target" value="_self" title="原窗口" {% if nav.target == '_self' %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -48,7 +45,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if nav.published == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -56,5 +52,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro position_info(value) %}
|
||||
{% if value == 'top' %}
|
||||
<span class="layui-badge layui-bg-green">顶部</span>
|
||||
@ -33,7 +37,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -90,3 +94,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('order/macro') }}
|
||||
|
||||
<div class="kg-nav">
|
||||
@ -13,7 +17,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -55,3 +59,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.order.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.order.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索订单</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="owner_id" placeholder="用户编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">订单编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="sn" placeholder="订单编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">订单类型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -28,7 +28,6 @@
|
||||
<input type="radio" name="item_type" value="test" title="测试">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">订单状态</label>
|
||||
<div class="layui-input-block">
|
||||
@ -38,7 +37,6 @@
|
||||
<input type="radio" name="status" value="refunded" title="已退款">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -49,7 +47,6 @@
|
||||
<input class="layui-input time-range" type="text" name="end_time" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -57,9 +54,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['form', 'laydate'], function () {
|
||||
@ -77,3 +77,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,20 +1,23 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('order/macro') }}
|
||||
{{ partial('trade/macro') }}
|
||||
{{ partial('refund/macro') }}
|
||||
|
||||
{{ partial('order/order_info') }}
|
||||
|
||||
<br>
|
||||
|
||||
<div class="kg-text-center">
|
||||
<button class="kg-back layui-btn layui-bg-gray">返回上页</button>
|
||||
<button class="layui-btn layui-bg-gray kg-back">返回上页</button>
|
||||
</div>
|
||||
|
||||
{% if refunds.count() > 0 %}
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>退款信息</legend>
|
||||
</fieldset>
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<tr>
|
||||
<th>退款序号</th>
|
||||
<th>退款金额</th>
|
||||
@ -43,7 +46,7 @@
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>交易信息</legend>
|
||||
</fieldset>
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<tr>
|
||||
<th>交易序号</th>
|
||||
<th>交易金额</th>
|
||||
@ -70,4 +73,10 @@
|
||||
|
||||
{{ partial('order/user_info') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('admin/js/status-history.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,6 +1,10 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('order/macro') }}
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<tr>
|
||||
<td>状态</td>
|
||||
<td>时间</td>
|
||||
@ -12,3 +16,5 @@
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.package.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.package.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加套餐</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,5 +25,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,35 +1,34 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.package.update','id':package.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.package.update','id':package.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑套餐</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" value="{{ package.title }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary">{{ package.summary }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">相关课程</label>
|
||||
<div class="layui-input-block">
|
||||
<div id="xm-course-ids"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">市场价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" type="text" name="market_price" value="{{ package.market_price }}" lay-filter="number">
|
||||
<input class="layui-input" type="text" name="market_price" value="{{ package.market_price }}" lay-verify="number">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">元</div>
|
||||
<div class="layui-form-mid">
|
||||
@ -37,12 +36,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">会员价格</label>
|
||||
<div class="layui-input-inline">
|
||||
<input class="layui-input" type="text" name="vip_price" value="{{ package.vip_price }}" lay-filter="number">
|
||||
<input class="layui-input" type="text" name="vip_price" value="{{ package.vip_price }}" lay-verify="number">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">元</div>
|
||||
<div class="layui-form-mid">
|
||||
@ -50,7 +48,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -58,12 +55,19 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('admin/js/xm-course.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
xmCourse({{ xm_courses|json_encode }}, '/admin/xm/course/paid');
|
||||
@ -89,3 +93,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,6 +1,10 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('course/expiry_macro') }}
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -37,4 +41,7 @@
|
||||
|
||||
建议会员价:<span class="layui-badge layui-bg-red">¥{{ guiding_price.vip_price }}</span>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
{% endblock %}
|
@ -1,6 +1,10 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span c.lass="layui-breadcrumb">
|
||||
<span class="layui-breadcrumb">
|
||||
<a><cite>套餐管理</cite></a>
|
||||
</span>
|
||||
</div>
|
||||
@ -11,7 +15,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -56,3 +60,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.package.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.package.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索套餐</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="id" placeholder="编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" placeholder="标题模糊匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,7 +25,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">删除</label>
|
||||
<div class="layui-input-block">
|
||||
@ -33,7 +32,6 @@
|
||||
<input type="radio" name="deleted" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -41,5 +39,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.page.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.page.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加单页</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-hide" id="kg-layedit"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,7 +25,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -33,7 +32,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/layedit') }}
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.page.update','id':page.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.page.update','id':page.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑单页</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="title" value="{{ page.title }}" class="layui-input" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-hide" id="kg-layedit">{{ page.content }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,7 +25,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if page.published == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -33,8 +32,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/layedit') }}
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -11,7 +15,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -54,3 +58,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,49 +0,0 @@
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer', 'upload'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
var upload = layui.upload;
|
||||
|
||||
upload.render({
|
||||
elem: '#change-avatar',
|
||||
url: '/admin/upload/img/avatar',
|
||||
accept: 'images',
|
||||
acceptMime: 'image/*',
|
||||
size: 512,
|
||||
auto: false,
|
||||
before: function () {
|
||||
layer.load();
|
||||
},
|
||||
choose: function (obj) {
|
||||
var flag = true;
|
||||
obj.preview(function (index, file, result) {
|
||||
console.log(file);
|
||||
var img = new Image();
|
||||
img.src = result;
|
||||
img.onload = function () {
|
||||
if (img.width < 1000 && img.height < 1000) {
|
||||
obj.upload(index, file);
|
||||
} else {
|
||||
flag = false;
|
||||
layer.msg("图片尺寸必须小于 1000 * 1000");
|
||||
return false;
|
||||
}
|
||||
};
|
||||
return flag;
|
||||
});
|
||||
},
|
||||
done: function (res, index, upload) {
|
||||
$('#img-avatar').attr('src', res.data.src);
|
||||
$('input[name=avatar]').val(res.data.src);
|
||||
layer.closeAll('loading');
|
||||
},
|
||||
error: function (index, upload) {
|
||||
layer.msg('上传文件失败', {icon: 2});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,16 +0,0 @@
|
||||
{{ js_include('lib/clipboard.min.js') }}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['layer'], function () {
|
||||
|
||||
var layer = layui.layer;
|
||||
var clipboard = new ClipboardJS('.kg-copy');
|
||||
|
||||
clipboard.on('success', function (e) {
|
||||
layer.msg('内容已经复制到剪贴板');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,29 +0,0 @@
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer', 'upload'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
var upload = layui.upload;
|
||||
|
||||
upload.render({
|
||||
elem: '#change-cover',
|
||||
url: '/admin/upload/img/cover',
|
||||
accept: 'images',
|
||||
acceptMime: 'image/*',
|
||||
before: function () {
|
||||
layer.load();
|
||||
},
|
||||
done: function (res, index, upload) {
|
||||
$('#img-cover').attr('src', res.data.src);
|
||||
$('input[name=cover]').val(res.data.src);
|
||||
layer.closeAll('loading');
|
||||
},
|
||||
error: function (index, upload) {
|
||||
layer.msg('上传文件失败', {icon: 2});
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,22 +0,0 @@
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('.kg-ip2region').on('click', function () {
|
||||
var ip = $(this).data('ip');
|
||||
var url = '/admin/ip2region?ip=' + ip;
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '地理位置',
|
||||
resize: false,
|
||||
area: ['640px', '180px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,19 +0,0 @@
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layedit'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layedit = layui.layedit;
|
||||
|
||||
layedit.set({
|
||||
uploadImage: {url: '/admin/upload/img/content'}
|
||||
});
|
||||
|
||||
var index = layedit.build('kg-layedit');
|
||||
|
||||
$('.kg-submit').on('click', function () {
|
||||
layedit.sync(index);
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
@ -1,24 +0,0 @@
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('.kg-preview').on('click', function () {
|
||||
var chapterId = $(this).attr('chapter-id');
|
||||
var playUrl = $(this).attr('play-url');
|
||||
var frameUrl = '/admin/vod/player?chapter_id=' + chapterId + '&play_url=' + playUrl;
|
||||
layer.open({
|
||||
id: 'player',
|
||||
type: 2,
|
||||
title: '媒体播放器',
|
||||
resize: false,
|
||||
area: ['720px', '445px'],
|
||||
content: [frameUrl, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,64 +0,0 @@
|
||||
{{ js_include('lib/vod-js-sdk-v6.min.js') }}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'element'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var element = layui.element;
|
||||
|
||||
var getSignature = function () {
|
||||
var result = '';
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: '/admin/vod/upload/sign',
|
||||
async: false,
|
||||
success: function (res) {
|
||||
result = res.sign;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
};
|
||||
|
||||
$('#upload-btn').on('click', function () {
|
||||
$('input[name=file]').trigger('click');
|
||||
});
|
||||
|
||||
$('input[name=file]').on('change', function (e) {
|
||||
|
||||
var tcVod = new TcVod.default({
|
||||
getSignature: getSignature
|
||||
});
|
||||
|
||||
var uploader = tcVod.upload({
|
||||
mediaFile: this.files[0]
|
||||
});
|
||||
|
||||
$('#upload-block').addClass('layui-hide');
|
||||
$('#upload-progress-block').removeClass('layui-hide');
|
||||
|
||||
uploader.on('media_progress', function (info) {
|
||||
if (!isNaN(info.percent)) {
|
||||
var percent = Math.ceil(100 * info.percent);
|
||||
element.progress('upload-progress', percent + '%');
|
||||
}
|
||||
});
|
||||
|
||||
uploader.on('media_upload', function (info) {
|
||||
|
||||
});
|
||||
|
||||
uploader.done().then(function (result) {
|
||||
$('input[name=file_id]').val(result.fileId);
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: $('#vod-form').attr('action'),
|
||||
data: {file_id: result.fileId}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<tr>
|
||||
<th>国家</th>
|
||||
@ -12,3 +16,5 @@
|
||||
<td>{{ region.isp }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,17 +1,18 @@
|
||||
<form class="kg-login-form layui-form" method="POST" action="{{ url({'for':'admin.login'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="kg-login-form layui-form" method="POST" action="{{ url({'for':'admin.login'}) }}">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="account" autocomplete="off" placeholder="手机 / 邮箱" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="password" name="password" autocomplete="off" placeholder="密码" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if captcha.enabled == 1 %}
|
||||
<div id="captcha-block" class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
@ -19,7 +20,6 @@
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
{% set disabled = captcha.enabled ? 'disabled="disabled"' : '' %}
|
||||
@ -28,9 +28,12 @@
|
||||
<input type="hidden" name="rand">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
if (window !== top) {
|
||||
top.location.href = window.location.href;
|
||||
@ -62,3 +65,5 @@
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('refund/macro') }}
|
||||
|
||||
<div class="kg-nav">
|
||||
@ -13,7 +17,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -55,3 +59,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.refund.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.refund.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索退款</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">订单编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="order_id" placeholder="订单编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="owner_id" placeholder="用户编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">退款状态</label>
|
||||
<div class="layui-input-block">
|
||||
@ -28,7 +28,6 @@
|
||||
<input type="radio" name="status" value="finished" title="已完成">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">创建时间</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -39,7 +38,6 @@
|
||||
<input class="layui-input time-range" type="text" name="end_time" autocomplete="off">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -47,9 +45,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['laydate'], function () {
|
||||
@ -67,3 +68,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('order/macro') }}
|
||||
{{ partial('trade/macro') }}
|
||||
{{ partial('refund/macro') }}
|
||||
@ -9,7 +13,7 @@
|
||||
<legend>退款信息</legend>
|
||||
</fieldset>
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<tr>
|
||||
<th>退款序号</th>
|
||||
<th>退款金额</th>
|
||||
@ -79,4 +83,10 @@
|
||||
|
||||
{{ partial('order/user_info') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('admin/js/status-history.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{{ partial('refund/macro') }}
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
@ -12,3 +16,5 @@
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.review.update','id':review.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.review.update','id':review.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑评价</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">评分</label>
|
||||
<div class="layui-input-block">
|
||||
@ -11,14 +13,12 @@
|
||||
<input type="hidden" name="rating" value="{{ review.rating }}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">评价</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="content" class="layui-textarea" lay-verify="required">{{ review.content }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -26,7 +26,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if review.published == 0 %}checked="checked"{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -34,9 +33,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'rate'], function () {
|
||||
@ -55,3 +57,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-nav">
|
||||
<div class="kg-nav-left">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -15,7 +19,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -65,3 +69,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.review.list'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.review.list'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索评价</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">评价编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="id" placeholder="评价编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">课程编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="course_id" placeholder="课程编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="owner_id" placeholder="用户编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,7 +31,6 @@
|
||||
<input type="radio" name="published" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">删除</label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,7 +38,6 @@
|
||||
<input type="radio" name="deleted" value="0" title="否">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -48,5 +45,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.role.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.role.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加角色</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" {% if role.type == 'system' %}readonly{% endif %} lay-verify="required">
|
||||
<input class="layui-input" type="text" name="name" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="summary" {% if role.type == 'system' %}readonly{% endif %} lay-verify="required">
|
||||
<input class="layui-input" type="text" name="summary" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,5 +25,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.role.update','id':role.id}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.role.update','id':role.id}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑角色</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="name" value="{{ role.name }}" {% if role.type == 'system' %}readonly{% endif %} lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="summary" value="{{ role.summary }}" {% if role.type == 'system' %}readonly{% endif %} lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">权限</label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,7 +40,6 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -48,5 +47,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro type_info(value) %}
|
||||
{% if value == 'system' %}
|
||||
<span class="layui-badge layui-bg-green">内置</span>
|
||||
@ -19,7 +23,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -60,3 +64,5 @@
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.captcha'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.captcha'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>验证码配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App Id</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ captcha.app_id }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Secret Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="secret_key" value="{{ captcha.secret_key }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,35 +25,34 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.test.captcha'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>验证码测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><i class="layui-icon layui-icon-vercode"></i></label>
|
||||
<div class="layui-input-inline" style="width:200px;">
|
||||
<span id="front-captcha-btn" class="layui-btn layui-btn-primary layui-btn-fluid" data-app-id="{{ captcha.app_id }}">前台验证</span>
|
||||
<span id="front-verify-tips" class="kg-verify-btn layui-btn layui-btn-primary layui-btn-fluid layui-btn-disabled layui-hide"><i class="layui-icon layui-icon-ok"></i>前台验证成功</span>
|
||||
<button type="button" id="front-captcha-btn" class="layui-btn layui-btn-primary layui-btn-fluid" data-app-id="{{ captcha.app_id }}">前台验证</button>
|
||||
<button type="button" id="front-verify-tips" class="kg-verify-btn layui-btn layui-btn-primary layui-btn-fluid layui-btn-disabled layui-hide"><i class="layui-icon layui-icon-ok"></i>前台验证成功</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><i class="layui-icon layui-icon-vercode"></i></label>
|
||||
<div class="layui-input-inline" style="width:200px;">
|
||||
<span id="back-verify-btn" class="layui-btn layui-btn-primary layui-btn-fluid" disabled="true" lay-submit="true" lay-filter="back-verify">后台验证</span>
|
||||
<span id="back-verify-tips" class="kg-verify-btn layui-btn layui-btn-primary layui-btn-fluid layui-btn-disabled layui-hide"><i class="layui-icon layui-icon-ok"></i>后台验证成功</span>
|
||||
<button type="button" id="back-verify-btn" class="layui-btn layui-btn-primary layui-btn-fluid" disabled="disabled" lay-submit="true" lay-filter="back_verify">后台验证</button>
|
||||
<button type="button" id="back-verify-tips" class="kg-verify-btn layui-btn layui-btn-primary layui-btn-fluid layui-btn-disabled layui-hide"><i class="layui-icon layui-icon-ok"></i>后台验证成功</button>
|
||||
<input type="hidden" name="ticket">
|
||||
<input type="hidden" name="rand">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script src="https://ssl.captcha.qq.com/TCaptcha.js"></script>
|
||||
|
||||
<script>
|
||||
@ -78,7 +77,7 @@
|
||||
}
|
||||
);
|
||||
|
||||
form.on('submit(back-verify)', function (data) {
|
||||
form.on('submit(back_verify)', function (data) {
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: data.form.action,
|
||||
@ -101,3 +100,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layui-tab layui-tab-brief">
|
||||
<ul class="layui-tab-title kg-tab-title">
|
||||
<li class="layui-this">推流配置</li>
|
||||
@ -12,3 +16,69 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
|
||||
form.on('radio(push_auth_enabled)', function (data) {
|
||||
var block = $('#push-auth-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(pull_auth_enabled)', function (data) {
|
||||
var block = $('#pull-auth-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(pull_trans_enabled)', function (data) {
|
||||
var block = $('#ptt-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#show-push-test').on('click', function () {
|
||||
var url = '/admin/test/live/push?stream=test';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '推流测试',
|
||||
area: ['680px', '450px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
$('#show-pull-test').on('click', function () {
|
||||
var url = '/admin/test/live/pull';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '拉流测试',
|
||||
resize: false,
|
||||
area: ['720px', '445px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,10 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.live'}) }}">
|
||||
{% set pull_auth_display = live.pull_auth_enabled == 0 ? 'style="display:none;"' : '' %}
|
||||
{% set ppt_display = live.pull_trans_enabled == 0 ? 'style="display:none;"' : '' %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.live'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>基础配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">拉流协议</label>
|
||||
<div class="layui-input-block">
|
||||
@ -11,18 +12,15 @@
|
||||
<input type="radio" name="pull_protocol" value="https" title="HTTPS" {% if live.pull_protocol == "https" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">拉流域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="pull_domain" value="{{ live.pull_domain }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>鉴权配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启鉴权</label>
|
||||
<div class="layui-input-block">
|
||||
@ -30,8 +28,7 @@
|
||||
<input type="radio" name="pull_auth_enabled" value="0" title="否" lay-filter="pull_auth_enabled" {% if live.pull_auth_enabled == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="pull-auth-block" {% if live.pull_auth_enabled == '0' %}style="display:none;"{% endif %}>
|
||||
<div id="pull-auth-block" {{ pull_auth_display }}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">鉴权密钥</label>
|
||||
<div class="layui-input-block">
|
||||
@ -45,11 +42,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>转码配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启转码</label>
|
||||
<div class="layui-input-block">
|
||||
@ -57,8 +52,7 @@
|
||||
<input type="radio" name="pull_trans_enabled" value="0" title="否" lay-filter="pull_trans_enabled" {% if live.pull_trans_enabled == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form" id="ptt-block" {% if live.pull_trans_enabled == '0' %}style="display:none;"{% endif %}>
|
||||
<table class="layui-table kg-table layui-form" id="ptt-block" {{ ppt_display }}>
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -94,7 +88,6 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -102,22 +95,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>拉流测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Stream Name</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="stream_name" value="test" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -125,46 +114,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
|
||||
form.on('radio(pull_auth_enabled)', function (data) {
|
||||
var block = $('#pull-auth-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
form.on('radio(pull_trans_enabled)', function (data) {
|
||||
var block = $('#ptt-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#show-pull-test').on('click', function () {
|
||||
var url = '/admin/test/live/pull';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '拉流测试',
|
||||
resize: false,
|
||||
area: ['720px', '445px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,20 +1,18 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.live'}) }}">
|
||||
{% set push_auth_display = live.push_auth_enabled == 0 ? 'style="display:none;"' : '' %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.live'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>基础配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">推流域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="push_domain" value="{{ live.push_domain }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>鉴权配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启鉴权</label>
|
||||
<div class="layui-input-block">
|
||||
@ -22,8 +20,7 @@
|
||||
<input type="radio" name="push_auth_enabled" value="0" title="否" lay-filter="push_auth_enabled" {% if live.push_auth_enabled == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="push-auth-block" {% if live.push_auth_enabled == '0' %}style="display:none;"{% endif %}>
|
||||
<div id="push-auth-block" {{ push_auth_display }}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">鉴权密钥</label>
|
||||
<div class="layui-input-block">
|
||||
@ -37,7 +34,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -45,22 +41,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>推流测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Stream Name</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="stream_name" value="test" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -68,36 +60,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
var layer = layui.layer;
|
||||
|
||||
form.on('radio(push_auth_enabled)', function (data) {
|
||||
var block = $('#push-auth-block');
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
}
|
||||
});
|
||||
|
||||
$('#show-push-test').on('click', function () {
|
||||
var url = '/admin/test/live/push?stream=test';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '推流测试',
|
||||
area: ['680px', '450px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,19 +1,19 @@
|
||||
<form class="layui-form kg-form">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>手机推流</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="kg-text-center">
|
||||
<img class="kg-qrcode" src="{{ qrcode }}" alt="二维码图片">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>OBS推流</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">推流地址</label>
|
||||
<div class="layui-input-inline" style="width:350px;">
|
||||
@ -23,7 +23,6 @@
|
||||
<span class="kg-copy layui-btn" data-clipboard-target="#tc1">复制</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">推流名称</label>
|
||||
<div class="layui-input-inline" style="width:350px;">
|
||||
@ -33,7 +32,6 @@
|
||||
<span class="kg-copy layui-btn" data-clipboard-target="#tc2">复制</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">相关文档</label>
|
||||
<div class="layui-input-block">
|
||||
@ -42,7 +40,13 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/clipboard_tips') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/clipboard.min.js') }}
|
||||
{{ js_include('admin/js/copy.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,37 +1,35 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.mailer'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.mailer'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>邮件配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发送邮箱</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="smtp_from_email" value="{{ mailer.smtp_from_email }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发送人</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="smtp_from_name" value="{{ mailer.smtp_from_name }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP服务器</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="smtp_host" value="{{ mailer.smtp_host }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP端口号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="smtp_port" value="{{ mailer.smtp_port }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">加密类型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -40,15 +38,13 @@
|
||||
<input type="radio" name="smtp_encryption" value="" title="不加密" {% if mailer.smtp_encryption == "" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账户验证</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="smtp_authentication" value="1" title="是" lay-filter="smtp-auth" {% if mailer.smtp_authentication == "1" %}checked{% endif %}>
|
||||
<input type="radio" name="smtp_authentication" value="0" title="否" lay-filter="smtp-auth" {% if mailer.smtp_authentication == "0" %}checked{% endif %}>
|
||||
<input type="radio" name="smtp_authentication" value="1" title="是" lay-filter="smtp_auth" {% if mailer.smtp_authentication == "1" %}checked{% endif %}>
|
||||
<input type="radio" name="smtp_authentication" value="0" title="否" lay-filter="smtp_auth" {% if mailer.smtp_authentication == "0" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="smtp-auth-block">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP帐号</label>
|
||||
@ -56,7 +52,6 @@
|
||||
<input class="layui-input" type="text" name="smtp_username" value="{{ mailer.smtp_username }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP密码</label>
|
||||
<div class="layui-input-block">
|
||||
@ -64,7 +59,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -72,22 +66,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.test.mailer'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>邮件测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">收件邮箱</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="email" lay-verify="email" placeholder="请先提交相关配置,再进行邮件测试哦!">
|
||||
<input class="layui-input" type="text" name="email" placeholder="请先提交相关配置,再进行邮件测试哦!" lay-verify="email">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -95,9 +85,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
@ -105,9 +98,9 @@
|
||||
var $ = layui.jquery;
|
||||
var form = layui.form;
|
||||
|
||||
form.on('radio(smtp-auth)', function (data) {
|
||||
form.on('radio(smtp_auth)', function (data) {
|
||||
var block = $('#smtp-auth-block');
|
||||
if (data.value == 1) {
|
||||
if (data.value === '1') {
|
||||
block.show();
|
||||
} else {
|
||||
block.hide();
|
||||
@ -117,3 +110,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="layui-tab layui-tab-brief">
|
||||
<ul class="layui-tab-title kg-tab-title">
|
||||
<li class="layui-this">支付宝</li>
|
||||
@ -12,3 +16,42 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('#show-alipay-test').on('click', function () {
|
||||
var url = '/admin/test/alipay';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '支付宝 - 支付测试',
|
||||
resize: false,
|
||||
area: ['640px', '300px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
$('#show-wxpay-test').on('click', function () {
|
||||
var url = '/admin/test/wxpay';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '微信 - 支付测试',
|
||||
resize: false,
|
||||
area: ['640px', '300px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,5 +1,4 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.pay'}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启支付</label>
|
||||
<div class="layui-input-block">
|
||||
@ -7,14 +6,12 @@
|
||||
<input type="radio" name="enabled" value="0" title="否" {% if alipay.enabled == "0" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ alipay.app_id }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Public Key</label>
|
||||
<div class="layui-input-block">
|
||||
@ -28,14 +25,12 @@
|
||||
<textarea class="layui-textarea" name="private_key" lay-verify="required">{{ alipay.private_key }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Notify Url</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="notify_url" value="{{ alipay.notify_url }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -44,29 +39,24 @@
|
||||
<input type="hidden" name="section" value="pay.alipay">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>支付测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">支付项目</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="subject" value="支付测试0.01元" readonly="true">
|
||||
<input class="layui-input" type="text" name="subject" value="支付测试0.01元" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">支付金额</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="total_amount" value="0.01" readonly="true">
|
||||
<input class="layui-input" type="text" name="total_amount" value="0.01" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -74,27 +64,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('#show-alipay-test').on('click', function () {
|
||||
var url = '/admin/test/alipay';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '支付宝 - 支付测试',
|
||||
resize: false,
|
||||
area: ['640px', '300px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,33 +1,33 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="kg-qrcode-block">
|
||||
|
||||
{% if qrcode_url %}
|
||||
|
||||
<div id="qrcode">
|
||||
<img class="kg-qrcode" src="{{ qrcode_url }}" alt="二维码图片">
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="sn" value="{{ sn }}">
|
||||
|
||||
<div id="success-tips" class="kg-success-tips layui-hide">
|
||||
<span>支付成功</span>
|
||||
</div>
|
||||
|
||||
<div id="error-tips" class="kg-error-tips layui-hide">
|
||||
<span>支付失败</span>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
|
||||
<div class="kg-error-tips">
|
||||
<span>生成二维码失败</span>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% if qrcode_url %}
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
{% if qrcode_url %}
|
||||
<script>
|
||||
|
||||
layui.use(['jquery'], function () {
|
||||
@ -57,5 +57,6 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
@ -1,5 +1,4 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.pay'}) }}">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启支付</label>
|
||||
<div class="layui-input-block">
|
||||
@ -7,35 +6,30 @@
|
||||
<input type="radio" name="enabled" value="0" title="否" {% if wxpay.enabled == "0" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ wxpay.app_id }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Mch ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="mch_id" value="{{ wxpay.mch_id }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Private Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="key" value="{{ wxpay.key }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Notify Url</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="notify_url" value="{{ wxpay.notify_url }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -44,29 +38,24 @@
|
||||
<input type="hidden" name="section" value="pay.wxpay">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>支付测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">支付项目</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="subject" value="支付测试0.01元" readonly="true">
|
||||
<input class="layui-input" type="text" name="subject" value="支付测试0.01元" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">支付金额</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="total_amount" value="0.01" readonly="true">
|
||||
<input class="layui-input" type="text" name="total_amount" value="0.01" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -74,27 +63,4 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'layer'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
|
||||
$('#show-wxpay-test').on('click', function () {
|
||||
var url = '/admin/test/wxpay';
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '微信 - 支付测试',
|
||||
resize: false,
|
||||
area: ['640px', '300px'],
|
||||
content: [url, 'no']
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
@ -1,33 +1,31 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block contnet %}
|
||||
|
||||
<div class="kg-qrcode-block">
|
||||
|
||||
{% if qrcode_url %}
|
||||
|
||||
<div id="qrcode">
|
||||
<img class="kg-qrcode" src="{{ qrcode_url }}" alt="二维码图片">
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="sn" value="{{ sn }}">
|
||||
|
||||
<div id="success-tips" class="kg-success-tips layui-hide">
|
||||
<span>支付成功</span>
|
||||
</div>
|
||||
|
||||
<div id="error-tips" class="kg-error-tips layui-hide">
|
||||
<span>支付失败</span>
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
|
||||
<div class="kg-error-tips">
|
||||
<span>生成二维码失败</span>
|
||||
</div>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% if qrcode_url %}
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
{% if qrcode_url %}
|
||||
<script>
|
||||
|
||||
layui.use(['jquery'], function () {
|
||||
@ -57,5 +55,6 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.secret'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.secret'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>密钥配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App Id</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ secret.app_id }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Secret Id</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="secret_id" value="{{ secret.secret_id }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Secret Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="secret_key" value="{{ secret.secret_key }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,5 +31,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,37 +1,35 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.site'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.site'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>站点配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">网站名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" value="{{ site.title }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">关键字</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="keywords" value="{{ site.keywords }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">网站描述</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="description" value="{{ site.description }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">版权信息</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="copyright" value="{{ site.copyright }}">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">ICP备案号</label>
|
||||
@ -46,7 +44,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label">公安备案号</label>
|
||||
@ -61,14 +58,12 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">站点统计</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="analytics" class="layui-textarea" placeholder="使用百度统计,CNZZ,腾讯分析等第三方统计分析站点流量">{{ site.analytics }}</textarea>
|
||||
<textarea name="analytics" class="layui-textarea" placeholder="使用百度统计,腾讯分析等第三方统计分析站点流量">{{ site.analytics }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -76,5 +71,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,35 +1,33 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.smser'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.smser'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>基础配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_id" value="{{ smser.app_id }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">App Key</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="app_key" value="{{ smser.app_key }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">内容签名</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="signature" value="{{ smser.signature }}" placeholder="注意:使用的是签名内容,而非签名ID" layui-verify="required">
|
||||
<input class="layui-input" type="text" name="signature" placeholder="注意:使用的是签名内容,而非签名ID" value="{{ smser.signature }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>模板配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col width="12%">
|
||||
<col width="15%">
|
||||
@ -71,7 +69,6 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="layui-form-item" style="margin-top:20px;">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -79,22 +76,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.test.smser'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>短信测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">手机号码</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="phone" lay-verify="phone" placeholder="请先提交相关配置,再进行短信测试哦!">
|
||||
<input class="layui-input" type="text" name="phone" placeholder="请先提交相关配置,再进行短信测试哦!" lay-verify="phone">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -102,7 +95,13 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/clipboard_tips') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/clipboard.min.js') }}
|
||||
{{ js_include('admin/js/copy.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.storage'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.storage'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>存储桶配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">空间名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="bucket_name" value="{{ storage.bucket_name }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所在区域</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="bucket_region" value="{{ storage.bucket_region }}" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">访问协议</label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,18 +25,15 @@
|
||||
<input type="radio" name="bucket_protocol" value="https" title="HTTPS" {% if storage.bucket_protocol == "https" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">访问域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="bucket_domain" value="{{ storage.bucket_domain }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>数据万象</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">访问协议</label>
|
||||
<div class="layui-input-block">
|
||||
@ -44,14 +41,12 @@
|
||||
<input type="radio" name="ci_protocol" value="https" title="HTTPS" {% if storage.ci_protocol == "https" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">访问域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="ci_domain" value="{{ storage.ci_domain }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -59,22 +54,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.test.storage'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>上传测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">测试文件</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="file" value="hello_world.txt" readonly="true">
|
||||
<input class="layui-input" type="text" name="file" value="hello_world.txt" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -82,5 +73,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,11 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.vip'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.vip'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>会员设置</legend>
|
||||
</fieldset>
|
||||
|
||||
{% for item in vips %}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{ item.title }}</label>
|
||||
@ -13,7 +15,6 @@
|
||||
<div class="layui-form-mid layui-word-aux">元</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -21,5 +22,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,9 +1,15 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.vod'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% set storage_region_display = vod.storage_type == 'nearby' ? 'style="display:none;"' : '' %}
|
||||
{% set watermark_tpl_display = vod.watermark_enabled == 0 ? 'style="display:none;"' : '' %}
|
||||
{% set key_anti_display = vod.key_anti_enabled == 0 ? 'style="display:none;"' : '' %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.setting.vod'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>存储配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储方式</label>
|
||||
<div class="layui-input-block">
|
||||
@ -11,8 +17,7 @@
|
||||
<input type="radio" name="storage_type" value="fixed" title="固定区域" lay-filter="storage_type" {% if vod.storage_type == "fixed" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="storage-region-block" {% if vod.storage_type == 'nearby' %}style="display:none;"{% endif %}>
|
||||
<div id="storage-region-block" {{ storage_region_display }}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所在区域</label>
|
||||
<div class="layui-input-block">
|
||||
@ -20,11 +25,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>转码配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">视频格式</label>
|
||||
<div class="layui-input-block">
|
||||
@ -32,14 +35,12 @@
|
||||
<input type="radio" name="video_format" value="mp4" title="MP4" lay-filter="video_format" {% if vod.video_format == "mp4" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">视频模板ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="video_template" readonly="readonly" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">音频格式</label>
|
||||
<div class="layui-input-block">
|
||||
@ -47,14 +48,12 @@
|
||||
<input type="radio" name="audio_format" value="mp3" title="MP3" lay-filter="audio_format" {% if vod.audio_format == "mp3" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">音频模板ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="audio_template" readonly="readonly" layui-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启水印</label>
|
||||
<div class="layui-input-block">
|
||||
@ -62,8 +61,7 @@
|
||||
<input type="radio" name="watermark_enabled" value="0" title="否" lay-filter="watermark_enabled" {% if vod.watermark_enabled == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="watermark-template-block" {% if vod.watermark_enabled == '0' %}style="display:none;"{% endif %}>
|
||||
<div id="watermark-template-block" {{ watermark_tpl_display }}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">水印模板ID</label>
|
||||
<div class="layui-input-block">
|
||||
@ -71,11 +69,9 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>主分发配置</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分发协议</label>
|
||||
<div class="layui-input-block">
|
||||
@ -83,18 +79,15 @@
|
||||
<input type="radio" name="dist_protocol" value="http" title="HTTP" {% if vod.dist_protocol == "http" %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分发域名</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="dist_domain" value="{{ vod.dist_domain }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>Key防盗链</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">开启防盗链</label>
|
||||
<div class="layui-input-block">
|
||||
@ -102,8 +95,7 @@
|
||||
<input type="radio" name="key_anti_enabled" value="0" title="否" lay-filter="key_anti_enabled" {% if vod.key_anti_enabled == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="key-anti-block" {% if vod.key_anti_enabled == '0' %}style="display:none;"{% endif %}>
|
||||
<div id="key-anti-block" {{ key_anti_display }}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">防盗链Key</label>
|
||||
<div class="layui-input-block">
|
||||
@ -117,7 +109,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -125,22 +116,18 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.test.vod'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>接口测试</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">请求方法</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="file" value="DescribeAudioTrackTemplates" readonly="readonly">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -148,9 +135,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
@ -220,3 +210,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,16 +1,17 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.slide.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.slide.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加轮播</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">目标类型</label>
|
||||
<div class="layui-input-block">
|
||||
@ -19,14 +20,12 @@
|
||||
<input type="radio" name="target" value="link" title="链接" lay-filter="target">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" id="target-label">课程编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="content" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -34,9 +33,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
@ -62,3 +64,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro content_label(target) %}
|
||||
{% if target == 'course' %}
|
||||
课程编号
|
||||
@ -9,11 +13,9 @@
|
||||
{%- endmacro %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.slide.update','id':slide.id}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑轮播</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">封面</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -24,7 +26,6 @@
|
||||
<button id="change-cover" class="layui-btn layui-btn-sm" type="button">更换</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">背景色</label>
|
||||
<div class="layui-input-inline">
|
||||
@ -34,35 +35,30 @@
|
||||
<div id="style-bg-color"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" value="{{ slide.title }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">概要</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary">{{ slide.summary }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">{{ content_label(slide.target) }}</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="content" value="{{ slide.content }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="priority" value="{{ slide.priority }}" lay-verify="number">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发布</label>
|
||||
<div class="layui-input-block">
|
||||
@ -70,7 +66,6 @@
|
||||
<input type="radio" name="published" value="0" title="否" {% if slide.published == 0 %}checked{% endif %}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -78,15 +73,25 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{{ partial('partials/cover_uploader') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('admin/js/cover.upload.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'colorpicker'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var colorPicker = layui.colorpicker;
|
||||
|
||||
colorPicker.render({
|
||||
elem: '#style-bg-color',
|
||||
color: '{{ slide.style['bg_color'] }}',
|
||||
@ -95,5 +100,9 @@
|
||||
$('input[name="style[bg_color]"]').val(color);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro target_info(value) %}
|
||||
{% if value == 'course' %}
|
||||
<span class="layui-badge layui-bg-green">课程</span>
|
||||
@ -21,7 +25,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table layui-form">
|
||||
<table class="layui-table kg-table layui-form">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -63,3 +67,5 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
@ -1,32 +1,31 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% set course_id = course ? course.id : '' %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.student.create'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加学员</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">课程编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="course_id" value="{{ course_id }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="user_id" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">过期时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="expiry_time" autocomplete="off" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -34,9 +33,12 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['laydate'], function () {
|
||||
@ -51,3 +53,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,30 +1,29 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.student.update'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.student.update'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>编辑学员</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">课程名称</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{{ course.title }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">学员名称</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{{ student.name }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">过期时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="expiry_time" autocomplete="off" value="{{ date('Y-m-d H:i:s',relation.expiry_time) }}" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -33,9 +32,12 @@
|
||||
<input type="hidden" name="relation_id" value="{{ relation.id }}"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['laydate'], function () {
|
||||
@ -50,3 +52,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,4 +1,8 @@
|
||||
<table class="kg-table layui-table">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -33,4 +37,11 @@
|
||||
</table>
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
{{ partial('partials/ip2region') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('admin/js/ip2region.js') }}
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{%- macro source_type_info(value) %}
|
||||
{% if value == 1 %}
|
||||
<span class="layui-badge layui-bg-green">免费</span>
|
||||
@ -34,7 +38,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="kg-table layui-table">
|
||||
<table class="layui-table kg-table">
|
||||
<colgroup>
|
||||
<col>
|
||||
<col>
|
||||
@ -84,6 +88,10 @@
|
||||
|
||||
{{ partial('partials/pager') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
layui.use(['jquery', 'form'], function () {
|
||||
@ -105,3 +113,5 @@
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
@ -1,25 +1,25 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% set course_id = request.get('course_id', 'int', '') %}
|
||||
|
||||
<form class="layui-form kg-form" method="GET" action="{{ url({'for':'admin.student.list'}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>搜索学员</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">课程编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="course_id" value="{{ course_id }}" placeholder="课程编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="user_id" placeholder="用户编号精确匹配">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">加入方式</label>
|
||||
<div class="layui-input-block">
|
||||
@ -28,7 +28,6 @@
|
||||
<input type="radio" name="source_type" value="3" title="后台导入">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -36,5 +35,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
24
app/Http/Admin/Views/templates/layer.volt
Normal file
24
app/Http/Admin/Views/templates/layer.volt
Normal file
@ -0,0 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN-Hans">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">
|
||||
<title>管理后台</title>
|
||||
{{ icon_link('favicon.ico') }}
|
||||
{{ css_link('lib/layui/css/layui.css') }}
|
||||
{{ css_link('admin/css/common.css') }}
|
||||
{% block link_css %}{% endblock %}
|
||||
{% block inline_css %}{% endblock %}
|
||||
</head>
|
||||
<body class="kg-body">
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
{{ js_include('lib/layui/layui.js') }}
|
||||
{{ js_include('admin/js/common.js') }}
|
||||
|
||||
{% block include_js %}{% endblock %}
|
||||
{% block inline_js %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
@ -1,18 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-Hans-CN">
|
||||
<html lang="zh-CN-Hans">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrfToken.getToken() }}">
|
||||
<title>管理后台</title>
|
||||
{{ icon_link("favicon.ico") }}
|
||||
{{ icon_link('favicon.ico') }}
|
||||
{{ css_link('lib/layui/css/layui.css') }}
|
||||
{{ css_link('lib/layui/extends/dropdown.css') }}
|
||||
{{ css_link('admin/css/common.css') }}
|
||||
{{ js_include('lib/layui/layui.js') }}
|
||||
{{ js_include('admin/js/common.js') }}
|
||||
{% block link_css %}{% endblock %}
|
||||
{% block inline_css %}{% endblock %}
|
||||
</head>
|
||||
<body class="kg-body">
|
||||
{{ content() }}
|
||||
|
||||
{% block content %}{% endblock %}
|
||||
|
||||
{{ js_include('lib/layui/layui.js') }}
|
||||
{{ js_include('admin/js/common.js') }}
|
||||
|
||||
{% block include_js %}{% endblock %}
|
||||
{% block inline_js %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
@ -1,23 +1,23 @@
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.topic.create'}) }}">
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.topic.create'}) }}">
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>添加话题</legend>
|
||||
</fieldset>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input class="layui-input" type="text" name="title" lay-verify="required">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">简介</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea class="layui-textarea" name="summary"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
@ -25,5 +25,6 @@
|
||||
<button type="button" class="kg-back layui-btn layui-btn-primary">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
@ -1,3 +1,7 @@
|
||||
{% extends 'templates/main.volt' %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<form class="layui-form kg-form" method="POST" action="{{ url({'for':'admin.topic.update','id':topic.id}) }}">
|
||||
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
@ -35,11 +39,20 @@
|
||||
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('admin/js/xm-course.js') }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block inline_js %}
|
||||
|
||||
<script>
|
||||
|
||||
xmCourse({{ xm_courses|json_encode }}, '/admin/xm/course/all');
|
||||
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user