问题描述:在模版消息发送任务完成后,微信服务器会将是否送达成功作为通知,发送到开发者中心中填写的服务器配置地址中。原文链接:https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#6
如果是群发模板消息的话,微信会将所有的群发都推送到服务器上,这样服务器压力会过大,导致网站卡死或者宕机。
建议方案:针对模板消息通知事件类型做处理,如果事件Event=TEMPLATESENDJOBFINISH类型做忽略处理,或者直接中断退出。希望官方能优化一下
<Event><![CDATA[TEMPLATESENDJOBFINISH]]></Event>
例如我自己做的优化处理:
if(strpos($_W['siteurl'], 'api.php?') !== false && strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
$postStr = file_get_contents('php://input');
$account = WeAccount::create($uniacid);
if(!empty($_GET['encrypt_type']) && $_GET['encrypt_type'] == 'aes') {
$postStr = $account->decryptMsg($postStr);
}
$message = $account->parse($postStr);
if(strtolower($message['event']) == 'templatesendjobfinish'){
return true;
}
}
管理员将状态修改为{{statusText(item.status)}} {{item.system == 1?'管理员':'微擎用户'}} {{item.created_at}}