Skip to content

Ecosystem 组件

源码: src/components/ecosystem/

组件列表

组件文件说明
EcosystemDesktopecosystem-desktop.tsx生态桌面
EcosystemTabIndicatorecosystem-tab-indicator.tsxTab 指示器
DiscoverPagediscover-page.tsx发现页
MyAppsPagemy-apps-page.tsx我的应用
AppStackPageapp-stack-page.tsx应用堆栈
MiniappIconminiapp-icon.tsxMiniApp 图标
MiniappCapsuleminiapp-capsule.tsxMiniApp 胶囊
MiniappWindowminiapp-window.tsxMiniApp 窗口
MiniappWindowStackminiapp-window-stack.tsx窗口堆栈
MiniappStackCardminiapp-stack-card.tsx堆栈卡片
MiniappStackViewminiapp-stack-view.tsx堆栈视图
MiniappSplashScreenminiapp-splash-screen.tsx启动屏
MiniappSheetHeaderminiapp-sheet-header.tsxSheet 头部
IosSearchCapsuleios-search-capsule.tsxiOS 搜索胶囊
IosWallpaperios-wallpaper.tsxiOS 壁纸

EcosystemDesktop

MiniApp 生态系统桌面,iOS 风格布局。

Props

typescript
interface EcosystemDesktopProps {
  apps: MiniApp[]
  runningApps: string[]
  onAppClick: (app: MiniApp) => void
  onAppLongPress?: (app: MiniApp) => void
  className?: string
}

子页面

页面索引说明
discover0发现 - 应用市场
mine1我的 - 已安装应用
stack2堆栈 - 运行中应用

渲染结构

┌─────────────────────────────────────────────┐
│ [搜索]                                      │
│─────────────────────────────────────────────│
│                                             │
│  [App1]  [App2]  [App3]  [App4]            │
│                                             │
│  [App5]  [App6]  [App7]  [App8]            │
│                                             │
│─────────────────────────────────────────────│
│      ●      ○      ○                        │
│   发现    我的    堆栈                      │
└─────────────────────────────────────────────┘

MiniappIcon

MiniApp 图标组件。

Props

typescript
interface MiniappIconProps {
  app: MiniApp
  size?: 'sm' | 'md' | 'lg'
  showBadge?: boolean
  showName?: boolean
  onClick?: () => void
  onLongPress?: () => void
  className?: string
}

渲染结构

┌─────────┐
│  [🔷]   │
│         │
│  Name   │
└─────────┘

MiniappWindow

MiniApp 运行窗口,包含 iframe 和控制栏。

Props

typescript
interface MiniappWindowProps {
  app: MiniApp
  isActive: boolean
  onClose: () => void
  onMinimize: () => void
  onFullscreen?: () => void
  className?: string
}

渲染结构

┌─────────────────────────────────────────────┐
│ [🔷] App Name                    [−] [✗]   │
│─────────────────────────────────────────────│
│                                             │
│              <iframe>                       │
│                                             │
│                                             │
└─────────────────────────────────────────────┘

MiniappSplashScreen

MiniApp 启动屏,显示加载动画。

Props

typescript
interface MiniappSplashScreenProps {
  app: MiniApp
  progress?: number
  status?: 'loading' | 'ready' | 'error'
  errorMessage?: string
  onRetry?: () => void
  className?: string
}

渲染结构

┌─────────────────────────────────────────────┐
│                                             │
│                                             │
│              [🔷]                           │
│            App Name                         │
│                                             │
│        ████████░░░░░░░░░░  60%              │
│                                             │
│                                             │
└─────────────────────────────────────────────┘

MiniappWindowStack

多窗口堆栈管理。

Props

typescript
interface MiniappWindowStackProps {
  windows: Array<{ app: MiniApp; id: string }>
  activeWindowId: string
  onWindowActivate: (id: string) => void
  onWindowClose: (id: string) => void
  className?: string
}

功能

  • 窗口层叠显示
  • 点击切换活动窗口
  • 拖拽排序
  • 滑动关闭

MiniappStackCard

应用堆栈卡片 (任务管理器视图)。

Props

typescript
interface MiniappStackCardProps {
  app: MiniApp
  screenshot?: string
  isActive?: boolean
  onClick: () => void
  onClose: () => void
  className?: string
}

渲染结构

┌─────────────────────────────────────────────┐
│ [Screenshot Preview]                   [✗] │
│                                             │
│ [🔷] App Name                               │
└─────────────────────────────────────────────┘

IosSearchCapsule

iOS 风格搜索胶囊。

tsx
<IosSearchCapsule
  placeholder="搜索应用"
  value={search}
  onChange={setSearch}
/>

IosWallpaper

iOS 风格动态壁纸背景。

tsx
<IosWallpaper variant="gradient" blur={20} />

生态系统架构

EcosystemDesktop

    ├── IosWallpaper (背景)

    ├── IosSearchCapsule (搜索)

    ├── Swiper
    │   ├── DiscoverPage (发现)
    │   │   └── MiniappIcon[]
    │   │
    │   ├── MyAppsPage (我的)
    │   │   └── MiniappIcon[]
    │   │
    │   └── AppStackPage (堆栈)
    │       └── MiniappStackCard[]

    ├── EcosystemTabIndicator (底部 Tab)

    └── MiniappWindowStack (运行窗口)
        └── MiniappWindow[]
            └── iframe + MiniappSheetHeader

Released under the MIT License.