Add Aliyun SMS settings and refresh admin login
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user