fix(channels): clarify unsupported image model errors

This commit is contained in:
xmanrui 2026-08-21 19:07:18 +08:00
parent c3b3a29f27
commit 5e5c7e46c5
12 changed files with 436 additions and 142 deletions

View file

@ -45,6 +45,15 @@ function normalizeTestMessage(value) {
return { sent: false, code };
}
function normalizeMessageError(value) {
if (!isRecord(value)) return null;
const code = string(value.code).slice(0, 64);
const reason = string(value.reason).slice(0, 128);
const message = string(value.message).slice(0, 500);
const at = timestamp(value.at);
return code && reason && message && at !== null ? { code, reason, message, at } : null;
}
export function unwrapRpcResult(result) {
if (!isRecord(result) || typeof result.ok !== 'boolean') {
throw new Error('微信服务返回了无法识别的响应');
@ -128,6 +137,7 @@ function normalizeBot(value) {
messagesReceived: Math.max(0, Number(value.stats?.messagesReceived) || 0),
messagesReplied: Math.max(0, Number(value.stats?.messagesReplied) || 0),
},
lastMessageError: normalizeMessageError(value.lastMessageError),
error: isRecord(value.error)
? {
code: string(value.error.code, 'WEIXIN_ACCOUNT_ERROR'),

View file

@ -230,6 +230,10 @@ export function AccountCard({
}),
h('div', { className: 'dxw-accountFooter dim-cardFooter' },
summary ? h('div', { className: 'dxw-summary dim-cardSummary' }, summary) : null,
account.lastMessageError ? h('div', {
className: 'dxw-summary dim-cardSummary',
role: 'status',
}, `最近一条消息处理失败:${account.lastMessageError.message}`) : null,
feedback ? h('div', {
className: 'dxw-summary dim-cardSummary',
role: 'status',