fix: show notification source in card body

This commit is contained in:
WuYongJie 2026-08-29 22:32:47 +08:00
parent d74959da1f
commit 34c57340c6
2 changed files with 8 additions and 6 deletions

View File

@ -165,7 +165,7 @@ test('发送请求超时属于结果不确定并停止自动重试', async () =>
}
})
test('机器人 ActionCard 原样发送统一标题、分段正文和按钮跳转', async () => {
test('机器人 ActionCard 在正文顶部显示统一标题,并发送业务正文和按钮跳转', async () => {
const originalFetch = global.fetch
const oldAppKey = process.env.DINGTALK_APP_KEY
const oldAppSecret = process.env.DINGTALK_APP_SECRET
@ -199,7 +199,7 @@ test('机器人 ActionCard 原样发送统一标题、分段正文和按钮跳
assert.equal(batchRequest.msgKey, 'sampleActionCard')
assert.deepEqual(JSON.parse(batchRequest.msgParam), {
title: input.title,
text: input.content,
text: `### ${input.title}\n\n${input.content}`,
singleTitle: input.actionTitle,
singleURL: input.actionUrl,
})

View File

@ -161,6 +161,8 @@ export const sendRobotMessage = async (input: {
actionUrl: string
}) => {
const { robotCode } = getDingTalkConfig()
const visibleTitle = input.title.slice(0, 120)
const visibleText = `### ${visibleTitle}\n\n${input.content}`.slice(0, 4800)
return withFreshTokenRetry(async () => {
const token = await getToken()
const data = await requestJson('https://api.dingtalk.com/v1.0/robot/oToMessages/batchSend', {
@ -171,13 +173,13 @@ export const sendRobotMessage = async (input: {
userIds: [input.recipientUserId],
msgKey: input.actionUrl ? 'sampleActionCard' : 'sampleMarkdown',
msgParam: JSON.stringify(input.actionUrl ? {
title: input.title.slice(0, 120),
text: input.content.slice(0, 4800),
title: visibleTitle,
text: visibleText,
singleTitle: input.actionTitle.slice(0, 20),
singleURL: input.actionUrl,
} : {
title: input.title.slice(0, 120),
text: input.content.slice(0, 4800),
title: visibleTitle,
text: visibleText,
}),
}),
}, { deliveryOutcomeCanBeUnknown: true })