如何进行微信快速开发

 时间:2024-10-22 19:41:50

WechatFramework(微信开发框架,简称WTF)能帮助开发者快速搭建微信公众号开发环境,开发者在自己的微信公众号开发项目中引入本框架后,仅需简单的几步配置即可获得消息接收、解析、回复等功能,同时还有菜单创建,二维码请求等功能供开发者调用。WTF使得开发者能够集中精力关注自身业务能力的开发,省去对Http、Xml、Json等大量基础能力模块的理解和构建,节省大量人力和时间。引入WTF使得微信公众号开发变成一件快速而简单的工作,尤其适合个人公众号,以及非软件研发专业公司的营销公众号的快速开发。仅需四步,就能完成微信公众号的接入、鉴权、菜单创建、消息接收与回复等核心功能。

工具/原料

Java

微信公众平台

WechatFramework(WTF)

方法/步骤

1、第一步:将WTF的4个jar包拷贝到项目的lib目录下;下载地址:http://115.159.67.204/Tutorial/Download/wtf-1.0.rar

2、第二步:在项目的web.xml文件中增加以下配置:<!--Spring上下文配置颍骈城茇--><context-param><param-name>con墉掠载牿textConfigLocation</param-name><param-value>classpath:com/halo/wechat/config/applicationContext-wechat.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--SpringMVC框架配置--><servlet><servlet-name>mvcFramework</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:com/halo/wechat/config/applicationContext-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>mvcFramework</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>熟悉Spring框架的开发者对以上的配置并不陌生,这实际上是在配置Spring的监听器和MVC框架的DispatcherServlet,只不过指明了要加载WTF的com/halo/wechat/config/applicationContext-wechat.xml和com/halo/wechat/config/applicationContext-servlet.xml这两个上下文(Context)配置文件(见红色字体标明部分)。这两个配置文件已经包含在WTF的jar包里。开发者也可以同时加载自己的上下文(Context)配置文件,只需将红色字体标明部分改为以下形式:<param-value>self_aplicationContext.xml,classpath:com/halo/wechat/config/applicationContext-wechat.xml</param-value><param-value>self_aplicationContext_servlet.xml,classpath:com/halo/wechat/config/applicationContext-servlet.xml</param-value>例子中假设self_aplicationContext.xml和self_aplicationContext_servlet.xml是开发者自己的上下文配置,多个配置文件之间用“,”(半角逗号)隔开,当然,实际开发时你还需要在配置文件名前加上相对或绝对路径。

3、第三步:在项目的classpath目录下加入两个配置文件“log4j2.xml”和“wechat.properties”:“log4j2.xml”是log4j(日志记录工具)的配置文件,内容不需要修改。“wechat.properties”中需要配置开发者自己的微信公众号的app_id、app_secret和token,开发者在微信公众平台上可以找到这三个参数的配置。以上两个文件在wtf-1.0.rar中都有。

