为什么要写这个文章?
1、前两天想到阿里来往注册一个公众号,但发现来往公众平台做的不是一般的烂!注册需要填写excel并发邮件申请,而且申请条件不是一般的苛刻,我的神!
2、看不惯腾讯的霸王条款、服务质量差(动不动屏蔽第三方自动回复)。
3、本来找个朋友基于微信平台创业,发现自己不是创业的料。
微信公众平台可以做什么?(上PP,求懂!)
什么是sophia?
Sophia是一个为方便开发基于微信公众平台应用程序的框架,类似于开发web应用的struts。 Sophia将微信用户回复的内容解析成各种指令以便app能识别和响应用户的请求,实现公众帐号的智能回复。
Sophia的主要特性:
1、将微信用户输入的文本转换为命令;
2、管理微信用户和第三方应用的Session;
3、支持基于命令行的编辑模式和查询模式
4、内置命令帮助查看功能;
5、内置查询命令的上一页、下一页功能;
6、支持字母(不区分大小写)、中文作为指令
7、注重扩展性
8、非常方便嵌入到web应用中
其他:
1、Sophia支持菜单模式!
2、为什么命名为sophia?LP的洋名而已。
Sophia设计
提示:上图沿左上角的箭头开始看。
SophiaServlet是整个框架的入口,
1、负责接收微信平台的请求
2、认证请求的合法性
3、解析微信平台POST过来的xml
MessageProcessorFactory根据配置文件,初始化消息处理器(MessageProcessor对象),并且提供根据请求获取处理器的方法。
MessageProcessor(消息处理器接口)负责提供命令解析器和会话管理。
SessionManager(会话管理器)负责管理微信用户的会话状态,目前只支持内存管理,如用户较多建议自行实现数据库来管理。
CommandParsed(命令解析器接口)拥有命令(TextCommand)对象及其代码的映射关系。
TextCommand(微信文本命令接口),代表公众帐号响应微信用户回复的动作。拥有命令代码、命令别名、待执行方法的接口。
RequestMessage,代表微信平台的对Sophia的请求信息;
ResponseMessage,代表Sophia对微信平台的响应信息;
给阿里来往一点建议
1、不要和微信正面竞争;
2、重点建设公众平台;
3、和第三方开发者建立良好的互动关系;
4、降低门槛,方便开发者基于公众平台建立第三方应用,占领公众服务大厅(医院、银行等);
5、提高公众平台在客户端的操作体验
最后
Sophia也许不能算作一个框架,但它却帮助我们处理了很多东西。不管怎么样,希望对开发微信平台的第三方开发者在程序设计中有一点参考意义罢了。
应用Sophia开发的微信公众帐号案例,想体验的可以关注一下: