node-webot / co-wechat

Wechat for Koa
427 stars 91 forks source link

新增success回复 #20

Open pascallin opened 7 years ago

pascallin commented 7 years ago

全网发布时component_verify_ticket需要回复success,不然无法通过

coveralls commented 7 years ago

Coverage Status

Coverage decreased (-0.9%) to 72.519% when pulling 555d0741a5ea832dd1f386680a470e9ab4494c41 on pascallin:master into 6dbb669314fae9b74da5e994da94fcddffc78747 on node-webot:master.

JacksonTian commented 7 years ago

文档地址发一下,我看一眼。

pascallin commented 7 years ago

文档地址

4、模拟推送component_verify_ticket给开发者,开发者需按要求回复(接收到后必须直接返回字符串success)。

不然设置this.body = "success",会返回xml格式。微信的服务会判定你返回不是字符串不给通过。

JacksonTian commented 7 years ago

这个实现并不够好,如果需要发送XML包装的 success 消息怎么办?

pascallin commented 7 years ago

文档地址

假如服务器无法保证在五秒内处理并回复,必须做出下述回复,这样微信服务器才不会对此作任何处理,并且不会发起重试(这种情况下,可以使用客服消息接口进行异步回复),否则,将出现严重的错误提示。详见下面说明: 1、直接回复success(推荐方式) 2、直接回复空串(指字节长度为0的空字符串,而不是XML结构体中content字段的内容为空)

而且这种情况设置this.body="success",也会导致回复了success。 个人是觉得直接回复success字符串的情况比较少出现,回复内容也可从业务设计上做妥协。

calvinxiao commented 7 years ago

建议检查handle返回的数据是不是buffer,是buffer的话原样返回给用户。这样可以达到直接回复success的目的。