This commit is contained in:
Daniel
2026-04-28 11:50:55 +08:00
parent 1bbabc2a78
commit 2724e69b4f
20 changed files with 3881 additions and 554 deletions

View File

@@ -3,65 +3,151 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ app_name }} - 公众号设置</title>
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg?v=20260406a" />
<link rel="stylesheet" href="/static/style.css?v=20260410a" />
<title>{{ app_name }} - 账号与模型设置</title>
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg?v=20260428h" />
<link rel="stylesheet" href="/static/style.css?v=20260428h" />
</head>
<body class="simple-page">
<main class="simple-wrap">
<section class="panel simple-panel">
<div class="panel-head">
<h2>公众号设置</h2>
<p class="muted small">支持绑定多个公众号并切换当前发布账号。</p>
<body>
<div class="product-shell">
<aside class="side-nav" aria-label="主导航">
<div class="side-brand">
<div class="brand-lockup">
<img class="logo-mark" src="/static/favicon.svg?v=20260428h" alt="" />
<h1>{{ app_name }}</h1>
</div>
</div>
<nav class="nav-group">
<div class="nav-label">工作台</div>
<a class="nav-item" href="/">内容生产</a>
<a class="nav-item is-active" href="/settings">账号与模型</a>
<a class="nav-item" href="/guide">新手引导</a>
</nav>
<div class="side-footer">生产环境 · 内容工作流</div>
</aside>
<div class="grid2">
<div>
<label>当前账号</label>
<select id="accountSelect"></select>
<div class="workspace">
<header class="topbar topbar-compact">
<div class="topbar-actions">
<a class="icon-btn" href="/" aria-label="返回工作台" title="返回工作台"></a>
<a class="icon-btn" href="/guide" aria-label="新手引导" title="新手引导">?</a>
<button id="logoutBtn" class="icon-btn topbar-btn" type="button" aria-label="退出登录" title="退出登录"></button>
</div>
<div class="actions-inline">
<a class="subtle-link" href="/">返回主页</a>
<button id="logoutBtn" class="subtle-btn topbar-btn" type="button">退出登录</button>
</div>
</div>
</header>
<h3 class="section-title">新增公众号</h3>
<div class="grid2">
<div>
<label>账号名</label>
<input id="accountName" type="text" placeholder="如:公司主号 / 客户A号" />
</div>
<div>
<label>AppID</label>
<input id="appid" type="text" placeholder="请输入公众号 AppID" />
</div>
</div>
<div>
<label>Secret</label>
<input id="secret" type="password" placeholder="请输入公众号 Secret" />
</div>
<button id="bindBtn" class="primary" type="button">绑定并设为当前账号</button>
<main class="layout settings-layout">
<section class="panel settings-panel">
<div class="panel-scroll settings-panel-scroll">
<div class="settings-content">
<section class="settings-section settings-card">
<div>
<label>当前账号</label>
<select id="accountSelect"></select>
</div>
<h3 class="section-title">账号安全</h3>
<div class="grid2">
<div>
<label>当前密码</label>
<input id="oldPassword" type="password" placeholder="请输入当前密码" />
</div>
<div>
<label>新密码</label>
<input id="newPassword" type="password" placeholder="请输入新密码(至少 6 位)" />
</div>
</div>
<div class="actions-inline">
<a class="subtle-link" href="/auth/forgot">忘记密码提示</a>
<button id="changePwdBtn" class="secondary topbar-btn" type="button">修改密码</button>
</div>
<p id="status" class="status"></p>
</section>
</main>
<h3 class="section-title">新增公众号</h3>
<div class="grid2">
<div>
<label>账号名</label>
<input id="accountName" type="text" placeholder="如:公司主号 / 客户A号" />
</div>
<div>
<label>AppID</label>
<input id="appid" type="text" placeholder="请输入公众号 AppID" />
</div>
</div>
<div>
<label>Secret</label>
<input id="secret" type="password" placeholder="请输入公众号 Secret" />
</div>
<div class="actions">
<button id="bindBtn" class="primary" type="button">绑定并设为当前账号</button>
<button id="deleteWechatBtn" class="secondary" type="button">删除当前公众号</button>
</div>
</section>
<script src="/static/settings.js?v=20260410a"></script>
<section id="model-settings" class="settings-section settings-card">
<h3 class="section-title">AI 模型配置</h3>
<div class="grid2">
<div>
<label>当前模型</label>
<select id="modelSelect"></select>
</div>
<div class="actions-inline">
<button id="deleteModelBtn" class="secondary topbar-btn" type="button">删除当前模型</button>
</div>
</div>
<div class="grid2">
<div>
<label>配置名称</label>
<input id="modelName" type="text" placeholder="如OpenAI 生产 / 阿里云通义" />
</div>
<div>
<label>模型名</label>
<input id="modelValue" type="text" placeholder="如gpt-4.1-mini / qwen-max" />
</div>
</div>
<div class="grid2">
<div>
<label>Base URL可选</label>
<input id="baseUrl" type="text" placeholder="如https://dashscope.aliyuncs.com/compatible-mode/v1" />
</div>
<div>
<label>API Key</label>
<input id="apiKey" type="password" placeholder="请输入该模型的 API Key" />
</div>
</div>
<div class="grid2">
<div>
<label>超时秒数</label>
<input id="timeoutSec" type="number" min="10" max="600" step="1" value="120" />
</div>
<div>
<label>输出 token 上限</label>
<input id="maxOutputTokens" type="number" min="256" max="65536" step="1" value="8192" />
</div>
</div>
<div>
<label>自动重试次数</label>
<input id="maxRetries" type="number" min="0" max="5" step="1" value="0" />
</div>
<button id="saveModelBtn" class="primary" type="button">保存并设为当前模型</button>
</section>
<section id="security-settings" class="settings-section settings-card">
<h3 class="section-title">账号安全</h3>
<div class="grid2">
<div>
<label>当前密码</label>
<input id="oldPassword" type="password" placeholder="请输入当前密码" />
</div>
<div>
<label>新密码</label>
<input id="newPassword" type="password" placeholder="请输入新密码(至少 6 位)" />
</div>
</div>
<div class="actions-inline">
<a class="subtle-link" href="/auth/forgot">忘记密码提示</a>
<button id="changePwdBtn" class="secondary topbar-btn" type="button">修改密码</button>
</div>
<div class="grid2">
<div>
<label>注销校验密码</label>
<input id="deletePassword" type="password" placeholder="请输入当前登录密码" />
</div>
<div>
<label>注销校验重置码</label>
<input id="deleteResetKey" type="password" placeholder="请输入你的重置码" />
</div>
</div>
<button id="deleteAccountBtn" class="danger" type="button">注销账户</button>
<p id="status" class="status"></p>
</section>
</div>
</div>
</section>
</main>
</div>
</div>
<script src="/static/settings.js?v=20260428a"></script>
</body>
</html>