697 lines
36 KiB
HTML
Executable File
697 lines
36 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="app-setting-form">
|
||
<input type="hidden" name="key" value="app_setting">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">项目名称</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="app_name" value="{$app_setting.app_name|default=''}"
|
||
autocomplete="off" class="layui-input" placeholder="请输入项目名称">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">购买弹窗</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="purchase_popup" value="0" title="弹出一次" {if
|
||
!isset($app_setting.purchase_popup) ||
|
||
$app_setting.purchase_popup==0}checked{/if}>
|
||
<input type="radio" name="purchase_popup" value="1" title="每天显示" {if
|
||
isset($app_setting.purchase_popup) &&
|
||
$app_setting.purchase_popup==1}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">商城兑换次数</label>
|
||
<div class="layui-input-block">
|
||
<input type="number" name="exchange_times"
|
||
value="{$app_setting.exchange_times|default=0}" autocomplete="off"
|
||
class="layui-input" min="0">
|
||
<div class="layui-form-mid layui-word-aux">每天允许兑换几次,0不限次数</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">余额名称</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="balance_name"
|
||
value="{$app_setting.balance_name|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入余额名称">
|
||
</div>
|
||
<label class="layui-form-label">余额图标</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="balance_icon"
|
||
value="{$app_setting.balance_icon|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入余额图标地址">
|
||
</div>
|
||
<button type="button" class="layui-btn upload-icon" data-input="balance_icon">
|
||
<i class="layui-icon"></i>上传图片
|
||
</button>
|
||
<div class="icon-preview" id="balance_icon_preview">
|
||
{if !empty($app_setting.balance_icon)}
|
||
<img src="{$app_setting.balance_icon}"
|
||
style="height:38px;max-width:100px;margin-left:10px;">
|
||
{/if}
|
||
</div>
|
||
<div class="icon-preview">
|
||
人民币单位,只能充值,可以抽赏
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">货币1名称</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="currency1_name"
|
||
value="{$app_setting.currency1_name|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入货币1名称">
|
||
</div>
|
||
<label class="layui-form-label">货币1图片</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="currency1_icon"
|
||
value="{$app_setting.currency1_icon|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入货币1图片地址">
|
||
</div>
|
||
<button type="button" class="layui-btn upload-icon" data-input="currency1_icon">
|
||
<i class="layui-icon"></i>上传图片
|
||
</button>
|
||
<div class="icon-preview" id="currency1_icon_preview">
|
||
{if !empty($app_setting.currency1_icon)}
|
||
<img src="{$app_setting.currency1_icon}"
|
||
style="height:38px;max-width:100px;margin-left:10px;">
|
||
{/if}
|
||
</div>
|
||
<div class="icon-preview">
|
||
道具币,活动获得,签到等,不计入消费额度,可以抽赏
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">货币2名称</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="currency2_name"
|
||
value="{$app_setting.currency2_name|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入货币2名称">
|
||
</div>
|
||
<label class="layui-form-label">货币2图片</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="currency2_icon"
|
||
value="{$app_setting.currency2_icon|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入货币2图片地址">
|
||
</div>
|
||
<button type="button" class="layui-btn upload-icon" data-input="currency2_icon">
|
||
<i class="layui-icon"></i>上传图片
|
||
</button>
|
||
<div class="icon-preview" id="currency2_icon_preview">
|
||
{if !empty($app_setting.currency2_icon)}
|
||
<img src="{$app_setting.currency2_icon}"
|
||
style="height:38px;max-width:100px;margin-left:10px;">
|
||
{/if}
|
||
</div>
|
||
<div class="icon-preview">
|
||
兑换获得,可以抽赏,可以去商城兑换,不计入消费额度
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">中奖音频</label>
|
||
<div class="layui-input-inline" style="width: 450px;">
|
||
<input type="text" name="win_audio" value="{$app_setting.win_audio|default=''}"
|
||
autocomplete="off" class="layui-input" placeholder="请输入中奖音频文件地址">
|
||
</div>
|
||
<button type="button" class="layui-btn upload-audio" data-input="win_audio">
|
||
<i class="layui-icon"></i>选择文件
|
||
</button>
|
||
<div class="audio-preview" id="win_audio_preview">
|
||
{if !empty($app_setting.win_audio)}
|
||
<audio controls style="height:38px;margin-left:10px;">
|
||
<source src="{$app_setting.win_audio}" type="audio/mpeg">
|
||
您的浏览器不支持音频播放
|
||
</audio>
|
||
{/if}
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">小程序版本号</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="applet_version" value="{$app_setting.applet_version|default=''}"
|
||
autocomplete="off" class="layui-input" placeholder="请输入小程序版本号,如v1.0.0">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">签到消费门槛</label>
|
||
<div class="layui-input-block">
|
||
<input type="number" name="sign_in_spend_limit"
|
||
value="{$app_setting.sign_in_spend_limit|default=0}" autocomplete="off"
|
||
class="layui-input" min="0">
|
||
<div class="layui-form-mid layui-word-aux">每日消费达到此金额后可签到,0表示不限制</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="app-setting-form">保存</button>
|
||
<button type="button" class="layui-btn layui-btn-normal" id="copy-download-json">复制并下载json格式</button>
|
||
</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 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="wechat-setting-form">
|
||
<input type="hidden" name="key" value="wechat_setting">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">Appid</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="appid" value="{$wechat_setting.appid|default=''}"
|
||
autocomplete="off" class="layui-input" placeholder="请输入微信AppID">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">AppSecret</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="appSecret" value="{$wechat_setting.appSecret|default=''}"
|
||
autocomplete="off" class="layui-input" placeholder="请输入微信AppSecret">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="wechat-setting-form">保存</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<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="infinite-multiple-form">
|
||
<input type="hidden" name="key" value="infinite_multiple">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">抽奖倍数</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="multiple" value="1000" title="1000" {if !isset($infinite_multiple.multiple) || $infinite_multiple.multiple==1000}checked{/if}>
|
||
<input type="radio" name="multiple" value="10000" title="10000" {if isset($infinite_multiple.multiple) && $infinite_multiple.multiple==10000}checked{/if}>
|
||
<input type="radio" name="multiple" value="100000" title="100000" {if isset($infinite_multiple.multiple) && $infinite_multiple.multiple==100000}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="infinite-multiple-form">保存</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<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">微信公众号设置</div>
|
||
<div class="layui-card-body">
|
||
<form class="layui-form" action="" lay-filter="wechatofficialaccount-setting-form">
|
||
<input type="hidden" name="key" value="wechatofficialaccount_setting">
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">Appid</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="appid"
|
||
value="{$wechatofficialaccount_setting.appid|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入微信公众号AppID">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">AppSecret</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="appSecret"
|
||
value="{$wechatofficialaccount_setting.appSecret|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="请输入微信公众号AppSecret">
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit
|
||
lay-filter="wechatofficialaccount-setting-form">保存</button>
|
||
</div>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
{include file="Public:footer"/}
|
||
|
||
<script>
|
||
layui.use(['form', 'layer', 'upload'], function () {
|
||
var form = layui.form;
|
||
var layer = layui.layer;
|
||
var upload = layui.upload;
|
||
|
||
// 图标上传功能
|
||
$('.upload-icon').each(function () {
|
||
var inputName = $(this).data('input');
|
||
upload.render({
|
||
elem: this,
|
||
url: '{:url("/admin/picture")}',
|
||
data: {
|
||
dir: 'app/icons' // 指定存储目录为icons
|
||
},
|
||
accept: 'images',
|
||
acceptMime: 'image/*',
|
||
exts: 'jpg|png|jpeg|gif',
|
||
size: 2048, // 最大2MB
|
||
before: function (obj) {
|
||
layer.load(); // 显示等待框
|
||
},
|
||
done: function (res) {
|
||
layer.closeAll('loading'); // 关闭等待框
|
||
if (res.status) {
|
||
// 设置输入框的值
|
||
$('input[name="' + inputName + '"]').val(res.data.path);
|
||
// 更新预览图
|
||
$('#' + inputName + '_preview').html('<img src="' + res.data.path + '" style="height:38px;max-width:100px;margin-left:10px;">');
|
||
layer.msg('上传成功');
|
||
} else {
|
||
layer.msg(res.msg || '上传失败', { icon: 2 });
|
||
}
|
||
},
|
||
error: function () {
|
||
layer.closeAll('loading');
|
||
layer.msg('上传失败', { icon: 2 });
|
||
}
|
||
});
|
||
});
|
||
|
||
// 音频上传功能
|
||
$('.upload-audio').each(function () {
|
||
var inputName = $(this).data('input');
|
||
upload.render({
|
||
elem: this,
|
||
url: '{:url("/admin/picture")}',
|
||
data: {
|
||
dir: 'app' // 指定存储目录为app
|
||
},
|
||
accept: 'audio',
|
||
acceptMime: 'audio/*',
|
||
exts: 'mp3|wav|ogg',
|
||
size: 5120, // 最大5MB
|
||
before: function (obj) {
|
||
layer.load(); // 显示等待框
|
||
},
|
||
done: function (res) {
|
||
layer.closeAll('loading'); // 关闭等待框
|
||
if (res.status) {
|
||
// 设置输入框的值
|
||
$('input[name="' + inputName + '"]').val(res.data.path);
|
||
// 更新音频预览
|
||
$('#' + inputName + '_preview').html('<audio controls style="height:38px;margin-left:10px;"><source src="' + res.data.path + '" type="audio/mpeg">您的浏览器不支持音频播放</audio>');
|
||
layer.msg('上传成功');
|
||
} else {
|
||
layer.msg(res.msg || '上传失败', { icon: 2 });
|
||
}
|
||
},
|
||
error: function () {
|
||
layer.closeAll('loading');
|
||
layer.msg('上传失败', { icon: 2 });
|
||
}
|
||
});
|
||
});
|
||
|
||
// 添加地址按钮点击事件
|
||
$('#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;
|
||
|
||
// 检查并移除空的file字段
|
||
if ('file' in field && !field.file) {
|
||
delete field.file;
|
||
}
|
||
|
||
// 提交到后台
|
||
$.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;
|
||
|
||
// 检查并移除空的file字段
|
||
if ('file' in field && !field.file) {
|
||
delete field.file;
|
||
}
|
||
|
||
// 提交到后台
|
||
$.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;
|
||
});
|
||
|
||
// 微信设置表单提交
|
||
form.on('submit(wechat-setting-form)', function (data) {
|
||
var field = data.field;
|
||
|
||
// 检查并移除空的file字段
|
||
if ('file' in field && !field.file) {
|
||
delete field.file;
|
||
}
|
||
|
||
// 提交到后台
|
||
$.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;
|
||
});
|
||
|
||
// 微信公众号设置表单提交
|
||
form.on('submit(wechatofficialaccount-setting-form)', function (data) {
|
||
var field = data.field;
|
||
|
||
// 检查并移除空的file字段
|
||
if ('file' in field && !field.file) {
|
||
delete field.file;
|
||
}
|
||
|
||
// 提交到后台
|
||
$.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;
|
||
});
|
||
|
||
// 无限赏抽奖倍数表单提交
|
||
form.on('submit(infinite-multiple-form)', function (data) {
|
||
var field = data.field;
|
||
|
||
// 检查并移除空的file字段
|
||
if ('file' in field && !field.file) {
|
||
delete field.file;
|
||
}
|
||
|
||
// 提交到后台
|
||
$.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;
|
||
});
|
||
|
||
// 项目配置表单提交
|
||
form.on('submit(app-setting-form)', function (data) {
|
||
var field = data.field;
|
||
|
||
// 检查并移除空的file字段
|
||
if ('file' in field && !field.file) {
|
||
delete field.file;
|
||
}
|
||
|
||
// 提交到后台
|
||
$.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;
|
||
});
|
||
|
||
// 复制并下载JSON格式按钮点击事件
|
||
$('#copy-download-json').on('click', function () {
|
||
// 获取app-setting-form表单的所有值
|
||
var formData = form.val('app-setting-form');
|
||
|
||
// 创建包含当前时间戳的JSON对象
|
||
var jsonData = Object.assign({}, formData);
|
||
jsonData.update_time = Math.floor(Date.now() / 1000); // 添加时间戳(秒)
|
||
|
||
// 格式化为JSON字符串
|
||
var jsonString = JSON.stringify(jsonData, null, 2);
|
||
|
||
// 复制到剪贴板
|
||
var textArea = document.createElement("textarea");
|
||
textArea.value = jsonString;
|
||
document.body.appendChild(textArea);
|
||
textArea.select();
|
||
document.execCommand('copy');
|
||
document.body.removeChild(textArea);
|
||
|
||
// 创建并下载JSON文件
|
||
var blob = new Blob([jsonString], { type: 'application/json' });
|
||
var link = document.createElement('a');
|
||
link.href = URL.createObjectURL(blob);
|
||
link.download = 'app_setting_' + jsonData.update_time + '.json';
|
||
document.body.appendChild(link);
|
||
link.click();
|
||
document.body.removeChild(link);
|
||
|
||
// 提示用户
|
||
layer.msg('已复制到剪贴板并下载JSON文件', { icon: 1 });
|
||
|
||
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;
|
||
}
|
||
|
||
.icon-preview {
|
||
display: inline-block;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.upload-icon {
|
||
display: inline-block;
|
||
vertical-align: middle;
|
||
margin-right: 10px;
|
||
}
|
||
|
||
.audio-preview {
|
||
display: inline-block;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.upload-audio {
|
||
display: inline-block;
|
||
vertical-align: middle;
|
||
margin-right: 10px;
|
||
}
|
||
</style>
|
||
</body>
|
||
|
||
</html> |