Python开发微信公众号(一)

项目背景:
  • 语言:Python
  • 框架:Flask,WeRoBot,flask-admin,flask-security,
1.首先申请微信公众号,以及一系列设置,不在此赘述
2.自定义菜单栏

用WeRoBot可以轻松实现(werobot文档:https://werobot.readthedocs.io/zh_CN/latest/index.html)
(1)安装WeRoBot:pip install werobot
(2)导入WeRoBot并创建robot实例

import werobot
robot = werobot.WeRoBot(token='...')# 此处token内容为微信公众号设置的token

(3)设置appid和appsecret

robot.config['APP_ID'] = ''
robot.config['APP_SECRET'] = ''

(4)创建菜单栏

client = robot.Client
client.create_menu({
    "button":[
        {
            "name":"menu1",
            "sub_button":[
                {
                        "type":"click",
                        "name":"menu1_1",
                        "key":"MENU1_1"
                },
            ]
        },
        {
            "name":"menu2",
            "sub_button":{[
                {
                        "type":"view",
                        "name":"menu2_2",
                        "key":"MENU2_2",
                        "url":"http://baidu.com"
                },
            ]
        },
        {
            "name":"menu3",
            "type":"view",
            "url":"http://baidu.com"
        };
    ]
})

菜单具体type类型参考微信开发文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013

(5)设置运行环境

robot.config['HOST'] = '127.0.0.1'
robot.config['PORT'] = 5000
robot.run()
  • 菜单栏属于一次性设置,所以菜单设置文件只需运行一次即可
  • werobot会自己获取access-token
3.开发功能

功能文件本质上与菜单栏文件编写方式一样,只是需要一直运行,具体也可以看官方文档
但是,后面因为需要一些其他功能,需要与flask项目进行整合,所以功能文件中不在最后设置运行环境,会统一在flask项目中进行设置.

注:这里在开发客服功能时由于各种原因,取了个巧,直接引导用户去添加客服微信,所以并没有实际开发客服功能,如果有大神有这方面的经验,非常欢迎评论,先说声谢谢了(^o^)!
4.整合flask

这里用的flask版本为1.0稳定版
要将WeRobot整合到Flask项目中只需在工厂函数 create_app() 中添加:

app.add_url_rule(
                # werobot的访问路径
                rule='/wechat/',  
                # 具体用途不清楚,随便设了一个字符串,官方文档上说是Flask 的 endpoint
                endpoint='werobot',  
                # robot是之前在WeRobot中生成的实例,用import导入,make_view会生成一个Flask view实例
                view_func=make_view(robot),
                methods=['GET', 'POST']
                )
5.添加后台管理系统

由于在微信公众号中有一个类似于用户提交问题的功能,为了方便的去处理用户提交的这些问题,需要一套管理系统去做一些事情,为了方便,找到了flask-admin和flask-security这两个框架。

未完待续。。。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值