你好,首先非常感谢作者提供的这么好用的微信项目快速搭建框架。这几天在开发微信项目,也看了fastweixin的绝大多数源码。有一件事没搞清楚,就是在NetWorkCenter中的doRequest这个核心方法中,是如何完成微信全局返回码(http://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html)
到ResultType的映射的。据我所知,在doRequest方法中,传递给回调函数的resultCode跟微信的全局返回码应该不是一回事,只是表示服务器响应的状态码。那么在MenuAPI等继承了BaseAPI的类中的方法返回的ResultType就无法反映微信服务器返回的全局返回码及其错误信息了。还请作者明示,不胜感激!
感谢关注,在doRequest方法中,resultCode仅仅是用来判断请求是否成功,而之后在返回的对象中,并没有再使用resultCode这个值了,而是把resultJson返回了出去,resultJson里包含了全局错误码
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
早上调试了一遍,找到我的疑问点了。正如作者所说,在doRequest方法中resultCode方法用来判断请求本身是否成功。微信服务器返回的全局返回码已经存在于返回的resultJson中了。然后在NetWorkCenter类中其他调用doRequest的方法中,例如get(url),在判断出请求本身是成功的情况的下,执行了这么一行代码BaseResponse r = JSONUtil.toBean(resultJson, BaseResponse.class)。这行代码就是将微信服务器全局返回码设置到了BaseResponse中了。在这里再次感谢作者,从作者的代码中学到了很多东西,而且就fastweixin本身而言,极大的提高了我的开发速度。
状态更改为 已关闭
登录 后才可以发表评论