mcpField
1
1k-feature-guides

1k-feature-guides

github.com/onekeyhq开发2.5k57 次安装今天更新
代码仓库

关于 1k-feature-guides

为 OneKey 应用功能扩展提供开发指南的技能,面向应用开发者。内容覆盖区块链网络、WebSocket 事件、推送通知以及页面和路由配置,并列出相关文件与实现步骤。

主要功能

  1. 01指导添加区块链网络
  2. 02说明 WebSocket 事件接入
  3. 03介绍推送通知模式与处理
  4. 04梳理页面类型和路由配置
  5. 05提供关键文件与参考实现

适用场景

  1. 01为 OneKey 接入新的区块链网络
  2. 02添加并确认 WebSocket 消息事件
  3. 03实现通知的页面跳转或链接打开
  4. 04新增页面并配置对应路由

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/onekeyhq/app-monorepo --skill 1k-feature-guides

安装后在 Claude Code 中输入/1k-feature-guides确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/rules/
adding-chains.md
adding-socket-events.md
notification-system.md
page-and-route.md

详细介绍

功能开发指南

扩展 OneKey 应用功能的综合指南。

快速参考

功能指南关键文件
添加区块链adding-chains.mdpackages/core/src/chains/
添加 WebSocket 事件adding-socket-events.mdpackages/shared/types/socket.ts
推送通知notification-system.mdpackages/kit-bg/src/services/ServiceNotification/
页面与路由page-and-route.mdpackages/kit/src/routes/

添加新区块链

参见:references/rules/adding-chains.md

关键步骤:

  1. 在 packages/core/src/chains/mychain/ 中实现区块链核心逻辑
  2. 在 packages/shared/src/config/chains/ 中添加区块链配置
  3. 更新 UI 组件以支持区块链特定功能
  4. 添加全面的测试

参考实现:

  • EVM 区块链:packages/core/src/chains/evm/
  • Bitcoin:packages/core/src/chains/btc/
  • Solana:packages/core/src/chains/sol/

添加 WebSocket 事件

参见:references/rules/adding-socket-events.md

关键步骤:

  1. 在 EAppSocketEventNames 枚举中定义事件名称
  2. 定义包含 msgId: string 的负载类型接口
  3. 在 PushProviderWebSocket.initWebSocket() 中添加事件处理程序
  4. 始终通过 ackNotificationMessage 确认消息
this.socket.on(EAppSocketEventNames.myEvent, (payload: IMyPayload) => {
  void this.backgroundApi.serviceNotification.ackNotificationMessage({
    msgId: payload.msgId,
    action: ENotificationPushMessageAckAction.arrived,
  });
  void this.backgroundApi.someService.handleEvent(payload);
});

通知系统

参见:references/rules/notification-system.md

通知模式:

模式操作
1(页面)跳转到指定页面
2(对话框)显示对话框
3(openInBrowser)在外部浏览器中打开 URL
4(openInApp)在应用内浏览器中打开 URL
5(openInDapp)在 DApp 浏览器中打开 URL

关键文件:

  • 服务:packages/kit-bg/src/services/ServiceNotification/ServiceNotification.ts
  • 工具函数:packages/shared/src/utils/notificationsUtils.ts
  • 类型:packages/shared/types/notification.ts

页面与路由

参见:references/rules/page-and-route.md

页面类型:

类型描述
modal模态覆盖层页面
stack标签页路由页面
onboarding全屏引导页面

路由配置位置:

  • 模态路由:packages/kit/src/routes/Modal/router.tsx
  • 标签页路由:packages/kit/src/routes/Tab/router.ts
  • 引导流程:packages/kit/src/views/Onboardingv2/router/index.tsx

重要提示:

  • ⚠️ 切勿删除页面——对于已弃用的路由,请使用重定向模式
  • ⚠️ 整个应用中的路由路径必须唯一
  • ⚠️ 在 navigation.navigate 中始终使用 pop: true

相关技能

  • /1k-coding-patterns - React 和 TypeScript 最佳实践
  • /1k-architecture - 项目结构与导入规则
  • /1k-state-management - Jotai atom 模式

评论

支持 Markdown