图书馆微信服务平台的设计与实现(2)
2.1微信公众平台功能说明
微信公众平台为用户提供了实时消息管 理、用户管理、消息群发管理、素材管理、品 牌设置等常规功能。注册用户登录微信平台, 通过首页可以直观地看到每日新增订阅人数曲 线图,每日接受消息数统计图和官方的系统消 息。打开实时消息管理,可以看到用户使用账 号的情况和历史情况,管理员可以对用户的消 息标星和对用户的问题进行回复。打开用户管 理模块,可以对用户进行分组,把违规用户放 入黑名单,统计粉丝数量。打开消息群发模 块,是一个基于网页的富文本编辑器,可以给 用户发送基于文字、语音、图片、视频和图文 的消息,也可以选择接收消息的用户群。打开 素材管理模块,可以对消息的图片、语音、视 频、文字等素材进行管理。打开设置管理,可 以对品牌的头像、功能说明和二维码等信息进 行设置和维护[7]。
2.2图书馆第三方微信服务平台的搭建
微信公众平台已经实现了消息、用户和消 息群发等常规管理功能,任何第三方平台都可 以免费使用其基础平台,因此第三方平台的主 要任务是架设接口的基础网络、部署服务器、 设计第三方消息接口、设计对接第三方业务系 统(群)的方法,设计高效的系统架构方案,优化务,为机构带来更多的用户和更广的商机。
3图书馆微信服务平台实现的关键技术
3.1消息接口的实现方案
目前常用的实现方案有基于PHP、J2EE、 .NET和其他的网络编程的技术,常用的WEB 服务器有 apache,tomcat,nginx,iis 等。微 信官方提供了基于PHP的接口实现方案,熟练 的程序员可以实现基于其它网络编程技术的消 息接口代码。基于JAVA的消息接口实现如图 3所示,是结合昆明理工大学微信平台的一种 实现,主要需要实现的方法包括用于接收消息 参数的doGet()和doPost()方法,用于验证接 口合法性的valid()方法,实现消息接收、处理 和响应的 responseMsg()和 replyMessage()方 法,以及保证消息传输安全的checkSignature() 和SHA1Encode()等身份验证和加解密方法。
图3基于JAVA的消息接口实现
3.2消息推送的格式和消息解析的实现方法 3.2.1消息推送的格式消息推送是指微信用户向公众账号发送消 息。微信服务器将POST该消息到第三方服务 器配置的URL上。通常来说微信用户可以推送 文本、图片、地理位置、链接和事件5种消息 格式,推送XML结构的消息格式请参看文献[7]。 3.2.2 消息解析实现方法当第三方消息接口服务器收到用户推送的 信息后,就需要将消息进行解析。以文本消息 和JAVA实现的解析方法为例,其实现关键代码如下:
Element root = document.getRoot Ele- ment(); //获取XML文档根节点String fromUsername = root.elementText (TromUserName”); // 获取发送方String toUsername = root.elementText ('ToUserName”); //获取接收方String msgType = root, ele me nt Text Trim ("MsgType”); //获取消息类型String content = root. element Text Trim ("Content”); //获取消息内容主要是解析开发者微信号,微信用户发送 账号,信息类型和信息内容等关键信息。
3.3消息回复的格式和消息封装方法 3.3.1消息回复的格式消息回复是指第三方消息接口自动给微信 用户回复消息。对于每一个POST请求,开发 者在响应包中返回特定XML结构,对该用户 的消息进行响应,目前支持文本、音乐和图文 三种消息结构,回复XML结构的详细消息格 式和含义请参看文献[7]。
<XML>//XML结构的回复消息封装方式示例, 字段含义<ToUserName><! [CDATA [toUser]]> < /ToUserName>
<FromUserName><! [CDATA [fromUser]] > </FromUserName>
<Cre ateTime>12345678</Cre ateTime> <MsgType>< ! [CDATA [news ]]></Msg Type>
< Article Count>2</Article Count> <Articles>
<item>
<Title><! [CDATA[title 1]]></Title> <Description><![CDATA[description1]]
93
></Description>
<PicUrl><! [CDATA[picurl] ]></PicUrl> <Url><! [CDATA[url] ]></Url>
</item>
<item>
...//当回复消息数>1条时,以<item> ...</item>形式封装消息 </item>
</Articles>
<FuncFlag>1</FuncFlag>
</XML>
3.3.2消息的封装
当微信第三方服务器对用户的消息进行智 能处理后,就需要将回复内容根据回复类型进 行对应格式的封装,以图文消息和JAVA实现 为例,其封装的关键代码如下:
String responseStr = "<XML>"; // 封装 XML结构的回复消息的JAVA核心代码 //字段含义请参看文献[7] respons e Str+= "<ToUs erName><! [CDATA ["+ fromUsername+ '] ]></ToUserName>"; responseStr+="<FromUserName><!
[CD- ATA[ "+toUsername+'] ]></FromUser- Name>";responseStr+="<CreateTime>" + System.
currentTimeMillis()+ "</CreateTime>";
responseStr+="< MsgType>< ! [CDATA [news]]></MsgType>";responseStr+="<Content>< ! [CDATA[]] ></Content>";re spons e Str+="<Article Count> 1 </Arti- cleCount>";responseStr+="<Articles>"; responseStr+="<item>"; responseStr+="<TMe><![CDATA[图书馆 自修座位信息实时统计]]></Title>";responseStr += "<Discription><![CDATA[" +contentStr+ '] ]></Discription>";responseStr+="<PicUrl><! [CDATA [http: //222.197.202.36/images/seat.jpg]]></PicUrl>"; responseStr+="<Url><! [CDATA [http :// 222.197.202.36/NoAuthAction.do] ]></Url>"; responseStr+= "</item>"; res pons eStr+= "</Articles>"; re spons e Str+=<FuncFlag> 1 </FuncFlag>; responseStr+= "</XML>";4图书馆微信服务平台的使用效果。
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ:
蒋老师联系QQ:
刘老师联系QQ:
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《校园英语》旬刊 省级 教育类学术期刊
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《文教资料》 旬刊 省级
- 《科技风》半月刊 省级 科技类优秀期刊
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《中国实验方剂学杂志》 半月刊 北大核心
- 《电影评介》半月刊 14版北大核心
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《继续教育研究》月刊 北大核心期刊
- 《网络空间安全》(信息安全与技术)月刊 国
- 《新闻传播》月刊 省级 新闻类优秀期刊
- 《财会月刊》旬刊 14版北大核心
- 《体育文化导刊》月刊 体育类双核心期刊
- 《机械研究与应用》双月刊 省级 机械应用类
- 《公路交通科技》 月刊 北大核心
- 《教学与管理》旬刊 北大核心
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《中国医药指南》 旬刊 国家级
- 《高教论坛》 月刊 省级
- 《课程教育研究》 旬刊 国家级
- 《语文建设》 旬刊 14版北大核心
- 《教育发展研究》 半月刊 双核心
- 《学术界》 月刊 双核心


