feat(notice): 系统配置通知渠道 Tab

This commit is contained in:
augushong
2026-10-12 12:41:03 +00:00
parent b91a8c0907
commit 4f772fc843
2 changed files with 170 additions and 0 deletions

View File

@@ -6,6 +6,7 @@
<li class="layui-this">网站设置</li>
<li>LOGO配置</li>
<li>上传配置</li>
<li>通知设置</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
@@ -17,6 +18,9 @@
<div class="layui-tab-item">
{include file="system/config/upload" /}
</div>
<div class="layui-tab-item">
{include file="system/config/notify" /}
</div>
</div>
</div>

View File

@@ -0,0 +1,166 @@
<form id="app-form" class="layui-form layuimini-form">
<input type="hidden" name="group_name" value="notify">
<blockquote class="layui-elem-quote layui-quote-nm">渠道开关</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">站内信通知</label>
<div class="layui-input-block">
{foreach ['1'=>'开启','0'=>'关闭'] as $key=>$val}
<input type="radio" name="notify_inmail_enable" value="{$key}" title="{$val}" {if $key==sysconfig('notify','notify_inmail_enable',1)}checked="" {/if}>
{/foreach}
<tip>站内信渠道全局总闸,关闭后所有通知不再投递到站内信,不影响其他渠道。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">登录提醒</label>
<div class="layui-input-block">
{foreach ['1'=>'开启','0'=>'关闭'] as $key=>$val}
<input type="radio" name="notify_login_scene_enable" value="{$key}" title="{$val}" {if $key==sysconfig('notify','notify_login_scene_enable',0)}checked="" {/if}>
{/foreach}
<tip>管理员登录成功后发送登录提醒通知,默认关闭;各管理员可在个人订阅设置中退订。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">邮件通知</label>
<div class="layui-input-block">
{foreach ['1'=>'开启','0'=>'关闭'] as $key=>$val}
<input type="radio" name="notify_email_enable" value="{$key}" title="{$val}" {if $key==sysconfig('notify','notify_email_enable',0)}checked="" {/if}>
{/foreach}
<tip>邮件渠道总开关,默认关闭;开启前请先配置下方 SMTP 参数,并确保管理员已填写电子邮箱。</tip>
</div>
</div>
<blockquote class="layui-elem-quote layui-quote-nm">邮件 SMTP</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">SMTP 服务器</label>
<div class="layui-input-block">
<input type="text" name="notify_smtp_host" class="layui-input" placeholder="请输入SMTP服务器地址" value="{:sysconfig('notify','notify_smtp_host')}">
<tip>SMTP 服务器地址,例如:smtp.example.com,本地调试可填 127.0.0.1。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">SMTP 端口</label>
<div class="layui-input-block">
<input type="text" name="notify_smtp_port" class="layui-input" placeholder="请输入SMTP端口" value="{:sysconfig('notify','notify_smtp_port')}">
<tip>SMTP 端口,SSL 加密通常为 465,TLS 通常为 587,无加密常为 25。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">加密方式</label>
<div class="layui-input-block">
{foreach ['none'=>'无加密','ssl'=>'SSL','tls'=>'TLS'] as $key=>$val}
<input type="radio" name="notify_smtp_secure" value="{$key}" title="{$val}" {if $key==sysconfig('notify','notify_smtp_secure','none')}checked="" {/if}>
{/foreach}
<tip>需与端口对应:465 通常选 SSL,587 通常选 TLS,本地调试服务多为无加密。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">SMTP 账号</label>
<div class="layui-input-block">
<input type="text" name="notify_smtp_user" class="layui-input" autocomplete="off" placeholder="请输入SMTP登录账号" value="{:sysconfig('notify','notify_smtp_user')}">
<tip>SMTP 登录账号,留空则不进行 SMTP 认证(适用于本地调试等匿名服务)。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">SMTP 密码</label>
<div class="layui-input-block">
<input type="password" name="notify_smtp_pass" class="layui-input" autocomplete="new-password" placeholder="请输入SMTP登录密码" value="{:sysconfig('notify','notify_smtp_pass')}">
<tip>SMTP 登录密码或授权码,部分服务商(如QQ、163邮箱)需使用授权码而非登录密码。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发件地址</label>
<div class="layui-input-block">
<input type="text" name="notify_smtp_from" class="layui-input" placeholder="请输入发件邮箱地址" value="{:sysconfig('notify','notify_smtp_from')}">
<tip>发件人邮箱地址,未配置时缺省为 notice@localhost;真实发送需填写合法地址(如 notice@example.com),否则会被服务器拒绝。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发件人名称</label>
<div class="layui-input-block">
<input type="text" name="notify_smtp_from_name" class="layui-input" placeholder="请输入发件人名称" value="{:sysconfig('notify','notify_smtp_from_name')}">
<tip>邮件中显示的发件人名称,例如:站点通知。</tip>
</div>
</div>
<blockquote class="layui-elem-quote layui-quote-nm">短信(扩展占位,待对接)</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">短信通知</label>
<div class="layui-input-block">
{foreach ['1'=>'开启','0'=>'关闭'] as $key=>$val}
<input type="radio" name="notify_sms_enable" value="{$key}" title="{$val}" {if $key==sysconfig('notify','notify_sms_enable',0)}checked="" {/if}>
{/foreach}
<tip>短信渠道开关,默认关闭;当前为扩展占位,真实发送需完成短信服务商对接。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">短信签名</label>
<div class="layui-input-block">
<input type="text" name="notify_sms_sign" class="layui-input" autocomplete="off" placeholder="请输入短信签名" value="{:sysconfig('notify','notify_sms_sign')}">
<tip>短信服务商审核通过的签名名称,例如:某某科技。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">短信 AppID</label>
<div class="layui-input-block">
<input type="text" name="notify_sms_appid" class="layui-input" autocomplete="off" placeholder="请输入短信AppID" value="{:sysconfig('notify','notify_sms_appid')}">
<tip>短信服务商分配的应用ID。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">短信 Secret</label>
<div class="layui-input-block">
<input type="text" name="notify_sms_secret" class="layui-input" autocomplete="off" placeholder="请输入短信Secret" value="{:sysconfig('notify','notify_sms_secret')}">
<tip>短信服务商分配的密钥。</tip>
</div>
</div>
<blockquote class="layui-elem-quote layui-quote-nm">微信公众号(扩展占位,待对接)</blockquote>
<div class="layui-form-item">
<label class="layui-form-label">公众号通知</label>
<div class="layui-input-block">
{foreach ['1'=>'开启','0'=>'关闭'] as $key=>$val}
<input type="radio" name="notify_wechat_enable" value="{$key}" title="{$val}" {if $key==sysconfig('notify','notify_wechat_enable',0)}checked="" {/if}>
{/foreach}
<tip>微信公众号模板消息渠道开关,默认关闭;当前为扩展占位,真实发送需完成公众号对接。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">公众号 AppID</label>
<div class="layui-input-block">
<input type="text" name="notify_wechat_appid" class="layui-input" autocomplete="off" placeholder="请输入公众号AppID" value="{:sysconfig('notify','notify_wechat_appid')}">
<tip>微信公众号的应用ID。</tip>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">公众号 Secret</label>
<div class="layui-input-block">
<input type="text" name="notify_wechat_secret" class="layui-input" autocomplete="off" placeholder="请输入公众号Secret" value="{:sysconfig('notify','notify_wechat_secret')}">
<tip>微信公众号的应用密钥。</tip>
</div>
</div>
<div class="hr-line"></div>
<div class="layui-form-item text-center">
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="system.config/save" data-refresh="false">确认</button>
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">重置</button>
</div>
</form>