describeError function

String describeError(
  1. DRException err, {
  2. DRLocale locale = zhCN,
})

按 code、reason 给出提示(《sdk-web/2.功能概述文档》第 17 节)。例外:message_rejected、permission_denied 的原因为 app_rejected 时用服务端返回的 message(租户自己的提示)。禁言带到期时间的给出时间(本地时间)。

Implementation

String describeError(DRException err, {DRLocale locale = zhCN}) {
  final table = locale.errors;
  final reason = err.reason;
  if (reason == 'app_rejected' && (err.code == 'message_rejected' || err.code == 'permission_denied') && err.message.isNotEmpty && err.message != err.code) return err.message;
  final expiresAt = err.details?['expires_at'];
  if (err.code == 'user_muted' && expiresAt is String) return formatTemplate(locale.mutedUntil, {'time': _formatTime(expiresAt)});
  return (reason != null ? table['${err.code}.$reason'] : null) ?? table[err.code] ?? table['internal'] ?? zhCN.errors['internal']!;
}