4、第四步:实现WTF框架中的com.halo.wechat.mvc.commands.Com葡矩酉缸mand接口,开发者在这个实现类中粕盘镱嘧编写消息和事件处理的代码,如下例子://注意:Command接口的实现类一定要定义在名称形式如“com.*.wechat.mvc.commands”的包中,因为在applicationContext-servlet.xml配置文件中已经指明了要对这种形式的包进行扫描以发现可以自动装配的Beanpackagecom.user.wechat.mvc.commands;importjava.sql.Timestamp;importjava.util.Random;importorg.springframework.stereotype.Component;importcom.halo.wechat.messages.ClickEvent;importcom.halo.wechat.messages.Event;importcom.halo.wechat.messages.LocationEvent;importcom.halo.wechat.messages.LocationMessage;importcom.halo.wechat.messages.Message;importcom.halo.wechat.messages.MsgType;importcom.halo.wechat.messages.SubscribeEvent;importcom.halo.wechat.messages.TextMessage;importcom.halo.wechat.mvc.commands.Command;importcom.halo.wechat.mvc.commands.CommandException;/***@fileUserCommand.java*@authorJunior*@date2015年8月9日上午11:21:44*@version1.0*///注意:此处一定要加上@Component注解,这样SpringMVC框架才可以扫描到开发者自定义的实现类并自动装配到WTF中,这样无需编写任何代码即可让WTF自动调用开发者自己的消息和事件处理方法。@ComponentpublicclassUserCommandimplementsCommand{//消息处理方法,在接收到微信公众平台发送的消息时,WTF会自动调用该方法。@OverridepublicMessageprocessMessage(MessagereceiveMessage)throwsCommandException{MessageresponseMessage=null;System.out.println("Receivea"+receiveMessage.getClass().getSimpleName()+"type"+receiveMessage.getMsgType());Randomrand=newRandom();longmsgId=rand.nextLong();StringresponseText="你好啊!";//此处可根据receiveMessage.getMsgType()判断接收到的微信公众平台消息类型,消息类型常量定义在MsgType类中,例如MsgType.TEXT是文本消息,详见MsgType类的说明。if(MsgType.LOCATION.equals(receiveMessage.getMsgType())){LocationMessagelocationMsg=(LocationMessage)receiveMessage;responseText="你目前位于东经"+String.valueOf(locationMsg.getLocation_Y())+"度,北纬"+String.valueOf(locationMsg.getLocation_X())+"度。地点:"+locationMsg.getLabel();}//开发者可构建自己的回复消息,如果不需要回复任何消息,可直接retrunnullresponseMessage=newTextMessage(receiveMessage.getFromUserName(),receiveMessage.getToUserName(),newTimestamp(System.currentTimeMillis()),MsgType.TEXT,responseText,msgId);returnresponseMessage;}//事件处理方法,在接收到的微信公众平台消息是事件类型时,WTF会自动调用该方法。@OverridepublicMessageprocessEvent(EventreceiveEvent)throwsCommandException{MessageresponseMessage=null;StringresponseText="建设中...";//以下方法可以判断事件类型。if(receiveEventinstanceofClickEvent){ClickEventclickEvent=(ClickEvent)receiveEvent;//以下方法可以判断菜单点击事件中,用户具体点击的是哪一个菜单。if("tip".equals(clickEvent.getEventKey())){responseText="你想要回复的内容……";}}elseif(receiveEventinstanceofSubscribeEvent){responseText="你想要回复的内容……";}elseif(receiveEventinstanceofLocationEvent){LocationEventlctnEvnt=(LocationEvent)receiveEvent;responseText="你目前位于东经"+String.valueOf(lctnEvnt.getLongitude())+"度,北纬"+String.valueOf(lctnEvnt.getLatitude())+"度。";}//开发者可构建自己的回复消息,如果不需要回复任何消息,可直接retrunnullRandomrand=newRandom();longmsgId=rand.nextLong();responseMessage=newTextMessage(receiveEvent.getFromUserName(),receiveEvent.getToUserName(),newTimestamp(System.currentTimeMillis()),MsgType.TEXT,responseText,msgId);returnresponseMessage;}}至此,你已经可以开始开发自己的微信公众号了!在开发中你还需要创建菜单、向微信公众平台请求二维码等更多功能,WTF以Capability的形式封装了这些能力接口,以更简单方便的形式提供给开发者调用,更多高级的接口功能请参考以下的教程。

5、WTF利用了Spring、Log4J等诸多框架,因此你需要将以下包也加入到项目中,方法同加入WTF的jar包一样。依赖包:httpcomponent-4.5json-2.4log4j-2.3spring-3.2.9spring-related依赖包下载地址:http://115.159.67.204/Tutorial/Download/wtf-dependencies.rar

6、更多开发指南请参考:http://115.159.67.204/Tutorial/tutorial.htm

怎么关闭游戏人生 雾霾生活小知识? 红枣桂圆小米粥 滴滴出行app为什么被下架 3种不能直接睡觉的情况
热门搜索
美景之屋电影 公寓装修图片 迷人的保姆电影 韩国电影年轻的小姨子 幸运四叶草图片