小程序与小游戏获取用户信息接口调整,请开发者注意升级。 []


为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。开发者可使用以下方式获取或展示用户信息:


一、小程序:

1、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/button.html


2、使用 open-data 展示用户基本信息。

详情参考文档:

https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html


二、小游戏:

1、使用用户信息按钮 UserInfoButton。

详情参考文档:

https://developers.weixin.qq.com/minigame/dev/document/open-api/user-info/wx.createUserInfoButton.html


2、开放数据域下的展示用户信息。

详细参考文档:

https://developers.weixin.qq.com/minigame/dev/document/open-api/data/wx.getUserInfo.html


请各位开发者注意及时调整接口。


  • 缓解气氛。


    • 特意登上来点下赞
    • 特意登上来点下赞
    • 特意登上来点下赞
  • 搞什么啊,这么底层的 API 说废弃就废弃,您们耍猴呢?

    • 程序员何苦为难程序员,腾讯一直在作死,从未被超越!

    • 这么多赞同的

    • 不作死就不会死, 已经在慢慢死啊
  • 赶紧改回来,或者提供更加好的方案,比如通过login直接能获取uinonid。

    不要让开发者觉得你么很蠢。


    同意的点赞

    • login的code本来就可以直接换unionid啊。
    • https://developers.weixin.qq.com/miniprogram/dev/api/unionID.htmllogin 换取unionid是有问题的
    • 确实是,还要考虑各种关注未关注,授权未授权的情况,我是考虑不周了。
  • 请问微信团队,如果安卓和IOS系统团队也像你们这样考虑问题,是不是定位权限、蓝牙权限等等,都需要在APP上加个按钮让用户点击获取???

    你们这样改接口毫无道理可言!根本没有考虑深入,是哪个领导的在拍脑袋做事情!!

    1、直接拉低用户使用体验;

    2、偷换概念,wx.getUserInfo获取的并非高度隐私数据,只是用户标识、头像、昵称。

    3、如果取消wx.getUserInfo直接获取,小程序使用就不需要这个接口了,要么直接使用个openID或者直接加上注册功能就ok了。让用户点击按钮才拿到头像、昵称这些没用的数据有什么意义吗?

    • 真是同感,要么你就让直接做个表单登录,还授权干啥,登录先确定 在授权,如果首页有定位 在授权,进入小程序要点击确定3 -5 次 这个体验用户谁能说好。这微信是在搞什么....如果这样搞,大家都去搞支付宝小程序了。
    • 非常赞同!!!想要获取用户信息的小程序,肯定还是会做一个表单让用户去按。而一个正常的用户,既然打开了小程序肯定还是会去按这个按钮。开发商在微信的生态下做开发,微信应该有能力处理掉隐私权限的事情。如果发现有人滥用隐私,微信可以通过审核不通过或者直接封停的方式来解决。像标识昵称头像,在微信生态外也许算得上隐私,但在微信的生态内用户都不会把这当成隐私,对开发者来说又基本上是必取的信息。 现在一股脑的把所有开发者都摆一刀,这种做法太欠考虑了。
    • 你们不觉得玩微信的都很闲?多点个按钮咋啦~~~~咋啦~~~~你们难道还想造反不成!

  • open-data对于用户信息的展示确实做到了优化,但是button的open-type这种方式在一些场景下,却舍弃了wx.getUserInfo的灵活性,比如在onload或其他的一些场景下,去处理用户信息,此不是要提前以button的方式将用户信息预处理才可以?烦请解惑...(一点片面的理解

    • 是的,得有个 welcome页面去专门处理.

    • 有同样的疑惑,button方式一定要用户点击,如何在用户不点击的时候直接获得用户信息呢?

    • 肯定不会让你直接获得用户信息的,我觉得他这样做有点像自己要做个login界面,然后下面放个第三方登陆的button来获取用户信息

  • 影响很大!

  • 改了之后, demo程序却没改, 这让新手直接卡住吗?
  • 对我来说 获取用户信息是很基础的东西  把那个API删了的话 改动有点大

    • 这个API并没有删除,只是取消了授权弹窗。
    • 一开始说的是废弃 现在又变成了取消弹窗好吧...我按照现在的逻辑重新改完上线了都..
    • 上线之后,还是自动弹出
  • 意思就是说:

    不用用户授权,也可以直接获取用户的开放数据,例如nickname和avatarurl等,是吧?

    • 授权过的可以直接通过getUserInfo获取,不会报错,也不会弹出需要授权的窗口。

    • 谁知道开放数据域里获取的用户头像图片是一个网址,如何变成图片,在排行榜里使用

    • 把地址给到图片的src属性呐

  • 没明白,意思是小程序以后不能在代码里用wx.getUserInfo来获取用户信息了?只能放个button让用户去点击?这局限性也太大了吧,我只想获取个头像和用户名而已,是否有必要搞的好像我要查用户户口本一样?

    • 如果只是为了展示用户名和头像可以用open-data组件,wx.getUserInfo还是可以使用,只是第一次授权必须要经过button组件而已。

  • 话说如果要废除getuserinfo接口,那么现在如何才能获取到unionid呢?

    • 这个接口还是有的,通过login拿到code,去后台通过restful api可以拿到openid和unoinid
  • 请教个问题,wx.getUserInfo除了会返回用户基本信息,还有一些加密信息,后续小程序和我们自己Server通信的时候也需要。那这样就只能强制用户一进入小程序就授权,否则就不能继续使用。不太清楚这样的设计是否有背于微信团队的初衷。

  • 腾讯的产品经理都是猪脑子。。。

  • 微信能不能给个例子,什么样的授权登录是体验最好的

    • 让腾讯给个样本


    • 对呀,给个样例最好

  • 关注, 谢谢sock妹妹的关注
  • 开发工具bug反馈:


    版本:1.02.804120(mac)


    调试基础库:2.0.0


    表现:使用 <button open-type=“getUserInfo” > 无法唤起授权对话框,直接判定为授权失败


  • 作为一个初学者,刚打开开发者工具给我蹦出来一个接口调整,是真心懵逼呀

    • 蛤蛤蛤蛤蛤蛤 干得漂亮

    • 看到你懵逼,必须给你赞

  • 我想知道这个提案是谁提出并通过的?

    本来弹窗就很影响用户体验了,现在不弹窗,好

    那就做一个登录页加个按钮再弹窗,

    如果不做登录页,那就给所有的按钮都加个 if isLogin func , else getUserInfo

    什么玩意儿

    你们根本就没有考虑过开发者和用户,拍大腿 kpi ,

    我想知道wxg的人有做过小程序的真实项目吗?

  • 好一句用户体验  不知道和开发者体验能一起兼容不

    • 开发者体验不存在的


      前端好不容易走出回调地狱,这下子好提供的api全是全是回调的



  • wx.login()不需要调用了么?是不是就是说现在获取基本信息不在需要用户授权操作了?

    • 是获取基本信息不需要调用   wx.login()获取的已经不是基本数据了 获取的是OpenID

  • 用户再点一下不是体验更不好吗

  • 给你们解答下吧:这个没有废弃,调用成功的条件改了


    以前是用户弹窗确认是否可以调用这个接口成功。

    现在是默认一律不成功。引导去点button后才能调用成功。


    总结:用户体验更差了,因为这个是基础接口,比如很多需要自动注册的,这样一来新注册的会员连个昵称都没有了,客服查个账号什么的,难道报openid?

  • 为优化用户体验,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持。”................使用button组件来获取用户信息,你让我如何进行静默授权?难道弄个按钮放在那里让用户点击?谁拍的版?这底层的API能随便改?赶紧改回来。。。坑啊

  • 目测这个接口后面还会改,我们拭目以待

  • 小游戏中有2个wx.getUserInfo ,一个在用户信息(主域数据) ,另一个在开放数据(开放数据域).

    我的解读是,楼主所指的wx.getUserInfo应该是用户信息(主域数据)的,开放数据(开放数据域)不受影响~


    理解正确

    • 请问到底是wx.getUserInfo仅仅不弹窗了,还是这个接口就废弃了啊

    • 仅不弹窗

    • 哦哦,那就好,不然涉及到这个接口的逻辑改动就比较大了

  • 我想问微信开发团队是怎么想的--------微信小程序的根本是什么???它不是依托在微信上的么???我登录微信,用微信打开小程序,我不是可以共享微信上的所有信息么?   微信还要用户去点下获取最基本的信息,这合理么???如若这样我还用你微信小程序干嘛???我用小程序不就为了方便么???为了用户体验么???现在你一阉割,成四不像了

  • 没事找事做,咱们转移小程序开发到支付宝和百度小程序去,坏事做尽,早死早超生

  • 最糟糕的是开发版和线上版不统一

  • wx.authorize 的 scope.userInfo 和 wx.getUserInfo 是同一个接口,一样是不能提示授权的;

    这个太坑了,难道要先给一个按钮,让点击获取信息,,然后弹出窗再授权一次么,,2次操作,用户体验糟透了~

  • 刚才试了小程序的open-data,头像显示太不友好,我把组件设置了圆角,但图片还是显示成方形,也不能像image组件那样,支持裁剪

    • 确实,试了半天,设置不了圆角
    • 在外层套一个view,设置这个view的border-radius为50%,再overflow:hidden就好了
  • , 如果你什么都不说,我也不知道怎么回答你呀
  • 我们的小游戏排行榜需求上要突出显示自己的排行和分值,开放数据域的获取朋友列表接口有返回openId,但是获取自己的信息返回的openId值是"selfOpenId"!!!导致不能精确判断排行列表里面哪个是自己,同时如果主域的获取用户信息接口要取消,不能通过主域告诉开放数据域自己的openId,这个怎么办?难道要通过昵称、头像、分数来判断?这个做法也太坑了吧。

  • 微信开发团队有没有考虑对现有小程序的影响 原有api应该保证兼容 新接口是引导为主 不应该直接把原有接口直接修改或废弃

  • 支持这个策略


    批评的各位可以反思下各自以及其他的产品,我使用过的小程序基本上都是一进入便无脑弹窗获取用户信息,甚至于如果拒绝授权造成整个小程序都无法使用。


    这是什么生态?


    至于会影响众多开发者,这是必然的事情,不过我觉得还好,就是多增加一个交互过程,改一下授权代码(当然影响也是蛮大的) 


    另外微信团队也可以制订一些规则(比如不允许无脑弹窗)来增加用户体验,不过众多产品都是不怕走钢丝的,个人认为直接废弃这个接口干脆些。


    我不觉得这是微信自己 sb 而草率做的决定。


    • 呵呵
    • 是的,很多一上来就要授权,页面里啥都看不见就要授权,这个是不合理的。但如果不点一下就能够拿到头像和昵称,开发者就可以绕过授权直接保存这个数据,欺骗行为就很容易产生。例如:“你的某某好友也购买了这个,你也来买吧~”。所以授权是必须的,且是必须点击的。但坏处就是无法静默授权,即以前可以在用户点击授权后拿到头像和昵称、然后完成后台的账号系统生成等一系列当做,现在则必须先点一下才可以。。。于是,很多界面都得放一个授权按钮了。。。
  • 我就是想知道wx.getUserInfo这个接口是不能用了,还是不能弹出授权框!!!总不能让用户每次进来想看见自己的头像,都要点击一下按钮吧

    wx.getSetting({
          success: function (res) {
            if (res.authSetting['scope.userInfo']) {
              // 已经授权,可以直接调用 getUserInfo 获取头像昵称
              wx.getUserInfo({
                success: function (res) {
                  app.globalData.userInfo = res.userInfo
                  console.log("已经授权,可以直接获取用户信息", res.userInfo)
                 
                }
              })
            } else {
              
            }
          }
        })

    上面这种方式在button授权之后还能不能用?能给个明确的解释么。api上明明写着可以,编译器却在报错,搞不懂,搞不懂,惹不起,惹不起啊。

    api:https://developers.weixin.qq.com/miniprogram/dev/api/open.html

    • 新版本的创建新的初始状

    • 看到这个回调嵌套我都要吐了



  • 微信就是没事找事么,这样用户体验好吗?点一个按钮在点一个按钮。体验麻烦的要死。意义何在?赶紧改回来吧。不然微信也就这样了,定位授权   登录授权  你在登录基础上又让整个按钮   人家体验小程序  就是在这没事点确定的么

  • 这个决策很草率,没看到对用户体验能提升什么,没看到对腾讯有什么好处,没看到对开发者有什么好处,相反,反而让所有的开发者都不得不折腾出一个button,让所有的小程序用户都多一次点击,体验直线下降。愚蠢!

  • 现在的开发者工具提示是如图这样的。意思是wx.getUserInfo 这个API是后续要完全废弃了是吗?


    按照文章使用官方升级方法:

    1、使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

    详情参考文档:

    https://developers.weixin.qq.com/miniprogram/dev/component/button.html


    我的理解是这样点击button 之后是不会再弹出授权框的,而是直接获取到的用户信息,从返回参数的detail中获取到的值同wx.getUserInfo


    但是目前点击button 后仍是之前使用 wx.getUserInfo 接口时直接弹出的授权框:



    这不是还是之前的样子吗?这样需要点击button弹出和之前一模一样的授权框,还多走了一步,意义何在?

    请官方同志给予明确的回复,谢谢了!



  • 万人血书上表不要修改,不要废弃

  • 这么重要的接口说废了就废了???

  •  官方表示我想改就改,你们说啥我都不管,我也不解释,我开心就好

  • 他的意思应该是说wx.getUserInfo方法以后都不会弹出权限提示框了,而且也不能直接去调用这个API了吧。只能用button标签来调用。

  • 如果不能再onLoad或者onShow的时候获取到用户信息,界面展示的局限性就很大了,不能灵活的根据之前用户已经存在的openid或者unionid去我们数据库查询某些信息,从而正对性的展示界面。

    比较getUserInfo已经成为了我们小程序的登录功能,如果不能登录,那后面的功能还怎么玩呢?

  • 而且版本要1.9.90才能生效的open-data我觉得没法用

  • 真的是 程序员何苦为难程序员

  • 正式版上线了 部分手机不会提示授权 部分手机又 这个是啥问题。。。为啥要做一个这样子的限制啊 。。。。。。。

  • 墙倒众人推希望没有良心的企业早日远离人间


  • 特么的,天天改来改去不嫌麻烦么,经常让刚写好的项目直接就废了,有毛病把

  • 鼓励 鼓励,这个未尝不可

  • 放弃项目使用腾讯账户资料,让用户自己填一遍算了,太折腾了

  • 我就捧着西瓜看着你们聊

  • 什么鬼,看来是不让程序员好过了。

  • 这个赞同有毒吧 我把一楼的赞点跑几个

  • 干得漂亮

  • 了解一下

  • 没有了弹窗 还要升级 为啥啊??????学习小程序中为啥还这么多升级,程序员何苦为难程序员

    • 嗯,也是萌新,感觉刚熟就被废弃了= = _

    • 萌新加一,更新的版本js配置一脸懵

  • 其实这个不只是首页的问题啊,我们内页也可以分享出去,当新用户点击内页链接打开小程序时,首页的授权登录按钮是不会出现的。所以就只能通过全局appjs去授权,现在全局的getuserinfo竟然不给用了卧槽!全局appjs里我们没办法去设置授权登录按钮让用户去授权登录啊!

  • 我要获取用户信息后记录到数据库,以前会自己弹框,现在意思是需要模拟个弹框,然后里面放这个button?有什么区别??

  • ?, 什么?
    • 有趣

  • 很烦

  •  说实话,这个公告迷迷糊糊的。

  • onLoad: function () {
        //1.静默操作获取用户信息 调用wx.login
        var that = this;
        wx.login({
          success: function (res) {
            var code = res.code;//2.登录凭证code
            console.log('code===' + code);
            if (null != code) {
              wx.getUserInfo({
                success: function (ress) {
                  console.log('res===' + res);
                  //3.请求自己的服务器,解密用户信息
                  wx.request({
                    url: '',
                    method: 'post',
                    header: {
                      'content-type': 'application/x-www-form-urlencoded'
                    },
                    data: { encryptedData: ress.encryptedData, iv: ress.iv, code: code },
                    success: function (res) {
                      console.log('resjava===' + res.data.openId);
                      that.setData({
                        backUserInfo: res//将后台返回的数据赋值给backUserInfo
                      })
                    }
                  })
                }
              })
            }
          }
        })
        if (app.globalData.userInfo) {
          this.setData({
            userInfo: app.globalData.userInfo,
            hasUserInfo: true
          })
        } else if (this.data.canIUse) {
          // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
          // 所以此处加入 callback 以防止这种情况
          app.userInfoReadyCallback = res => {
            this.setData({
              userInfo: res.userInfo,
              hasUserInfo: true
            })
          }
        } else {
          // 在没有 open-type=getUserInfo 版本的兼容处理
          wx.getUserInfo({
            success: res => {
              app.globalData.userInfo = res.userInfo
              this.setData({
                userInfo: res.userInfo,
                hasUserInfo: true
              })
            }
          })
        }
      }

    这样写是无法正常上线吗?只是提示接口不再出现弹窗。那会影响上线审核吗?

  • 底成的的API说变就变,真是的!!!!我都醉了,调了大半天搞得我,也没个提示!

  • 腾迅的程序员有bug,太不成熟了。有没有架构师项目经理管理?这种核心功能,怎能说改就改掉了呢。且不说你们核心代码怎么实现,或者出现什么隐患。但从系统功能使用的业务逻辑上就不对,也不必要。为什么要让用户操作点两次才能完成允许或者拒绝授权的操作(第一步是点按钮,会弹出授权框;在弹出的授权框中,需要选择“允许”或“拒绝”,所以完成授权需要两次动作)?你告诉我一个多此一举的理由?最后不都是还有“允许”和“拒绝”的选项吗,直接一步到位不行?

  • 我想问下可以自己游戏里的一个按钮点击触发这个微信提供的按钮点击事件吗?可以的话应该怎么实现?有click之类的方法吗?

    • let button = wx.createUserInfoButton({    //。。。})button.onTap((res) = > {    console.log(res)})

      就是这里的button,官方可以提供click类似的方法吗?使得游戏里的按钮可以直接触发这个按钮的点击,从而获取到res

  • UI从业务上面来说业主完全不允许添加按钮,具体是没地方加也不符合逻辑,还丑。但是有几个页面又必须展示用户的头像等信息,现在难住了所有人,崩溃中!!!

    • 只是用户展示的话可以直接用open-data组件

    • 您是微信团队的么?请问一下wx.getUserInfo这个接口在将来是会废弃(拿不到用户信息),还是说只是无法弹出授权框,在将来依然能够获取信息,而弹出授权框的方式需要添加按钮组件。对业务来说,这个需要明确,希望解答,谢谢。

  • 非得要显示个按钮让人点,感觉好low呀...怎么想的呀?

  • 开发者也是用户啊,降低开发者的用户体验。:)

  • 为啥获取值为NULL?

    getUserInfo: function (cb) {

    var that = this;

    if (that.globalData.userInfo) {

    typeof cb == "function" && cb(that.globalData.userInfo);

    } else {

    wx.getUserInfo({

    openIdList: ['selfOpenId'],

    lang: 'zh_CN',

    success: (res) => {

    if (res.data){

    that.globalData.userInfo = res.data[0];

    }

    typeof cb == "function" && cb(that.globalData.userInfo);

    },

    });

    }

    }


  • 大家都是程序员,程序员为何为难程序员  大水冲了龙王庙 哈哈哈哈哈hhhhh~

  • 微信在搞什么啊,我明天就上线了。。。。

  • 不讨好开发者,怎么谈生态?

  • 我们组里有同学试了来了个黑科技……有助于现在调试……


    如果现在在调试环境获取不了用户信息,就把手机微信里的所有相关的小程序都删除掉,再进入小程序授权,过几分钟调试环境就又能用了……

  • 官方考虑做小游戏的感受没有?  我们实现个邀请对战功能,受邀请者 点邀请链接进来之后,需要把用户昵称头像上传服务器,如果你们这么改,我们还得单独设计一个 按钮页面,让用户点了才能进入房间。  你们如果真想改,能不能小游戏和小程序有点区别呢?

  • 太不是人了

  • 这不是神经病吗

  • 这样以后调试岂不是会很麻烦

  • 灾难性的改动,真不知道有什么好的

  • 妈的,自己更新设计都没考虑周到,就要乱改,以后放弃了

  • 废除之后  对业务影响挺大的

  • 把公告看了一下午,愣是不知道怎么改。。

  • 那请问如何拿到encryptedData, iv 等信息!!!


  • 关注下这个问题



  • 关注下这个问题

  • 为了简化用户体验的话,如果有如下场景下:


    某页面需要微信授权登录,如果使用 wx.getUserInfo 可以直接调用接口完成授权

    可是要通过 button 来点击获取 details 回调用户信息的话,那是不是必须有 button  的前提下?不需要的页面是不是还要硬造出来一个 button 呢,体验会不会不太好?

  • 草,说改就改,越改越烂

  • 尊敬的小程序团队:

     从文档上看你们不鼓励直接调用wx.getUserInfo。目前我们的小程序需要获取openid,unioid,也非常希望不打扰用户(头像可以暂时不用)。我在你们的文档中发现,如果直接调用获取openid,sessionid的接口

    https://api.weixin.qq.com/sns/jscode2session?appid=xxx


    偶尔会获取到unionid,但是前提是用户必须关注过我们的公众号。而大量的用户都是没有这个经历,所以不得已才调用getUserInfo。 目前再使用button的方式用户的体验会不友好。请问,上面的接口什么时候能直接返回unionid呢?

    • @官方,请官方回复嗷嗷嗷嗷

    • @官方,为啥不能wx.getUserInfo的弹框同意了之后就在wx.login()返回unionId啊,小程序里获取不到有没有关注公众号,返回unionId的条件太玄妙了,一会又一会没有,根本没用啊

    • @官方 同求回复此问题

  • 我们这边需要获取用户头像和用户名存到后台数据库,目前给出的两个方案一个是显示,一个是要用户去点击,这。。。怎么搞。。。

  • 我已经知道了能不能不要一直提示,去你妈的

  • 感觉文档说的好混乱,getUserInfo这个api是作废了吗?如果启动小程序就需要获取用户的信息我怎么处理呢,没有button可以点击呀。

    能否来一个简单易行的方案呢?

  • 又要用button?体验在倒退。逼着我去模拟个授权弹出层来获取,本来不存数据的,现在只有存了。

  • 看的一脸懵逼,完全没看懂到底为什么要逐渐废除wx.getUserInfo接口

  • 各位,关于如何获取openId,微信团队在“小程序•小故事(4)”里面给出了解决方案,如下图:


    然后可以使用open-data组件获取用户公开信息。



    参考链接:小程序•小故事(4)

    • 问题是open-data要在1.9.90版本后才能使用,那之前的用户都放弃么?

  • 想问下,无法通过api取到用户unionID,那只有button取到了,但是button取到用户信息的最低基础库版本号是1.3.0,那么低版本的用户就必须得舍弃是吗?


  • 请问下,安卓上destination-out无效。看到我看到我……

  • open-data取不到数据,没法存到数据库

  • 有点没明白什么意思.

  • 请问,使用 wx.getUserInfo 接口直接弹出授权框的开发方式将逐步不再支持,指的是只是无法弹出授权框,还是该api直接无法使用来获取用户信息了,如果我提前用wx.authorize()获取到用户信息的权限,再调用 wx.getUserInfo获取信息,有没有问题?


    • 只是用户未授权的情况下调用wx.getUserInfo接口不再弹出授权框,必须要用button组件进行授权。授权成功后wx.getUserInfo接口还是和以前一样正常使用。

    • 请问到底是仅仅不弹窗了,还是这个接口就废弃了啊

    • 我是需要一个独立页面放一个botton授权按钮吗  当登录的时候判断用户没有授权调到这个页面  然后用户点击授权按钮 ??

  • 小游戏中有2个wx.getUserInfo ,一个在用户信息(主域数据) ,另一个在开放数据(开放数据域).

    我的解读是,楼主所指的wx.getUserInfo应该是用户信息(主域数据)的,开放数据(开放数据域)不受影响~


  •  有本事你写个有说服力的demo给大家看看,过去这么长时间了,这样默不作声,我想请问产品经理:你的职业素养在哪里?

  • 以前一堆小程序  这修改的猴年马月去...


  • 哈哈哈, 不许笑
  • 正式版不受影响。意思是:如果小程序一直没有跟新(发布新版本)。在正式版本上进入应用还是可以直接弹授权弹框的。好像看到有些应用还是可以直接弹授权modal的。

  • 最大的问题是,最新版本的微信下,还有个莫名其妙的问题,这个按钮时有时无...

  • 哪位大神贴个代码呀

  • 真的很了不起


  •  大神们,谁能教一我,用户图片上传到服务器后,怎么跳转到到页面展示出来


  • 煞笔微信,

  • 真的,感觉改的很不必要

  • 令人窒息的操作

  • 我才开始学,不晚吧!

  • 特意登上来点下赞

  • 111111111111111

  • 垃圾玩意

  • 特意登上来点下赞

  • 一定要用户关注微信公众号后才能获取到这个用户的unionid吗

  • 能不能点击微信登陆,就不用弹这个冬冬出来

  • 我也是来点赞的




  • 我刚创建的一个项目,怎么就报这个错,那个大佬给我解答下,,我刚学。。先谢谢了

  • 搞不懂

  • 如何将提示升级的弹窗关闭啊 或者说 关闭这个警告!!!!!

  • 只有我打不开文档吗?

  • 太深奥了,不懂,只是看着开发工具里总是出错就不得劲。

  • 垃圾

  • getUserInfo禁用 不就是获取一个头像和名称的吗 至于么

  • youmo

  • 真是画蛇添足,用起来一点也不爽

  • aaaaaaaa

  •  特意登上来点下赞

  • 我只能说腾讯运营真tm的不行功能许多功能接入说废就废靠

  • 受不了了

  • 一家独大 说改就改咯

    1. 3

    2. 3

    3. 3

    4. 3

    5. 3

    6. 3

    7. 3

    8. 3

    9. 3

    10. 3

    11. 3

    12. 3

    13. 3

    14. 3

    15. 3

    16. 3

    17. 3

    18. 3

    19. 3

    20. 3

    21. 3

    22. 3

    23. 3

    24. 3

    25. 3

    26. 3

    27. 3

    28. 3

    29. 3

    30. 3

    31. 3

    32. 3

    33. 3

    34. 3

    35. 3

    36. 3

    37. 3

    38. 3

    39. 3

    40. 3

    41. 3

    42. 3

    43. 3

    44. 3

    45. 3

    46. 3

    47. 3

    48. 3

    49. 3

    50. 3

    51. 3

    52. 3

    53. 3

    54. 3

    55. 3

    56. 3

    57. 3

    58. 3

    59. 3

    60. 3

    61. 3

    62. 3

    63. 3

    64. 3

    65. 33

    66. 3

    67. 3

    68. 3

    69. 3

    70. 3

    71. 3

    72. 3

    73. 3

    74. 3

    75. 3

    76. 3

    77. 3

    78. 3

    79. 33

    80. 3

    81. 3

    82. 3

    83. 3

    84. 33

    85. 3

  • .......改啥啊  麻烦

  • 噶里粮啊

  • 这一波更新小程序直接崩了。

    • 为什么之前的版本监测到中文语言是zh_CN 更新了之后变成了zh。。。太坑了吧

  • 任何事情不是绝对的

  • 拿到用户图像和昵称有三种方式,其中open-data 方式直接显示。openid可以不用授权拿到。

  • 开发个小程序十几万?找我。

  • 想问一下正式版什么时候不支持直接弹出授权框

  • 希望下一步删除 wx.request 接口

  • 套他猴子的

  • 66666666666666666666666666666666666666666666666666666666666

  • 可以写一个完整的案例吗?

  • 我就感觉日了狗一样


  • sadasasas


    sadasasas


    sadasasas


    sadasasas


    sadasasas

  • qq

  • 感觉看见了曾经的angular,改到凉凉

  • 不是公司不愿意花钱弄这个JB小程序,哥真的不想鸟这群傻逼啊~~~  我fucking

  • 特意登上来点下赞

  • getuserinfo 坚强一点

  • 可能是用户量太大了,微信不想浪费这样的流量

  • 特意登上来点下赞

  • java 后台 如何通过UoionID 获取用户信息呢?

  • 不理解授权非的通过button才行,我就拿个头像昵称有必要么。。。。。。。。。。。。。。。。

  • wx.getUserInfo接口不是已经被废弃了么,为啥现在还可以使用,虽然不能打开弹窗了,好像还是可以获取到用户信息,这个接口以后会一直存在么?

  • 傻叉腾讯

  • 正式版 什么时候 真正废弃, 现在改也不好, 不改也不好, 很麻烦

  • 还好,刚刚做小程序开发,都是命忍了吧

  • 真是

  • 你这个改动真的让我们小程序从设计流程上就要去重做,我们的用户信息和unionid是关联起来的,app一启动就去获取unionid然后去调用接口拿到用户信息,这里获取出问题,后续的所有接口都会有问题,现在的情况是,就算在index页面做一个蒙版,你们的蒙版遮不住底部导航,如果用户不点击授权,但是他却可以切换底部导航,切换到其他界面去可是接口数据有不对,就会报错,就算我赋默认值让他不报错,也解决不了问题,比如用户通过二维码绑定了账号,在不点确认的情况下切换导航,很多功能无法使用,因为我的默认值是游客数据的账号和权限,无语了。。。。。。。。,腾讯做事就没靠谱过

  • 我只想知道,云开发的时候,怎么自动获取用户昵称和id,然后自动保存的云开发用户管理中去啊?

  • 要不是考虑到用微信的沙雕多,鬼才来写小程序呢

  • 基础库1.3.0以下用户如何授权?

  • ???怎么弄?

  • 还没用就废除了!!!!!

  • 目前的项目需要小程序启动后进行自动登录或注册,用户入口页又不确定,又没有开发者可以自定义的全局modal弹窗,是要每一个页面放一个授权弹窗组件让用户来点击授权?这想想就.....日le狗le。

  • mdzz

  • 失望,站在用户角度说是减少烦扰,但是有没有考虑过要开发者加多一个按钮要用户点击,相当于要用户点击两次按钮才授权完成,这样用户体验就更好了?而且现在做法是要么弄一个弹窗出来提示用户点击,然后再弹出授权窗口,变相增加用户操作次数,这不是更烦到用户吗……

  • 在小程序加载完成时,就想弹窗授权窗口,wx.getUserInfo没法用了,怎么解决?大佬们,只能加个按钮让用户点击?

  • ta ta nuo guo mi de si.

  • 这个改动有点狗屎,体验超级差,调试也不方便

  • 我要是想获取头像的地址存储数据库怎么办?


  • ert

  • 一直在优化用户体验,开发者的体验就不重要了吗,垃圾微信

  • 用户既然都愿意login了,为何还要先获取下授权,再说授权又获取不到用户手机号,微信号一些重要的数据,没有必要把。

  • 你们现在头像怎么获取?真的让用户点按钮么?这个体验也不好吧?

  • 简直是 SD的变动

  • 不知道怎么闹了

  • 学得好累,从来没有这么累熟悉一个语言

    腾讯这是真的折腾人

  • 多么SB的调整, 小游戏有谁会去整个<button>标签,  放哪儿?  getUserInfo, 就是为了获取玩家最基本的信息。  你放开放域,我拿来干什么,连玩家叫什么名字都获取不到了。

  • 请问我用开发者工具v1.02.1808101版本进行调试的时候,看不到现象要怎么设置

  • 666666, 感觉要6的起飞了。
  • 创建小程序提示: Error:登录用户不是该小程序开发者  这什么情况? 又遇到的吗?

  • wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。。。调用失败跟废弃有什么区别。区别是不是就在于,不报错?

  • 未授权的详情页分享直接成为空白,专门还要在详情页添加授权,麻烦

  • 就是说授权跟获取用户信息分开了?......怪麻烦的,要先授权以后才能用 wx.getUserInfo ,那我授权以后,还会让我再次授权吗?

  • nice job

  • 线上不出弹框什么时候启用?有时间出来吗?

  • 我遇到一个问题,vivo X20 的手机登录会报登录失败,有遇到的吗


  • 感觉不统一会怪怪的



  • 可以加微信聊会么


  • 这岂不是让多入口和多状态的小程序要炸??

    要是某页展示多个头像和昵称怎么办?

    open-type只是用来展示啊!!

    我需要放到数据库啊!!!

  • 这个授权我是越看越晕,那我不用getUserInfo也可以获取用户信息也不用弹窗这样可以吗?或者只是用options组件显示用户的头像昵称而已

  • 什么东西啊!!!

  • wx.createuserinfobutton 这种创建授权按钮的api是哪位牛逼的大神设计出来的,我个人实在理解不了!!!

  • 现在还得加个按钮才能拿到用户信息。使用open-tye组件拿到的头像又不支持object-fit,功能比image少不少,这倒是破坏了用户体验。

  • 正式版大概什么时候启用?

  • 跟用户的基础库版本有关系吗

  • 有点懵整得

  • 好在线上能正常授权,不要乱改这些基础的api ,表示很受伤

  • 意思是,如果getUserInfo接口调用失败,就自己创建一个界面,包括UserInfoButton,授权描述信息和拒绝按钮,是吗?

  • 真菜

  • hehe

  • 那么就是说只要用户授权过,就可用直接调用该接口?

  • 我不明白为什么要把默认的弹框给取消了,但是我知道一些复杂的逻辑,页面跳转需要获取用户授权将变得非常复杂,大大降低了小程序的用户体验,为了获取授权我可能让用户单独跳转到一个页面,里面有个单独的按钮只做授权用,这就好比使用window.location.href不能用了,你必须使用a标签进行跳转,希望微信以后对这种底层的接口尽量少的改动

  • 同学们,有这个必要吗?

  • 请问有线上不再支持的具体时间点吗?

  • 请问开放数据域里获取的用户头像图片是一个网址,如何变成图片,在排行榜里使用

  • 改动的意义在哪?!

  • 路过, 留下
  • 新手这个这么弄啊 大佬们

  • LoginError {type: "ERR_WX_GET_USER_INFO", message: "获取微信用户信息失败,请检查网络状态", detail: {…}}


    api换了吗?

  • 很简单啊,既然不弹窗,那就直接价格按钮把弹窗调出来不就行了,几行代码的事情,而且文档里面都直接把示例代码po出来了,复制黏贴再加个判断就ok了

    • 没那么简单吧,如果涉及多个页面并且开启了页面分享,用户首次打开的可能不是首页,那其它所有页面都得添加这个按钮?

    • 我的只有在用户访问账户页面才需要登录,其他的页面不需要,如果每个页面都能够调起授权,那这不正好跟微信现在要取消自动弹出授权一样吗?那他做这个改动就没有意义了,微信现在这么做,就是不希望随意调起授权,这样影响用户的流畅性体验。而且第一次访问的客户你就马上要他授权获取他的信息,这里面必然也存在一个信任的问题

    • 登录和授权是两码事,登录每次都需要但是用户察觉不到,授权只有首次登录,所以不存在影响流畅体验。另外信任问题也不存在,不管是过去还是现在,都会有一个确认框。有我们这样需求的小程序应该还是挺多的,并且有足够充分的理由,只能说腾讯需要努力的地方还很多

  • 辣鸡

  • 开发工具新建个项目 有获取信息按钮及流程处理的一部分 可以参考一下

  • 我现在有这么一个需求:用户扫描小程序码进入小程序,就发送请求到后端获取用户信息和openId。在开发工具里模拟用户进啦获取openId没问题,可是已发布,用户扫描进来,就不能获取了openId和用户信息了。这个问题困扰我一周了。有那个大佬遇到相似的问题呢?希望帮我看看,先谢谢了。

  • 意思是不能在用户进入小程序后,直接获取用户信息吗?我想要用户扫描小程序码进入小程序后,就获得用户的openId 和其他信息,请问怎么弄呢?这个问题困扰我很久了。在开发工具里没问题,发布后用户扫描小程序码进来,就不能获取openId。

  • 意思是不能在用户进入小程序后,直接获取用户信息吗?我想要用户扫描小程序码进入小程序后,就获得用户的openId 和其他信息,请问怎么弄呢?这个问题困扰我很久了。在开发工具里没问题,发布后用户扫描小程序码进来,就不能获取openId。

  • 登录和获取用户信息功能都是在app.js里操作的,你告诉我怎么设置个button给用户来点击再去拿到用户数据?

  • 这种无需授权,但是也没有任何返回数据啊,没办法将用户信息存数据库吗?

  • 现在正式版没有影响,只是体验版和开发版不行。

  • 我就想知道第一次进入小程序的时候,那个授权还在不在

  • 我就是想,进来的时候自动提示授权弹框,怎么办!!!你们不带这样玩的


  • 使用

    getPhoneNumber

    授权注册,不能使用 wx.getUserInfo 是不是?

  • 哦,是吧。

  • 是不是默认获取  还是一定要点击才能获取

  • , 如果你什么都不说,我也不知道怎么回答你呀
  • 对现有业务逻辑影响比较大。。。其实这样不太好,很多小程序现在直接进来就会做一个授权页面,会造成一定的用户流失~。

  • appservice?t=1529634340748:1008 Fri Jun 22 2018 10:25:46 GMT+0800 (中国标准时间) 接口调整

    VM270:1 获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级

    参考文档: https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=1650183953&docid=0000a26e1aca6012e896a517556c01

    console.warn @ VM270:1

    operateWXData @ appservice?t=1529634340748:1008

    invoke @ appservice?t=1529634340748:1008

    o @ WAService.js:4

    u @ WAService.js:4

    i @ WAService.js:7

    t.timeout @ WAService.js:14

    Ke.(anonymous function) @ WAService.js:4

    (anonymous) @ WAService.js:4

    success @ login.js? [sm]:28

    (anonymous) @ WAService.js:3

    u @ WAService.js:4

    (anonymous) @ WAService.js:4

    function.setTimeout @ appservice?t=1529634340748:1008

    (anonymous) @ WAService.js:3

    (anonymous) @ WAService.js:8

    setTimeout (async)

    setTimeout @ WAService.js:8

    s @ appservice?t=1529634340748:1008

    f.registerCallback @ appservice?t=1529634340748:1008

    m.forEach @ appservice?t=1529634340748:1008

    d @ appservice?t=1529634340748:1008

    j.onmessage @ appservice?t=1529634340748:1008

    index.js? [sm]:53 登录失败 LoginError {type: "ERR_WX_GET_USER_INFO", message: "获取微信用户信息失败,请检查网络状态", detail: {…}}

    这个该怎么调试求大神帮助

  • 但是我没有使用button组件,用户第一次点击小程序就要进行授权操作,这个怎么实现?

  • 现在依然弹窗

  • 速度

  • 有点看不懂,按照文档所说,如果没有授权直接调用getUserInfo会直接报错,要用按钮来确认授权,但部分功能需要encryptedData跟iv这两个,之前是getUserInfo返回的,但现在用按钮授权返回的信息貌似也没有看到这两个,那么更新之后encryptedData跟iv应该怎么获取呢,新手求解

  • 我想做自动登录,现在如何实现,必须点登录按钮吗,这也太傻了吧。

  • open-type还是很好用的。

  • 不太明白


  • 这个button样式透明放在每一个能点的地方进授权弹出,还是 提示去个人中心 点登录(只放 一个授权button在登录这里)授权,有没有大神解释下

  • 如果小程序一开始就需要获取用户id  就需要做个页面了。后面还有扫码进入 免密进入的 分享进入的小程序 的场景 头大

  • 您好,我想问下,不出现授权弹框是指不能通过此接口授权了是吗?获取用户信息的功能是否会保留?

    换句话说我用opendata通过用户授权之后,还是能用getUserInfo获取信息吧?

  • 这个接口费了  那

    获取用户session

    这个怎么整

  • 从2018年4月30日开始,小程序与小游戏的体验版、开发版调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败。正式版暂不受影响。

    我TM怎么测试。

    还是说测试的时候是报错,我上传到正式版  就正常获取了呢!

  • 我想请问 已进入主页获取用户信息的需求我以前好好的,现在要我升级,请问 button 放哪里 。开发者工具就给我这个 问题的链接,啥也不说详细点。

  • 有毛病吧?

  • 试试就清楚了,如果想获取获取用户基础json数据,还是会弹框提示授权的(通过bindgetuserinfo="onGotUserInfo"方法)。如果纯粹只是展示用户基础信息,直接使用open-data标签即可,不用写任何js脚本

  • 不支持wx.getUserInfo 这个方式,那么去哪里获取 encryptedData 和 iv ???

    没有这两个数据,如何换取openid?


  • 真是搞不清楚你们所谓的优化用户体验的依据是什么,小程序出现到现在一直是弹窗授权,突然改变,不知道这样的体验是不是很愉快哦;

    站在用户的角度:我都习惯了,你突然就不是那样了,什么个意思。不知道官方能不能回答一下。

    谢谢!

    • , 如果你什么都不说,我也不知道怎么回答你呀
  • 不弹出授权框 默认失败,不是直接让这个接口无效么?

  • 那是不是开发版不能直接调用wx.getUserInfo这个接口了

  • 一点小建议,我觉得文档文字描述让广大开发者产生误解。我也一直以为是wx.getUserInfo不推荐使用了,改为使用button等方式来触发。根据官方对话,原来仅仅是调用wx.getUserInfo的时候不弹出授权询问窗口了。不知道我的理解对不对,如果是这样,希望能修改文案,或者补充解释一下。

  • 不知道怎么说完全一脸懵逼

  • 刚才测试了下,开发版的现在调用wx.getUserInfo,在Complete回调函数里面返回错误:getUserInfo:fail scope unauthorized。线上的貌似没报错。所以现在官方的意思是,如果客户没有点击button 或者页面没有使用open-data组件,即使是调用wx.getUserInfo 也是获取不到用户数据的。

    • 是的你说的是对的,问题是,我们在全局的appjs里去让用户授权登录的,登录成功才进的业务页(包括首页),全局appjs里我们怎么设置登录框,dom写哪里去

  • 意思是小程序只获取用户信息,不需要展现授权弹窗的情况,就不需要做调整了是吗?

  • 不太明白这个功能,如果需要用户授权的页面,都需要加一个授权按钮的意思吗?谁能告诉我应该怎么搞??

  • 主域也就算了。开放数据域能不能通过 getUserInfo 直接拿到 当前用户的 openid 呢?现在传一个 selfOpenId 返回的也是 selfOpenId。无法在开放数据域里判断哪个是自己了。


    用户的游戏数据全部存在微信服务器上,我们为了做一个好友排名再去让用户进行一次 login 操作很不划算啊。希望只是官方的一时疏忽产生的 bug。

  • 官方就没有一个升级实例代码么?没搞懂什么意思。

    • 新建一个小程序项目,你可以看到默认的页面就有这个。

  • 现在如何获取用户的openid呢?


  • .., 无话可说了吗?
  • <button open-type="getUserInfo />这怎么处理

  • 无法弹出授权询问框,开发者没办法测试,获取信息,开发者工具上也不能清除,没法测试,开发难度加大了!!


  • consol.log(res.data);

  • 请叫我 ️

  • 那如果自己模拟这种弹窗不是也一样吗?去掉这种形式和使用这种形式,两者都没决定性的区别啊

  • 影响巨大好不好,如果以前依赖小程序登陆的商城, 我难道在起始页做个按钮给人点?

    • 其实这个不只是首页的问题啊,我们内页也可以分享出去,当新用户点击内页链接打开小程序时,首页的授权登录按钮是不会出现的。所以就只能通过全局appjs去授权,现在全局的getuserinfo竟然不给用了卧槽!全局appjs里我们没办法去设置授权登录按钮让用户去授权登录啊!

  • openSetting接口也是废弃了...发克儿...

  • 什么时候起还用这个api调起弹窗的应用不过审

  • 并不觉得用户体验得到了优化,之前未授权最多点一下,现在要跳新页面并点两下按钮

  • 有哪位大神可以解决吗

  • , 如果你什么都不说,我也不知道怎么回答你呀
  • 其实,只是获取头像和昵称意义并不大,通常会授权后拿着头像和昵称直接注册到自己的系统中生成自己的uid来使用。如果在wxLogin中也能得到头像和昵称就完美了。

  • getuserinfo得不到unionid了吗?

  • 别闹,改回来,乖!

  • 文档也不清楚,也没有例子,看到大家都在骂你我就放心了

  • 我还学不会,又来新的,这叫我什么时候才会学好

  • 你们是爷,你们怎么改都是对的。苦了我们一群程序猿。话又说回来,程序猿何必要为难程序猿呢?

  • 霸气外露,完毕!

  • 感觉改得很鸡肋  不太好用

  • wx.authorize({
    scope: 'scope.userInfo',
       success: function (res) {
       },
       fail: function () {
       }

    })


    这个应该还能弹授权吧?


  • 已经做了处理,能不能去掉这个提示

  • 我郁闷的是用最新的工具随便新建一个小程序项目就报错了。

  • 特地跑上来骂娘一番,然后再回去慢慢改,真是见了鬼啦

  • 你们拍拍脑袋 MD下边的程序员统统累断手指头 你TX的文档就像看天书一样 得靠猜的!!!

  • getUserInfo: function (cb) {
     
    var that = this ;
     
    if (that.globalData.userInfo) {
     
    typeof cb == "function" && cb(that.globalData.userInfo);
     
    } else {
     
    wx.getUserInfo({
     
    openIdList: [ 'selfOpenId' ],
     
    lang: 'zh_CN' ,
     
    success: (res) => {
     
    if (res.data){
     
    that.globalData.userInfo = res.data[ 0 ];
     
    }
     
    typeof cb == "function" && cb(that.globalData.userInfo);
     
    },
     
    });
     
    }
     
    }

    为啥获取值为NULL?


  • 影响非常大

  • 这就是嫁接产品被掣肘,有本事自己开发APP呀?  腾讯公司的产品什么时候考虑过玩家?用户?不一直都考虑钱的问题么?


  • 其实我很困惑为什么这些算不上特别敏感的信息非得要用户去确认才能用?我在使用这个服务的时候难道不应该告诉这个服务我是谁?就算是有风险,普通用户又怎么能评估这里面风险呢?

  • 一直没有升级开发工具才发现...

  • 有没有新的获取用户信息的方法啊~?

  • 默默地改好了,向腾讯大佬低头

    • 怎么改的啊?是需要用户授权的页面都加一个按钮吗?


    • 是的,需要让用户自己点击授权,我们要做的就是引导用户点击授权

  • 还是个菜鸟,努力学习中

  • 莫名其妙, 莫名其妙什么?
  • 大佬们,出现这样的错误怎么解决?

  • 特意登上来点下赞

  • 抗议

  • 问候一下tx

  • 话说大佬们现在怎么操作啊,毕设做到一半出来这么一个幺蛾子

  • 脱裤子放屁!你TMD搞个button 还要用户去点下,这有鸡毛区别?

    • 有区别啊,让用户多点一下,充分提高了产品的使用复杂度,从而达到提升用户体验的作用
  • 开发工具bug反馈:


    版本:1.02.1805150(mac)


    调试基础库:2.0.0


    表现:使用 <button open-type=“getUserInfo”  @click="nextAction"> ,在nextAction中使用了wx.getUserInfo,结果直接判定fail,但手机端访问正常进入success。

    上一版本开发者工具表现正常


  • ???, 图灵机器人在此,有问必答
  • wx.getSetting({
          success: function(res){
            if (res.authSetting['scope.userInfo']) {
              // 已经授权,可以直接调用 getUserInfo 获取头像昵称
              wx.getUserInfo({
                success: function(res) {
                  console(res.userInfo)
                }
              })
            }
          }
        })

    官方文档说调整后可以这样使用,我按官方的写法去写,但是开发工具会提示我获取用户信息接口后续不再支持(如下图)。


    问下后续wx.getUserInfo这个API是不能用了吗,还是说可以按你们官网文档这样使用。麻烦官方给个具体的答复,我好做代码的修改。

    • 同样的问题 ,我刚刚改完版,然后更新了最新的版本库,结果,就这样了 ,搞不懂要怎么做,tx也不给个案例,只在那蚊子描述,呵呵了,要不是小程序做到结尾了,果断选择android开发。
  • , 如果你什么都不说,我也不知道怎么回答你呀
  • wx.login还能用吗


  • 每次保存或者刷新后都弹这个讨厌框的,并且连着弹2次。怎么去掉?

  • 用户每次进小程序都需要点按钮授权吗?怎么取之前的登录记录?

  • 能不能给大家一个接口获取用户信息,现在的模式太坑了。

  • unionid难道不应该放到基本细心里吗?如果unionid和openid,连同头像和名字都放到基本信息里,我不稀罕你们微信用户的其他隐私信息,只是为了让用户在各个平台间体验统一。

  • mdzz

  • https://github.com/cantoo/learning/blob/master/wxapp/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%99%BB%E5%BD%95%E6%80%81%E9%AA%8C%E8%AF%81%E6%B5%81%E7%A8%8B.md那我的后台登入怎么写?

  • 提前授权也不行,

    scope.userInfo【废弃】 wx.getUserInfo 用户信息

    这个已经被废弃了 获取用户信息怎么就那么难

  • 这是要搞事情啊,唯一标示存在数据库里如何去识别用户?

  • wx.authorize(OBJECT)  这个授权的接口可以搞吧

    • 注意:scope 为 "scope.userInfo" 时,无法弹出授权窗口,请使用 &ltbutton open-type="getUserInfo"&gt&lt/button&gt
  • @冬雪飘零bin 别恶搞了,都是程序员,不易啊,有靠谱的解决方案吗,分享一下。

  • 就是不让开发者服务器保存用户的基本资料了  这么说对吧?

  • 什么意思?

    看不懂啊

  • mark, 马克
  • 想了一上午,真不知道怎么改。。。。这样搞,会疯

  • 不得不说真的很佩服你们,中国开发者的平均水平难道腾讯不知道?


    在限制条件内的应用(同一个开放平台下,同一个主体),只依赖unionid和openid的应用不受影响,因为login的code2session的时候给了这两个字段。

    但是问题来了,如果涉及到name和avatar字段的应用,那么麻烦大了,解决方案可能就是上面讨论的那样加按钮。


    那么话说回来还有一种方案,就是我可以改变一下后端代码,让我的服务不强行依赖name和avatar,但是这会面临两个问题


    1、大公司的应用不可能说动就动这么底层的东西,而且业务巨大后也非常难改动。

    2、小公司的开发水平往往不足,写的后端代码扩展性和维护性不强,改动往往牵扯的代码量太大。

    3、就算抛去前两者,那么真正会去修改业务逻辑的公司又有多少?


    然后继续来解决我们遇到的问题,现在腾讯官方态度明确要废除这个API,给出了两种替代方案。


    1、使用button获取,这适用于强依赖字段的,什么叫强依赖?(参考公众号文章下面的留言)

    2、使用一个组件获取,这适用于弱依赖的应用,什么叫弱依赖?(请参考有赞商城微信的h5)


    那么换句话说,你想有一个替代方案,既不弹出button,又不想改动业务,然后和之前一样?对不起,暂时没有。


  • 不知道是什么原因老是提示登录失败

  • 舍本逐末     真的是扯淡一样      基本信息而已     小题大做     至于吗       有这么多时间不如改改bug吧

  • 怎么获取用户信息的呀,更新以后就不会弄了


  • 各位大神  我想问下 初步登入微信开发者工具的时候  授权的时候我不小心按到拒绝了  现在重新进去的时候  就再也没有那个授权的窗口了  该怎么办??

  • 只要编译就提示 “获取用户信息接口后续将不再支持,请注意升级”, 版本:mac 1.02.180425

  • 现在获取用户信息现在要加一个按钮才能获取啦?

  • 果然是腾讯呢

  • 不让直接弹框后,本来在首页开始就需要获取到用户信息和code,难道非要去弄个button吗?还有其他样例可以参考吗

  • 现在open-data的样式不能修改,只能在外面包一个view,通过控制view的样式间接控制 open-data的样式,记得加一个overflow:hidden

  • 大家意见很大的啊 又是bug又是改改改

  • 就是表示下很不爽!!!!!!!!!!  你们这样考虑开发者吗?

  • 对于这个改动,我真的无语了,但是还是重新捋了一遍代码,因为用的wafer2框架,改动比较麻烦。到现在,腾讯云里开源的代码都没有更新。说的4月30号后,开发和体验版接口就不能用了,到现在还是可以用。这么大的事,你们能不能认真点,严肃点。刚看了(腾讯没有梦想)那篇文章,我啥也不说了,官方以后严谨一点好吗?小程序可以说是腾讯的创新,但是别把它毁了。

  • 好的, 我现在改成楼主说的取消了 wx.getUserInfo。可是为什么我开发版清授权后,调试空页面,还是会主动提示询问是否授权???请问这个询问是什么意思??我已经没有调getUserInfo了 说好的4.30号作废呢? 这不是坑人吗?

  • 如果 open-data可以控制样式,也可以啊,你们这不能控制样式,是要作死吗。替代方案都没有想好,就敢这么做。记住,再火的东西也不要自己作死

  • open-data 组件不能控制样式的啊,你们就这么不管的了?

  • ie怎么死的

  • 所以是为了不让我们一直主动弹出授权框,需要用户点击才弹出改的设计?那能说明怎么获取unionid?需要满足这么多条件吗?

  • 能不能快点处理 用户按钮在开发者工具上不能显示的bug。

  • 对于多页面入口的小程序简直是灾难,会带来一大堆的状态问题。

  • 什么是开放数据域和主域数据啊?

  • 有点任性了

  • 特别烦,那边bug一堆,这边说改就改

  • 两种方式并存不行吗?

  • 日了狗了,一首凉凉送给你们。

  • getUserInfo是舍弃不用还是只是不弹出授权框了?  如果舍弃则只能通过button来获取了吗

  • .userinfo-avatar {

      width: 100rpx;

      height: 100rpx;

      margin:20rpx 10rpx 10rpx;

      border-radius: 50%;

      clip-path: circle(50% at center);

    }

    <open-data type="userAvatarUrl" class="userinfo-avatar" ></open-data>

       

    用户头像 圆角样式


  • 这个影响很大啊,是可以调用,可是刚才试了一下

    open-data对于如何获取用户的头像进行保存还有一些用户名,还有对头像样式

    border-radius也是无效,一个API不能说废就废啊



  • 请问 wx.getUserInfo 接口还能不能使用????

  • 我脑子里闪出几个哲学问题:

    我是谁?

    我在哪里?

    我在干嘛?


  • 这么多疑问,官方也不出来解答一下吗???

  • 今天已经5.2号了,下图所示的getSetting()如果已授权,再调getUserInfo是可以获取到用户信息的。



    更重要的是:现在清除授权后直接调用getUserInfo也是可以弹出授权框的,还请官方人员出来说明一下这到底是什么情况,谢谢。



  • 我去所有的逻辑围绕login后的wx.getUserInfo写的,那有没有更快捷的获取OpenId和UnionId的方式,我尽快修改啊,非得让用户点击一个按钮,我才能获取到数据包么?那么表单提交时,我要先弹出授权再弹出授权绑定手机号再弹表单填没填全,真的这个修改有些过分,,,

  • 我只想说妈的有病

  • 感觉要改流程..............

  • getuserinfo这个方法那么方便为什么要舍弃呢?这样的话,如果我想一上来就在app.js的onlaunch中获取用户信息是不是就不能直接获取了,还得在index.wxml里用button或者open-type实现,这简直太麻烦了!!谁能给解答一下??

  • 该如何操作

  • 官方的你们到是出来说话啊

  • wx.login静默登录是获取不到用户头像的,难道用户首次进去必须得点击才行?

  • 这么做的话,对于用户来说体验更差了。对于开发者来说,因为几乎每个页面都需要做身份识别,原本可以直接登录回调,现在只能跳到统一的页面了。原本一些登录后直接回调处理的数据,现在改成跳转登录再跳回后,原有的业务逻辑只能重新开始了。而且这些底层的改变是在运行相当一段时间后才做出的改变,将会导致现大量应用增加大量的后期变更成本,极大的差评!

  • 官方一句话,牵动数万开发者的心,总的来说,在人屋檐下,不得不低头啊

  • 现在已经是30号,公告中提到的无法弹窗仍未在开发版生效?请问,如果公告提到的时间都无法正确生效,开发者如何去验证这种更改会产生的问题?


  • 劲搞这些没用的, 先把Android端能破解拿到项目源码问题解决可以吗!

  • 对于以前的程序,是不是应该给予一个灵活替换的方法呢,冷不丁换button,很多流程性的东西都要改,这是不是太不仗义了

  • 什么意思啊?如何升级?谁能解答一下我,谢谢

  • 我们是需要把用户openid 昵称存到数据库的,难道要多加一个按钮并且让用户点击吗?


  • 关注下这个问题

  • 有病吧,至少以前的接口应该留着啊,我现在有个需求用这种方式更麻烦了

  • 这么基础的 API 说废就废,真的不只是任性啊。。。

  • 所以我这种先弹授权框,用户允许再调getUserInfo的有影响没有,我是看的一脸懵逼,然后看到有说以后一进小程序就弹授权框的不能过审,我还要再跳转到另一个页面再提示用户授权???反正我怎么感觉给开发者带来了不便也影响了用户体验度呢

  • bindgetuserinfo事件里不支持 wx.navigateTo怎么破?

  • 最大的问题是:

    在已经使用 button 组件获取权限(即 getSetting 中权限已开启)的前提下,是否可以继续使用 getUserInfo 获取用户信息?

    官方人员给出的解答,相互矛盾。请统一口径后给与确切的回答!


    相关问题:

    小程序•小故事(6)——微信登录能力优化

    wx.getUserInfo 是直接废弃还是在授权的情况下仍然可以使用

  • 你要给我们一个合理的替换方案啊 这tm说改就改日吧

  • 我想请问一下,如果用的是老版本,比如说1.9.1的调试基础库,还能用 wx.getUserInfo 接口吗?还是说只是新版本的基础库取消对wx.getUserInfo 接口的支持?


  • 我觉得弹脸框优化下,变成    “登录并授权”   或者更好的话术,让用户不会有哲学问题思考。


    反正不管什么方式,都要得到用户的授权,区别在于弹一次还是点了按钮再弹,总归要弹脸,何不把这个框给优化下,让它弹出来也不会有什么困扰呢?


  • wx.getUserInfo({    openIdList: ['selfOpenId'],    lang: 'zh_CN',    success: (res) = > {        console.log('success', res.data)    },    fail: (res) = > {        reject(res)    }})

    该调用提示需要授权,请问为什么呢

  • 改完了,就是那个开个开发工具现在每次编译都会提示那个升级提示在,特别烦。我是判断有没有权限好再调用wx.getUserInfo 的,但是这样调用会一直提示注意升级。特别烦啊!!!

  • wx.getUserInfo不弹出授权框,如果之前用户已经授权,调用是不是依然可以获取到用户信息?有没有官方人员解释一下

  • 这么重要的事情 为什么不发到通知中心后台呢, 太隐蔽了

  • 看完后,依然一脸懵逼的请举手~~

  • 你们怎么升级都可以,我们开发者就一个问题,请问现在怎么做能像以前一样,一次性拿到用户信息,是拿到,不是展示

  • wx.getSetting({

    success: res => {

    if (res.authSetting['scope.userInfo']) {

    console.log("已经授权用户信息");

    // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框  

    wx.getUserInfo({

    success: res => {

    // 可以将 res 发送给后台解码出 unionId  

    this.globalData.userInfo = res.userInfo

    if (this.userInfoReadyCallback) {

    this.userInfoReadyCallback(res)

    }

    }

    })

    }

    }

    请问这个还能用吗?官方就不能回复一下吗?都搞懵了,啥破小程序,也不给个说明啥的,服了

  • 小游戏中有2个wx.getUserInfo,我使用的时候两个返回的结果都一样,都是需要授权的并且有隐私数据返回,请问为什么呢,调用有什么不一样吗,而且小游戏中需要获取unionid也必须授权获取隐私信息

  • 1, 数字1呢
  • 小游戏通过官方文档创建了按钮,但是没显示,是哪里出错了吗?

    var button = wx.createUserInfoButton({

    type: 'text',

    text: '获取用户信息',

    style: {

    left: 320,

    top: 100,

    width: 200,

    height: 40,

    lineHeight: 40,

    backgroundColor: '#ff0000',

    color: '#ffffff',

    textAlign: 'center',

    fontSize: 16,

    borderRadius: 4

    }

    })

    button.onTap((res) => {

    console.log(res)

    })

    button.show();


  • 请官方说明清楚 谢谢

  • 我们这边需要获取用户名头像等 存入数据库 现在可以做到首页用wx.login进行登录 我也理解官方的意思 问题是我一上来就需要获取用户的信息 莫非要做个引导页吗?

  • wx.getUserInfo 是5月份之后就永久移除还是会保留只不过无效?

  • 请问使用wx.showActionSheet(OBJECT)方法吊起的按钮,是否可以使用wx.getUserInfo

  • 使用 button 组件,并将 open-type 指定为 getUserInfo 类型,获取用户基本信息。

    这样使用之后还会有弹框出现???

  • 这个调用失败是指wx.getUserInfo接口整个就fail还是说只是不会弹出授权框,可以正常获取用户信息

  • 有没有具体的解决方法,给个按钮没别的么。。。。。。

  • 又要通宵了

  • 影响很大!+++1

  • 这么基础的api  说废就废,早期开发的小程序是不是要跟着改,官方也没个说法。哪里增强用户体验了?需要获取用户信息的小程序,一样要获取,用户一样需要授权,除了给开发人员增加工作量,没看到这么改的好处。

  • 没听懂!

  • 为什么在开发者工具使用开放数据不显示,用手机预览时候显示?

  • 如果用户授权过小程序,那应该不会出现授权的button了吧?这时候应该会通过js获取用户信息,而wx.authorize

    目前还无法获取用户信息,这个怎么破?

  • 给一个小游戏的demo吧,到底应该是要怎么样的流程,文档写的也太不清楚了

  • 当用button按钮时,获取getUserInfo信息时,是否需要先login获取code.

  • 利用button按钮,获取unionid 还需要调用 wx.login方法吗?感觉有点混乱在这个地方.

  • 问一下如果,用户在PC的扫码登录下授权了,或者再另一个小程序授权了,【都在同一主体下】那么

    wx.login可以返回unionid吗

  • 这个API比较底层,用的几率非常大,删除的话可能会给开发者带来很大的工作量,而且自己做的授权方式可能效果还不如官方的授权方式


  • wx.authorize是不是也不可以在小程序启动时调用?


  • 说变就变,文档也看不太懂,官方能出个最佳实践吗?对不起,是我们太菜了。

  • 搞事情

  • wx.getUserInfo 虽然不弹窗,但不会废除

  • 那getsetting下授权的情况下还能调用wx。getuserinfo吗

  • 提前调用wx.authorize,提前授权不就完事了?


    • authorize下面有句话:注意:scope 为 "scope.userInfo" 时,无法弹出授权窗口,请使用 &ltbutton open-type="getUserInfo"&gt&lt/button&gt
    • button 的形式,用户还得需要点一下才能获取,怎么能直接获取。我以前是判断如果曾拒绝授权,就打开设置页,让他把用户信息打开。
  • 那又得改疯了

  • 自己作死

  • 如果tab中有一个信息页切换过去就需要获取昵称头像呢,怎么触发?

  • 我的理解是:


    一,首先这个wx.getUserInfo接口并没作废,只是不再弹出授权询问框(进行授权)。如果你是想直接通过wx.getUserInfo获取用户信息,这是行不通的,因为这接口不弹出询问框,就意味着如果用户没有提前授权的话就调用失败,继而无法取得用户信息。


    二,但是如果用户提前授过权,这个接口是可以成功获取用户信息的。(提前授权的方法有:1,用wx.authorize接口,scope设为userInfo进行授权询问,然后在success回调中再用wx.getUserInfo就可以成功拿到用户信息。2,可以通过新增的这个button的open-type为getUserInfo的组件进行授权询问)


    所以:

    这个对我们业务的影响是微乎其微的,如果你以前是直接wx.getUserInfo的方式,可以加层wx.authorize提前授权,或者用新的button组件(我觉得这种会增加我们的交互方式,要考虑怎样交互比较好。但是这种方式的好处是没有弹出限制,只要用户没授权,点一次提示一次)


    请问官方我这样理解正确吗?

    • 注意:scope 为 "scope.userInfo" 时,无法弹出授权窗口,请使用 &ltbutton open-type="getUserInfo"&gt&lt/button&gt
    • 谢谢提醒,那应该是后来加的,我回复时好像没发现这句(不过不确定)
    • 一的情况下,以前用户有拒绝授权,再次进入通过wx.getUserInfo获取用户信息,失败,怎么能直接重新授权,获取用户信息?我们这边一进来就需要拿到用户信息进行注册的,
  • 这样做游戏,是不是不能拿到头像和昵称?我的是理解是这样吗?

  • 调用 wx.getUserInfo 接口,将无法弹出授权询问框,默认调用失败

    请问“调用失败”是仅指不再弹出授权框吗? 用户信息还能不能通过这个接口得到?

    • 同问,这个文档写的太不清楚了。
    • 问了也没用,官方是不会回复的,也懒得更新文档,当然也懒得也样例,跟个大爷一样

  • 刚才试了小程序的open-data,头像显示太不友好,我把组件设置了圆角,但图片还是显示成方形,也不能像image组件那样支持裁剪。建议open-data在显示头像时,能像一般组件那样定义样式,比如显示为圆形,更能像image那样,支持mode(裁剪缩放)属性。比如用户上传的头像是长方形,微信本身显示的头像,会裁剪成正方形,而小程序open-data显示的头像,不支持裁剪,就和微信里显示的头像不一致。


    open-data 的 display 默认值是 inline ,需要改为 inline-block 或 block ,并设置 overflow 为 hidden 才能设置圆角。

    至于 mode 就别想了,自己写样式处理吧。


    小程序就是个大X坑,捏着鼻子用吧。

  • 应该是只有在新的小程序版本下才不允许使用, 用户如果还是老的版本应该不受影响吧?

  • 刚才试了小程序的open-data,头像显示太不友好,我把组件设置了圆角,但图片还是显示成方形,也不能像image组件那样支持裁剪。建议open-data在显示头像时,能像一般组件那样定义样式,比如显示为圆形,更能像image那样,支持mode(裁剪缩放)属性。比如用户上传的头像是长方形,微信本身显示的头像,会裁剪成正方形,而小程序open-data显示的头像,不支持裁剪,就和微信里显示的头像不一致。

    • overflow:hidden