puppet-padlocal
puppet-padlocal copied to clipboard
体验版小程序卡片原样转发会变成线上版
依赖版本:
"wechaty": "^1.20.2",
"wechaty-plugin-contrib": "^1.11.2",
"wechaty-puppet": "^1.20.2",
"wechaty-puppet-padlocal": "^1.20.1",
核心代码:
使用收到的payload构造新的小程序卡片
if (msg.type() === PUPPET.types.Message.MiniProgram) {
const card = await msg.toMiniProgram()
log.info(JSON.stringify(card))
const payload = card.payload
await receivers[0].say(new bot.MiniProgram(payload))
}
观察到的payload不同
手动分享收到的sharedId和自动分享时填入的shareId为同一个(因为上面那段代码直接没有改payload),格式为:
1_${appid}_${长度32的hash code}_${UNIX时间戳}_0
收到的自动分享的卡片中,shareId被改写了,格式变为
0_${appid}_${9位数字}_${UNIX时间戳}_0
其中9位数字在我分享的其他小程序的卡片中也是同样的。
截图:
截图中两个小程序卡片一个是通过手动从体验版小程序中分享的,一个是通过上面那段代码在收到手动分享的卡片之后自动分享的。
