本文主要講解如何使用weinxinFundation 進行二次開發。
步驟如下:
1.創建新的web項目。
在eclipse里新建一個dynamicly web PRoject,比如本文叫weixinDemo
2.引用weinxinFundation
獲得weinxinFundation的方法:參考我的另一篇文章:http://www.49028c.com/vir56k/p/3664181.html
有兩種引用方式: 1).如果你拿到的是個jar包,請按常規方式引用,程序員都知道。 2).如果你拿到的是源代碼,請參考我的另一篇文章:http://www.49028c.com/vir56k/p/3778414.html
3.進入微信公眾平臺的后臺,修改 token ,獲得 appid和secret.
3.1).進入微信公眾平臺的后臺頁面:https://mp.weixin.QQ.com/
3.2).找到“開發者ID” 下的 AppId 和AppSecret 并記錄下來,后面要用到。
3.3). 在 “服務器配置” 部分,設置 URL 和 Token,其中
URL是你后面要發布的sevlet的地址,比如:http://xxx.xxx.xxx.xxx/weinxinDemo/WeixinSvc,
注釋:這里xxx.xxx.xxx.xxx是你的IP或者域名,weinxinDemo是 你的網站webSite的名稱,WeixinSvc 是 sevlet的名稱。
Token 是用于認證的標記,可以隨便設置,不過要記下下來,后面要用。
注釋:在演示中,我使用helloweixin作為我的token
4.建立一個新的servlet(集成自WeixinBaseServlet)用于接收 “來自微信服務的web調用”。
創建新的servLet,名字是WeixinSvc。注意這里和上一步里的 3.3 里的servlet名稱相同。這個servlet集成自:WeixinBaseServlet,示例代碼如下:
package weixinmobile.services;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import weixinFundation.core.common.WeixinBaseServlet;import weixinFundation.core.common.WeixinContext;/** * 用于和 騰訊微信 交互的的servlet */@WebServlet("/WeixinSvc")public class WeixinSvc extends WeixinBaseServlet { /** * @see HttpServlet#HttpServlet() */ public WeixinSvc() { super(); } @Override protected WeixinContext onInitWeixinContext() { return new WeixinContextImpl(); }}View Code
上面的代碼寫了一個WeixinContextImpl ,這里使用了一些“上下文配置信息”,我們下面實現它。
package weixinmobile.services;import weixinFundation.core.common.LinkedMessageWeixinContext;import weixinmobile.services.handlers.EventMessageHandler;import weixinmobile.services.handlers.TextMessageHandler;public class WeixinContextImpl extends LinkedMessageWeixinContext{ public static final String Token = "helloweixin"; public static final String appID = "你的appid"; public static final String appsecret = "你的appsecret"; @Override public void onCreate() { addHander(new TextMessageHandler()); addHander(new EventMessageHandler()); } @Override public String getToken() { return Token; }}View Code
上面的代碼的onCreate加載了兩個消息處理器,如下:
addHander(new TextMessageHandler()); //用于處理 字符文本消息的處理 addHander(new EventMessageHandler()); //用于處理 事件的消息處理
TextMessageHandler 和EventMessageHandler 都繼承自WeixinMessageHandler
根據你的業務需要,你可以自定義這些消息的處理方式,你的主要業務,代碼邏輯會集中在你自定義的Handler里。
在你自定義的Handler處理 來自 手機發來的消息或者點擊事件,用戶關注事件等,在這里可以對他們進行回復。
5.配置和使用 菜單
根據目前的規則,服務號才有菜單,你需要在進入微信公眾平臺的后臺開啟它。
下面是根據我的 演示項目weixinDemo里 創建菜單的方式,
進入我們的項目代碼,創建一個 src/menu.txt 這里使用json描述了菜單,你根據自己的需要修改它。
你會看到有個MenuSvc 的servlet,我在這個servlet里寫了,自動獲得認證,讀取剛剛 menu. txt文件內容發送到微信后臺的方法。
你需要在瀏覽器里執行者個servlet,格式如下:..../MenuSvc?a=create 就OK 了。這個MenuSvc 是我為了方便創建菜單寫的,建議在正式發布時刪除這個MenuSvc 以確保安全。
6.發布
經編譯好的代碼,部署在Tomcat下,確保外網通暢,大功告成。你就可以關注你自己的微信公眾號了。
我的其他文章:
微信公眾平臺開發 - 基礎篇
微信公眾平臺開發 - 動手篇。使用weinxinFundation開始一個微信公眾平臺的開發新聞熱點
疑難解答