本文主要讲解如何使用 weinxinFundation 进行二次开发。
步骤如下:
1.创建新的web项目。
在eclipse里新建一个dynamicly web project,比如本文叫weixinDemo
2.引用weinxinFundation
获得weinxinFundation的方法: 参考我的另一篇文章:http://www.cnblogs.com/vir56k/p/3664181.html
有两种引用方式: 1).如果你拿到的是个jar包,请按常规方式引用,程序员都知道。 2).如果你拿到的是源代码,请参考我的另一篇文章:http://www.cnblogs.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(); } }
上面的代码写了一个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; } }
上面的代码的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开始一个微信公众平台的开发
微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发,布布扣,bubuko.com