|
|
|
@ -100,7 +100,7 @@ export const sentMsgTypeMapped = {
|
|
|
|
|
photo: {
|
|
|
|
|
type: 'image',
|
|
|
|
|
contentToSend: (msg) => ({
|
|
|
|
|
...mediaMsg.contentToSend({...msg, type: 'image'}),
|
|
|
|
|
...mediaMsg.contentToSend({ ...msg, type: 'image' }),
|
|
|
|
|
msgtype: 'image',
|
|
|
|
|
}),
|
|
|
|
|
contentToRender: (msg) => ({
|
|
|
|
@ -112,7 +112,7 @@ export const sentMsgTypeMapped = {
|
|
|
|
|
sticker: {
|
|
|
|
|
type: 'sticker',
|
|
|
|
|
contentToSend: (msg) => ({
|
|
|
|
|
...mediaMsg.contentToSend({...msg, type: 'sticker'}),
|
|
|
|
|
...mediaMsg.contentToSend({ ...msg, type: 'sticker' }),
|
|
|
|
|
msgtype: 'sticker',
|
|
|
|
|
}),
|
|
|
|
|
contentToRender: (msg) => ({
|
|
|
|
@ -151,7 +151,33 @@ export const sentMsgTypeMapped = {
|
|
|
|
|
}),
|
|
|
|
|
},
|
|
|
|
|
whatsappTemplate: {
|
|
|
|
|
contentToSend: (msg) => ({ action: 'message', actionId: msg.id, renderId: msg.id, to: msg.to, msgtype: 'template', msgcontent: { ...msg.template, components: msg.template.components.filter(com => com.type.toLowerCase() === 'body') }}), // todo: 其他组件不发送是否可以
|
|
|
|
|
contentToSend: (msg) => ({
|
|
|
|
|
action: 'message',
|
|
|
|
|
actionId: msg.id,
|
|
|
|
|
renderId: msg.id,
|
|
|
|
|
to: msg.to,
|
|
|
|
|
msgtype: 'template',
|
|
|
|
|
msgcontent: {
|
|
|
|
|
...msg.template,
|
|
|
|
|
components: [
|
|
|
|
|
...msg.template.components.filter((com) => !['footer', 'buttons', 'header'].includes(com.type.toLowerCase())),
|
|
|
|
|
...(msg.template.components.filter((com) => 'header' === com.type.toLowerCase()).length > 0
|
|
|
|
|
? msg.template.components
|
|
|
|
|
.filter((com) => 'header' === com.type.toLowerCase())
|
|
|
|
|
.map((ele) => ({ type: 'header', parameters: [{ text: ele.text, type: ele.format.toLowerCase(), [ele.format.toLowerCase()]: { link: ele.example.header_url[0] } }] }))
|
|
|
|
|
: []),
|
|
|
|
|
...(msg.template.components.filter((com) => 'buttons' === com.type.toLowerCase()).length > 0
|
|
|
|
|
? msg.template.components
|
|
|
|
|
.filter((com) => 'buttons' === com.type.toLowerCase())[0]
|
|
|
|
|
// .buttons.filter((btns) => ! ['phone_number', 'url'].includes( btns.type.toLowerCase()))
|
|
|
|
|
.buttons.filter((btns) => ! isEmpty(btns.example)) // 静态按钮不发
|
|
|
|
|
.map((btn, btnI) => ({ type: 'button', sub_type: btn.type.toLowerCase(), index: btnI,
|
|
|
|
|
// parameters: [{ text: 'lq1FTtA8', type: 'text' }]
|
|
|
|
|
}))
|
|
|
|
|
: []),
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
contentToRender: (msg) => {
|
|
|
|
|
const templateDataMapped = msg.template?.components ? msg.template.components.reduce((r, v) => ({ ...r, [v.type]: v }), {}) : null;
|
|
|
|
|
// const templateParam = (templateDataMapped?.body?.parameters || []).map(e => e.text);
|
|
|
|
|