zoukankan      html  css  js  c++  java
  • wx.getUserProfile更新后怎么请问获取unionId?

    1.背景:https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?highLine=getUserProfile%2520unionId
     

    请注意下面画红线的部分!!!

    2.坑是这样的:

    以前: wx.getUserInfo与<button open-type="getUserInfo"/> 除了可以获取到用户的【头像昵称】, 还可以获取到【encryptedData和iv】(encryptedData和iv是用来解析openID、unionID的)
    就是说通过getUserInfo基本就可以获取【用户昵称头像】及【openID、unionID】

    现在:现在: wx.getUserProfile 虽然也可以获取到encryptedData和iv, 但是从这里是【解析不出来openIDunionID】的。

    关键的是官方没有指出这一点!!!让你看到和以前一样的【encryptedData和iv】,但是不能和以前一样解析出【openID、unionID】

    3.解决

    <button v-if="canIUseGetUserProfile" @click="getUserProfile" class='button get-user-profile-btn'>授权</button>
    <button v-else open-type="getUserInfo" class='button' @getuserinfo='getuserinfo'>授权</button>
    getUserProfile(e: any) {
                (wx as any).getUserProfile({
                    desc: '用于完善会员资料',
                    success: (res: any) => {
                        wx.getUserInfo({  // 走一次getUserInfo
                            success: (res) => {
                                // todo...旧流程,拿【encryptedData和iv】去换【openID、unionID】
                            }
                        })
                    }
                })
            }
    
            created() {
                if ((wx as any).getUserProfile) {
                    this.canIUseGetUserProfile = false;
                }
            }
  • 相关阅读:
    Java加密AES算法及spring中应用
    IO流理解方式小结
    Spring CommonsMultipartResolver上传文件小结
    SpringMvc项目加载顺序及上下文小结
    Session学习小结
    MySql实现Oracle的row_number()over(partition by ... order by ...)
    Oracle存储过程小解
    mysql存储过程小解
    Java final关键字
    linux 同步 rsync的使用——远程服务器同步配置
  • 原文地址:https://www.cnblogs.com/cynthia-wuqian/p/14681712.html
Copyright © 2011-2022 走看看