概述
OneHome 是 One Platform 前台应用的 SPA(单页应用)容器组件,是整个前台界面的根组件。它负责管理全局布局结构,并通过视图状态控制内容区域的渲染。页面顶部包含 GlobalHeader 全局导航栏,左侧包含 OneMenu 导航菜单,中间是动态内容区域,底部显示版权信息。
🖼️
OneHome 整体页面截图 — 待插入
../../images/product/one_platform/one-home-overview.png
页面结构
OneHome 页面布局
GlobalHeader (全局导航栏)
[Logo][Search][Favorites][Tasks][Help][Setup][Notifications][Profile]
▶
- home → ApplicationHome 首页
- application → 指定应用详情
- listview → 记录列表视图
- record → 记录详情
版权信息
https://www.salesforcecrm.cn 沪ICP备17037471号-4
核心功能
1. SPA 导航容器
OneHome 通过 currentView 状态管理前台页面视图:
| 视图类型 | 说明 | 对应组件 |
home | 前台首页 | ApplicationHome |
application | 指定应用详情 | ApplicationHome (带 appName) |
listview | 对象列表视图 | ListviewHome |
record | 记录详情 | RecordHome |
2. AppInitializer 包裹
整个应用被 AppInitializer 组件包裹,负责执行应用初始化逻辑(如加载用户配置、初始化 Redux Store 等)。
3. Agent 辅助组件
在内容区域底部嵌入 Agent 组件,提供 AI 辅助功能。
全局导航栏(GlobalHeader)
GlobalHeader 是 One Platform 的顶部全局导航栏,基于 Salesforce Lightning Design System 的 GlobalHeader 组件构建。它集成了搜索、收藏、任务、帮助、设置、通知和用户资料等核心导航功能。
GlobalHeader 功能模块
1. 搜索(GlobalHeaderSearch)
- 基于
Combobox 组件的搜索输入框 - 支持搜索建议下拉
2. 收藏(GlobalHeaderFavorites)
3. 任务(GlobalHeaderTask)
4. 帮助(GlobalHeaderHelp)
- 弹出 Popover 提供帮助信息
- 包含跳转到示例页面的链接
5. 设置(GlobalHeaderSetup)
- One 应用:跳转到前台首页
/
- Setup 设置:跳转到设置中心
/setup
- View One API:打开 API 文档
localhost:8000/docs
- 编辑画面布局:当存在当前布局 ID 时显示,跳转到 LayoutBuilder
6. 通知(GlobalHeaderNotifications)
- 显示未读通知数量角标
- 弹出 Popover 显示通知列表
- 支持实时 WebSocket 推送 + 30 秒轮询
- 通知操作:点击跳转、标记已读、全部已读、删除
- 通知时间格式化(刚刚 / X 分钟前 / X 小时前 / X 天前)
7. 用户资料(GlobalHeaderProfile)
- 嵌入
SalesforceAuth 组件(紧凑模式)
- 显示 Salesforce 连接状态和用户信息
- 支持登录 / 登出操作
通知系统架构
通知系统架构
- WebSocket 实时推送
- 30秒 HTTP 轮询
▶
- Notifications[] 数组
- 未读计数管理
▶
技术要点
OneHome
- 布局模式:CSS Modules (
OneHome.module.css)
- 导航方式:SPA 内部导航,不改变 URL
- 初始化:
AppInitializer 包裹
- 组件库:
@salesforce/design-system-react
GlobalHeader
- 组件库:
@salesforce/design-system-react 的 8 个 GlobalHeader 子组件
- 状态管理:React Redux (
selectCurrentLayoutId)
- 通知 API:
getNotifications, getUnreadNotificationCount, markNotificationAsRead, markAllNotificationsAsRead, deleteNotification
- WebSocket:
useNotificationWebSocket hook
- 认证组件:
SalesforceAuth (紧凑模式)
截图
🖼️
GlobalHeader 通知弹出面板截图 — 待插入
../../images/product/one_platform/one-home-notifications.png
🖼️
GlobalHeader Setup 下拉菜单截图 — 待插入
../../images/product/one_platform/one-home-setup-menu.png
🖼️
GlobalHeader 用户资料弹出面板 — 待插入
../../images/product/one_platform/one-home-profile.png
🖼️
通知列表多种类型和时间 — 待插入
../../images/product/one_platform/one-home-notification-list.png