好久没进博客,最近应某人的要求,要每周写一篇博客,故此今天就把我这周刚学的微信公众号开发的知识在此总结总结,以供后人查阅。我写博客都是简要白话文,勿喷。
1.为什么要学微信公众号开发
微信的用户量庞大,微信公众号的完善和不断的开放力度,企业市场对公众号开发的需求不断增加
2.如何搭建微信开发平台
开发工具什么的就不说了,因为微信是要外网访问的,所有你必须有个网上的服务器资源,而且你必须申请一个微信公众号。
2.1申请微信公众号
公众号有3种:订阅号,服务号,企业号
区别是企业号适合内部人使用,因为它只有通过后台导入的微信号才能关注,不限群发次数;服务号和订阅号的不同就是,服务号一个月才群发一次,但是可以在最近联系人显示,而订阅号只能跟一群订阅号显示在一个订阅号分组里,但是貌似可以群发4次每月。
从名字可以知道,订阅号倾向于个人和组织,服务号和企业倾向于公司企业。
顺便提下,要通过微信认证之后才会有更多功能,微信认证就是一个实名认证。费用目前是300元。微信支付申请费用1万人民币。
个人订阅不需要认证,但是功能很少,连自定义菜单功能都没有,不过你可以通过官方提供的测试号实现除微信支付外的所有功能。
申请成功后,你可以设置公众号的微信号,头像等等。
2.2申请服务器资源
如果自己有外网域名或者IP网站,可以无视了。
申请服务器目前常用的是云计算的服务,比如新浪的SAE,百度的BAE和阿里云,不过貌似都要收费。
拿SAE来举例,进入SAE官方网站,用新浪微博的账号登陆,在个人账号里面有个实名认证,输入身份证号,上传手拿身份证的图片提交认证,然后等3个工作日就行。
认证成功后,点击控制台菜单,新增应用,选择jdk1.6的服务,经济型,一小时5个云豆,默认给你2个jvm虚拟机。你可以稍等点击jvm管理修改成1个足够了。
注意!!如何不用的时候,记得点击jvm管理里把jvm关闭掉,不然它要等上3小时没任何操作后才会自动关闭,那你就少了15个豆豆咯。
点击代码管理,在这里我新增一个版本,然后在操作里上传你的应用war包就行了。新浪用的是jetty服务器,不是tomcat。
服务器的申请就是这样,以后代码有更新就上传覆盖。
3.微信公众平台远程服务器配置
点击公众平台的开发者中心,通过认证后点击服务器配置,要你输入远程服务器的url和token,还有系统会自动生成的密钥。
url就是你代码中心的你之前新建的代码版本链接,比如1.xxxxx.com,再加上你首次认证的servlet名,比如coreServlet,加起来就是url了,如1.xxxxx.com/coreServlet,
不需要应用的上下文路径。
认证的代码逻辑就是通过对收到参数进行sort后加密得到一个东西跟另外一个参数对比,对比成功了就认证成功了,具体看文档。
话说为什么要写认证代码,因为你只有认证后才能启动服务器,官方的规定。
token就是什么,就是你代码里面自己写死的字符常量,比如“weixin”,自己看你的代码去。
填好后就点击认证就行了,如果报错的号,就是你的应用里面的jar包里面有servlet-api.jar这个包,上传到服务器的时候记得先从war里删除。
4.自定义菜单代码编写
启用服务器配置后,就可以编写自己的菜单,菜单是3*5的菜单,意思是3个大菜单,每个大菜单下面5个小菜单最多。
代码编写的思路是,定义一个BASEBUTTON菜单实体类,然后扩展大菜单和小菜单实体类。在service层实现具体的菜单的名字,url等,控制层调用微信的自定义菜单创建接口就行了。自定义菜单就创建完毕了。其他什么自定义菜单查询 删除功能一般用不上。
5.接收和发送消息
代码编写的思路是,定义一个BASEMESSAGE消息实体类,然后扩展不同类型消息实体类。接收和发送消息实体类组可以分别定义。在service层实现具体的消息发送逻辑等,控制层调用POST方法转换XML和组装XML格式字符发送给微信接口就行了。消息都是XML格式进行传送。
入门的功能就是这样,后面的一些高级功能,就需要自己去看文档调试了,拜拜~
需要入门教程的完成代码包的可以在后面留言邮箱,或者等我有时间上传网盘。