<small id='wgkj964w'></small><noframes id='610nv75g'>

<legend id='vhv62co0'><style id='68rpd2n1'><dir id='865ec8mc'><q id='1exxdc7v'></q></dir></style></legend>
          <tbody id='xf7nw5fc'></tbody>
        <tfoot id='sl9aeexj'></tfoot>

        <i id='pz9dglg5'><tr id='iquy1ifi'><dt id='qo98oddd'><q id='jhpol4uw'><span id='w670dyn7'><b id='z6v1xh79'><form id='p8s9s92w'><ins id='hpu8janv'></ins><ul id='jaf79192'></ul><sub id='765otpnm'></sub></form><legend id='w7gotfi2'></legend><bdo id='tx2y4uni'><pre id='7ipg90ak'><center id='hru8ffke'></center></pre></bdo></b><th id='7pm4fndv'></th></span></q></dt></tr></i><div id='3400p9k8'><tfoot id='6uf5kkc3'></tfoot><dl id='g62i7xe3'><fieldset id='c6q8ot0r'></fieldset></dl></div>

        网站建设公司当前位置 : 网站建设公司 > 知识普及

        玩转微信公众号开发

        发布时间:2022-03-03 17:00   浏览次数:次   
         
         
         
         
         
         
         
        引言
        相信大家接触过不少微信公众号,除了最基础的内容推送之外,公众号还提供了自动回复、在线客服、消息发布、移动支付等强大功能,只要略懂开发,人人都能将公众号玩出花。
         
        前端时间基于微信公众号开发了云资源告警系统、口罩申领系统,也为公司其他开发项目对接微信公众号提供了帮助,对公众号开发小有心得,在这里就消息推送功能做示例,分享一些公众号开发的经验。
         
        一、了解基础参数
        申请公众号流程就不多赘述了,大家到官网根据申请流程一步步填写资料,很快就可以创建一个属于自己的公众号。
         
        公众号创建成功后,我们需要了解以下开发过程中常接触的参数:
        1、开发者ID(AppID):公众号开发识别码,部分接口调用时使用
        2、开发者密码(AppSecret):部分接口调用时使用,通常与AppID成对出现
        3、令牌(Token):用于后端验证接收到的信息是否来自微信
        4、access_token:大部分接口调用时使用,需要调用指定接口获取该参数
        5、IP白名单:只有白名单中的IP可以调用获取access_token接口
        6、服务器地址(URL):后端接口,用于接收微信公众号主动发送过来的消息
        7、用户ID(OpenID):每个微信用户对用该公众号都会有一个唯一的ID
         
        二、获取access_token
        AppID 和AppSecret可以在开发平台直接获得,比较关键的是access_token,需要调接口生成,关于access_token需要了解的有:
        1、Access_token使用于调用大部分功能接口,如推文发布、主动发送消息、查询用户列表等;
        2、Access_token需要调用指定接口获取,且具有时效性,默认2小时,但如果在有效时间内再次调用接口获取access_token,则前一个token会自动失效;
        3、新获取的token有5分钟的过度保护期,在此期间内不会被覆盖,此特性仍在迭代优化中,后续可能会有新的过度规则;
        4、如公众号对接了多个后端应用,官方建议搭建中控应用专门管理access_token。
         
        分享我在项目中获取access_token的代码:
         
         
        三、构建消息接收接口
        如果需要主动接收微信公众号消息,例如用户发送消息给公众号、用户点击了菜单等,就需要在应用后端构建消息接收接口。
         
        该接口包含两部分:
        1、当接收的消息为GET请求时,通过Token验证消息来源,校验消息来自公众号后,原样返回GET请求中的echostr参数。该配置是在公众号配置后端消息接口时,用来通过微信发送的验证请求;
        2、除了上述情况,微信发送的消息都以POST请求的形式,因此当接收消息为POST请求时,校验消息来源后,按规定格式返回内容即可。
        代码示例:
         
         
        四、实现公众号自动回复功能
        我们可以利用消息接收接口,实现用户消息的自动回复,上述代码中最后一个if语句是判断用户交互的类型为‘text’,也就是说用户在公众号中发送文字消息了,那么通过下面代码,我们就能实现自动回复“已收到您的消息,感谢支持XXXX!”
         
         
        五、获取公众号用户信息
        将原访问地址(URL1)改写成固定格式(URL2),用户在微信端访问URL2时,会先进入授权页面,用户同意授权后,会带着code参数访问URL1,后端服务器可以使用这个code向微信后端索要该访问用户的OpenID。
         
        通过OpenID,可以进行接下来的操作(例如云允许客户访问该页面、或记录该用户信息到数据库、或拒绝该用户访问等)
         
        通常会在中间件或装饰器中进行上述操作。
         
        代码示例:
         
         
        六、主动推送消息到用户
        有了access_token、用户信息,主动推送及其他大部分功能接口也都可以正常调用了。
         
        与上面的‘自动回复’相比,主动推送不需要用户在公众号操作,公众号可以随时发消息给用户。主动推送的使用场景较多,告警信息、消费记录、客户回访等业务都可以使用到主动推送。
         
        由于主动推送可能被利用发送大量垃圾信息,因此微信对主动推送有严格的限制,需要使用固定模板,并且每天都有消息数量的限制。
         
        下面以推送告警消息作为示例:
         
         
         
        七、总结
        公众号开发对比上次写到的微信支付对接开发可以说是相当简单了,如果你还有前端开发经验,甚至可以把H5应用接入公众号,用户从公众号即可访问登陆应用,使你的应用不再愁于没有一个顶级域名,并且天然利用了微信超过9亿的用户基础。
         
          <tbody id='q903xwqq'></tbody>
        • <small id='znu1msxa'></small><noframes id='1xwp2h4s'>

            <i id='h8cm2cmp'><tr id='f6es8t1h'><dt id='d99h40x1'><q id='rd9z88u1'><span id='iytmf9w5'><b id='awbat5cq'><form id='4iin1r78'><ins id='thtlmjvb'></ins><ul id='km2rut6t'></ul><sub id='h3j15v2e'></sub></form><legend id='5rjjugrd'></legend><bdo id='91y7of8y'><pre id='o80133zw'><center id='zce8xdcd'></center></pre></bdo></b><th id='uz152bxr'></th></span></q></dt></tr></i><div id='9046iy44'><tfoot id='mbolr5s1'></tfoot><dl id='4trctah7'><fieldset id='w552tvv5'></fieldset></dl></div>
          • <legend id='vbb1gf45'><style id='4s2f006k'><dir id='mmqja7pt'><q id='flm44142'></q></dir></style></legend>
            <tfoot id='kxy6y685'></tfoot>

              本文来源于网络,若有侵权请联系3449817223#qq.com,将在第一时间删除。

            1. <small id='1tf19ws8'></small><noframes id='npan4mqi'>

              1. <tfoot id='ssrl75fa'></tfoot>
                <i id='wmz5b0yt'><tr id='58migggt'><dt id='ltlqxyqg'><q id='0cyra88l'><span id='x6imda26'><b id='qtxnccxc'><form id='mtmbsorx'><ins id='yovn1bq5'></ins><ul id='oi2w62yn'></ul><sub id='jl84rwkz'></sub></form><legend id='pl06ehdu'></legend><bdo id='l3y2ld3h'><pre id='n3f7m5ct'><center id='y9zosqj5'></center></pre></bdo></b><th id='1jriszz6'></th></span></q></dt></tr></i><div id='5b8q9tus'><tfoot id='hv737oqz'></tfoot><dl id='yq6w3jk0'><fieldset id='vujbwpqj'></fieldset></dl></div>

                  <tbody id='csibymcv'></tbody>

                  <legend id='0o8wn1m2'><style id='ex7slqv4'><dir id='hqf9yjdp'><q id='9ljim41j'></q></dir></style></legend>