• 微信公众号第三方平台开发坑


    坑一:文档数据结构错误,导致授权方公众号二维码URL无法获取

    在公众号授权流程文档页面中(点击查看),有这样一个数据结构:

    我把这个代码复制出来,放在chrome里面,清楚的看到如下的数据结构:

    错就错在这个qrcode_url,在微信官方提供的文档中,qrcode_url是出现在object的第一级属性中的,但是,TMD的微信真正返回的数据结构中,qrcode_url是在authprizer_info里面的。WHAT THE FUCK! 害得老子把自己的代码检查、调试了两个小时,之崩溃,就没有怀疑过文档错误。

    下面这个图就是微信服务器真正返回的数据结构:

    坑二:同一个接口返回的数据字段一个叫AppId,而另一个叫Appid

    来,先给大家看一下微信返回的xml:

    1 <xml>
    2   <AppId><![CDATA[wx79*********a42]]></AppId>
    3   <CreateTime>1477042022</CreateTime>
    4   <InfoType><![CDATA[unauthorized]]></InfoType>
    5   <AuthorizerAppid><![CDATA[wxea********908]]></AuthorizerAppid>
    6 </xml>

    看到了吧,第一个字段叫AppId,最后一个字段叫AuthorizerAppid!

    虽然说这次文档没有写错,要怪只能怪自己没有仔细看文档,但是,我想说的是,通过这个简单的命名,可以看得出微信这个开发人员素质很一般。

    下面我就来跟大家科普一下AppId跟Appid的区别!

    AppId代表了两个单词的拼接,而Appid,有这个单词吗?

    再举个例子,你知道为什么我们登录表单的用户名一般命名为“username”,而非“userName”吗?这是因为username本身就是一个单词!

    还看到有的程序员将callback的变量命名为callBack,也是醉了。。。

    说白了,如果是多个单词的拼接,每个单词首字母大写;如果是一个单词,不要将单词中的某个字母大写。

    Appid,明明没有这个单词,明明是App和Id两个单词,为什么写着写着就变成Appid,关键是统一接口返回的数据,一个叫AppId,一个叫Appid,好坑啊。。。

    P.S. 本文权当娱乐,大家看着耍,做微信开发的,希望可以帮到你

  • 相关阅读:
    opengl一些基础函数-- 缓冲区
    width = 100%??
    设置scrollTop无效
    es5与es6继承区别
    immutable-treeUtils树的理解
    react 事件绑定
    es-6 class
    es6-Module语法
    es6--set数组去重,Map数据结构
    promise对象
  • 原文地址:https://www.cnblogs.com/leotsai/p/weixin-open-pitfalls.html
Copyright © 2020-2023  润新知