
1、微信公众号类型介绍
微信公众号分服务号和订阅号两种,具体差别:可以获得的接口权限,即可以提供的功能差异如下:
显然,服务号看上去功能更多,但是也需要根据业务场景考虑,要做到频繁给用户推送消息,还非订阅号不可。申请到公众号后,即可前往微信公众平台管理你的公众号。
2、简单的交互
如果你的微信公众号大致只需要以下功能:
∙手动给用户推送图文消息
∙利用底部菜单引导用户进入运营站点
∙根据用户发送的关键字自动回复用户
∙对用户发送的消息进行客服回复等
那只需要登录微信公众平台,在平台管理里面配置一些参数即可:
如果要一些自动化的功能,比如自动定期推送文章,绑定站点进行消息提醒,或者需要接入支付、卡劵、门店等高级接口功能,则需要自己开发公众号的后台服务。
3、启用服务器配置
如果启用了服务器配置后,可以在自己的服务器端进行代码开发处理微信消息, 上一节介绍的在平台配置的自动回复、菜单等全部会失效。 先来画一下启动服务器配置后,微信客户端、微信服务器如何与自己配置的服务器交互的。
很显然,首先应该去微信公众平台上配置自己的服务器信息,告诉微信服务器这个微信公众号的后台地址,以方便微信服务器进行消息转发。
当然,我们不可能随便填一个网址,而自己的服务器也不能随意接收没有校验的消息,所以这两者间绑定然后交互需要约定一个暗号,也就是Token值。第一次配置时,微信会像配置服务器发送带Token加密消息的校验信息,彼此确认身份,其后每次微信服务器和配置服务器交互信息时,也都会带上Token相关的身份校验信息。
这里要介绍两个nodejs中开发微信公众号的模块, wechat 和 wechat-api ,这两个都是微信公众平台的基础库,封装了几乎所有 微信开发者文档 提供的接口。我们可以利用Express框架搭建简单的功能,关键代码如下:
var express =require("express");
var path=require('path');
var app = express();
server =require('http').Server(app);
app.set('views',__dirname);// 设置视图
app.set('view engine','html');
app.engine('.html',require('ejs').__express );
require('./index')(app);//路由配置文件
server.listen(80,function(){
console.log('App start,port 80.');
});
然后再添加一个名为test.html的文件。写入以下内容
<%=issuccess%>