微信公众开发:使用消息接口

之前写了一篇搭建sae的python平台,通过微信公众平台验证的博文。现在就是要承上启下,开始开发的第一步。也许你会说开发的第一步就是写代码。那我会对你表示鄙视,尽管南苑随笔是个很简单的应用,但是多少也还需要设计一下。确定一下需求,为了将来能够吸引到粉丝来关注我的公众号,我必须要定位好我的app,然后提供优秀的内容,并确定它的运营模式,才能进一步地提升我们的应用水准。

需求分析

首先,这个app是要用python写的,那么就一定要优雅一点,pythonic一点。对于我自己来说,我要使得这个app至少能够满足我阅读若干与南苑相关的文章的要求才行。故而需要对南苑随笔进行需求分析:

定位: 为南苑或者外校同学提供我们在南苑生活和学习的文章。文体不限,内容形式包括{图片,语音,文字},推送给用户,这正是微信能够提供给我的。

约定: 允许投稿,但是投稿必须通过管理员的审核。其实很大程度上,我们是为了向粉丝们推介 @bibo-果冻 和 @daoluan-郑思愿 合作的那本《南苑随笔——IT小小鸟外传》。

内容: 校园生活,学习,感情,分享,趣味,摄影,文学作品,简单社交 ,歌曲等等。

服务: 提供每1天/2天定期推送文章或语音。同时相应用户发来的请求,对用户请求进行分析后返回所要求的内容。

性能: 要求服务器在5秒内返回用户的请求内容,在网络差的时候,这个就难说了。能够同时处理至少20位粉丝的请求(其实到底有没有这么多粉丝发来请求,我心里还是没有数啊)。

系统设计

这次,我吸取了上次的经验教训,要先完成逻辑和数据的设计,最后才去设计我们的交互界面(包括交互方式和菜单)。数据先行,那么一切就从构建起数据库开始。参照wordpress的博客数据库,就可以设计出基本的数据库框架。这部分就交给 @daoluan-思愿 来搞定,我相信他会完成的相当出色。

本系统需要一个博客系统,和一个微信服务app,博客系统作为web端,用浏览器可访问的。而微信app则负责推送到用户的微信帐号聊天界面。故而我们的数据库设计就很清晰了,需要:

user表——用户

post表——文章

blog配置——博客的设置

category表——分类

———————————次要———————————

url表——友情链接

guest_book表——留言簿

而我需要用到的仅仅是博客系统数据库的一个子集——post表和guest_book表(也许会用到category表)。故而开发微信app则只需要自行创建两个表进行实验即可。

发送消息试验

暂且不把设计逻辑排到日程上来,我们来尝试一下在第三方服务器和微信服务器,以及客户端进行通信。假如用户发送来一个请求,由于已经绑定了URL,且开启了开发模式,那么就微信服务器就会转发这个请求到我们的服务器,我们的服务器要解析这个请求,然后返回所请求的内容。

我们需要一个类来处理get请求,以及定时向微信服务器传送群发的文章。

该类 weixin_scnuwriter设计如下:

handle_request(request)         # 处理请求

parse_request_xml(xml)        # 解析请求

response_msg(request)            # 响应请求(关键逻辑部分)

pack_text_xml(post_msg, response_msg)  # 打包响应的文本内容,需要参考微信API,供response_msg调用

# 另外在数据库方面要能够读取,需要django于数据库打交道,不过我们暂时不实现,只是做一个简单的测试。

下面是handle_request代码:

def handle_request(request):
    if request.method == 'GET':
        response = HttpResponse(check_signature(request),content_type="text/plain")    # 如果是GET请求,那么核对签名
        return response
    elif request.method == 'POST':
        response = HttpResponse(response_msg(request),content_type="application/xml")  # 如果是POST请求,那么响应消息
        return response
    else:
        return None

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 设计
, 服务器
, c#微信开发
, 微信开发
, 内容
, 微信接口
, app接口开发
, request
, 微信定位
, 微信分享接口
, 用户
, 转发阅读文章微信
.net 开发微信公众号
,以便于您获取更多的相关知识。

时间: 2024-11-05 14:41:53

微信公众开发:使用消息接口的相关文章

微信公众平台自定义菜单接口API指南

微信公众平台开发模式自定义菜单接口API指南  开发实现方法,请查看  微信公众平台开发(58)自定义菜单   简介 开发者获取使用凭证(如何获取凭证)后,可以使用该凭证对公众账号的自定义菜单进行创建.查询和删除等操作. 自定义菜单接口可实现以下类型按钮: click(点击事件): 用户点击click类型按钮后,微信服务器会通过消息接口(event类型)推送点击事件给开发者,并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值进行消息回复. 创建自定义菜单后,由于微信客户端缓存,需

