mirror of
https://github.com/skyle1995/NetworkAuth.git
synced 2026-05-25 02:24:05 +08:00
Add parameter Tips prompts
This commit is contained in:
@@ -220,6 +220,82 @@ loadScript(layuijs, function () {
|
||||
// 绑定刷新按钮点击事件
|
||||
$('#refresh-btn').on('click', handleRefresh);
|
||||
|
||||
// 统一的Tips提示功能
|
||||
// 使用事件委托避免重复绑定问题
|
||||
$(document).off('click', '[data-tips]').on('click', '[data-tips]', function() {
|
||||
var tipsType = $(this).data('tips');
|
||||
var tipsContent = getTipsContent(tipsType);
|
||||
layer.tips(tipsContent, this, {
|
||||
tips: [2, '#16b777'], // 向右显示,绿色背景
|
||||
time: 3000 // 3秒后自动关闭
|
||||
});
|
||||
});
|
||||
|
||||
// 获取Tips内容的统一函数
|
||||
function getTipsContent(type) {
|
||||
var tips = {
|
||||
// 基本信息设置 (settings.html)
|
||||
'site-title': '站点标题:网站的主标题,显示在浏览器标题栏和搜索引擎结果中',
|
||||
'site-keywords': '关键词:网站的SEO关键词,用于搜索引擎优化,多个关键词用逗号分隔',
|
||||
'site-description': '站点描述:网站的简要描述,用于SEO和搜索引擎结果展示',
|
||||
'site-logo': '站点Logo:网站的标志图片路径,建议使用SVG格式',
|
||||
// 系统配置 (settings.html)
|
||||
'maintenance-mode': '系统关闭:开启后网站将进入维护模式,普通用户无法访问',
|
||||
'default-user-role': '默认角色:新注册用户的默认权限级别,0为管理员,1为普通成员',
|
||||
'session-timeout': '会话超时:用户登录会话的有效时间,单位为秒,超时后需要重新登录',
|
||||
// 页脚与备案信息 (settings.html)
|
||||
'footer-text': '页脚文本:显示在网站底部的版权信息或其他文本',
|
||||
'icp-record': 'ICP备案:网站的ICP备案号,中国大陆网站必须显示',
|
||||
'icp-record-link': 'ICP备案链接:ICP备案号对应的查询链接,通常指向工信部备案网站',
|
||||
'psb-record': '公安备案:网站的公安备案号,部分地区要求显示',
|
||||
'psb-record-link': '公安备案链接:公安备案号对应的查询链接,通常指向公安部备案网站',
|
||||
// 应用管理相关 (apps.html)
|
||||
'app-name': '应用名称:设置应用的显示名称,用户在客户端看到的应用标识',
|
||||
'app-version': '应用版本:当前应用的版本号,用于版本控制和更新检测',
|
||||
'app-status': '应用状态:控制应用是否可用,禁用后用户无法使用该应用',
|
||||
'force-update': '强制更新:开启后用户必须更新到最新版本才能使用',
|
||||
'download-type': '更新方式:设置应用的更新下载方式,支持不同的分发渠道',
|
||||
'download-url': '下载地址:应用安装包的下载链接地址',
|
||||
// 多开配置相关 (apps.html)
|
||||
'login-type': '登录方式:设置用户登录验证的方式,如账号密码、卡密等',
|
||||
'multi-open-scope': '多开范围:设置多开功能的作用范围,如全局或特定应用',
|
||||
'clean-interval': '清理间隔:系统自动清理无效会话的时间间隔(分钟)',
|
||||
'check-interval': '校验间隔:系统检查用户状态的时间间隔(分钟)',
|
||||
'multi-open-count': '多开数量:允许用户同时运行的应用实例数量',
|
||||
// 机器验证相关 (apps.html)
|
||||
'machine-verify': '机器码验证:控制是否启用机器码验证功能,用于限制软件在特定设备上运行',
|
||||
'machine-rebind': '机器码重绑:允许用户重新绑定机器码,当设备更换或重装系统时使用',
|
||||
'machine-rebind-limit': '重绑限制:设置重绑的时间限制,每天表示每天可重绑,永久表示不限制重绑时间',
|
||||
'machine-free-count': '免费次数:用户可以免费重绑机器码的次数',
|
||||
'machine-rebind-count': '重绑次数:用户总共可以重绑机器码的次数限制',
|
||||
'machine-rebind-deduct': '重绑扣除:每次重绑机器码时扣除的时间(分钟)',
|
||||
// IP验证相关 (apps.html)
|
||||
'ip-verify': 'IP地址验证:控制是否启用IP地址验证,关闭/开启/开启(市)/开启(省)分别对应不同的验证级别',
|
||||
'ip-rebind': 'IP地址重绑:允许用户重新绑定IP地址,当网络环境变化时使用',
|
||||
'ip-rebind-limit': '重绑限制:设置IP重绑的时间限制,每天表示每天可重绑,永久表示不限制重绑时间',
|
||||
'ip-free-count': '免费次数:用户可以免费重绑IP地址的次数',
|
||||
'ip-rebind-count': '重绑次数:用户总共可以重绑IP地址的次数限制',
|
||||
'ip-rebind-deduct': '重绑扣除:每次重绑IP地址时扣除的时间(分钟)',
|
||||
// 注册设置相关 (apps.html)
|
||||
'register-enabled': '账号注册:控制是否允许新用户注册账号',
|
||||
'register-limit': '注册限制:设置注册的限制规则,如时间限制等',
|
||||
'register-limit-time': '限制时间:注册限制的时间周期,每天或永久',
|
||||
'register-count': '注册次数:在限制时间内允许注册的账号数量',
|
||||
// 试用设置相关 (apps.html)
|
||||
'trial-enabled': '领取试用:控制是否允许用户领取试用时间',
|
||||
'trial-limit-time': '限制时间:试用领取的时间限制周期',
|
||||
'trial-time': '试用时间:用户可以领取的试用时长(分钟)',
|
||||
// 用户资料相关 (user.html)
|
||||
'user-id': '用户ID:系统自动分配的唯一标识符,不可修改',
|
||||
'user-role': '用户角色:当前用户的权限级别,管理员拥有所有权限,普通成员权限有限',
|
||||
'user-username': '用户名:用于登录的用户名,可以修改但需要保证唯一性',
|
||||
'user-old-password': '旧密码:修改密码时需要输入当前密码进行验证,不修改密码时可留空',
|
||||
'user-new-password': '新密码:要设置的新密码,长度至少6位,不修改密码时可留空',
|
||||
'user-confirm-password': '确认密码:再次输入新密码进行确认,必须与新密码一致'
|
||||
};
|
||||
return tips[type] || '暂无说明';
|
||||
}
|
||||
|
||||
function routerTo({
|
||||
elem = '#router-view',
|
||||
path = 'dashboard',
|
||||
|
||||
@@ -56,31 +56,31 @@
|
||||
<form class="layui-form layui-form-pane" id="appForm">
|
||||
<input type="hidden" name="id" />
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">应用名称</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="app-name">应用名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" placeholder="请输入应用名称" autocomplete="off" class="layui-input" lay-verify="required" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">应用版本</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="app-version">应用版本</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="version" placeholder="请输入应用版本,默认1.0.0" autocomplete="off" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label">应用状态</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="app-status">应用状态</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="status" lay-skin="switch" lay-text="启用|禁用" checked>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label">强制更新</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="force-update">强制更新</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="force_update" lay-skin="switch" lay-text="开启|关闭">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label">更新方式</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="download-type">更新方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="download_type" value="0" title="不启用" checked lay-filter="downloadTypeChange">
|
||||
<input type="radio" name="download_type" value="1" title="自动更新" lay-filter="downloadTypeChange">
|
||||
@@ -88,7 +88,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="downloadUrlItem">
|
||||
<label class="layui-form-label">下载地址</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="download-url">下载地址</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="download_url" placeholder="请输入下载地址" autocomplete="off" class="layui-input" />
|
||||
</div>
|
||||
@@ -102,12 +102,225 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 隐藏的表单弹层内容:多开配置 -->
|
||||
<div id="multiConfigModal" style="display:none;padding:20px">
|
||||
<form class="layui-form layui-form-pane" lay-filter="multiConfigForm">
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="login-type">登录方式</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="login_type" value="0" title="顶号登录">
|
||||
<input type="radio" name="login_type" value="1" title="非顶号登录">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="multi-open-scope">多开范围</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="multi_open_scope" value="0" title="单设备">
|
||||
<input type="radio" name="multi_open_scope" value="1" title="单IP">
|
||||
<input type="radio" name="multi_open_scope" value="2" title="全部设备">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="clean-interval">清理间隔</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="clean_interval" class="layui-input" placeholder="请输入" lay-verify="required|number" min="1">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-text-em">小时</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-inline">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="check-interval">校验间隔</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="check_interval" class="layui-input" placeholder="请输入" lay-verify="required|number" min="1">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-text-em">分钟</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="multi-open-count">多开数量</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="multi_open_count" class="layui-input" placeholder="请输入允许的多开数量" lay-verify="required|number" min="1">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 隐藏的表单弹层内容:绑定设置 -->
|
||||
<div id="bindConfigModal" style="display:none;padding:20px">
|
||||
<form class="layui-form layui-form-pane" lay-filter="bindConfigForm">
|
||||
<!-- 机器码验证设置 -->
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>机器验证设置</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="machine-verify">机器码验证</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="machine_verify" value="0" title="关闭">
|
||||
<input type="radio" name="machine_verify" value="1" title="开启">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="machine-rebind">机器码重绑</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="machine_rebind_enabled" value="0" title="关闭">
|
||||
<input type="radio" name="machine_rebind_enabled" value="1" title="开启">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="machine-rebind-limit">重绑限制</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="machine_rebind_limit" value="0" title="每天">
|
||||
<input type="radio" name="machine_rebind_limit" value="1" title="永久">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="machine-free-count">免费次数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="machine_free_count" class="layui-input" placeholder="请输入" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="machine-rebind-count">重绑次数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="machine_rebind_count" class="layui-input" placeholder="请输入" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="machine-rebind-deduct">重绑扣除</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="machine_rebind_deduct" class="layui-input" placeholder="请输入重绑扣除时间(分钟)" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- IP地址验证设置 -->
|
||||
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
|
||||
<legend>IP地址验证设置</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="ip-verify">IP地址验证</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="ip_verify" value="0" title="关闭">
|
||||
<input type="radio" name="ip_verify" value="1" title="开启">
|
||||
<input type="radio" name="ip_verify" value="2" title="开启(市)">
|
||||
<input type="radio" name="ip_verify" value="3" title="开启(省)">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="ip-rebind">IP地址重绑</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="ip_rebind_enabled" value="0" title="关闭">
|
||||
<input type="radio" name="ip_rebind_enabled" value="1" title="开启">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="ip-rebind-limit">重绑限制</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="ip_rebind_limit" value="0" title="每天">
|
||||
<input type="radio" name="ip_rebind_limit" value="1" title="永久">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="ip-free-count">免费次数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="ip_free_count" class="layui-input" placeholder="请输入" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="ip-rebind-count">重绑次数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="ip_rebind_count" class="layui-input" placeholder="请输入" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="ip-rebind-deduct">重绑扣除</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="ip_rebind_deduct" class="layui-input" placeholder="请输入重绑扣除时间(分钟)" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- 隐藏的表单弹层内容:注册设置 -->
|
||||
<div id="registerConfigModal" style="display:none;padding:20px">
|
||||
<form class="layui-form layui-form-pane" lay-filter="registerConfigForm">
|
||||
<!-- 账号注册设置 -->
|
||||
<fieldset class="layui-elem-field layui-field-title">
|
||||
<legend>账号注册设置</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="register-enabled">账号注册</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="register_enabled" value="0" title="关闭">
|
||||
<input type="radio" name="register_enabled" value="1" title="开启">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="register-limit">注册限制</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="register_limit_enabled" value="0" title="关闭">
|
||||
<input type="radio" name="register_limit_enabled" value="1" title="开启">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="register-limit-time">限制时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="register_limit_time" value="0" title="每天">
|
||||
<input type="radio" name="register_limit_time" value="1" title="永久">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="register-count">注册次数</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="register_count" class="layui-input" placeholder="请输入" lay-verify="required|number" min="1">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 领取试用设置 -->
|
||||
<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
|
||||
<legend>领取试用设置</legend>
|
||||
</fieldset>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="trial-enabled">领取试用</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="trial_enabled" value="0" title="关闭">
|
||||
<input type="radio" name="trial_enabled" value="1" title="开启">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" pane>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="trial-limit-time">限制时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="trial_limit_time" value="0" title="每天">
|
||||
<input type="radio" name="trial_limit_time" value="1" title="永久">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="trial-time">试用时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="number" name="trial_duration" class="layui-input" placeholder="请输入试用时间(分钟)" lay-verify="number" min="0">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['table', 'form', 'layer', 'element', 'dropdown'], function() {
|
||||
// 等待layui加载完成
|
||||
function waitForLayui(callback) {
|
||||
if (typeof layui !== 'undefined') {
|
||||
callback();
|
||||
} else {
|
||||
setTimeout(() => waitForLayui(callback), 100);
|
||||
}
|
||||
}
|
||||
|
||||
waitForLayui(function() {
|
||||
layui.use(['table', 'form', 'layer', 'element', 'dropdown', 'util'], function() {
|
||||
const table = layui.table;
|
||||
const form = layui.form;
|
||||
const layer = layui.layer;
|
||||
const dropdown = layui.dropdown;
|
||||
const util = layui.util;
|
||||
const $ = layui.$;
|
||||
|
||||
// 格式化时间函数
|
||||
@@ -406,53 +619,19 @@
|
||||
url: '/admin/api/apps/get_multi_config?uuid=' + obj.data.uuid,
|
||||
type: 'GET',
|
||||
success: function(config) {
|
||||
layer.open({
|
||||
// 填充表单数据
|
||||
$('input[name="login_type"][value="' + config.login_type + '"]').prop('checked', true);
|
||||
$('input[name="multi_open_scope"][value="' + config.multi_open_scope + '"]').prop('checked', true);
|
||||
$('input[name="clean_interval"]').val(config.clean_interval);
|
||||
$('input[name="check_interval"]').val(config.check_interval);
|
||||
$('input[name="multi_open_count"]').val(config.multi_open_count);
|
||||
|
||||
// 打开静态弹窗
|
||||
var multiConfigIndex = layer.open({
|
||||
type: 1,
|
||||
title: '多开配置 - ' + obj.data.name,
|
||||
area: ['550px', '450px'],
|
||||
content: '<div style="padding: 20px;">' +
|
||||
'<form class="layui-form layui-form-pane" lay-filter="multiConfigForm">' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">登录方式</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="login_type" value="0" title="顶号登录" ' + (config.login_type === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="login_type" value="1" title="非顶号登录" ' + (config.login_type === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">多开范围</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="multi_open_scope" value="0" title="单电脑" ' + (config.multi_open_scope === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="multi_open_scope" value="1" title="单IP" ' + (config.multi_open_scope === 1 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="multi_open_scope" value="2" title="全部电脑" ' + (config.multi_open_scope === 2 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<div class="layui-inline">' +
|
||||
'<label class="layui-form-label">清理间隔</label>' +
|
||||
'<div class="layui-input-inline">' +
|
||||
'<input type="number" name="clean_interval" class="layui-input" value="' + config.clean_interval + '" placeholder="请输入" lay-verify="required|number" min="1">' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-mid layui-text-em">小时</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<div class="layui-inline">' +
|
||||
'<label class="layui-form-label">校验间隔</label>' +
|
||||
'<div class="layui-input-inline">' +
|
||||
'<input type="number" name="check_interval" class="layui-input" value="' + config.check_interval + '" placeholder="请输入" lay-verify="required|number" min="1">' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-mid layui-text-em">分钟</div>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">多开数量</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="multi_open_count" class="layui-input" value="' + config.multi_open_count + '" placeholder="请输入允许的多开数量" lay-verify="required|number" min="1">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'</form>' +
|
||||
'</div>',
|
||||
content: $('#multiConfigModal'),
|
||||
btn: ['保存', '取消'],
|
||||
yes: function(index, layero) {
|
||||
var formData = {
|
||||
@@ -563,121 +742,42 @@
|
||||
url: '/admin/api/apps/get_bind_config?uuid=' + obj.data.uuid,
|
||||
type: 'GET',
|
||||
success: function(config) {
|
||||
layer.open({
|
||||
// 填充表单数据
|
||||
$('#bindConfigModal input[name="machine_verify"][value="' + config.machine_verify + '"]').prop('checked', true);
|
||||
$('#bindConfigModal input[name="machine_rebind_enabled"][value="' + config.machine_rebind_enabled + '"]').prop('checked', true);
|
||||
$('#bindConfigModal input[name="machine_rebind_limit"][value="' + config.machine_rebind_limit + '"]').prop('checked', true);
|
||||
$('#bindConfigModal input[name="machine_free_count"]').val(config.machine_free_count);
|
||||
$('#bindConfigModal input[name="machine_rebind_count"]').val(config.machine_rebind_count);
|
||||
$('#bindConfigModal input[name="machine_rebind_deduct"]').val(config.machine_rebind_deduct);
|
||||
$('#bindConfigModal input[name="ip_verify"][value="' + config.ip_verify + '"]').prop('checked', true);
|
||||
$('#bindConfigModal input[name="ip_rebind_enabled"][value="' + config.ip_rebind_enabled + '"]').prop('checked', true);
|
||||
$('#bindConfigModal input[name="ip_rebind_limit"][value="' + config.ip_rebind_limit + '"]').prop('checked', true);
|
||||
$('#bindConfigModal input[name="ip_free_count"]').val(config.ip_free_count);
|
||||
$('#bindConfigModal input[name="ip_rebind_count"]').val(config.ip_rebind_count);
|
||||
$('#bindConfigModal input[name="ip_rebind_deduct"]').val(config.ip_rebind_deduct);
|
||||
|
||||
// 打开静态弹窗
|
||||
var bindConfigIndex = layer.open({
|
||||
type: 1,
|
||||
title: '绑定设置 - ' + obj.data.name,
|
||||
area: ['650px', '600px'],
|
||||
content: '<div style="padding: 20px;">' +
|
||||
'<form class="layui-form layui-form-pane" lay-filter="bindConfigForm">' +
|
||||
|
||||
// 机器码验证设置
|
||||
'<fieldset class="layui-elem-field layui-field-title">' +
|
||||
'<legend>机器验证设置</legend>' +
|
||||
'</fieldset>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">机器码验证</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="machine_verify" value="0" title="关闭" ' + (config.machine_verify === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="machine_verify" value="1" title="开启" ' + (config.machine_verify === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">机器码重绑</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="machine_rebind_enabled" value="0" title="关闭" ' + (config.machine_rebind_enabled === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="machine_rebind_enabled" value="1" title="开启" ' + (config.machine_rebind_enabled === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">重绑限制</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="machine_rebind_limit" value="0" title="每天" ' + (config.machine_rebind_limit === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="machine_rebind_limit" value="1" title="永久" ' + (config.machine_rebind_limit === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">免费次数</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="machine_free_count" class="layui-input" value="' + config.machine_free_count + '" placeholder="请输入" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">重绑次数</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="machine_rebind_count" class="layui-input" value="' + config.machine_rebind_count + '" placeholder="请输入" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">重绑扣除</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="machine_rebind_deduct" class="layui-input" value="' + config.machine_rebind_deduct + '" placeholder="请输入重绑扣除时间(分钟)" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
|
||||
// IP地址验证设置
|
||||
'<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">' +
|
||||
'<legend>IP地址验证设置</legend>' +
|
||||
'</fieldset>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">IP地址验证</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="ip_verify" value="0" title="关闭" ' + (config.ip_verify === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="ip_verify" value="1" title="开启" ' + (config.ip_verify === 1 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="ip_verify" value="2" title="开启(市)" ' + (config.ip_verify === 2 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="ip_verify" value="3" title="开启(省)" ' + (config.ip_verify === 3 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">IP地址重绑</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="ip_rebind_enabled" value="0" title="关闭" ' + (config.ip_rebind_enabled === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="ip_rebind_enabled" value="1" title="开启" ' + (config.ip_rebind_enabled === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">重绑限制</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="ip_rebind_limit" value="0" title="每天" ' + (config.ip_rebind_limit === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="ip_rebind_limit" value="1" title="永久" ' + (config.ip_rebind_limit === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">免费次数</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="ip_free_count" class="layui-input" value="' + config.ip_free_count + '" placeholder="请输入" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">重绑次数</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="ip_rebind_count" class="layui-input" value="' + config.ip_rebind_count + '" placeholder="请输入" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">重绑扣除</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="ip_rebind_deduct" class="layui-input" value="' + config.ip_rebind_deduct + '" placeholder="请输入重绑扣除时间(分钟)" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
|
||||
'</form>' +
|
||||
'</div>',
|
||||
content: $('#bindConfigModal'),
|
||||
btn: ['保存', '取消'],
|
||||
yes: function(index, layero) {
|
||||
var formData = {
|
||||
uuid: obj.data.uuid,
|
||||
machine_verify: parseInt($('input[name="machine_verify"]:checked').val()),
|
||||
machine_rebind_enabled: parseInt($('input[name="machine_rebind_enabled"]:checked').val()),
|
||||
machine_rebind_limit: parseInt($('input[name="machine_rebind_limit"]:checked').val()),
|
||||
machine_free_count: parseInt($('input[name="machine_free_count"]').val()) || 0,
|
||||
machine_rebind_count: parseInt($('input[name="machine_rebind_count"]').val()) || 0,
|
||||
machine_rebind_deduct: parseInt($('input[name="machine_rebind_deduct"]').val()) || 0,
|
||||
ip_verify: parseInt($('input[name="ip_verify"]:checked').val()),
|
||||
ip_rebind_enabled: parseInt($('input[name="ip_rebind_enabled"]:checked').val()),
|
||||
ip_rebind_limit: parseInt($('input[name="ip_rebind_limit"]:checked').val()),
|
||||
ip_free_count: parseInt($('input[name="ip_free_count"]').val()) || 0,
|
||||
ip_rebind_count: parseInt($('input[name="ip_rebind_count"]').val()) || 0,
|
||||
ip_rebind_deduct: parseInt($('input[name="ip_rebind_deduct"]').val()) || 0
|
||||
machine_verify: parseInt($('#bindConfigModal input[name="machine_verify"]:checked').val()),
|
||||
machine_rebind_enabled: parseInt($('#bindConfigModal input[name="machine_rebind_enabled"]:checked').val()),
|
||||
machine_rebind_limit: parseInt($('#bindConfigModal input[name="machine_rebind_limit"]:checked').val()),
|
||||
machine_free_count: parseInt($('#bindConfigModal input[name="machine_free_count"]').val()) || 0,
|
||||
machine_rebind_count: parseInt($('#bindConfigModal input[name="machine_rebind_count"]').val()) || 0,
|
||||
machine_rebind_deduct: parseInt($('#bindConfigModal input[name="machine_rebind_deduct"]').val()) || 0,
|
||||
ip_verify: parseInt($('#bindConfigModal input[name="ip_verify"]:checked').val()),
|
||||
ip_rebind_enabled: parseInt($('#bindConfigModal input[name="ip_rebind_enabled"]:checked').val()),
|
||||
ip_rebind_limit: parseInt($('#bindConfigModal input[name="ip_rebind_limit"]:checked').val()),
|
||||
ip_free_count: parseInt($('#bindConfigModal input[name="ip_free_count"]').val()) || 0,
|
||||
ip_rebind_count: parseInt($('#bindConfigModal input[name="ip_rebind_count"]').val()) || 0,
|
||||
ip_rebind_deduct: parseInt($('#bindConfigModal input[name="ip_rebind_deduct"]').val()) || 0
|
||||
};
|
||||
|
||||
// 验证数据
|
||||
@@ -745,83 +845,32 @@
|
||||
url: '/admin/api/apps/get_register_config?uuid=' + obj.data.uuid,
|
||||
type: 'GET',
|
||||
success: function(config) {
|
||||
layer.open({
|
||||
// 填充表单数据
|
||||
$('#registerConfigModal input[name="register_enabled"][value="' + config.register_enabled + '"]').prop('checked', true);
|
||||
$('#registerConfigModal input[name="register_limit_enabled"][value="' + config.register_limit_enabled + '"]').prop('checked', true);
|
||||
$('#registerConfigModal input[name="register_limit_time"][value="' + config.register_limit_time + '"]').prop('checked', true);
|
||||
$('#registerConfigModal input[name="register_count"]').val(config.register_count);
|
||||
$('#registerConfigModal input[name="trial_enabled"][value="' + config.trial_enabled + '"]').prop('checked', true);
|
||||
$('#registerConfigModal input[name="trial_limit_time"][value="' + config.trial_limit_time + '"]').prop('checked', true);
|
||||
$('#registerConfigModal input[name="trial_duration"]').val(config.trial_duration);
|
||||
|
||||
// 打开静态弹窗
|
||||
var registerConfigIndex = layer.open({
|
||||
type: 1,
|
||||
title: '注册设置 - ' + obj.data.name,
|
||||
area: ['550px', '500px'],
|
||||
content: '<div style="padding: 20px;">' +
|
||||
'<form class="layui-form layui-form-pane" lay-filter="registerConfigForm">' +
|
||||
|
||||
// 账号注册设置
|
||||
'<fieldset class="layui-elem-field layui-field-title">' +
|
||||
'<legend>账号注册设置</legend>' +
|
||||
'</fieldset>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">账号注册</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="register_enabled" value="0" title="关闭" ' + (config.register_enabled === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="register_enabled" value="1" title="开启" ' + (config.register_enabled === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">注册限制</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="register_limit_enabled" value="0" title="关闭" ' + (config.register_limit_enabled === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="register_limit_enabled" value="1" title="开启" ' + (config.register_limit_enabled === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">限制时间</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="register_limit_time" value="0" title="每天" ' + (config.register_limit_time === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="register_limit_time" value="1" title="永久" ' + (config.register_limit_time === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">注册次数</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="register_count" class="layui-input" value="' + config.register_count + '" placeholder="请输入" lay-verify="required|number" min="1">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
|
||||
// 领取试用设置
|
||||
'<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">' +
|
||||
'<legend>领取试用设置</legend>' +
|
||||
'</fieldset>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">领取试用</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="trial_enabled" value="0" title="关闭" ' + (config.trial_enabled === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="trial_enabled" value="1" title="开启" ' + (config.trial_enabled === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item" pane>' +
|
||||
'<label class="layui-form-label">限制时间</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="radio" name="trial_limit_time" value="0" title="每天" ' + (config.trial_limit_time === 0 ? 'checked' : '') + '>' +
|
||||
'<input type="radio" name="trial_limit_time" value="1" title="永久" ' + (config.trial_limit_time === 1 ? 'checked' : '') + '>' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
'<div class="layui-form-item">' +
|
||||
'<label class="layui-form-label">试用时间</label>' +
|
||||
'<div class="layui-input-block">' +
|
||||
'<input type="number" name="trial_duration" class="layui-input" value="' + config.trial_duration + '" placeholder="请输入试用时间(分钟)" lay-verify="number" min="0">' +
|
||||
'</div>' +
|
||||
'</div>' +
|
||||
|
||||
'</form>' +
|
||||
'</div>',
|
||||
content: $('#registerConfigModal'),
|
||||
btn: ['保存', '取消'],
|
||||
yes: function(index, layero) {
|
||||
var formData = {
|
||||
uuid: obj.data.uuid,
|
||||
register_enabled: parseInt($('input[name="register_enabled"]:checked').val()),
|
||||
register_limit_enabled: parseInt($('input[name="register_limit_enabled"]:checked').val()),
|
||||
register_limit_time: parseInt($('input[name="register_limit_time"]:checked').val()),
|
||||
register_count: parseInt($('input[name="register_count"]').val()) || 1,
|
||||
trial_enabled: parseInt($('input[name="trial_enabled"]:checked').val()),
|
||||
trial_limit_time: parseInt($('input[name="trial_limit_time"]:checked').val()),
|
||||
trial_duration: parseInt($('input[name="trial_duration"]').val()) || 0
|
||||
register_enabled: parseInt($('#registerConfigModal input[name="register_enabled"]:checked').val()),
|
||||
register_limit_enabled: parseInt($('#registerConfigModal input[name="register_limit_enabled"]:checked').val()),
|
||||
register_limit_time: parseInt($('#registerConfigModal input[name="register_limit_time"]:checked').val()),
|
||||
register_count: parseInt($('#registerConfigModal input[name="register_count"]').val()) || 1,
|
||||
trial_enabled: parseInt($('#registerConfigModal input[name="trial_enabled"]:checked').val()),
|
||||
trial_limit_time: parseInt($('#registerConfigModal input[name="trial_limit_time"]:checked').val()),
|
||||
trial_duration: parseInt($('#registerConfigModal input[name="trial_duration"]').val()) || 0
|
||||
};
|
||||
|
||||
// 验证数据
|
||||
@@ -987,6 +1036,9 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Tips提示功能已移至admin.js统一管理
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</section>
|
||||
|
||||
@@ -8,25 +8,25 @@
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" id="basicForm">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">站点标题</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="site-title">站点标题</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_title" lay-verify="required" placeholder="请输入站点标题" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">关键词</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="site-keywords">关键词</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_keywords" placeholder="请输入站点关键词,多个关键词用逗号分隔" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">站点描述</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="site-description">站点描述</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="site_description" placeholder="请输入站点描述" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">站点Logo</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="site-logo">站点Logo</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="site_logo" placeholder="/assets/logo.svg" class="layui-input" />
|
||||
</div>
|
||||
@@ -41,7 +41,7 @@
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" id="systemForm">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">关闭系统</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="maintenance-mode">关闭系统</label>
|
||||
<div class="layui-input-block">
|
||||
<div style="display: flex; align-items: center; justify-content: flex-start; gap: 10px;">
|
||||
<input type="checkbox" name="maintenance_mode" lay-skin="switch" lay-text="关闭系统|开启系统" title="关闭系统|开启系统">
|
||||
@@ -49,7 +49,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">默认角色</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="default-user-role">默认角色</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="default_user_role">
|
||||
<option value="0">管理员</option>
|
||||
@@ -58,7 +58,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">会话超时</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="session-timeout">会话超时</label>
|
||||
<div class="layui-input-block">
|
||||
<div style="display: flex; align-items: center; gap: 10px;">
|
||||
<input type="number" name="session_timeout" placeholder="3600" min="300" max="86400" class="layui-input" style="width: 120px;" />
|
||||
@@ -77,31 +77,31 @@
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" id="footerForm">
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">页脚文本</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="footer-text">页脚文本</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea name="footer_text" placeholder="© 2025 凌动技术 保留所有权利" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">ICP备案</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="icp-record">ICP备案</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="icp_record" placeholder="京ICP备12345678号" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">备案链接</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="icp-record-link">备案链接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="url" name="icp_record_link" placeholder="https://beian.miit.gov.cn" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">公安备案</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="psb-record">公安备案</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="psb_record" placeholder="京公网安备11010802012345号" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">备案链接</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="psb-record-link">备案链接</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="url" name="psb_record_link" placeholder="http://www.beian.gov.cn/portal/registerSystemInfo" class="layui-input" />
|
||||
</div>
|
||||
@@ -120,8 +120,18 @@
|
||||
</section>
|
||||
|
||||
<script>
|
||||
layui.use(['jquery', 'form', 'layer'], function() {
|
||||
const { $, form, layer } = layui;
|
||||
// 等待layui加载完成
|
||||
function waitForLayui(callback) {
|
||||
if (typeof layui !== 'undefined') {
|
||||
callback();
|
||||
} else {
|
||||
setTimeout(() => waitForLayui(callback), 100);
|
||||
}
|
||||
}
|
||||
|
||||
waitForLayui(function() {
|
||||
layui.use(['jquery', 'form', 'layer', 'util'], function() {
|
||||
const { $, form, layer, util } = layui;
|
||||
|
||||
// 缓存上次加载的设置值,用于“重置”恢复
|
||||
let originalSettings = {};
|
||||
@@ -272,6 +282,7 @@
|
||||
|
||||
// 初始化:加载设置
|
||||
loadSettings();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
@@ -5,29 +5,29 @@
|
||||
<form class="layui-form" id="accountForm" lay-filter="accountForm" onsubmit="return false">
|
||||
<!-- 按照要求纵向排序:ID、角色、用户名、旧密码、新密码、确认新密码 -->
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">ID</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="user-id">ID</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="id" disabled readonly class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">角色</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="user-role">角色</label>
|
||||
<div class="layui-input-block">
|
||||
<!-- 角色禁用与只读,仅作展示用途,显示中文标签“管理员/普通成员” -->
|
||||
<!-- 角色禁用与只读,仅作展示用途,显示中文标签"管理员/普通成员" -->
|
||||
<input type="text" name="role" disabled readonly class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户名</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="user-username">用户名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="username" placeholder="请输入用户名(不修改可留空或保持不变)" autocomplete="off" class="layui-input" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">旧密码</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="user-old-password">旧密码</label>
|
||||
<div class="layui-input-block">
|
||||
<!-- 不修改密码时可留空 -->
|
||||
<input type="password" name="old_password" placeholder="不修改可留空" autocomplete="off" class="layui-input">
|
||||
@@ -35,7 +35,7 @@
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">新密码</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="user-new-password">新密码</label>
|
||||
<div class="layui-input-block">
|
||||
<!-- 不修改密码时可留空 -->
|
||||
<input type="password" name="new_password" placeholder="不修改可留空(至少6位)" autocomplete="off" class="layui-input">
|
||||
@@ -43,7 +43,7 @@
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">确认密码</label>
|
||||
<label class="layui-form-label" style="cursor: pointer;" data-tips="user-confirm-password">确认密码</label>
|
||||
<div class="layui-input-block">
|
||||
<!-- 不修改密码时可留空 -->
|
||||
<input type="password" name="confirm_password" placeholder="不修改可留空" autocomplete="off" class="layui-input">
|
||||
|
||||
Reference in New Issue
Block a user