收藏
回答

一个与微信小程序BUG魔孤军奋战了若干年最终败下阵来的程序狗!

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.getMenuButtonBoundingClientRect() 微信安卓客户端 所有版本 所有基础库

在说正题之前我必须吐槽几句!

做小程序开发就是越战越勇!越挫越勇的过程!!

作为在百度、CSDN干了20年工作经历的老程序员,微信小程序一推出就直接进入。

7天7夜没睡上了第一个微信小程序 《今日汇率》大家搜一下,坐等流量导入。

而噩梦刚刚开始!自己搜索汇率排名第一的位置突然一天没了,一看被官方APP占领。

紧接着告诉我,公司没有资质不能做汇率类微信小程序。然后不能提交更新,必须更名,程序报废。夜白熬了。前前后后花了我几万大洋一毛钱没赚到,小程序直接给我废了。

我想说作为一个个人程序员很辛苦的!微信团队能不能给口饭吃!

下面开始说BUG!

突然有一天配置页开始支持navigationStyle的custom属性,

据说是

全局配置       navigationStyle custom      微信客户端 6.6.0     以上支持

页面配置       navigationStyle  custom      微信客户端 7.0.0     以上支持

而实际上,同样版本的微信在不同的型号的真机上都不一定支持。简直跟见鬼了一样,我只能一个机器一个机器测。我测的时候在想,你们微信团队把我弄走算了,你们能不能有点工匠精神。

navigationStyle  custom并存的是 wx.getMenuButtonBoundingClientRect(),导航条个性化定制了如果要放按钮就要明确获得右侧胶囊按钮的尺寸,

而这个函数wx.getMenuButtonBoundingClientRect()至关重要,可是事实上它并不准确。在同一种机型不同的微信版本参数都不一样!



这是官方参数列表,其中TOP有时候是胶囊按钮到屏幕顶端的距离,有时候TOP是胶囊按钮到顶部状态栏的距离,有时候等于0。

HEIGHT值有时候是胶囊按钮高度,有时候竟然是屏幕顶部到胶囊按钮底部的高度。

同样版本的微信在IOS和ANDROID下有不同表现,让我一度怀疑小程序 安卓版 与 IOS版不是一个团队开发的。

能不能认真的,测试团队跟上!KPI跟上!

直到今日,我以为wx.getMenuButtonBoundingClientRect()取值不准的问题,在我测试的大部分机型中和不同SDK和不同微信型号中所存在的问题我都测到了,而就在今天当我拿起朋友的手机时!瞬间泪奔!!!!!

都已经过去多少年了微信什么这个BUG还在那!!!!

下面就是打印了wx.getMenuButtonBoundingClientRect(),都微信7.0.0了,LEFT等于0,TOP也是等于0.



这BUG想弄一辈子吗?

希望微信团队能准确回答我一下每个问题。如果不能回答我猜测你们没好好测!!!!

1、wx.getMenuButtonBoundingClientRect() 函数能使用,但返回参数中TOP等于0的微信客户端版本和SDK版本分别是多少?

2、wx.getMenuButtonBoundingClientRect() 函数能使用,但返回参数中HEIGHT等于胶囊按钮底部到手机屏幕顶部的高度的微信客户端版本和SDK版本分别是多少?

3、wx.canIUse('getMenuButtonBoundingClientRect') 这样方法来判断是否有用,而在实际操作中这样的方法返回FALSE,而直接调用wx.getMenuButtonBoundingClientRect()函数却又能用,请问这种情况得微信客户端版本与SDK版本分别是多少?

请团队尽快解决吧,不然多少用户看不见导航菜单懵逼的样子!你们想想吧,损失的都是用户,用户可是等于人民币的!!!!!

最后一次编辑于  2019-08-09
回答关注问题邀请回答
收藏

11 个回答

  • 吴迪
    吴迪
    2019-08-09

    暴躁老哥在线怼人

    2019-08-09
    有用 1
    回复
  • 小黑
    小黑
    2019-08-10

    太狠了


    2019-08-10
    有用
    回复 1
    • 2019-08-12
      谢谢价格微信吧
      2019-08-12
      回复
  • 是小白啊
    是小白啊
    2019-08-09

    1、在新的客户端版本已经解决了,麻烦更新客户端版本试下,

    2、7.0.5客户端修复了

    3、api测试可用,
    或是通过typeof检测下


    2019-08-09
    有用
    回复 3
    • 2019-08-09
      有没有处理兼容性的比较好的办法?过去版本的问题!
      2019-08-09
      回复
    • 是小白啊
      是小白啊
      2019-08-12回复
      部分的修复的bug以及更新的功能,需要相应的基础库和客户端支持,所以建议可以更新下客户端版本
      2019-08-12
      回复
    • 2019-08-12回复是小白啊
      林超还在不在了?
      2019-08-12
      回复
  • zhjx922
    zhjx922
    2019-08-09

    我中午也刚吐槽完,一个月前我的小程序还是排名第一,从昨天开始自然流量基本没了。

    关于小程序的名称和搜索,谁能整明白?

    2019-08-09
    有用
    回复
  • 2019-08-09

    可想过去把这些BUG改改完了!!!不要钱!免费的。本人IOS ANDROID ,C 汇编 底层原理都会

    2019-08-09
    有用
    回复
  • Listen
    Listen
    2019-08-09

    wx.getMenuButtonBoundingClientRect()

    在ios端第一次获取OK,跳转其他页面再次获取返回的全是 0

    我的做法是第一次获取到就把这个存到global里

    let capsule = app.globalData.capsule || wx.getMenuButtonBoundingClientRect()

    console.log(capsule)

    if (app.globalData.capsule === null) {

    app.globalData.capsule = capsule

    }


    2019-08-09
    有用
    回复 1
    • 2019-08-09
      你这种,仅是个别情况,还有第几次都是0的机型!!
      2019-08-09
      回复
  • 顺其自然,是对生活最大的成全
    顺其自然,是对生活最大的成全
    2019-08-09

    唉...

    2019-08-09
    有用
    回复
  • 阿巴阿巴
    阿巴阿巴
    2019-08-09

    先熟悉运营规范再做小程序才是正常顺序。

    2019-08-09
    有用
    回复 2
    • 2019-08-09
      一看你就是新人
      2019-08-09
      回复
    • 阿巴阿巴
      阿巴阿巴
      2019-08-09
      对,我还年轻。前辈
      2019-08-09
      回复
  • 鲤子
    鲤子
    2019-08-09

    老哥,敢问今年贵庚~

    2019-08-09
    有用
    回复 3
    • 2019-08-09
      应该说高寿
      2019-08-09
      回复
    • 鲤子
      鲤子
      2019-08-09回复

      其实这个问题在没有彻底解决之前,你应该准备一个备选方案,以前没有这个API的时候,不都是自己计算出来,不也一样的用。只要判断下是ios还是安卓就知道了,如果这个api不能用,那就算默认计算的数值代替不就好了。

      2019-08-09
      回复
    • 唯心又唯物
      唯心又唯物
      2019-08-22回复鲤子
      问题就是能获得数据,但是数据是有差错的,这个怎么破
      2019-08-22
      回复
  • 拾忆
    拾忆
    2019-08-09

    发个照片,看看发量还多少~

    2019-08-09
    有用
    回复 2
    • 2019-08-09
      很浓密
      2019-08-09
      回复
    • 拾忆
      拾忆
      2019-08-09回复
      没图没真相
      2019-08-09
      回复

正在加载...

登录 后发表内容
问题标签