本文主要講解如何使用weinxinFundation 進(jìn)行二次開發(fā)。
步驟如下:
1.創(chuàng)建新的web項目。
在eclipse里新建一個dynamicly web PRoject,比如本文叫weixinDemo

2.引用weinxinFundation
獲得weinxinFundation的方法:參考我的另一篇文章:http://m.survivalescaperooms.com/vir56k/p/3664181.html
有兩種引用方式: 1).如果你拿到的是個jar包,請按常規(guī)方式引用,程序員都知道。 2).如果你拿到的是源代碼,請參考我的另一篇文章:http://m.survivalescaperooms.com/vir56k/p/3778414.html
3.進(jìn)入微信公眾平臺的后臺,修改 token ,獲得 appid和secret.
3.1).進(jìn)入微信公眾平臺的后臺頁面:https://mp.weixin.QQ.com/
3.2).找到“開發(fā)者ID” 下的 AppId 和AppSecret 并記錄下來,后面要用到。
3.3). 在 “服務(wù)器配置” 部分,設(shè)置 URL 和 Token,其中
URL是你后面要發(fā)布的sevlet的地址,比如:http://xxx.xxx.xxx.xxx/weinxinDemo/WeixinSvc,
注釋:這里xxx.xxx.xxx.xxx是你的IP或者域名,weinxinDemo是 你的網(wǎng)站webSite的名稱,WeixinSvc 是 sevlet的名稱。
Token 是用于認(rèn)證的標(biāo)記,可以隨便設(shè)置,不過要記下下來,后面要用。
注釋:在演示中,我使用helloweixin作為我的token
4.建立一個新的servlet(集成自WeixinBaseServlet)用于接收 “來自微信服務(wù)的web調(diào)用”。
創(chuàng)建新的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 ,這里使用了一些“上下文配置信息”,我們下面實現(xiàn)它。

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
根據(jù)你的業(yè)務(wù)需要,你可以自定義這些消息的處理方式,你的主要業(yè)務(wù),代碼邏輯會集中在你自定義的Handler里。
在你自定義的Handler處理 來自 手機(jī)發(fā)來的消息或者點(diǎn)擊事件,用戶關(guān)注事件等,在這里可以對他們進(jìn)行回復(fù)。
5.配置和使用 菜單
根據(jù)目前的規(guī)則,服務(wù)號才有菜單,你需要在進(jìn)入微信公眾平臺的后臺開啟它。
下面是根據(jù)我的 演示項目weixinDemo里 創(chuàng)建菜單的方式,
進(jìn)入我們的項目代碼,創(chuàng)建一個 src/menu.txt 這里使用json描述了菜單,你根據(jù)自己的需要修改它。
你會看到有個MenuSvc 的servlet,我在這個servlet里寫了,自動獲得認(rèn)證,讀取剛剛 menu. txt文件內(nèi)容發(fā)送到微信后臺的方法。
你需要在瀏覽器里執(zhí)行者個servlet,格式如下:..../MenuSvc?a=create 就OK 了。這個MenuSvc 是我為了方便創(chuàng)建菜單寫的,建議在正式發(fā)布時刪除這個MenuSvc 以確保安全。
6.發(fā)布
經(jīng)編譯好的代碼,部署在Tomcat下,確保外網(wǎng)通暢,大功告成。你就可以關(guān)注你自己的微信公眾號了。
我的其他文章:
微信公眾平臺開發(fā) - 基礎(chǔ)篇
微信公眾平臺開發(fā) - 動手篇。使用weinxinFundation開始一個微信公眾平臺的開發(fā)新聞熱點(diǎn)
疑難解答