no message

This commit is contained in:
yinjun.chen1
2026-09-14 14:40:59 +08:00
parent 1eef16a332
commit 54b2a470c2
5 changed files with 385 additions and 119 deletions
+65 -54
View File
@@ -28,23 +28,21 @@
<div class="container" id="mainContainer" style="display:none;">
<header>
<button type="button" id="lockBtn" class="btn-lock" title="锁定(清除内存中的明文)">🔒</button>
<div class="header-title">
<img src="icons/icon128.png" alt="logo" class="header-logo">
<h1>Auto Login Manager</h1>
<button type="button" id="lockBtn" class="btn-lock" title="锁定(清除内存中的明文)">🔒 锁定</button>
</div>
<div class="env-bar">
<label class="env-label">当前环境</label>
<div class="env-controls">
<select id="envSelect" class="env-select"></select>
<button type="button" id="addEnvBtn" class="btn-env" title="新建环境">+</button>
<button type="button" id="renameEnvBtn" class="btn-env" title="重命名当前环境">✎</button>
<button type="button" id="deleteEnvBtn" class="btn-env btn-env-danger" title="删除当前环境">🗑</button>
<button type="button" id="envManageBtn" class="btn-env" title="管理环境(新建 / 重命名 / 删除)">⚙</button>
</div>
</div>
</header>
<section class="add-section">
<section class="add-section" id="addSection">
<h2>添加域名配置</h2>
<div class="form-group">
<label for="domain">域名 / URL 匹配规则</label>
@@ -54,11 +52,6 @@
</div>
<small>支持通配符 *。带 / 时按 hostname+path 匹配,如 oa.com/login/*;不带 / 时只匹配域名</small>
</div>
<div class="form-group">
<label for="alias">别名(可选)</label>
<input type="text" id="alias" placeholder="例如: 公司OA、GitLab、邮箱">
<small>方便识别该配置,留空则显示域名</small>
</div>
<div class="form-group">
<label for="username">用户名</label>
<input type="text" id="username" placeholder="输入用户名">
@@ -70,57 +63,62 @@
<button class="toggle-pwd" type="button" data-target="password">显示</button>
</div>
</div>
<div class="form-row">
<div class="form-group form-group-inline">
<label for="autoSubmit">自动提交登录</label>
<select id="autoSubmit">
<option value="true">是 - 自动点击登录按钮</option>
<option value="false">否 - 仅填充不提交</option>
</select>
</div>
<div class="form-group form-group-inline">
<label for="enabled">启用</label>
<label class="toggle-switch">
<input type="checkbox" id="enabled" checked>
<span class="toggle-slider"></span>
</label>
<small>关闭后该配置不再参与匹配(保留数据)</small>
</div>
</div>
<div class="form-group">
<label for="delayMs">填充延迟(毫秒,可选)</label>
<input type="number" id="delayMs" min="0" max="10000" step="100" placeholder="留空=默认 300ms,可填 500-2000 用于 SPA 页面">
<small>某些页面(Ant Design、ASP.NET)需 JS 初始化,立即填充会失效</small>
<label for="alias">别名(可选)</label>
<input type="text" id="alias" placeholder="例如: 公司OA、GitLab、邮箱">
<small>方便识别该配置,留空则显示域名</small>
</div>
<details class="selector-help">
<summary>高级选项:自定义输入框和登录按钮位置(选填)</summary>
<div class="selector-help-body">
<p class="help-tip">下面三项通常<strong>留空即可</strong>,插件会自动找到登录框。只有当自动填充失败、或填错位置时才需要填。</p>
<p class="help-step">1. 在登录页面按 <kbd>F12</kbd> 打开开发者工具,切到"Elements(元素)"标签</p>
<p class="help-step">2. 点开发者工具左上角的 <span class="icon-arrow">箭头图标</span>,再去点页面上的输入框/按钮</p>
<p class="help-step">3. 工具会跳到对应的 HTML 行,在 <code>&lt;input&gt;</code> 或 <code>&lt;button&gt;</code> 标签上看 <code>id</code>、<code>name</code>、<code>class</code>、<code>type</code> 属性</p>
<p class="help-step">4. 按 <span class="rule-tag">#id</span>、<span class="rule-tag">.class</span>、<span class="rule-tag">[name=xxx]</span>、<span class="rule-tag">tag[属性=值]</span> 规则组合填写即可</p>
<details class="advanced-options">
<summary>高级选项(选填,默认即可)</summary>
<div class="advanced-options-body">
<div class="form-group">
<label for="autoSubmit">自动提交登录</label>
<select id="autoSubmit">
<option value="true">是 - 自动点击登录按钮</option>
<option value="false">否 - 仅填充不提交</option>
</select>
</div>
<div class="form-group">
<label for="enabled">启用 / 禁用</label>
<label class="toggle-switch">
<input type="checkbox" id="enabled" checked>
<span class="toggle-slider"></span>
</label>
<small>禁用后该条配置将不会生效</small>
</div>
<div class="form-group">
<label for="delayMs">填充延迟(毫秒,可选)</label>
<input type="number" id="delayMs" min="0" max="10000" step="100" placeholder="留空=默认 300ms,可填 500-2000 用于 SPA 页面">
<small>某些页面(Ant Design、ASP.NET)需 JS 初始化,立即填充会失效</small>
</div>
<div class="selector-tutorial">
<p class="help-tip">下面三项通常<strong>留空即可</strong>,插件会自动找到登录框。只有当自动填充失败、或填错位置时才需要填。</p>
<p class="help-step">1. 在登录页面按 <kbd>F12</kbd> 打开开发者工具,切到"Elements(元素)"标签</p>
<p class="help-step">2. 点开发者工具左上角的 <span class="icon-arrow">箭头图标</span>,再去点页面上的输入框/按钮</p>
<p class="help-step">3. 工具会跳到对应的 HTML 行,在 <code>&lt;input&gt;</code> 或 <code>&lt;button&gt;</code> 标签上看 <code>id</code>、<code>name</code>、<code>class</code>、<code>type</code> 属性</p>
<p class="help-step">4. 按 <span class="rule-tag">#id</span>、<span class="rule-tag">.class</span>、<span class="rule-tag">[name=xxx]</span>、<span class="rule-tag">tag[属性=值]</span> 规则组合填写即可</p>
</div>
<div class="form-group">
<label>用户名输入框位置</label>
<input type="text" id="usernameSelector" placeholder="留空=自动查找,如 #username 或 input[name=account]">
<small>留空即可。填错会导致用户名填不进框。</small>
</div>
<div class="form-group">
<label>密码输入框位置</label>
<input type="text" id="passwordSelector" placeholder="留空=自动查找,如 #password 或 input[type=password]">
<small>留空即可。填错会导致密码填不进框。</small>
</div>
<div class="form-group">
<label>登录按钮位置</label>
<input type="text" id="submitSelector" placeholder="留空=自动查找,如 #loginBtn 或 button[type=submit]">
<small>留空即可。填错会导致不会自动点击登录。</small>
</div>
</div>
</details>
<div class="form-group">
<label>用户名输入框位置</label>
<input type="text" id="usernameSelector" placeholder="留空=自动查找,如 #username 或 input[name=account]">
<small>留空即可。填错会导致用户名填不进框。</small>
</div>
<div class="form-group">
<label>密码输入框位置</label>
<input type="text" id="passwordSelector" placeholder="留空=自动查找,如 #password 或 input[type=password]">
<small>留空即可。填错会导致密码填不进框。</small>
</div>
<div class="form-group">
<label>登录按钮位置</label>
<input type="text" id="submitSelector" placeholder="留空=自动查找,如 #loginBtn 或 button[type=submit]">
<small>留空即可。填错会导致不会自动点击登录。</small>
</div>
<button id="addBtn" class="btn-primary">添加配置</button>
</section>
<section class="list-section">
<section class="list-section" id="listSection">
<div class="list-header">
<h2>已配置域名</h2>
<div class="list-actions">
@@ -144,6 +142,19 @@
<div id="toast" class="toast"></div>
<!-- 环境管理对话框:列出所有环境,每行带编辑/删除,底部新建按钮 -->
<div id="envManageModal" class="modal">
<div class="modal-content">
<h3>环境管理</h3>
<div id="envManageList" class="env-manage-list"></div>
<div class="modal-warn" id="envManageWarn" style="display:none;"></div>
<div class="modal-actions">
<button type="button" id="envManageClose" class="btn-edit">关闭</button>
<button type="button" id="envManageAdd" class="btn-primary">+ 新建环境</button>
</div>
</div>
</div>
<div id="envModal" class="modal">
<div class="modal-content">
<h3 id="envModalTitle">新建环境</h3>