Add Aliyun SMS settings and refresh admin login

This commit is contained in:
2026-07-09 11:02:26 +08:00
parent d78d0ea75f
commit c86b517063
7 changed files with 410 additions and 35 deletions

View File

@@ -233,6 +233,54 @@ const systemSettingSections: SystemSettingSection[] = [
placeholder: "例如 123456",
description: "mock 短信开启时使用的固定验证码。",
},
{
key: "aliyun_sms_access_key_id",
label: "阿里云 AccessKey ID",
type: "password",
defaultValue: "",
placeholder: "请输入 RAM 用户 AccessKey ID",
description: "关闭 mock 短信后用于调用阿里云短信服务。",
},
{
key: "aliyun_sms_access_key_secret",
label: "阿里云 AccessKey Secret",
type: "password",
defaultValue: "",
placeholder: "请输入 RAM 用户 AccessKey Secret",
description: "敏感配置,建议使用最小权限 RAM 用户。",
},
{
key: "aliyun_sms_sign_name",
label: "阿里云短信签名",
type: "text",
defaultValue: "",
placeholder: "例如 某某课堂",
description: "需与阿里云短信控制台审核通过的签名一致。",
},
{
key: "aliyun_sms_template_code",
label: "阿里云模板 Code",
type: "text",
defaultValue: "",
placeholder: "例如 SMS_123456789",
description: "验证码短信模板 Code。",
},
{
key: "aliyun_sms_template_param_key",
label: "验证码变量名",
type: "text",
defaultValue: "code",
placeholder: "默认 code",
description: "模板中验证码变量名,例如模板变量为 ${code} 时填写 code。",
},
{
key: "aliyun_sms_endpoint",
label: "阿里云短信 Endpoint",
type: "text",
defaultValue: "dysmsapi.aliyuncs.com",
placeholder: "dysmsapi.aliyuncs.com",
description: "一般保持默认值即可。",
},
{
key: "default_user_name_prefix",
label: "默认用户名前缀",
@@ -984,19 +1032,41 @@ function buildChatQuery() {
<template>
<main v-if="!admin" class="login-page">
<section class="login-box">
<div class="brand">AI</div>
<h1>AI 知识库后台</h1>
<p>用于维护用户知识库Agent模型和审计记录</p>
<el-form label-position="top" @submit.prevent="login">
<el-form-item label="管理员账号">
<el-input v-model="loginForm.username" />
</el-form-item>
<el-form-item label="密码">
<el-input v-model="loginForm.password" type="password" show-password />
</el-form-item>
<el-button type="primary" :loading="loading" class="full-btn" @click="login">登录</el-button>
</el-form>
<section class="login-hero">
<div class="login-hero-main">
<div class="login-brand">
<span>AI</span>
<strong>知识库管理后台</strong>
</div>
<h1>让知识库Agent 和用户运营保持在同一个控制台里</h1>
<p>统一维护学员知识库模型配置问答记录和系统运行参数方便排查与交接</p>
<div class="login-highlights">
<span>知识库运营</span>
<span>Agent 调试</span>
<span>记录审计</span>
</div>
</div>
<section class="login-card">
<div class="login-card-head">
<h2>管理员登录</h2>
<p>请输入后台管理员账号和密码</p>
</div>
<el-form label-position="top" @submit.prevent="login">
<el-form-item label="管理员账号">
<el-input v-model="loginForm.username" size="large" placeholder="请输入管理员账号" />
</el-form-item>
<el-form-item label="密码">
<el-input
v-model="loginForm.password"
size="large"
type="password"
placeholder="请输入密码"
show-password
/>
</el-form-item>
<el-button type="primary" :loading="loading" class="full-btn login-submit" @click="login">登录后台</el-button>
</el-form>
</section>
</section>
</main>