Python的装饰器
今天我写了一个装饰器,位于一个类之内,并且它的功能不是执行被装饰的函数,而只是把被装饰的函数加入到一个handle_table。这个需求来自于微信公众号开发,具体是这样的:
微信会转发给我的服务器一个用户行为,使用/jemmell路由端口,而这些
用户进行关注时,回复一个欢迎消息
用户扫码关注时,回复一个欢迎消息,同时提取二维码的情景状态信息
用户回复文本消息时,按照一定的格式,进行操作
- jm01xxx 绑定xxx到该用户,当然xxx是加密后的token或者随机码,在后台与数据库用户关联
- jm02yyy 重新绑定yyy到该用户
- jm03 解绑
- 查资金 查询资金余额
- 查订单 查询订单状态
等等...
每一种处理,用一个处理函数解决。当装饰这个函数的时候,将该函数加入到处理函数字典。
这种方式如同Flask的route,它是将路由同处理函数加入到一个"路由表"。
但是采用这种方式不能像Flask的route直接回复请求,而是必须再创建一个函数用于执行选定的被装饰函数,这一个函数,交给Flask的实例进行装饰执行。