Skip to content

Activities (页面) 完整列表

源码: src/stackflow/activities/

Activity 列表 (29个)

主页面

Activity文件说明
MainTabsActivityMainTabsActivity.tsx主 Tab 页 (首页/资产/生态/设置)
WelcomeActivityWelcomeActivity.tsx欢迎页

钱包管理

Activity文件说明
WalletCreateActivityWalletCreateActivity.tsx创建钱包
WalletListActivityWalletListActivity.tsx钱包列表
WalletConfigActivityWalletConfigActivity.tsx钱包配置
OnboardingRecoverActivityOnboardingRecoverActivity.tsx恢复钱包

资产相关

Activity文件说明
TokenDetailActivityTokenDetailActivity.tsx代币详情
AddressBalanceActivityAddressBalanceActivity.tsx地址余额
StakingActivityStakingActivity.tsx质押

交易相关

Activity文件说明
SendActivitySendActivity.tsx发送
ReceiveActivityReceiveActivity.tsx接收
HistoryActivityHistoryActivity.tsx交易历史
TransactionDetailActivityTransactionDetailActivity.tsx交易详情
AddressTransactionsActivityAddressTransactionsActivity.tsx地址交易

联系人

Activity文件说明
AddressBookActivityAddressBookActivity.tsx地址簿

DApp/MiniApp

Activity文件说明
MiniappDetailActivityMiniappDetailActivity.tsxMiniApp 详情
AuthorizeAddressActivityAuthorizeAddressActivity.tsx地址授权
AuthorizeSignatureActivityAuthorizeSignatureActivity.tsx签名授权

设置相关

Activity文件说明
SettingsActivitySettingsActivity.tsx设置主页
SettingsLanguageActivitySettingsLanguageActivity.tsx语言设置
SettingsCurrencyActivitySettingsCurrencyActivity.tsx货币设置
SettingsChainsActivitySettingsChainsActivity.tsx链管理
SettingsWalletChainsActivitySettingsWalletChainsActivity.tsx钱包链管理
SettingsWalletLockActivitySettingsWalletLockActivity.tsx钱包锁设置
SettingsMnemonicActivitySettingsMnemonicActivity.tsx助记词管理
SettingsSourcesActivitySettingsSourcesActivity.tsx订阅源管理
SettingsStorageActivitySettingsStorageActivity.tsx存储管理

工具

Activity文件说明
ScannerActivityScannerActivity.tsx扫描器 (全屏)
NotificationsActivityNotificationsActivity.tsx通知中心

详细文档

MainTabsActivity

主 Tab 页面,包含 4 个 Tab。

typescript
// 路由配置
{
  path: '/',
  component: MainTabsActivity,
}

// Tab 结构
const tabs = [
  { key: 'home', label: '首页', component: HomeTab },
  { key: 'assets', label: '资产', component: AssetsTab },
  { key: 'ecosystem', label: '生态', component: EcosystemTab },
  { key: 'settings', label: '设置', component: SettingsTab },
]

WalletCreateActivity

创建钱包流程。

typescript
interface WalletCreateActivityParams {
  // 无参数
}

// 流程步骤
// 1. 输入钱包名称
// 2. 选择链
// 3. 生成助记词
// 4. 备份助记词
// 5. 确认助记词
// 6. 创建完成

SendActivity

发送转账页面。

typescript
interface SendActivityParams {
  walletId?: string
  chain?: ChainType
  token?: string           // 预选代币
  to?: string              // 预填地址
  amount?: string          // 预填金额
}

// 打开方式
actions.push('SendActivity', {
  walletId: wallet.id,
  chain: 'evm',
  token: 'ETH',
})

ReceiveActivity

接收页面,显示二维码。

typescript
interface ReceiveActivityParams {
  walletId?: string
  chain?: ChainType
  token?: string
}

TokenDetailActivity

代币详情页面。

typescript
interface TokenDetailActivityParams {
  walletId: string
  chain: ChainType
  token: string            // 代币符号
  contract?: string        // 合约地址 (可选)
}

TransactionDetailActivity

交易详情页面。

typescript
interface TransactionDetailActivityParams {
  txId: string
  chain: ChainType
}

SettingsActivity

设置主页面。

typescript
// 设置项列表
const settingsItems = [
  { key: 'language', label: '语言', route: 'SettingsLanguageActivity' },
  { key: 'currency', label: '货币', route: 'SettingsCurrencyActivity' },
  { key: 'chains', label: '链管理', route: 'SettingsChainsActivity' },
  { key: 'sources', label: '订阅源', route: 'SettingsSourcesActivity' },
  { key: 'storage', label: '存储', route: 'SettingsStorageActivity' },
  { key: 'about', label: '关于', route: 'AboutActivity' },
]

页面导航

typescript
import { useActions } from '@/stackflow'

function Navigation() {
  const actions = useActions()
  
  // 推入页面
  actions.push('SendActivity', { walletId, chain: 'evm' })
  
  // 替换页面
  actions.replace('MainTabsActivity', {})
  
  // 返回
  actions.pop()
  
  // 返回到根
  actions.pop({ count: Infinity })
}

路由配置

typescript
// src/stackflow/index.tsx
const activities = {
  MainTabsActivity: () => import('./activities/MainTabsActivity'),
  WelcomeActivity: () => import('./activities/WelcomeActivity'),
  WalletCreateActivity: () => import('./activities/WalletCreateActivity'),
  SendActivity: () => import('./activities/SendActivity'),
  // ...
}

const { Stack, useActions, useActivity } = stackflow({
  activities,
  transitionDuration: 300,
  initialActivity: 'MainTabsActivity',
})

Released under the MIT License.