关于微信处理模块阅读
来源:互联网 发布:淘宝盗图怎么投诉 编辑:程序博客网 时间: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
方便获取微信传输数据中的相应信息
- 关于微信处理模块阅读
- 关于处理微信网页缓存问题
- 关于利用itchat模块编写的微信自动回复
- 微信模块介绍
- 关于java微信access_token失效的处理
- 关于微信辅助 锁屏处理相关解决问题
- 关于PDF的阅读代码处理
- xposed微信模块源代码
- xposed微信模块源代码
- xposed微信模块源代码
- xposed微信模块源代码
- python微信模块 itchat
- 微信处理红包
- 微信处理类
- 微信退款处理
- 微信突然公开阅读数背后
- 微信公共开发者文档 阅读笔记
- 微信开发-开发文档阅读
- ZOJ 2679 Old Bill(数学题)
- Uboot启动全过程
- [Python]网络爬虫学习笔记,爬取豆瓣妹子上妹子的照片
- openCV2 第一讲 图像的读写和显示
- 轻松周赛赛题:能否被8整除
- 关于微信处理模块阅读
- GoLang之再谈Gvim/Vim配置——使用Vundle安装vim-go
- matlab中元胞数组cell的赋值与访问方法
- 技术方案选择
- Android SQLite数据库查询 cursor的使用
- <iOS>关于Xcode上的Other linker flags
- 可持久化线段树 CF484E-Sign on Fence
- 系统及其演化
- UVA - 11549 Calculator Conundrum