990 lines
57 KiB
HTML
Executable File
990 lines
57 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">
|
||
<label class="layui-form-label">外卖盒子ID</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="waimai_box_id"
|
||
value="{$app_setting.waimai_box_id|default=0}" autocomplete="off"
|
||
class="layui-input" min="0">
|
||
<div class="layui-form-mid layui-word-aux">外卖盒子的ID,设置为0表示不启用</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">每日免费抽奖ID</label>
|
||
<div class="layui-input-block">
|
||
<input type="text" name="daily_free_draw_id"
|
||
value="{$app_setting.daily_free_draw_id|default=0}" autocomplete="off"
|
||
class="layui-input" min="0">
|
||
<div class="layui-form-mid layui-word-aux">每日免费送抽奖的ID,设置为0表示不启用</div>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">盒柜兑换次数限制</label>
|
||
<div class="layui-input-block">
|
||
<input type="number" name="cabinet_exchange_limit"
|
||
value="{$app_setting.cabinet_exchange_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">
|
||
<label class="layui-form-label">每天优惠券次数</label>
|
||
<div class="layui-input-block">
|
||
<input type="number" name="daily_coupon_limit"
|
||
value="{$app_setting.daily_coupon_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="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="rank-setting-form">
|
||
<input type="hidden" name="key" value="rank_setting">
|
||
|
||
<!-- 达达卷排行榜 -->
|
||
<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="radio" name="dadajuan_stat_type" value="daily" title="每天统计" lay-filter="dadajuan_stat_type"
|
||
{if !isset($rank_setting.dadajuan_stat_type) || $rank_setting.dadajuan_stat_type=='daily'}checked{/if}>
|
||
<input type="radio" name="dadajuan_stat_type" value="weekly" title="每周统计" lay-filter="dadajuan_stat_type"
|
||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='weekly'}checked{/if}>
|
||
<input type="radio" name="dadajuan_stat_type" value="monthly" title="每月统计" lay-filter="dadajuan_stat_type"
|
||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='monthly'}checked{/if}>
|
||
<input type="radio" name="dadajuan_stat_type" value="yearly" title="每年统计" lay-filter="dadajuan_stat_type"
|
||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='yearly'}checked{/if}>
|
||
<input type="radio" name="dadajuan_stat_type" value="custom" title="自定义时间范围" lay-filter="dadajuan_stat_type"
|
||
{if isset($rank_setting.dadajuan_stat_type) && $rank_setting.dadajuan_stat_type=='custom'}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item dadajuan-time-range" {if !isset($rank_setting.dadajuan_stat_type) || $rank_setting.dadajuan_stat_type!='custom'}style="display:none"{/if}>
|
||
<label class="layui-form-label">开始时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="dadajuan_start_time" id="dadajuan_start_time"
|
||
value="{$rank_setting.dadajuan_start_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制开始时间">
|
||
</div>
|
||
<label class="layui-form-label">结束时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="dadajuan_end_time" id="dadajuan_end_time"
|
||
value="{$rank_setting.dadajuan_end_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制结束时间">
|
||
</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">
|
||
<input type="radio" name="diamond_stat_type" value="daily" title="每天统计" lay-filter="diamond_stat_type"
|
||
{if !isset($rank_setting.diamond_stat_type) || $rank_setting.diamond_stat_type=='daily'}checked{/if}>
|
||
<input type="radio" name="diamond_stat_type" value="weekly" title="每周统计" lay-filter="diamond_stat_type"
|
||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='weekly'}checked{/if}>
|
||
<input type="radio" name="diamond_stat_type" value="monthly" title="每月统计" lay-filter="diamond_stat_type"
|
||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='monthly'}checked{/if}>
|
||
<input type="radio" name="diamond_stat_type" value="yearly" title="每年统计" lay-filter="diamond_stat_type"
|
||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='yearly'}checked{/if}>
|
||
<input type="radio" name="diamond_stat_type" value="custom" title="自定义时间范围" lay-filter="diamond_stat_type"
|
||
{if isset($rank_setting.diamond_stat_type) && $rank_setting.diamond_stat_type=='custom'}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item diamond-time-range" {if !isset($rank_setting.diamond_stat_type) || $rank_setting.diamond_stat_type!='custom'}style="display:none"{/if}>
|
||
<label class="layui-form-label">开始时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="diamond_start_time" id="diamond_start_time"
|
||
value="{$rank_setting.diamond_start_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制开始时间">
|
||
</div>
|
||
<label class="layui-form-label">结束时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="diamond_end_time" id="diamond_end_time"
|
||
value="{$rank_setting.diamond_end_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制结束时间">
|
||
</div>
|
||
</div>
|
||
|
||
<!-- UU币排行榜 -->
|
||
<fieldset class="layui-elem-field layui-field-title">
|
||
<legend>UU币排行榜</legend>
|
||
</fieldset>
|
||
<div class="layui-form-item">
|
||
<label class="layui-form-label">统计方式</label>
|
||
<div class="layui-input-block">
|
||
<input type="radio" name="integral_stat_type" value="daily" title="每天统计" lay-filter="integral_stat_type"
|
||
{if !isset($rank_setting.integral_stat_type) || $rank_setting.integral_stat_type=='daily'}checked{/if}>
|
||
<input type="radio" name="integral_stat_type" value="weekly" title="每周统计" lay-filter="integral_stat_type"
|
||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='weekly'}checked{/if}>
|
||
<input type="radio" name="integral_stat_type" value="monthly" title="每月统计" lay-filter="integral_stat_type"
|
||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='monthly'}checked{/if}>
|
||
<input type="radio" name="integral_stat_type" value="yearly" title="每年统计" lay-filter="integral_stat_type"
|
||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='yearly'}checked{/if}>
|
||
<input type="radio" name="integral_stat_type" value="custom" title="自定义时间范围" lay-filter="integral_stat_type"
|
||
{if isset($rank_setting.integral_stat_type) && $rank_setting.integral_stat_type=='custom'}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item integral-time-range" {if !isset($rank_setting.integral_stat_type) || $rank_setting.integral_stat_type!='custom'}style="display:none"{/if}>
|
||
<label class="layui-form-label">开始时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="integral_start_time" id="integral_start_time"
|
||
value="{$rank_setting.integral_start_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制开始时间">
|
||
</div>
|
||
<label class="layui-form-label">结束时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="integral_end_time" id="integral_end_time"
|
||
value="{$rank_setting.integral_end_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制结束时间">
|
||
</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">
|
||
<input type="radio" name="invite_stat_type" value="daily" title="每天统计" lay-filter="invite_stat_type"
|
||
{if !isset($rank_setting.invite_stat_type) || $rank_setting.invite_stat_type=='daily'}checked{/if}>
|
||
<input type="radio" name="invite_stat_type" value="weekly" title="每周统计" lay-filter="invite_stat_type"
|
||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='weekly'}checked{/if}>
|
||
<input type="radio" name="invite_stat_type" value="monthly" title="每月统计" lay-filter="invite_stat_type"
|
||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='monthly'}checked{/if}>
|
||
<input type="radio" name="invite_stat_type" value="yearly" title="每年统计" lay-filter="invite_stat_type"
|
||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='yearly'}checked{/if}>
|
||
<input type="radio" name="invite_stat_type" value="custom" title="自定义时间范围" lay-filter="invite_stat_type"
|
||
{if isset($rank_setting.invite_stat_type) && $rank_setting.invite_stat_type=='custom'}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item invite-time-range" {if !isset($rank_setting.invite_stat_type) || $rank_setting.invite_stat_type!='custom'}style="display:none"{/if}>
|
||
<label class="layui-form-label">开始时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="invite_start_time" id="invite_start_time"
|
||
value="{$rank_setting.invite_start_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制开始时间">
|
||
</div>
|
||
<label class="layui-form-label">结束时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="invite_end_time" id="invite_end_time"
|
||
value="{$rank_setting.invite_end_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制结束时间">
|
||
</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">
|
||
<input type="radio" name="loss_stat_type" value="daily" title="每天统计" lay-filter="loss_stat_type"
|
||
{if !isset($rank_setting.loss_stat_type) || $rank_setting.loss_stat_type=='daily'}checked{/if}>
|
||
<input type="radio" name="loss_stat_type" value="weekly" title="每周统计" lay-filter="loss_stat_type"
|
||
{if isset($rank_setting.loss_stat_type) && $rank_setting.loss_stat_type=='weekly'}checked{/if}>
|
||
<input type="radio" name="loss_stat_type" value="monthly" title="每月统计" lay-filter="loss_stat_type"
|
||
{if isset($rank_setting.loss_stat_type) && $rank_setting.loss_stat_type=='monthly'}checked{/if}>
|
||
<input type="radio" name="loss_stat_type" value="yearly" title="每年统计" lay-filter="loss_stat_type"
|
||
{if isset($rank_setting.loss_stat_type) && $rank_setting.loss_stat_type=='yearly'}checked{/if}>
|
||
<input type="radio" name="loss_stat_type" value="custom" title="自定义时间范围" lay-filter="loss_stat_type"
|
||
{if isset($rank_setting.loss_stat_type) && $rank_setting.loss_stat_type=='custom'}checked{/if}>
|
||
</div>
|
||
</div>
|
||
<div class="layui-form-item loss-time-range" {if !isset($rank_setting.loss_stat_type) || $rank_setting.loss_stat_type!='custom'}style="display:none"{/if}>
|
||
<label class="layui-form-label">开始时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="loss_start_time" id="loss_start_time"
|
||
value="{$rank_setting.loss_start_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制开始时间">
|
||
</div>
|
||
<label class="layui-form-label">结束时间</label>
|
||
<div class="layui-input-inline">
|
||
<input type="text" name="loss_end_time" id="loss_end_time"
|
||
value="{$rank_setting.loss_end_time|default=''}" autocomplete="off"
|
||
class="layui-input" placeholder="不填则不限制结束时间">
|
||
</div>
|
||
</div>
|
||
|
||
<div class="layui-form-item">
|
||
<div class="layui-input-block">
|
||
<button class="layui-btn" lay-submit lay-filter="rank-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="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', 'laydate'], function () {
|
||
var form = layui.form;
|
||
var layer = layui.layer;
|
||
var upload = layui.upload;
|
||
var laydate = layui.laydate;
|
||
|
||
// 图标上传功能
|
||
$('.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(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;
|
||
});
|
||
|
||
// 排行榜设置表单提交
|
||
form.on('submit(rank-setting-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;
|
||
});
|
||
|
||
// 微信公众号设置表单提交
|
||
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;
|
||
});
|
||
|
||
// 初始化排行榜日期选择器
|
||
laydate.render({
|
||
elem: '#dadajuan_start_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#dadajuan_end_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#diamond_start_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#diamond_end_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#integral_start_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#integral_end_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#invite_start_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#invite_end_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#loss_start_time',
|
||
type: 'date'
|
||
});
|
||
|
||
laydate.render({
|
||
elem: '#loss_end_time',
|
||
type: 'date'
|
||
});
|
||
|
||
// 监听排行榜统计方式的选择变化
|
||
form.on('radio(dadajuan_stat_type)', function(data){
|
||
if(data.value === 'custom'){
|
||
$('.dadajuan-time-range').show();
|
||
} else {
|
||
$('.dadajuan-time-range').hide();
|
||
}
|
||
});
|
||
|
||
form.on('radio(diamond_stat_type)', function(data){
|
||
if(data.value === 'custom'){
|
||
$('.diamond-time-range').show();
|
||
} else {
|
||
$('.diamond-time-range').hide();
|
||
}
|
||
});
|
||
|
||
form.on('radio(integral_stat_type)', function(data){
|
||
if(data.value === 'custom'){
|
||
$('.integral-time-range').show();
|
||
} else {
|
||
$('.integral-time-range').hide();
|
||
}
|
||
});
|
||
|
||
form.on('radio(invite_stat_type)', function(data){
|
||
if(data.value === 'custom'){
|
||
$('.invite-time-range').show();
|
||
} else {
|
||
$('.invite-time-range').hide();
|
||
}
|
||
});
|
||
|
||
form.on('radio(loss_stat_type)', function(data){
|
||
if(data.value === 'custom'){
|
||
$('.loss-time-range').show();
|
||
} else {
|
||
$('.loss-time-range').hide();
|
||
}
|
||
});
|
||
|
||
// 复制并下载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> |