头像(Avatar)
头像:Avatar 是 IDL 定义的跨端 UI 组件,props / events / behaviors 在各平台语义一致。本页给出契约属性、事件、渲染行为、数据源与 macOS 端绑定/示例。
契约属性(props)
| 属性 | 类型 | 必填 | 说明 |
|---|---|---|---|
userId | string | 是 | 用户 ID(用于生成首字与稳定背景色) |
name | string | 否 | 显示名称(可选,缺省取 userId) |
url | string | 否 | 头像 URL(加载失败回退首字) |
size | int | 否 | 头像尺寸(像素) |
事件
该组件未声明事件;交互通过属性和宿主回调完成。
渲染行为
- url 缺失或加载失败时显示姓名首字/末字,背景色由 userId 哈希稳定生成
数据源
未在 IDL 声明 dataSource;由宿主从 IMLib 拉取(getConversationList / getHistoryMessages / MESSAGES / CONVERSATION 事件)。
依赖边界
组件不直连网络与数据库:会话/消息由宿主从 IMLib 拉取后传入,组件只做排序、角标、格式化与渲染。
平台绑定
该组件在本平台绑定中未单独声明公开符号;按 IDL 契约由平台实现映射(详见功能列表与快速开始)。
使用示例
JavaScript(宿主渲染)
// macOS:宿主自渲染 Avatar(SDK 不导出该组件)
// 契约 props:userId, name?, url?, size?
function avatar(userId, name) {
return `<span class="avatar">${(name || userId).slice(0, 1).toUpperCase()}</span>`;
}相关文档
- 功能列表:能力矩阵
- 组件 API:全部组件 props / events
- 主题定制
- 多语言与格式化
- macOS IMLib:数据来源