2
{
  wx.getSetting({
    success: res => {
      if (res.authSetting && res.authSetting['scope.userInfo']) {
        // 已经授权,可以直接调用 getUserInfo 获取头像昵称
        wx.getUserInfo({
          success: function (data) {
            console.log(data.userInfo);
            // {
            //   avatarUrl: '微信头像img文件path'
            //   nickname: '微信昵称'
            // }
          }
        });
      } else {
        this.showShouquan = true; // 打开模态框进行授权
      }
    }
  });
}
<template>
    <div>
        <!-- 这里采用vantui进行弹框,只不过把弹出框的button类型设置成了"getUserInfo",原理就是下面这个button
        <button wx:if="{{showShouquan}}" open-type="getUserInfo" bindgetuserinfo="getUserInfoFromWx">授权登录</button> -->
        <van-dialog use-slot async-close :show="showShouquan" show-cancel-button confirm-button-open-type="getUserInfo"
            @close="cancelShouquan" @getuserinfo="getUserInfoFromWx">
            <h4 class="wx-shouquan-title">微信授权</h4>
            <p class="wx-shouquan-content">
                xxxxxxx小程序将获得您的微信头像、昵称等公开消息
            </p>
        </van-dialog>
        <div>
</template>
    getUserInfoFromWx (e) {
      this.$store.state.user_userinfo = e.mp.detail.userInfo;
      this.showShouquan = false;
    },
    cancelShouquan () {
      this.showShouquan = false;
    },

clipboard.png


LauJon
67 声望3 粉丝