微信公众开发能跳转到其他应用的页面吗???

问题描述 微信公众开发能跳转到其他应用的页面吗??? 开发微信服务号的时候,能不能实现我点击某个自定义菜单的时候,会跳转到其他应用,比如说,安卓市场的主界面??? 解决方案 不好意思,我记错了,刚查了下文档 如下 1.click:点击推事件 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互: 2.view:跳转URL 用户点击view类型按钮后,微信

ASP.NET微信公众号客服接口_实用技巧

本文实例为大家分享了ASP.NET微信客服接口的具体代码,供大家参考,具体内容如下 Kf_account.cs代码: public partial class Kf_account : Form { private readonly DataTable adt_user = new DataTable(); private readonly string as_INIFile = Application.StartupPath + "\\user.ini"; public Kf_acc

PHP微信公众开发笔记(五)

PHP微信公众开发笔记系列 日期:2014.9.3 今天做了身份验证的功能,然后完善了下搜索功能.其实主要的是将整个代码结构整理了一番,应该可以说是模块化设计吧. 模块化设计我们的公众号. 因为我们之前提的功能需求中有: 1.菜单--查询功能.我考虑到后期功能的扩展,就想将这些分模块来实现:菜单模块(这样,今后我们需要添加新的菜单功能,可以直接在这个模块里操作,这样修正和维护也简单,在考虑到后期可能会分工协作的时候各开发者之间不会产生冲突): 2.数据库模块(这里就主要是负责数据库相关的工作,如

PHP微信公众开发笔记(八)

PHP微信公众开发笔记系列 日期:2014.9.6 今天主要要做:建立关键词数据库.超时机制.优化的关键词匹配.表情信息数据库 要注意的:PHP echo之后并没有返回?还会继续执行?? 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很简单的记录了上文的那几句. 这天是周六,不加班了在租的房子里歇着.因为要过中秋了,在深圳的姐这天会过来我这边过节,所以这天也没多少时间来写功能.早上早起去跑步,然后

PHP微信公众开发笔记(六)

PHP微信公众开发笔记系列 日期:2014.9.4 今天主要是完善了搜索,加入了管理员模块,优化了身份验证,将学生信息管理封装为了一个类(整这个真是好累呀,主要是数据库操作那里语法老是出问题,一直是各种小问题) 感受: PHP开发没有断点.不能及时打印log真是好累呀(我是用sublime写的,然后直接微信公众号调试,累屎我了),错误信息经常不能及时发觉.或者说有些问题能通过断点排除掉了没能够排除.但是也说明了,我写代码还是太马虎了啊. 2014.9.10整理笔记: 写这个笔记的时候,在赶功能,

第三方平台可以通过微信公众平台素材管理接口实现同步了

平时运营微信公众平台时有没发现素材管理有点不太好操作,特别是素材一多,找个东西都翻半天.现在好了,微信宣布公众平台新增素材管理接口,对所有认证公众号开放,方便快捷,可以实现同步互通.(4.29更新第三方平台也能为未微信认证的订阅号调用自定义菜单接口和素材管理接口) 微信公众平台素材管理接口具体如下: 新增临时素材 公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件.多媒体消息的获取和调用等操作,是通过media_id来进行的.素材管理接口对所有认证的订

PHP微信公众开发笔记(九)

PHP微信公众开发笔记系列 日期:2014.9.9 中秋假期除了周六那天整了整,就没怎么动过了.今天上班主要是把既定的两个开发目标完成了:"八卦"."回忆"两个模块,这两个东西也很简单,也主要是涉及到数据库的操作而已.然后以图文形式回复就可以了.所以数据库中主要是保存了:文章标题.文章跳转连接.图片链接这三个字段信息. 2014.9.11整理笔记: 写这个笔记的时候,在赶功能,所以也就是简单的记几笔当时的工作内容,现在功能开发得差不多了,就来整理之前的笔记.当时就很

PHP微信公众开发笔记(七)

PHP微信公众开发笔记系列 日期:2014.9.6 这篇日记是补昨天的,昨天没来得及写: 主要实现的功能:模糊检索.问答系统.帮助系统 修复了:_SESSION 的id 调整了验证机制 要注意的:mysql的语法问题.mysql的模糊匹配.PHP的关联数组好像用count计算的话其大小会有原有数据的两倍大(即数组中只有两个数据,count会得到4,这个需要再验证,好像是用到了foreach就出现了这个问题) 学到了:PHP中数组的操作 2014.9.10整理笔记: 写这个笔记的时候,在赶功能,所

微信公众号模板消息无限报47001

问题描述 微信公众号模板消息无限报47001 {touser"":""OPENID""template_id"":""ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY""url"":""http://weixin.qq.com/download"" data"":{fir