fastweixin v1.2.5 釋出,極速微信公眾號開發框架

TP_funny發表於2014-12-05
  • 修復MediaAPI中依賴spring框架工具類BUG;                
  • 重構自定義Handle介面,使用更加方便;                
  • 修復建立選單空指標BUG,感謝bs2004提供反饋;                
  • 註釋完善,便於理解;                
快速搭建微信公眾平臺伺服器
簡單封裝了所有與微信伺服器互動的訊息:文字訊息、圖片訊息、圖文訊息等等提供了基於springmvc以及基於servlet框架的控制器,整合了微信伺服器繫結、監聽所有型別訊息的方法使用時繼承,重寫即可,十分方便v1.2.0開始支援高階介面的API,https請求基於org.apache.httpcomponents 4.3.6,json解析基於fastjson 1.1.46框架中提供MenuAPI、MessageAPI、QrcodeAPI、UserAPI、MediaAPI用於實現所有高階介面功能,使用極其簡單
內部實現token過期自動重新整理,不用再關注token細節

基於springmvc專案的整合方法
@RestController
@RequestMapping("/weixin")
public class WeixinController extends WeixinControllerSupport {
private static final Logger log = LoggerFactory.getLogger(WeixinController.class);
private static final String TOKEN = "myToken";
//設定TOKEN,用於繫結微信伺服器
@Override
protected String getToken() {
return TOKEN;
}
//重寫父類方法,處理對應的微信訊息
@Override
protected BaseMsg handleTextMsg(TextReqMsg msg) {
String content = msg.getContent();
log.debug("使用者傳送到伺服器的內容:{}", content);
return new TextMsg("伺服器回覆使用者訊息!");
}
/*1.1版本新增,重寫父類方法,加入自定義微信訊息處理器
*不是必須的,上面的方法是統一處理所有的文字訊息,如果業務覺複雜,上面的會顯得比較亂
*這個機制就是為了應對這種情況,每個MessageHandle就是一個業務,只處理指定的那部分訊息
*/
@Override
protected List<MessageHandle> initMessageHandles() {
List<MessageHandle> handles = new ArrayList<MessageHandle>();
handles.add(new MyMessageHandle());
return handles;
}
//1.1版本新增,重寫父類方法,加入自定義微信事件處理器,同上
@Override
protected List<EventHandle> initEventHandles() {
List<EventHandle> handles = new ArrayList<EventHandle>();
handles.add(new MyEventHandle());
return handles;
}
}

基於servlet專案的整合方法
public class WeixinServlet extends WeixinServletSupport {
private static final Logger log = LoggerFactory.getLogger(WeixinController.class);
private static final String TOKEN = "myToken";
//設定TOKEN,用於繫結微信伺服器
@Override
protected String getToken() {
return TOKEN;
}
//重寫父類方法,處理對應的微信訊息
@Override
protected BaseMsg handleTextMsg(TextReqMsg msg) {
String content = msg.getContent();
log.debug("使用者傳送到伺服器的內容:{}", content);
return new TextMsg("伺服器回覆使用者訊息!");
}
//1.1版本新增,重寫父類方法,加入自定義微信訊息處理器
@Override
protected List<MessageHandle> initMessageHandles() {
List<MessageHandle> handles = new ArrayList<MessageHandle>();
handles.add(new MyMessageHandle());
return handles;
}
//1.1版本新增,重寫父類方法,加入自定義微信事件處理器
@Override
protected List<EventHandle> initEventHandles() {
List<EventHandle> handles = new ArrayList<EventHandle>();
handles.add(new MyEventHandle());
return handles;
}
}
web.xml配置
<servlet>

<servlet-name>weixin</servlet-name>
<servlet-class>xxx.xxx.WeixinServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>weixin</servlet-name>
<url-pattern>/weixin</url-pattern>
</servlet-mapping>
來自:開源中國
評論(1)

相關文章