feat: 添加MSW模拟服务和数据源集成
refactor: 重构页面组件移除冗余Layout组件 feat: 实现WebSocket和事件总线系统 feat: 添加队列和调度系统 docs: 更新架构文档和服务映射 style: 清理重复接口定义使用数据源 chore: 更新依赖项配置 feat: 添加运行时系统和领域引导 ci: 配置ESLint边界检查规则 build: 添加Redis和WebSocket依赖 test: 添加MSW浏览器环境入口 perf: 优化数据获取逻辑使用统一数据源 fix: 修复类型定义和状态管理问题
This commit is contained in:
@@ -1,28 +1,13 @@
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { Table, Button, Input, Select, DatePicker, message, Card, Tabs } from 'antd';
|
||||
import { PlusOutlined, EditOutlined, DeleteOutlined, SearchOutlined, PlayCircleOutlined, PauseCircleOutlined } from '@ant-design/icons';
|
||||
import { marketingDataSource, Ad } from '@/services/marketingDataSource';
|
||||
|
||||
const { Option } = Select;
|
||||
const { RangePicker } = DatePicker;
|
||||
const { Search } = Input;
|
||||
const { TabPane } = Tabs;
|
||||
|
||||
interface Ad {
|
||||
id: string;
|
||||
name: string;
|
||||
platform: string;
|
||||
campaign: string;
|
||||
status: 'active' | 'paused' | 'completed';
|
||||
budget: number;
|
||||
spend: number;
|
||||
impressions: number;
|
||||
clicks: number;
|
||||
conversions: number;
|
||||
roi: number;
|
||||
startDate: string;
|
||||
endDate: string;
|
||||
}
|
||||
|
||||
const Ads: React.FC = () => {
|
||||
const [ads, setAds] = useState<Ad[]>([]);
|
||||
const [loading, setLoading] = useState(false);
|
||||
@@ -39,15 +24,15 @@ const Ads: React.FC = () => {
|
||||
|
||||
const fetchAds = async () => {
|
||||
setLoading(true);
|
||||
// 模拟API调用
|
||||
setTimeout(() => {
|
||||
const mockAds: Ad[] = [
|
||||
{
|
||||
id: '1',
|
||||
name: 'Summer Sale',
|
||||
platform: 'Facebook',
|
||||
campaign: 'Summer Campaign',
|
||||
status: 'active',
|
||||
try {
|
||||
const data = await marketingDataSource.fetchAds(filters);
|
||||
setAds(data);
|
||||
} catch (error) {
|
||||
message.error('Failed to load ads');
|
||||
} finally {
|
||||
setLoading(false);
|
||||
}
|
||||
};
|
||||
budget: 10000,
|
||||
spend: 5000,
|
||||
impressions: 100000,
|
||||
|
||||
Reference in New Issue
Block a user