uniapp 微信获取用户信息 方法 更新 wx.getUserProfile

<!-- 旧版本方式 -->  
<block v-if="canIUseProfile==false" >  
    <button v-if="isLogin === false" type="primary" open-type="getUserInfo" @getuserinfo="getUserInfo" withCredentials="true">获取授权并登录1</button>  </block>  <!-- 新版本方式 -->  
<block v-else>  
    <button v-if="isLogin === false" type="primary" @tap="getUserInfo" >获取授权并登录2</button>  </block>  ------------------------------------------------------  

data 里加一个canIUseProfile初始为false  ------------------------------------------------------  

onLoad 里加一段判断  
if( wx.getUserProfile ){  
    console.log('--check getUserProfile--OK');  
    this.canIUseProfile = true;  
}  

------------------------------------------------------  

methods 里新老都用同一个方法来处理:  

getUserInfo : function(e){  

    //旧版本方式  
    if( this.canIUseProfile == false ){  

        //获取授权信息  
        if(e.detail.userInfo){  

            console.log('用户允许了授权')  
            console.log( e.detail.userInfo );   //1.拿到基本的微信信息!!  

            //继续过去的老方法代码,略……  

        }  

    //新版本方式  
    }else{  

        var that = this;  
        wx.getUserProfile({  
            desc : '用于完善用户资料',  
            lang : 'zh_CN',  
            success : function( res ){  

                console.log( 'wx.getUserProfile=>用户允许了授权' );  
                console.log( res.userInfo );  
                // console.log( res.rawData );  
                console.log( res.signature );  
                console.log( res.encryptedData );  
                console.log( res.iv );  
                // console.log( res.cloudID );  

                /* 以下是网友说的,我还没来得及测试:  
                按新方案的意思,encryptedData,iv,rawData,signature这几个属性用不上了。  
                小程序端wx.getUserProfile()获取到userInfo,wx.login()获取到code,  
                这两个传给后端,code通过code2session接口获取到unionid,openid,session_key等;  
                原有的拿session_key解密encryptedData的逻辑不需要了,毕竟encryptedData也只是比userInfo多了openid和unionid。  
                */  

            }  
            fail : function( res ){  
                console.log('wx.getUserProfile=>用户拒绝了授权');  
                console.log( res );  

            },  
        });  

    }  
}