当前仓库属于暂停状态,部分功能使用受限,详情请查阅 仓库状态说明
755 Star 2K Fork 745

sd4324530 / fastweixin
暂停

 / 详情

关于微信服务器的全局返回码如何对应到ResultType的问题

已完成
创建于  
2015-01-15 21:49

你好,首先非常感谢作者提供的这么好用的微信项目快速搭建框架。这几天在开发微信项目,也看了fastweixin的绝大多数源码。有一件事没搞清楚,就是在NetWorkCenter中的doRequest这个核心方法中,是如何完成微信全局返回码(http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html)
到ResultType的映射的。据我所知,在doRequest方法中,传递给回调函数的resultCode跟微信的全局返回码应该不是一回事,只是表示服务器响应的状态码。那么在MenuAPI等继承了BaseAPI的类中的方法返回的ResultType就无法反映微信服务器返回的全局返回码及其错误信息了。还请作者明示,不胜感激!

评论 (3)

感谢关注,在doRequest方法中,resultCode仅仅是用来判断请求是否成功,而之后在返回的对象中,并没有再使用resultCode这个值了,而是把resultJson返回了出去,resultJson里包含了全局错误码

早上调试了一遍,找到我的疑问点了。正如作者所说,在doRequest方法中resultCode方法用来判断请求本身是否成功。微信服务器返回的全局返回码已经存在于返回的resultJson中了。然后在NetWorkCenter类中其他调用doRequest的方法中,例如get(url),在判断出请求本身是成功的情况的下,执行了这么一行代码BaseResponse r = JSONUtil.toBean(resultJson, BaseResponse.class)。这行代码就是将微信服务器全局返回码设置到了BaseResponse中了。在这里再次感谢作者,从作者的代码中学到了很多东西,而且就fastweixin本身而言,极大的提高了我的开发速度。

状态更改为 已关闭

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
113628 pyinjava 1578918112
Java
1
https://gitee.com/pyinjava/fastweixin.git
git@gitee.com:pyinjava/fastweixin.git
pyinjava
fastweixin
fastweixin

搜索帮助