refactor: 消除前端52处any类型+删除冗余requirements.txt+调试print改日志

- 删除 requirements.txt,pyproject.toml 为唯一依赖源(含 requests[socks] extra)
- core/geetest 下 5 处 print() 替换为 loguru logger.debug()
- api/modules.ts 新增 13 个响应接口,消除所有 api.xxx<any, any>
- 新建 utils/error.ts 提供 getErrorMessage(e: unknown) 安全取消息
- 11 个页面组件 catch (e: any) 改为 catch (e: unknown)
- useState<any[]>、columns: any[]、render 参数全部类型化
- TypeScript 类型检查零错误通过
This commit is contained in:
yml2213
2026-06-23 07:14:08 +08:00
parent 453a637480
commit 12c31c2e09
16 changed files with 305 additions and 189 deletions
+15 -14
View File
@@ -6,6 +6,7 @@ import {
import { PlusOutlined, EditOutlined, DeleteOutlined, SafetyOutlined } from '@ant-design/icons';
import { userApi, type UserInfo } from '../api/modules';
import { getUser, hasPerm } from '../store/auth';
import { getErrorMessage } from '../utils/error';
const ROLE_OPTIONS = [
{ value: 'super_admin', label: '超级管理员' },
@@ -57,8 +58,8 @@ export default function UsersPage() {
try {
const data = await userApi.list();
setUsers(data);
} catch (e: any) {
message.error(e.message);
} catch (e: unknown) {
message.error(getErrorMessage(e));
} finally {
setLoading(false);
}
@@ -89,7 +90,7 @@ export default function UsersPage() {
try {
const values = await form.validateFields();
if (editing) {
const updateData: any = { role: values.role, remark: values.remark };
const updateData: { role: string; remark: string; password?: string } = { role: values.role, remark: values.remark };
if (values.password) updateData.password = values.password;
await userApi.update(editing.id, updateData);
message.success('已更新');
@@ -99,8 +100,8 @@ export default function UsersPage() {
}
setModalOpen(false);
loadUsers();
} catch (e: any) {
message.error(e.message);
} catch (e: unknown) {
message.error(getErrorMessage(e));
}
};
@@ -109,8 +110,8 @@ export default function UsersPage() {
await userApi.delete(id);
message.success('已删除');
loadUsers();
} catch (e: any) {
message.error(e.message);
} catch (e: unknown) {
message.error(getErrorMessage(e));
}
};
@@ -131,8 +132,8 @@ export default function UsersPage() {
setUseCustom(false);
setSelectedPerms(data.role_permissions?.[user.role] || []);
}
} catch (e: any) {
message.error(e.message);
} catch (e: unknown) {
message.error(getErrorMessage(e));
} finally {
setPermLoading(false);
}
@@ -148,8 +149,8 @@ export default function UsersPage() {
message.success('权限已更新');
setPermModalOpen(false);
loadUsers();
} catch (e: any) {
message.error(e.message);
} catch (e: unknown) {
message.error(getErrorMessage(e));
} finally {
setPermLoading(false);
}
@@ -175,7 +176,7 @@ export default function UsersPage() {
title: '权限模式',
dataIndex: 'custom_permissions',
width: 100,
render: (_: any, record: UserInfo) =>
render: (_: unknown, record: UserInfo) =>
record.custom_permissions !== null && record.custom_permissions !== undefined
? <Tag color="orange"></Tag>
: <Tag></Tag>,
@@ -190,7 +191,7 @@ export default function UsersPage() {
{
title: '操作',
width: 200,
render: (_: any, record: UserInfo) => (
render: (_: unknown, record: UserInfo) => (
<Space>
<Button size="small" icon={<EditOutlined />} onClick={() => handleEdit(record)}></Button>
{canAssignPerm && (
@@ -330,4 +331,4 @@ export default function UsersPage() {
</Modal>
</div>
);
}
}