refactor(types): 重构类型系统,统一共享类型定义

feat(types): 新增共享类型中心,包含用户、产品、订单等核心领域类型
fix(types): 修复类型定义错误,统一各模块类型引用
style(types): 优化类型文件格式和注释
docs(types): 更新类型文档和变更日志
test(types): 添加类型测试用例
build(types): 配置类型共享路径
chore(types): 清理重复类型定义文件
This commit is contained in:
2026-03-20 17:53:46 +08:00
parent 989c4b13a6
commit 427becbc8f
222 changed files with 25676 additions and 6328 deletions

View File

@@ -16,8 +16,8 @@ const MerchantManage: React.FC = () => {
const fetchMerchants = async () => {
setLoading(true);
try {
const response = await getMerchants();
setMerchants(response.data);
const response = await merchantDataSource.fetchMerchants();
setMerchants(response);
} catch (error) {
message.error('获取商户列表失败');
console.error('获取商户列表失败:', error);

View File

@@ -8,7 +8,7 @@ const { Title, Text } = Typography;
const { RangePicker } = DatePicker;
const MerchantOrderManage: React.FC = () => {
const [orders, setOrders] = useState<Order[]>([]);
const [orders, setOrders] = useState<MerchantOrder[]>([]);
const [merchants, setMerchants] = useState<{ id: string; companyName: string }[]>([]);
const [loading, setLoading] = useState(false);
const [searchText, setSearchText] = useState('');
@@ -20,8 +20,8 @@ const MerchantOrderManage: React.FC = () => {
const fetchOrders = async () => {
setLoading(true);
try {
const response = await getMerchantOrders();
setOrders(response.data);
const response = await merchantDataSource.fetchMerchantOrders('');
setOrders(response);
} catch (error) {
message.error('获取订单列表失败');
console.error('获取订单列表失败:', error);
@@ -82,12 +82,12 @@ const MerchantOrderManage: React.FC = () => {
return matchesSearch && matchesMerchant && matchesPlatform && matchesStatus;
});
const handleView = (order: Order) => {
const handleView = (order: MerchantOrder) => {
// 跳转到订单详情页面
message.info(`查看订单详情: ${order.orderId}`);
};
const handleStatusUpdate = (order: Order, newStatus: Order['status']) => {
const handleStatusUpdate = (order: MerchantOrder, newStatus: string) => {
// 调用API更新订单状态
message.info(`更新订单 ${order.orderId} 状态为: ${newStatus}`);
};
@@ -155,7 +155,7 @@ const MerchantOrderManage: React.FC = () => {
{
title: '操作',
key: 'action',
render: (_: any, order: Order) => (
render: (_: any, order: MerchantOrder) => (
<div>
<Button
icon={<EyeOutlined />}

View File

@@ -9,7 +9,7 @@ const { RangePicker } = DatePicker;
const { Item } = Form;
const MerchantSettlementManage: React.FC = () => {
const [settlements, setSettlements] = useState<Settlement[]>([]);
const [settlements, setSettlements] = useState<MerchantSettlement[]>([]);
const [merchants, setMerchants] = useState<{ id: string; companyName: string }[]>([]);
const [loading, setLoading] = useState(false);
const [searchText, setSearchText] = useState('');
@@ -17,7 +17,7 @@ const MerchantSettlementManage: React.FC = () => {
const [statusFilter, setStatusFilter] = useState<string>('');
const [dateRange, setDateRange] = useState<[string, string] | null>(null);
const [isModalVisible, setIsModalVisible] = useState(false);
const [selectedSettlement, setSelectedSettlement] = useState<Settlement | null>(null);
const [selectedSettlement, setSelectedSettlement] = useState<MerchantSettlement | null>(null);
const [form] = Form.useForm();
const fetchSettlements = async () => {