App.jsx 3.75 KB
import React from 'react';
import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';

// 导入首页
import Home from './pages/Home';

// 导入水果页面
import KiwiPage from './pages/fruits/KiwiPage';
import ApplePage from './pages/fruits/ApplePage';
import GrapePage from './pages/fruits/GrapePage';
import StrawberryPage from './pages/fruits/StrawberryPage';
import OrangePage from './pages/fruits/OrangePage';
import WatermelonPage from './pages/fruits/WatermelonPage';
import PomegranatePage from './pages/fruits/PomegranatePage';
import RedDatePage from './pages/fruits/RedDatePage';

// 导入蔬菜页面
import TomatoPage from './pages/vegetables/TomatoPage';

// 导入通用组件
import Header from './components/Header';
import Footer from './components/Footer';
import NotFound from './pages/NotFound';

// 导入样式
import './App.css';

function App() {
  return (
    <Router>
      <div className="App">
        {/* 头部导航 */}
        <Header />
        
        {/* 主要内容区域 */}
        <main style={mainStyle}>
          <Routes>
            {/* 首页路由 */}
            <Route path="/" element={<Home />} />
            
            {/* 水果详情页路由 */}
            <Route path="/fruit/kiwi" element={<KiwiPage />} />
            <Route path="/fruit/apple" element={<ApplePage />} />
            <Route path="/fruit/grape" element={<GrapePage />} />
            <Route path="/fruit/strawberry" element={<StrawberryPage />} />
            <Route path="/fruit/orange" element={<OrangePage />} />
            <Route path="/fruit/watermelon" element={<WatermelonPage />} />
            <Route path="/fruit/pomegranate" element={<PomegranatePage />} />
            <Route path="/fruit/red-date" element={<RedDatePage />} />
            
            {/* 蔬菜详情页路由 */}
            <Route path="/vegetable/tomato" element={<TomatoPage />} />
            
            {/* 其他功能路由 */}
            <Route path="/products" element={<ProductsPage />} />
            <Route path="/cart" element={<CartPage />} />
            <Route path="/checkout" element={<CheckoutPage />} />
            <Route path="/order-confirmation" element={<OrderConfirmationPage />} />
            <Route path="/about" element={<AboutPage />} />
            <Route path="/contact" element={<ContactPage />} />
            
            {/* 404 页面 */}
            <Route path="*" element={<NotFound />} />
          </Routes>
        </main>
        
        {/* 底部信息 */}
        <Footer />
      </div>
    </Router>
  );
}

// 临时占位组件(实际开发时需要替换为真实组件)
const ProductsPage = () => (
  <div style={placeholderStyle}>
    <h2>产品搜索页面</h2>
    <p>此页面正在开发中...</p>
  </div>
);

const CartPage = () => (
  <div style={placeholderStyle}>
    <h2>购物车页面</h2>
    <p>此页面正在开发中...</p>
  </div>
);

const CheckoutPage = () => (
  <div style={placeholderStyle}>
    <h2>结算页面</h2>
    <p>此页面正在开发中...</p>
  </div>
);

const OrderConfirmationPage = () => (
  <div style={placeholderStyle}>
    <h2>订单确认页面</h2>
    <p>此页面正在开发中...</p>
  </div>
);

const AboutPage = () => (
  <div style={placeholderStyle}>
    <h2>关于我们</h2>
    <p>此页面正在开发中...</p>
  </div>
);

const ContactPage = () => (
  <div style={placeholderStyle}>
    <h2>联系我们</h2>
    <p>此页面正在开发中...</p>
  </div>
);

// 样式定义
const mainStyle = {
  minHeight: 'calc(100vh - 160px)',
  backgroundColor: '#f8f9fa'
};

const placeholderStyle = {
  display: 'flex',
  flexDirection: 'column',
  alignItems: 'center',
  justifyContent: 'center',
  minHeight: '60vh',
  textAlign: 'center',
  padding: '2rem'
};

export default App;