Files
gangyan/chat_web_front/src/views/login/index.vue

352 lines
8.2 KiB
Vue
Raw Normal View History

<template>
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
<div class="cassicLogin">
<!-- 背景CASSIC logo + 红金渐变 + 波纹粒子图片直接做底 -->
<div class="bgImage"></div>
<!-- 中央登录卡 -->
<div class="loginCard">
<h2 class="title">登录注册中心</h2>
<div class="titleBar"></div>
<el-form
ref="formRef"
:model="form"
:rules="rules"
hide-required-asterisk
class="form"
@submit.prevent
>
<!-- 账号 -->
<el-form-item prop="tel">
<el-input
v-model.trim="form.tel"
:placeholder="loginMode === 'sms' ? '请输入手机号' : '请输入账号'"
size="large"
>
<template #prefix>
<span class="iconBox"><el-icon><User /></el-icon></span>
</template>
</el-input>
</el-form-item>
<!-- 密码 -->
<el-form-item v-if="loginMode === 'password'" prop="password">
<el-input
v-model.trim="form.password"
type="password"
placeholder="请输入密码"
size="large"
show-password
>
<template #prefix>
<span class="iconBox"><el-icon><Lock /></el-icon></span>
</template>
</el-input>
</el-form-item>
<!-- 验证码图形 / 短信 -->
<el-form-item prop="captcha" v-if="loginMode === 'sms' || showCaptcha">
<div class="captchaRow">
<el-input
v-model.trim="form.captcha"
:placeholder="loginMode === 'sms' ? '请输入短信验证码' : '请输入验证码'"
size="large"
>
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
<template #prefix>
<span class="iconBox"><el-icon><Stamp /></el-icon></span>
</template>
</el-input>
<button
type="button"
class="captchaBtn"
:disabled="smsCountdown > 0"
@click="handleCaptcha"
>
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
{{ smsCountdown > 0 ? `${smsCountdown}s` : (loginMode === 'sms' ? '获取验证码' : '看不清') }}
</button>
</div>
</el-form-item>
<!-- 切换模式 -->
<div class="switchModeRow">
<a class="modeLink" @click="toggleMode">
{{ loginMode === 'password' ? '短信验证登录' : '账号密码登录' }}
</a>
</div>
<!-- 主登录按钮 -->
<el-button
class="primaryBtn"
:loading="submitting"
@click="handleSubmit"
>
</el-button>
<!-- 统一身份登录 -->
<el-button class="casBtn" @click="goCasLogin">
统一身份登录CASSIC
</el-button>
</el-form>
</div>
</div>
</template>
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
<script setup lang="ts">
import { onMounted, reactive, ref } from "vue";
import { useRouter } from "vue-router";
import type { FormInstance, FormRules } from "element-plus";
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
import { ElMessage } from "element-plus";
import { User, Lock, Stamp } from "@element-plus/icons-vue";
import { fetchVerify } from "@/api";
import { useAuthStore } from "@/store";
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
interface LoginForm {
tel: string;
password: string;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
captcha: string;
loginType: number;
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
const form = reactive<LoginForm>({
tel: "",
password: "",
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
captcha: "",
loginType: 3,
});
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
const formRef = ref<FormInstance>();
const router = useRouter();
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
const authStore = useAuthStore();
const submitting = ref(false);
const loginMode = ref<"password" | "sms">("password"); // password = 账号密码登录sms = 短信验证登录
const showCaptcha = ref(false); // 账号密码模式下,可选图形验证码(暂未启用,留位)
const smsCountdown = ref(0);
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
const rules = reactive<FormRules<LoginForm>>({
tel: [{ required: true, message: "请输入账号 / 手机号", trigger: "blur" }],
password: [{ required: true, message: "请输入密码", trigger: "blur" }],
});
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
const toggleMode = () => {
loginMode.value = loginMode.value === "password" ? "sms" : "password";
form.captcha = "";
};
let countdownTimer: number | null = null;
const handleCaptcha = () => {
if (loginMode.value === "sms") {
if (!form.tel) {
ElMessage.warning("请先输入手机号");
return;
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
// 触发短信发送(后端接口待联调;先做倒计时占位)
smsCountdown.value = 60;
countdownTimer = window.setInterval(() => {
smsCountdown.value -= 1;
if (smsCountdown.value <= 0 && countdownTimer) {
clearInterval(countdownTimer);
countdownTimer = null;
}
}, 1000);
ElMessage.info("短信验证码功能尚未接入后端,先用账号密码模式登录");
} else {
ElMessage.info("图形验证码暂未启用");
}
};
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
const handleSubmit = async () => {
if (!formRef.value) return;
await formRef.value.validate(async (valid) => {
if (!valid) return;
submitting.value = true;
try {
const res = await fetchVerify<{ token: string }>(form);
if (res.code === 200) {
authStore.setToken(res.data.token);
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
router.push("/welcome");
} else {
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
ElMessage.error(res.msg || "登录失败");
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
} finally {
submitting.value = false;
}
});
};
const goCasLogin = () => {
window.location.href = `/chat_web_backend/cas/login`;
};
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
// CAS 回调URL 含 cas_token → 存 token + 跳 welcome
onMounted(() => {
const params = new URLSearchParams(window.location.search);
const casToken = params.get("cas_token");
if (casToken) {
authStore.setToken(casToken);
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
window.history.replaceState(
{},
document.title,
window.location.pathname + window.location.hash.split("?")[0]
);
router.push("/welcome");
}
});
</script>
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
<style scoped lang="scss">
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.cassicLogin {
position: relative;
width: 100vw;
height: 100vh;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
overflow: hidden;
display: flex;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
align-items: center;
justify-content: center;
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.bgImage {
position: absolute;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
inset: 0;
background-image: url("../../assets/images/login/cassicLoginBg.jpg");
background-size: cover;
background-position: center;
z-index: 0;
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.loginCard {
position: relative;
z-index: 1;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
width: 460px;
padding: 40px 40px 36px;
border-radius: 8px;
background: rgba(255, 255, 255, 0.85);
box-shadow: 0 12px 40px rgba(120, 0, 0, 0.18);
backdrop-filter: blur(8px);
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.title {
margin: 0;
text-align: center;
font-size: 26px;
font-weight: 700;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
color: #c10b08;
letter-spacing: 2px;
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.titleBar {
width: 36px;
height: 3px;
background: #c10b08;
border-radius: 2px;
margin: 12px auto 28px;
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.form {
:deep(.el-form-item) {
margin-bottom: 18px;
}
:deep(.el-input__wrapper) {
border-radius: 4px;
box-shadow: 0 0 0 1px #f3d2cf inset;
background: #fff;
padding: 4px 12px;
}
:deep(.el-input__wrapper.is-focus) {
box-shadow: 0 0 0 1px #c10b08 inset;
}
}
.iconBox {
display: inline-flex;
align-items: center;
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
justify-content: center;
width: 26px;
height: 26px;
border-radius: 4px;
background: #c10b08;
color: #fff;
font-size: 14px;
font-style: normal;
margin-right: 4px;
i {
font-style: normal;
}
}
feat(login): CASSIC 红金风登录页 + 玻璃按钮欢迎页 需求: 1. 默认访问 /metalinfo 未登录时跳到 CASSIC 风格登录页 2. 登录页支持两种模式: 账号密码登录 / 统一身份登录(CAS) 3. 登录成功跳转 /welcome (原蓝色登录页布局,但右侧表单换成玻璃风"立即体验"按钮) 变更: - 新增 chat_web_front/src/views/welcome/index.vue - 复用现有蓝色 Waves + projectLogo + "聚尖端之力" 文案 - 玻璃磨砂按钮(backdrop-filter blur),圆角胶囊 + 圆形箭头 - 点击 → router.push('/chat') - 重写 chat_web_front/src/views/login/index.vue - CASSIC 红金背景图(cassicLoginBg.jpg, 1920x1080 by /Users/jayliu/gangyan/ui) - "登录注册中心" 标题 + 红色短分隔条 - 账号/密码/验证码 三段式表单 (el-icon User/Lock/Stamp) - "短信验证登录" 链接切换到 SMS 模式 - 主红登录按钮 + 次级"统一身份登录(CASSIC)"白底红边按钮 - 登录成功后 router.push('/welcome') - CAS 回调 cas_token 处理保留 - chat_web_front/src/router/index.ts: - / → 默认重定向改为 /welcome (原来到 /chat) - 新增 /welcome 路由 - 复制 ui/微信图片_20260423163044_262_1531.jpg 到 src/assets/images/login/cassicLoginBg.jpg 未做: - SMS 验证码后端接口 (loginByTel) 仅留前端倒计时占位 - 图形验证码后端 (showCaptcha 默认关) - 老素材 loginBg.png 仍由 welcome 页使用,未删 测试: - 访问 /metalinfo → 未登录跳 /login (CASSIC 红金) - 账号密码登录 / CAS 登录 → 跳 /welcome - /welcome 点"立即体验" → /chat
2026-05-07 16:17:10 +08:00
.captchaRow {
display: flex;
width: 100%;
gap: 10px;
align-items: stretch;
.el-input {
flex: 1;
}
}
.captchaBtn {
flex: 0 0 110px;
border: none;
border-radius: 4px;
background: #f3d2cf;
color: #c10b08;
font-size: 14px;
cursor: pointer;
transition: background 0.2s;
}
.captchaBtn:hover:not(:disabled) {
background: #e8b9b6;
}
.captchaBtn:disabled {
cursor: not-allowed;
opacity: 0.7;
}
.switchModeRow {
margin: 4px 0 18px;
}
.modeLink {
font-size: 13px;
color: #c10b08;
cursor: pointer;
&:hover {
text-decoration: underline;
}
}
.primaryBtn {
width: 100%;
height: 48px;
border: none;
border-radius: 4px;
background: #c10b08;
color: #fff;
font-size: 18px;
letter-spacing: 8px;
cursor: pointer;
&:hover {
background: #a30907;
}
}
.casBtn {
width: 100%;
height: 44px;
margin-top: 12px;
margin-left: 0;
border-radius: 4px;
border: 1px solid #c10b08;
background: rgba(255, 255, 255, 0.6);
color: #c10b08;
font-size: 15px;
&:hover {
background: rgba(255, 255, 255, 0.85);
border-color: #a30907;
}
}
</style>