213 lines
11 KiB
HTML
Executable File
213 lines
11 KiB
HTML
Executable File
{include file="Public:header2"/}
|
||
|
||
<body>
|
||
<h2 style="text-align: center;margin-top: 20px;">系统设置</h2>
|
||
<div class="layui-fluid">
|
||
<div class="layui-row layui-col-space15">
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">盒子同步地址</div>
|
||
<div class="layui-card-body">
|
||
<form class="layui-form" action="" lay-filter="component-form-element">
|
||
<input type="hidden" name="key" value="{$key}">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">盒子同步地址</label>
|
||
<div class="layui-input-block">
|
||
<div id="sync-addresses">
|
||
{if isset($data.sync_address) && is_array($data.sync_address)}
|
||
{foreach $data.sync_address as $index => $address}
|
||
<div class="sync-address-item">
|
||
<div class="layui-input-inline" style="width: 200px; margin-right: 10px;">
|
||
<input type="text" name="sync_address_names[]"
|
||
value="{$address.name|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="地址名称">
|
||
</div>
|
||
<div class="layui-input-inline" style="width: 450px; margin-right: 10px;">
|
||
<input type="text" name="sync_address_urls[]"
|
||
value="{$address.sync_address|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入同步地址URL">
|
||
</div>
|
||
<button type="button"
|
||
class="layui-btn layui-btn-danger remove-address">删除</button>
|
||
</div>
|
||
{/foreach}
|
||
{else}
|
||
<div class="sync-address-item">
|
||
<div class="layui-input-inline" style="width: 200px; margin-right: 10px;">
|
||
<input type="text" name="sync_address_names[]" value=""
|
||
autocomplete="off" class="layui-input" placeholder="地址名称">
|
||
</div>
|
||
<div class="layui-input-inline" style="width: 450px; margin-right: 10px;">
|
||
<input type="text" name="sync_address_urls[]" value=""
|
||
autocomplete="off" class="layui-input" placeholder="请输入同步地址URL">
|
||
</div>
|
||
<button type="button"
|
||
class="layui-btn layui-btn-danger remove-address">删除</button>
|
||
</div>
|
||
{/if}
|
||
</div>
|
||
<div style="margin-top: 10px;">
|
||
<button type="button" class="layui-btn layui-btn-normal"
|
||
id="add-address">添加地址</button>
|
||
<button class="layui-btn" lay-submit
|
||
lay-filter="component-form-element">保存</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-col-md12">
|
||
<div class="layui-card">
|
||
<div class="layui-card-header">用户UID设置</div>
|
||
<div class="layui-card-body">
|
||
<form class="layui-form" action="" lay-filter="user-uid-form">
|
||
<input type="hidden" name="key" value="user_config">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">UID类型</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" lay-filter="uid_type" name="uid_type" value="0" title="真实ID" {if
|
||
isset($user_config.uid_type) && $user_config.uid_type==0}checked{/if}>
|
||
<input type="radio" lay-filter="uid_type" name="uid_type" value="1" title="数字ID" {if
|
||
isset($user_config.uid_type) && $user_config.uid_type==1}checked{/if}>
|
||
<input type="radio" lay-filter="uid_type" name="uid_type" value="2" title="随机字符和数字"
|
||
{if isset($user_config.uid_type) && $user_config.uid_type==2}checked{/if}>
|
||
</div>
|
||
<div class="layui-form-mid layui-word-aux">改变生成规则后,新用户UID会发生变化,请谨慎操作,uid为空的,会在登录后显示真实ID
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item" id="uid-length-container" {if !isset($user_config.uid_type) ||
|
||
$user_config.uid_type==0}style="display:none" {/if}>
|
||
<label class="layui-form-label">UID长度</label>
|
||
<div class="layui-input-block">
|
||
<input type="number" name="uid_length" value="{$user_config.uid_length|default=6}"
|
||
autocomplete="off" class="layui-input" min="4" max="16">
|
||
<div class="layui-form-mid layui-word-aux">数字ID长度推荐6位,随机字符和数字长度推荐8位</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="user-uid-form">保存</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
{include file="Public:footer"/}
|
||
|
||
<script>
|
||
layui.use(['form', 'layer'], function () {
|
||
var form = layui.form;
|
||
var layer = layui.layer;
|
||
|
||
// 添加地址按钮点击事件
|
||
$('#add-address').on('click', function () {
|
||
var newItem = '<div class="sync-address-item">' +
|
||
'<div class="layui-input-inline" style="width: 200px; margin-right: 10px;">' +
|
||
'<input type="text" name="sync_address_names[]" value="" autocomplete="off" class="layui-input" placeholder="地址名称">' +
|
||
'</div>' +
|
||
'<div class="layui-input-inline" style="width: 450px; margin-right: 10px;">' +
|
||
'<input type="text" name="sync_address_urls[]" value="" autocomplete="off" class="layui-input" placeholder="请输入同步地址URL">' +
|
||
'</div>' +
|
||
'<button type="button" class="layui-btn layui-btn-danger remove-address">删除</button>' +
|
||
'</div>';
|
||
$('#sync-addresses').append(newItem);
|
||
});
|
||
|
||
// 删除地址按钮点击事件(使用事件委托)
|
||
$(document).on('click', '.remove-address', function () {
|
||
// 如果只有一个地址项,则清空而不是删除
|
||
if ($('.sync-address-item').length <= 1) {
|
||
$(this).closest('.sync-address-item').find('input').val('');
|
||
} else {
|
||
$(this).closest('.sync-address-item').remove();
|
||
}
|
||
return false; // 阻止表单提交
|
||
});
|
||
|
||
// 表单提交 - 不再在前端处理数据转换,交给后端处理
|
||
form.on('submit(component-form-element)', function (data) {
|
||
var field = data.field;
|
||
// 提交到后台
|
||
$.ajax({
|
||
url: '{:url("/admin/update")}',
|
||
type: 'post',
|
||
data: field,
|
||
success: function (res) {
|
||
if (res.status) {
|
||
layer.msg(res.msg, { icon: 1 });
|
||
} else {
|
||
layer.msg(res.msg, { icon: 2 });
|
||
}
|
||
}
|
||
});
|
||
return false;
|
||
});
|
||
|
||
// UID设置表单提交
|
||
form.on('submit(user-uid-form)', function (data) {
|
||
var field = data.field;
|
||
|
||
// 提交到后台
|
||
$.ajax({
|
||
url: '{:url("/admin/update")}',
|
||
type: 'post',
|
||
data: field,
|
||
success: function (res) {
|
||
if (res.status) {
|
||
layer.msg(res.msg, { icon: 1 });
|
||
} else {
|
||
layer.msg(res.msg, { icon: 2 });
|
||
}
|
||
}
|
||
});
|
||
return false;
|
||
});
|
||
|
||
// UID类型切换事件
|
||
form.on('radio(uid_type)', function (data) {
|
||
var value = this.value;
|
||
if (value == '0') {
|
||
$('#uid-length-container').hide();
|
||
} else {
|
||
$('#uid-length-container').show();
|
||
}
|
||
});
|
||
|
||
// 初始化事件绑定
|
||
$('input[name="uid_type"]').on('click', function () {
|
||
var value = $(this).val();
|
||
if (value == '0') {
|
||
$('#uid-length-container').hide();
|
||
} else {
|
||
$('#uid-length-container').show();
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
|
||
<style>
|
||
.sync-address-item {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-bottom: 10px;
|
||
}
|
||
|
||
.layui-form-label {
|
||
width: 120px;
|
||
}
|
||
|
||
.layui-input-block {
|
||
margin-left: 150px;
|
||
}
|
||
</style>
|
||
</body>
|
||
|
||
</html> |