royalrick / weapp

微信小程序服务端 SDK (for Golang)
https://pkg.go.dev/github.com/medivhzhan/weapp/v3
Apache License 2.0
1.47k stars 281 forks source link

Fix:错误的使用 riderScoreSetHandler 来判断subscribeMsgPopup和subscribeMsgChange #57

Closed ihipop closed 3 years ago

ihipop commented 3 years ago

调用subscribeMsgPopup和subscribeMsgChange的时候错误的判断了riderScoreSetHandler

https://github.com/medivhzhan/miniapp/blob/bf105c44b8f3afe4c528373376915cc1b09a8072/server/server.go#L537-L539

https://github.com/medivhzhan/miniapp/blob/bf105c44b8f3afe4c528373376915cc1b09a8072/server/server.go#L546-L548

ihipop commented 3 years ago

此外还有一个问题:subscribeMsgPopup 和subscribeMsgChange 没有任何返回,这样外面受到的返回是个空 interface{} 而

https://github.com/medivhzhan/miniapp/blob/bf105c44b8f3afe4c528373376915cc1b09a8072/server/server.go#L565-L572

判断的这个 空 interface{} 不是空的 返回的是 false 然后那边受到了一个 null 字符串返回

微信图片_20210910193732

royalrick commented 3 years ago

已合并,谢谢 :)

ihipop commented 3 years ago

@medivhzhan 其实这里可以不用弄这么复杂,如果是空interface 直接返回nil即可,nil可以作为空interface的返回值的,外面比较的时候直接判断是不是=nil即可

royalrick commented 3 years ago

按道理是你说的这样的,但是之前发生过Panic,所以就改成现在这样了;

ihipop commented 3 years ago

@medivhzhan 你现在修改的判断还是有问题的:

1

v是nil你这返回了个 false?

这样微信服务器受到的是个 null 字符串

他文档里面要求是返回success或者空 200