关于微信处理模块阅读

来源:互联网 发布:淘宝盗图怎么投诉 编辑:程序博客网 时间:2024/05/29 04:16

__init__

urllib #模块提供的上层接口,使我们可以像读取本地文件一样读取www和ftp上的数据。

xml.etree.ElementTree#模块实现了一个简单而有效的用户解析和创建XML数据的API。

django.utils.encoding.smart_str#需要将程序中字符输出到非 Unicode 环境(比如 HTTP 协议数据)用到的方法

weixinlib.base_support.check_weixin_signature#提供微信接入的参数验证,返回验证结果。接入指南,验证URL有效性

queryhandler.tickethandler#集中于tickethandler.py中,是__init__.py中定义的一系列check-response函数的实现。

queryhandler.query_transfer.get_information_response#实现了将消息通过HTTP请求转发给处理资讯的项目

handler_list#定义一系列check-response函数

handle_weixin_request#处理微信请求消息

1          先检查微信接入的参数验证,如果失败,打印错误信息,返回空的字符串,如果成功,继续向下处理

2          如果是向服务器索取数据,则返回data[‘echostr’](?)。如果向服务器提交数据,则获得提交数据的内容,放在request_body里,然后先转换成utf-8格式,再转换成unicode格式,再通过smart_srt转换成dict格式,再通过parse_msg_xml转换成xml格式。

3          将第2步中得到的xml传给handler_list定义的函数,如果check对应的函数返回值是True,则将xml传入到response对应的函数中。判断消息类型,进行相对应的处理。如该过程中出现错误,返回xml格式的错误信息。

4          如果第3步没有成功处理消息,首先将消息通过HTTP请求转发给处理资讯的项目。如该过程中出现错误,返回xml格式的错误信息。

urldecode#将一定格式的字符串转换成dict格式

parse_msg_xml#将xml格式转换成dict格式

tickethandler

random #用于生成随机数的模块

string #提供一些用于处理字符串类型的函数

urlhandler.models#后台管理模块MVT的models

queryhandler.settings.QRCODE_URL#二维码子系统域名

django.db.models.F#查询——专门取对象中某列值的操作

django.db.transaction#事务处理

userpage.safe_reverse#定义了URL的反项编译

queryhandler.weixin_reply_templates#微信回复内容的模板

queryhandler.weixin_text_templates#本项目回复文本内容的模板

queryhandler.handler_check_templates#消息检验函数的判断模板

queryhandler.weixin_msg#方便获取微信传输数据中的相应信息,减小出错可能

weixinlib.settings.WEIXIN_EVENT_KEYS #微信事件消息与对应的key值构成的dict

get_user#查找并返回数据库中id为openid,status为1的用户条目,有则返回用户实例,无则返回None

get_reply_single_ticket#函数参数msg包含持票人的信息,ticket包含票的基本信息,now当前时间,ext_desc抢座结果提示信息。返回xml格式的值,内容为抢一张票的结果。

is_authenticated#参数openid:用户的id。检查该用户是否已验证。

check_help_or_subscribe#确认msg是否包含help或subscribe请求

response_help_or_subscribe_response#返回help或subscribe信息

check_bookable_activities#确认msg是否包含“抢啥”请求或者查看抢票活动信息的请求。

response_bookable_activities#返回抢票活动信息

check_exam_tickets#确认msg是否包含查看抢到的票的请求。

response_exam_tickets#返回抢到票的信息的列表

check_fetch_ticket#确认msg是否包含“取票”请求。

response_fetch_ticket#由msg得到活动、票和用户的信息,根据活动是否存在,用户是否有票返回相应的信息。

fetch_ticket#在活动存在的前提下,根据用户是否有票返回相应的信息。

check_book_ticket#确认msg是否包含“抢票”请求

response_book_ticket#msg包含有活动信息。根据活动是否存在、活动抢票时间、票余量进行返回提示信息或抢票操作。

book_ticket#根据活动信息判断是否有抢票活动;生成票对应的独一无二的字符串;判断是否还有票;选座;判断是否有票,若有票则抢票且更新数据库;若无票判断是否有票被退,若有则修改票的部分信息且更新数据库。若无票被退或抢票失败,则返回空。若成功,返回ticket实例。

check_cancel_ticket#确认msg是否包含“退票”请求

response_cancel_ticket#根据msg中的活动信息进行返回提示信息或退票操作。首先,判断活动是否存在,若不存在,则返回提示信息,若存在,则判断活动抢票时间是否结束,若未结束,则进行退票操作,若结束,则返回提示信息。

check_book_event#确认msg是否包含查看已抢到的票的请求。

respose_book_event#根据msg中信息,查看已抢到的票。首先判断活动是否存在,存在则判断活动抢票是否开始,是则判断是否抢到票,若是则返回票的信息,若否则判断抢票活动是否过期,若过期,返回失败信息,若未过期则立刻抢票,然后按照抢票结果返回相应信息。

check_unsubscribe_or_unbind#判断msg是否包含“解绑”信息

response _unsubscribe_or_unbind#取消用户学号认证。将用户的status更新为0,并返回提示信息。

check_bind_account#判断msg是否包含“账户绑定”的信息

response_bind_account#根据用户是否绑定,返回相应提示信息。

check_no_book_acts_event#判断msg是否包含当前没有抢票活动的信息

response_no_book_acts#返回没有抢票活动的提示信息

check_get_activity_menu#判断msg是否包含查看活动节目单的提示信息。

response_get_activity_menu(msg)#返回演出活动节目单。首先判断演出活动是否存在,若存在,判断该演出活动是否有节目单,若有,则判断该演出活动是否已过期,若为过期,则返回节目单。其他情况均返回错误提示信息。

check_xnlhwh#测试

response_xnlhw#测试

settings

定义了二维码子系统的域名QRCODE_URL、资讯接口提交的HTTP请求的URL即INFORMATION_SITE_DOMAIN

定义了站点域名SITE_DOMAIN,定义http请求遵循的协议是SITE_HTTP_PROTOCOL

query_transfer

实现了将消息通过HTTP请求转发给处理资讯的项目。

Request 指定一个域名并发送请求:域名为setting模块定义的INFORMATION_SITE_DOMAIN,提交了数据data。

Urlopen 服务器端响应来自客户端的请求

Response.read()读取到response里的html

handler_check_templates

消息检验函数的判断模板。

is_msgtype(msg,msgtype) #判断msg是否为msgtype

handler_check_text#判断msg是否为‘text’格式且是否属于texts。

handler_check_event_click(msg,event_keys) #判断msg是否为‘event’格式的点击事件消息且对应值是否属于event_keys

handler_check_events(msg,events) #

handler_check_text_header(msg,headers)#

weixin_reply_templates

微信回复内容的模板。

weixin_text_templates

回复文本内容的模板。

 weixin_msg_bad

定义了weixin_*类,作为微信平台数据格式。有文本,图像,声音,视频,音乐,文章,文章集,地理信息,事件,消息等类,以及对应的判断格式的函数。

 weixin_msg

方便获取微信传输数据中的相应信息

0 0
原创粉丝点击