签入版本

This commit is contained in:
2026-10-10 19:17:02 +08:00
parent 3423dea03f
commit 32f941b631
232 changed files with 4264 additions and 6251 deletions
+25 -25
View File
@@ -289,10 +289,10 @@ class CaptchaService
```vue
<template>
<el-form-item>
<el-input v-model="form.captchaCode" placeholder="验证码" />
<a-form-item>
<a-input v-model:value="form.captchaCode" placeholder="验证码" allow-clear />
<img :src="captchaImage" @click="refreshCaptcha" style="cursor: pointer;" />
</el-form-item>
</a-form-item>
</template>
<script setup>
@@ -359,36 +359,36 @@ CAPTCHA_RATE_LIMIT = 20
```vue
<template>
<el-form :model="form" :rules="rules" ref="formRef">
<el-form-item label="用户名" prop="username">
<el-input v-model="form.username" placeholder="请输入用户名" />
</el-form-item>
<a-form :model="form" :rules="rules" ref="formRef">
<a-form-item label="用户名" name="username">
<a-input v-model:value="form.username" placeholder="请输入用户名" allow-clear />
</a-form-item>
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" type="password" placeholder="请输入密码" />
</el-form-item>
<a-form-item label="密码" name="password">
<a-input-password v-model:value="form.password" placeholder="请输入密码" />
</a-form-item>
<el-form-item label="验证码" prop="code">
<a-form-item label="验证码" name="code">
<div style="display: flex; gap: 10px;">
<el-input v-model="form.code" placeholder="请输入验证码"
style="flex: 1;" @keyup.enter="handleLogin" />
<a-input v-model:value="form.code" placeholder="请输入验证码"
style="flex: 1;" @keyup.enter="handleLogin" allow-clear />
<img :src="captchaImage" @click="refreshCaptcha"
style="cursor: pointer; height: 40px;" title="点击刷新" />
</div>
</el-form-item>
</a-form-item>
<el-form-item>
<el-button type="primary" @click="handleLogin" :loading="loading">
<a-form-item>
<a-button type="primary" @click="handleLogin" :loading="loading">
登录
</el-button>
</el-form-item>
</el-form>
</a-button>
</a-form-item>
</a-form>
</template>
<script setup lang="ts">
import { getCaptcha } from '@/api/common/user';
import { useUserStore } from '@/store/modules/user';
import { ElMessage } from 'element-plus';
import { message } from 'ant-design-vue';
const userStore = useUserStore();
const router = useRouter();
@@ -405,9 +405,9 @@ const form = ref({
});
const rules = {
username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
code: [{ required: true, message: '请输入验证码', trigger: 'blur' }],
username: { required: true, message: '请输入用户名', trigger: 'blur' },
password: { required: true, message: '请输入密码', trigger: 'blur' },
code: { required: true, message: '请输入验证码', trigger: 'blur' },
};
// 获取验证码
@@ -424,11 +424,11 @@ const handleLogin = async () => {
try {
await userStore.login(form.value);
ElMessage.success('登录成功');
message.success('登录成功');
router.push('/');
} catch (e: any) {
// 登录失败(包括验证码错误),刷新验证码
ElMessage.error(e.message || '登录失败');
message.error(e.message || '登录失败');
refreshCaptcha();
form.value.code = '';
} finally {