refactor: 重构代码结构和类型定义,优化类型安全性和代码可维护性

- 添加类型定义文件和类型引用
- 删除废弃的页面模块和导出文件
- 新增聚合管理模块和插件系统
- 修复类型错误和潜在运行时问题
- 更新API基础URL和配置
- 优化组件类型定义和事件处理
- 重构数据源接口和实现
- 完善文档和开发进度记录
This commit is contained in:
2026-03-22 11:25:28 +08:00
parent 15ee1758f5
commit a037843851
88 changed files with 42703 additions and 6395 deletions

View File

@@ -23,8 +23,8 @@ const MerchantSettlementManage: React.FC = () => {
const fetchSettlements = async () => {
setLoading(true);
try {
const response = await getMerchantSettlements();
setSettlements(response.data);
const response = await merchantDataSource.fetchSettlements();
setSettlements(response);
} catch (error) {
message.error('获取结算列表失败');
console.error('获取结算列表失败:', error);
@@ -80,17 +80,17 @@ const MerchantSettlementManage: React.FC = () => {
return matchesSearch && matchesMerchant && matchesStatus;
});
const handleView = (settlement: Settlement) => {
const handleView = (settlement: MerchantSettlement) => {
setSelectedSettlement(settlement);
setIsModalVisible(true);
};
const handleProcess = (settlement: Settlement) => {
const handleProcess = (settlement: MerchantSettlement) => {
// 调用API处理结算
message.info(`处理结算: ${settlement.id}`);
};
const handleDownload = (settlement: Settlement) => {
const handleDownload = (settlement: MerchantSettlement) => {
// 下载结算单
message.info(`下载结算单: ${settlement.id}`);
};
@@ -126,7 +126,7 @@ const MerchantSettlementManage: React.FC = () => {
{
title: '结算周期',
key: 'period',
render: (_, settlement: Settlement) => (
render: (_: any, settlement: MerchantSettlement) => (
<Text>
{settlement.periodStart} {settlement.periodEnd}
</Text>
@@ -153,7 +153,7 @@ const MerchantSettlementManage: React.FC = () => {
{
title: '操作',
key: 'action',
render: (_: any, settlement: Settlement) => (
render: (_: any, settlement: MerchantSettlement) => (
<div>
<Button
icon={<EyeOutlined />}

View File

@@ -8,7 +8,7 @@ const { Title, Text } = Typography;
const { Item } = Form;
const MerchantShopManage: React.FC = () => {
const [shops, setShops] = useState<Shop[]>([]);
const [shops, setShops] = useState<MerchantShop[]>([]);
const [merchants, setMerchants] = useState<{ id: string; companyName: string }[]>([]);
const [loading, setLoading] = useState(false);
const [searchText, setSearchText] = useState('');
@@ -17,13 +17,13 @@ const MerchantShopManage: React.FC = () => {
const [statusFilter, setStatusFilter] = useState<string>('');
const [isModalVisible, setIsModalVisible] = useState(false);
const [form] = Form.useForm();
const [editingShop, setEditingShop] = useState<Shop | null>(null);
const [editingShop, setEditingShop] = useState<MerchantShop | null>(null);
const fetchShops = async () => {
setLoading(true);
try {
const response = await getMerchantShops();
setShops(response.data);
const response = await merchantDataSource.fetchShops();
setShops(response);
} catch (error) {
message.error('获取店铺列表失败');
console.error('获取店铺列表失败:', error);
@@ -82,7 +82,7 @@ const MerchantShopManage: React.FC = () => {
setIsModalVisible(true);
};
const handleEdit = (shop: Shop) => {
const handleEdit = (shop: MerchantShop) => {
setEditingShop(shop);
form.setFieldsValue(shop);
setIsModalVisible(true);
@@ -93,7 +93,7 @@ const MerchantShopManage: React.FC = () => {
message.info(`删除店铺: ${shopId}`);
};
const handleView = (shop: Shop) => {
const handleView = (shop: MerchantShop) => {
// 跳转到店铺详情页面
message.info(`查看店铺详情: ${shop.shopName}`);
};
@@ -103,11 +103,11 @@ const MerchantShopManage: React.FC = () => {
const values = await form.validateFields();
if (editingShop) {
// 编辑店铺
await updateMerchantShop(editingShop.id, values);
await merchantDataSource.updateShop(editingShop.id, values);
message.success('店铺更新成功');
} else {
// 创建店铺
await createMerchantShop(values);
await merchantDataSource.createShop(values);
message.success('店铺创建成功');
}
setIsModalVisible(false);
@@ -183,7 +183,7 @@ const MerchantShopManage: React.FC = () => {
{
title: '操作',
key: 'action',
render: (_: any, shop: Shop) => (
render: (_: any, shop: MerchantShop) => (
<div>
<Button
icon={<EyeOutlined />}

View File

@@ -1,18 +0,0 @@
import MerchantManage from './MerchantManage';
import MerchantShopManage from './MerchantShopManage';
import MerchantOrderManage from './MerchantOrderManage';
import MerchantSettlementManage from './MerchantSettlementManage';
export {
MerchantManage,
MerchantShopManage,
MerchantOrderManage,
MerchantSettlementManage,
};
export default {
MerchantManage,
MerchantShopManage,
MerchantOrderManage,
MerchantSettlementManage,
};