美文网首页
苹果 cms 自定义对接微信公众号

苹果 cms 自定义对接微信公众号

作者: MR_jw | 来源:发表于2020-04-15 14:12 被阅读0次

    苹果 cms 自定义对接微信公众号

    概述

    苹果 cms 自带的微信对接能实现关注回复少量关键字词回复
    功能很鸡肋,对接并没有什么乱用。所以自己用就学习了下怎么自己对接,

    逻辑:用python的requests库调用苹果自己的开放接口,获得列表信息,用webrobot对接微信。

    实现方式

    1. 苹果 cms 后台开启开放 api,默认关闭的。
      https://ae01.alicdn.com/kf/H9445613f6057452ca17022526abe8f799.png
    2. 安装脚本用到的 python 库
    #最新版本引入模块失败会,没有找到解决方法
    pip install werobot=0.6.1
    
    pip install requests
    
    1. 创建 python 脚本,wx.py
    #!/usr/bin/evn python
    # coding=utf-8
    import werobot,requests,json,sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    from werobot.reply import ArticlesReply, Article
    robot = werobot.WeRoBot(token='robot')//自定义令牌,公众号会用到
    
    # 被关注回复信息
    @robot.subscribe
    def subscribe(message):
        return '''欢迎关注YY影院
     1.输入要搜索的视频即可获得影片信息
     2.输入 `博客` 关键字可以获取我的博客地址
    '''
    
    # 关键字 博客 回复
    @robot.filter('博客')
    def echo(message):
        reply = ArticlesReply(message=message)
        article=Article(
            title="blog of Jw",
            description="Jw的博客",
            img="https://ae01.alicdn.com/kf/H06e4467cda7449bc84ffc8215e9bb0ca6.png",
            url="https://blog.gojw.xyz"
    )
        reply.add_article(article)
        return reply
    
    #影片查询
    @robot.text
    def findvedio(message,session):
        d = {'wd': message.content}
    #后台开放api地址 
        results = requests.get('http://yyqqz.com/api.php/provide/vod/ac=list', params=d).json()
        return_value =''
        total=results['total']
        if total==0:
           return '没有搜索到您想要的信息,请私聊站长帮忙'
        for row in results['list']:
            Name = row['vod_name']
            burl='https://yyqqz.com/voddetail/'+str(row['vod_id'])
            return_value += '名称: %s\n' % Name
            return_value += '详情: %s\n' % burl
    
        return return_value
    #收到图片的回复
    @robot.image
    def getImage(message):
        return'This is a picture!'
    #配置端口3008,微信对接只支持80和443端口,所以需要反向代理下,看第4步
    robot.config['HOST'] = '0.0.0.0'
    robot.config['PORT'] = 3008
    
    1. 直接在网站配置末尾添加
      https://ae01.alicdn.com/kf/H6d35bd2b655a42df84d3a4a33e7a986dT.png
    
    upstream robot.yyqqz.com {
        server localhost:3008;
        }
     server {
        listen   80;
        server_name  robot.yyqqz.com;#所有访问子域名robot.yyqqz.com代理到 robot.yyqqz.com的upstream,也就是本地的3008端口
        location / {
            proxy_pass http://robot.yyqqz.com;
        }
        }
    

    域名解析参考

    https://ae01.alicdn.com/kf/H38c1ac05ab0045a381f101e0054d72ce6.png
    1. 启动服务
    python wx.py
    

    如果全都调试完毕,让脚本后台运行即可

    nohup python wx.py &
    
    1. 微信公众号设置服务器地址和令牌
      在开发-->基本配置 ,设置你的服务地址和令牌
      https://ae01.alicdn.com/kf/He39e055ff25e4cff8a106a6785fe84baR.png
    2. 效果

    https://ae01.alicdn.com/kf/Hb21a95265bc64805afb24df2169e2558r.jpg

    参考

    [1]werobot中文文档

    相关文章

      网友评论

          本文标题:苹果 cms 自定义对接微信公众号

          本文链接:https://www.haomeiwen.com/subject/ewdcvhtx.html