签入版本
This commit is contained in:
@@ -289,10 +289,10 @@ class CaptchaService
|
||||
|
||||
```vue
|
||||
<template>
|
||||
<el-form-item>
|
||||
<el-input v-model="form.captchaCode" placeholder="验证码" />
|
||||
<n-form-item>
|
||||
<n-input v-model:value="form.captchaCode" placeholder="验证码" />
|
||||
<img :src="captchaImage" @click="refreshCaptcha" style="cursor: pointer;" />
|
||||
</el-form-item>
|
||||
</n-form-item>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -359,38 +359,39 @@ 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>
|
||||
<n-form :model="form" :rules="rules" ref="formRef">
|
||||
<n-form-item label="用户名" path="username">
|
||||
<n-input v-model:value="form.username" placeholder="请输入用户名" />
|
||||
</n-form-item>
|
||||
|
||||
<el-form-item label="密码" prop="password">
|
||||
<el-input v-model="form.password" type="password" placeholder="请输入密码" />
|
||||
</el-form-item>
|
||||
<n-form-item label="密码" path="password">
|
||||
<n-input v-model:value="form.password" type="password" placeholder="请输入密码" />
|
||||
</n-form-item>
|
||||
|
||||
<el-form-item label="验证码" prop="code">
|
||||
<n-form-item label="验证码" path="code">
|
||||
<div style="display: flex; gap: 10px;">
|
||||
<el-input v-model="form.code" placeholder="请输入验证码"
|
||||
style="flex: 1;" @keyup.enter="handleLogin" />
|
||||
<n-input v-model:value="form.code" placeholder="请输入验证码"
|
||||
style="flex: 1;" @keyup.enter="handleLogin" />
|
||||
<img :src="captchaImage" @click="refreshCaptcha"
|
||||
style="cursor: pointer; height: 40px;" title="点击刷新" />
|
||||
</div>
|
||||
</el-form-item>
|
||||
</n-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="handleLogin" :loading="loading">
|
||||
<n-form-item>
|
||||
<n-button type="primary" @click="handleLogin" :loading="loading">
|
||||
登录
|
||||
</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</n-button>
|
||||
</n-form-item>
|
||||
</n-form>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { getCaptcha } from '@/api/common/user';
|
||||
import { useUserStore } from '@/store/modules/user';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { useMessage } from 'naive-ui';
|
||||
|
||||
const userStore = useUserStore();
|
||||
const message = useMessage();
|
||||
const router = useRouter();
|
||||
|
||||
const formRef = ref();
|
||||
@@ -424,11 +425,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 {
|
||||
|
||||
Reference in New Issue
Block a user