docs:重命名文件、变量名称
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -36,5 +36,5 @@ dist-ssr
|
||||
*.py
|
||||
*.pyi
|
||||
WORKLOG.md
|
||||
*openapi*.json
|
||||
*open*.json
|
||||
response_*.json
|
||||
|
||||
@@ -21,7 +21,7 @@ import { Drawer, Modal } from 'antd';
|
||||
import { EVENTS, off, on } from '@/utils/event-bus';
|
||||
import { FloatingPanel } from '@/components/ui/FloatingPanel';
|
||||
import { WechatWorkPage } from '@/pages/headers/WechatWorkPage';
|
||||
import { Test2 } from '@/pages/headers/Test2';
|
||||
import { AccountInfo } from '@/pages/headers/AccountInfo.tsx';
|
||||
|
||||
// ---------- 类型 ----------
|
||||
|
||||
@@ -73,7 +73,7 @@ const PAGE_MAP: Record<string, PageConfig> = {
|
||||
'/wechat-work': { component: WechatWorkPage, label: '企业微信' },
|
||||
'/compliance-assets': { label: '合规素材库' },
|
||||
'/account': {
|
||||
component: Test2,
|
||||
component: AccountInfo,
|
||||
label: '账户',
|
||||
width: () => Math.min(window.innerWidth * 0.6, 720),
|
||||
height: () => Math.min(window.innerHeight * 0.6, 680),
|
||||
@@ -198,6 +198,7 @@ export function PageDispatcher() {
|
||||
width={panelWidth ?? defaultDrawerWidth}
|
||||
height={panelHeight}
|
||||
>
|
||||
{/* eslint-disable-next-line react-hooks/static-components */}
|
||||
<PanelPage />
|
||||
</FloatingPanel>
|
||||
)}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// ============================================================
|
||||
// Test2 — 账户信息展示
|
||||
// AccountInfo — 账户信息展示
|
||||
// 数据来源:AuthAPI.getUserInfo() → GET /api/v1/auth/me
|
||||
// ============================================================
|
||||
|
||||
@@ -39,7 +39,7 @@ function formatDate(date: Date | string | undefined): string {
|
||||
return d.toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' });
|
||||
}
|
||||
|
||||
export function Test2() {
|
||||
export function AccountInfo() {
|
||||
const { token } = antTheme.useToken();
|
||||
const [userInfo, setUserInfo] = useState<UserInfoBody | null>(null);
|
||||
const [loading, setLoading] = useState(true);
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import { useState, useCallback } from 'react';
|
||||
import { Input, Button, Checkbox, Typography } from 'antd';
|
||||
import { UserOutlined, LockOutlined } from '@ant-design/icons';
|
||||
import { UserOutlined, LockOutlined, EyeTwoTone, EyeInvisibleOutlined } from '@ant-design/icons';
|
||||
|
||||
import { loginFields } from '../config/login-fields';
|
||||
import { validateForm } from '../config/validators';
|
||||
@@ -40,7 +40,7 @@ export function LoginForm({
|
||||
const [password, setPassword] = useState(initialPassword || '');
|
||||
const [remember, setRemember] = useState(initialRemember);
|
||||
const [autoLogin, setAutoLogin] = useState(initialAutoLogin);
|
||||
const [agreed, setAgreed] = useState(false);
|
||||
const [agreed, setAgreed] = useState(true);
|
||||
const [errors, setErrors] = useState<Record<string, string[]>>({});
|
||||
|
||||
// 协议弹窗
|
||||
@@ -103,6 +103,8 @@ export function LoginForm({
|
||||
setPassword(e.target.value);
|
||||
clearError('password');
|
||||
}}
|
||||
iconRender={(visible) => (visible ? <EyeTwoTone /> : <EyeInvisibleOutlined />)}
|
||||
onPressEnter={handleSubmit}
|
||||
status={errors.password ? 'error' : undefined}
|
||||
allowClear
|
||||
/>
|
||||
@@ -162,6 +164,11 @@ export function LoginForm({
|
||||
setAgreed(e.target.checked);
|
||||
clearError('_agreement');
|
||||
}}
|
||||
onKeyDown={(event)=>{
|
||||
if (event.key === 'Enter' || event.keyCode === 13) {
|
||||
setAgreed(!agreed);
|
||||
}
|
||||
}}
|
||||
className="text-xs"
|
||||
>
|
||||
已阅读并同意
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// RegisterForm — 注册表单(仅个人版)
|
||||
// ============================================================
|
||||
|
||||
import { useState, useCallback, useRef } from 'react';
|
||||
import React, { useState, useCallback, useRef } from 'react';
|
||||
import { Input, Button, Checkbox, Typography } from 'antd';
|
||||
|
||||
import { LegalTextModal } from '@/components/ui/LegalTextModal';
|
||||
@@ -87,7 +87,9 @@ export function RegisterForm({ submitting = false, onSubmit, onSendSms }: Regist
|
||||
onSendSms?.(phone);
|
||||
}, [values.phone, onSendSms]);
|
||||
|
||||
// 跨字段校验
|
||||
// 提交
|
||||
const handleSubmit = useCallback(() => {
|
||||
// 跨字段校验(内联避免每次渲染创建新引用致使用 useCallback 失效)
|
||||
const crossValidators = {
|
||||
confirmPassword: (val: string) => {
|
||||
if (!val) return '请再次输入密码';
|
||||
@@ -95,9 +97,6 @@ export function RegisterForm({ submitting = false, onSubmit, onSendSms }: Regist
|
||||
return null;
|
||||
},
|
||||
};
|
||||
|
||||
// 提交
|
||||
const handleSubmit = useCallback(() => {
|
||||
const fieldErrors = validateForm(values, registerFields, crossValidators);
|
||||
if (Object.keys(fieldErrors).length > 0) {
|
||||
setErrors(fieldErrors);
|
||||
@@ -208,6 +207,11 @@ export function RegisterForm({ submitting = false, onSubmit, onSendSms }: Regist
|
||||
return n;
|
||||
});
|
||||
}}
|
||||
onKeyDown={(e)=>{
|
||||
if(e.key==="Enter" || e.keyCode == 13) {
|
||||
setAgreed(!agreed);
|
||||
}
|
||||
}}
|
||||
className="text-xs"
|
||||
>
|
||||
已阅读并同意
|
||||
|
||||
Reference in New Issue
Block a user