manghe/app/admin/view/Config/systemconfig.html
2025-04-12 06:27:11 +08:00

990 lines
57 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{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">&#xe67c;</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">&#xe67c;</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">&#xe67c;</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">&#xe67c;</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>