最近在做微信公众号的模板消息发送,总是一次发送2条重复消息。
按照微信提供的文档,意思是模板消息发送成功,会有一个事件推送作为是否送达消息的标识,推送到设置的服务器路径下,可以直接回复success或者空字符串,表示告知微信,消息已经传达成功了。
但是,为什么我这么写,没有效果?
代码如下:
1.模板消息发送代码:
public function send_message_template()
{
$wx = new WeixinInterface();
$config['send_data'] = [
'first' => [
'value'=>'首页测试接口', //反馈标题
],
'keyword1' => [
'value'=> '怎么调用2次?' //反馈内容
],
'keyword2' => [
'value'=>date('Y-m-d H:i:s',time()), //反馈时间
],
'remark' => [
'value'=>'点击查看详情',//返回链接提示文字
'color'=>'#1b6d85'
]
];
$res = $wx->send_tmplmsg('oHojo0lb6bzbutxx52-nYUpeacg', 'lyVn1mNnFRDGTX5DQkS8J4TZ-Q99MokWsbbjzPcZ3DA', $config);
dd($res);}
2.服务器接收到事件推送的代码:
//事件推送
public function responseMsg($responseMsg = ['msgType'=>'text','msg'=>''])
{
//请求进来 返回success
ignore_user_abort(true);
ob_start(); //打开输出控制缓冲
echo 'success'; // 返给微信服务器的字符串
header('Connection: close');//关闭http
header('Content-Length: ' . ob_get_length());
header('X-Accel-Buffering: no');//nginx
ob_end_flush();
ob_flush();
flush();
exit;}
明明我在公众号输入任意文本后,不会报 “该公众号服务异常,请稍后重试”,这个没有报错,不是代表success有成功吗?为什么模板消息发送还是会发送两条????
而且按照文档里说的,不是会响应5秒吗?我消息刚发送,就直接推送2条,不合理吧?还是同一秒???
还有,文档里说的,消息排重?具体怎么实现?最好给个实例,十分感谢!!!
我自己浏览器问题 chrome有个检查标签是否成对的插件去掉就好了
谢谢
0.3
检测HTML标签是否正确闭合的工具。author:斯人;blog:www.imsiren.com
这玩意就是要发起两次请求
有解决的吗 模板消息有时候会重复发2次 到3次 有时候不回
看博客有人说 微信服务器会回来看看 试想了一下 发完消息 微信会访问一次 开头判断除了带有令牌的 其他直接 return ok 运行 可以了没有再重复
你好,麻烦提供下请求的时间点、请求的 openid、模板id
谢谢,已经解决了,原因在于curl请求的时候有做超时提醒,就一直会发2条。
请问是怎么解决的呢
请教什么原因,怎么解决的
请教什么原因,怎么解决的
自己顶一下,希望有经验的人进来,指点一下,网上找了2个礼拜的问题都没有详细说明的?不懂的也可以提个思路看下是哪里有问题。
请教请教,问题在哪,怎么解决的
请教什么原因,怎么解决的
ddddddddddddddddddddddd