jfinal_weixin_1.2版本本地調試

以前使用的都是jfianl_weixin_1.1版本,在本地調試的時候只須要註釋掉@Before(WeixinInterceptor.class)攔截器就能夠了。ps:(該方法一開始是看@天蓬小豬  的博客http://my.oschina.net/u/257950/blog/347392) 。今天須要開發新的微信項目,發現sdk已經更新到1.2版本了,因而熟練的註釋掉了@Before(MsgInterceptor.class)這一行,而後運行微信開發調試小工具後就報了一個錯誤java

java.lang.IllegalStateException: 須要事先使用 ApiConfigKit.setThreadLocalApiConfig(apiConfig) 將 ApiConfig對象存入,才能夠調用 ApiConfigKit.getApiConfig() 方法

查看了一下changelog發現jfinal_weixin_1.2的一些小改動——支持多公衆號。因此須要動態的配置ApiConfig,查看MsgInterceptor.class的源碼發現了這樣一句代碼api

 // 將 ApiConfig 對象與當前線程綁定,以便在後續操做中方便獲取該對象: ApiConfigKit.getApiConfig();
 ApiConfigKit.setThreadLocalApiConfig(((MsgController)controller).getApiConfig());

因而明白了問題所在:只須要在MsgController.java的index()方法中加上微信

ApiConfigKit.setThreadLocalApiConfig(getApiConfig());//nie:本地測試調試加上的,須要刪除

其餘代碼同理。微信開發

這些改動僅僅是用於本地測試使用,不建議真正修改官方源碼,建議在在線調試時直接用官方提供了jar包覆蓋本地的jar包便可。
工具

相關文章
相關標籤/搜索