muxi feng
修复编译报错
9f614f8
import { ErrorBoundary } from "./error";
import Locale, { AllLangs, changeLang, getLang } from "../locales";
import ChatIcon from "../icons/chatgpt.svg";
import styles from "./login.module.scss";
import { IconButton } from "./button";
import { useUserStore } from "../store";
import { Component, useCallback, useEffect, useState } from "react";
import Image from "next/image";
import { encrypt } from "../rsaEncrypt";
export function Login() {
const userStore = useUserStore();
const [user, setUser] = useState("");
const [status, setStatus] = useState("");
const [password, setPassword] = useState("");
const [code, setCode] = useState("");
const [img, setImg] = useState("");
const onUser = (text: string) => {
setUser(text);
};
const onPassword = (text: string) => {
setPassword(text);
};
const onCode = (text: string) => {
setCode(text);
};
const loginTo = async () => {
setStatus("false");
await userStore.login(user, String(encrypt(password)), code);
setTimeout(() => {
setStatus("");
}, 4000);
getCode();
};
async function getCode() {
let img = await userStore.getCode();
setImg(img);
}
useEffect(() => {
getCode()
}, []);
return (
<ErrorBoundary>
<div className="window-header">
<div className="window-header-title">
<div className="window-header-main-title">{Locale.User.Login}</div>
<div className="window-header-sub-title">
{Locale.User.LoginTitle}
</div>
</div>
</div>
<div>
<div className={styles.login}>
<div>
<ChatIcon></ChatIcon>
</div>
<div>
<input
type="input"
className={styles.name}
placeholder={Locale.User.User}
onInput={(e) => onUser(e.currentTarget.value)}
value={user}
></input>
</div>
<div>
<input
type="password"
className={styles.password}
placeholder={Locale.User.Password}
onInput={(e) => onPassword(e.currentTarget.value)}
value={password}
></input>
</div>
<div>
<div className={styles.codeImg}>
<input
type="input"
className={styles.code}
placeholder={Locale.User.Code}
onInput={(e) => onCode(e.currentTarget.value)}
value={code}
></input>
<Image
src={img}
alt="验证码"
width={80}
height={40}
onClick={getCode}
></Image>
</div>
</div>
<div>
<span className={styles.wangji}>
<a href="/#/findpwd">{Locale.User.Findpwd}</a>
</span>
<span className={styles.zhuce}>
<a href="/#/register">{Locale.User.Register}</a>
</span>
</div>
<div>
<IconButton
text={Locale.User.Login}
disabled={!!status}
className={styles.loginButton}
onClick={() => {
loginTo();
}}
></IconButton>
</div>
</div>
</div>
</ErrorBoundary>
);
}