Support login with email
This commit is contained in:
2
src/global.d.ts
vendored
2
src/global.d.ts
vendored
@@ -149,7 +149,7 @@ interface GroupVo {
|
||||
}
|
||||
|
||||
interface LoginForm {
|
||||
username: string
|
||||
account: string
|
||||
password: string
|
||||
}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ const Login: React.FC = () => {
|
||||
|
||||
const onFinish = (values: LoginForm) => {
|
||||
setIsLoggingIn(true)
|
||||
void login(values.username, values.password)
|
||||
void login(values.account, values.password)
|
||||
.then((value) => {
|
||||
const res = value.data
|
||||
const { code, data } = res
|
||||
@@ -64,7 +64,7 @@ const Login: React.FC = () => {
|
||||
case PERMISSION_LOGIN_USERNAME_PASSWORD_ERROR:
|
||||
void messageApi.error(
|
||||
<>
|
||||
<strong>用户名</strong>或<strong>密码</strong>错误,请重试
|
||||
<strong>账号</strong>或<strong>密码</strong>错误,请重试
|
||||
</>
|
||||
)
|
||||
setIsLoggingIn(false)
|
||||
@@ -114,12 +114,12 @@ const Login: React.FC = () => {
|
||||
>
|
||||
<AntdForm.Item
|
||||
className={'login-from-item'}
|
||||
name={'username'}
|
||||
rules={[{ required: true, message: '用户名为空' }]}
|
||||
name={'account'}
|
||||
rules={[{ required: true, message: '账号为空' }]}
|
||||
>
|
||||
<AntdInput
|
||||
prefix={<UserOutlined />}
|
||||
placeholder={'用户名'}
|
||||
placeholder={'邮箱/用户名'}
|
||||
disabled={isLoggingIn}
|
||||
/>
|
||||
</AntdForm.Item>
|
||||
|
||||
@@ -522,7 +522,7 @@ const User: React.FC = () => {
|
||||
getUser()
|
||||
break
|
||||
case DATABASE_DUPLICATE_KEY:
|
||||
void message.error('已存在相同用户名')
|
||||
void message.error('已存在相同用户名或邮箱')
|
||||
break
|
||||
default:
|
||||
void message.error('更新失败,请稍后重试')
|
||||
@@ -551,7 +551,7 @@ const User: React.FC = () => {
|
||||
getUser()
|
||||
break
|
||||
case DATABASE_DUPLICATE_KEY:
|
||||
void message.error('已存在相同用户名')
|
||||
void message.error('已存在相同用户名或邮箱')
|
||||
break
|
||||
default:
|
||||
void message.error('添加失败,请稍后重试')
|
||||
@@ -810,7 +810,7 @@ const User: React.FC = () => {
|
||||
<AntdForm.Item
|
||||
name={'email'}
|
||||
label={'邮箱'}
|
||||
rules={[{ whitespace: false, type: 'email' }]}
|
||||
rules={[{ required: true, whitespace: false, type: 'email' }]}
|
||||
>
|
||||
<AntdInput type={'email'} allowClear />
|
||||
</AntdForm.Item>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { URL_LOGIN, URL_LOGOUT } from '@/constants/urls.constants'
|
||||
import request from '@/services'
|
||||
|
||||
export const r_auth_login = (username: string, password: string) =>
|
||||
export const r_auth_login = (account: string, password: string) =>
|
||||
request.post<TokenVo>(URL_LOGIN, {
|
||||
username,
|
||||
account,
|
||||
password
|
||||
})
|
||||
|
||||
|
||||
@@ -65,8 +65,8 @@ export const getCaptcha = (width: number, high: number, num: number) => {
|
||||
}
|
||||
}
|
||||
|
||||
export const login = async (username: string, password: string) => {
|
||||
return await r_auth_login(username, password)
|
||||
export const login = async (account: string, password: string) => {
|
||||
return await r_auth_login(account, password)
|
||||
}
|
||||
|
||||
export const logout = async () => {
|
||||
|
||||
Reference in New Issue
Block a user