render library

显示辅助与提示文案(《sdk-web/3.接口设计》第 16 节):群提示、通话记录、撤回提示、会话列表的摘要、显示名、会话标题, 以及按错误码给出提示的 describeError 和中文文案 zhCN。

Classes

DRLocale
提示文案的表(《sdk-web/3.接口设计》第 16 节,《sdk-web/2.功能概述文档》第 17 节):各节的键与 Web SDK 的 zhCN 相同。 App 用 copyWith 替换其中的条目,或整体换成其他语言。占位符写作 {name}。 名称带 DR 前缀,避开 Flutter 的 Locale(《3.接口设计》第 2 节)。

Constants

zhCN → const DRLocale
中文文案。

Functions

conversationTitle(DRClient client, DRObject view, {DRLocale locale = zhCN}) → String
会话列表和聊天窗口的标题(view 为会话的视图):单聊为对方的显示名(已删除为“已删除的用户”),群聊为群名(为空时“群聊”)。
describeError(DRException err, {DRLocale locale = zhCN}) → String
按 code、reason 给出提示(《sdk-web/2.功能概述文档》第 17 节)。例外:message_rejected、permission_denied 的原因为 app_rejected 时用服务端返回的 message(租户自己的提示)。禁言带到期时间的给出时间(本地时间)。
displayName(DRClient client, String? username, {String? groupId, DRLocale locale = zhCN}) → String
显示名:好友备注、群昵称(给出 groupId、且本地已有这个成员时)、昵称、用户名中第一个非空的。 本地没有资料时返回用户名,并在后台获取(获取后 UsersChanged 触发重新显示)。username 为 null(已删除的用户)时为“已删除的用户”。
formatTemplate(String template, Map<String, String> values) → String
填入占位符 {name};没有给出的占位符原样保留。
renderCallRecord(DRObject message, {required String self, DRLocale locale = zhCN}) → String
通话记录的文字:按结束原因和本人是否为发起方(消息的发送者)。
renderRecall(DRObject message, {required String self, required NameOf nameOf, DRLocale locale = zhCN}) → String
撤回提示:本人撤回的“你撤回了一条消息”,群主或管理员撤回别人的标出操作人,服务端和平台撤回的不显示操作人。 没有撤回的返回空字符串。
renderTip(DRObject message, {required NameOf nameOf, String? self, DRLocale locale = zhCN}) → String
群提示的文字(《消息/3.接口设计》第 12.3 节的各种 kind)。self 为本人时显示“你”。
summarize(DRObject message, {required NameOf nameOf, String? self, DRLocale locale = zhCN}) → String
会话列表中的摘要:文本取原文(换行换成空格),附件用“图片”等,群提示和撤回给出文字。 通话记录在给出 self 时按 renderCallRecord,否则为“通话”。

Typedefs

NameOf = String Function(String username)
显示辅助(《sdk-web/3.接口设计》第 16 节):群提示、通话记录、撤回提示、会话列表的摘要、显示名和会话标题。 文案取 zhCN,可以用 locale 参数换成替换过条目的表(zhCN.copyWith(...))或其他语言。 消息参数接受消息的视图(MessageView、Message 或会话的 lastMessage),按原始 JSON 读取 type、body、sender、recalled。 由用户名得到显示的名称(通常包装 displayName:(u) => displayName(im, u, groupId: id))。