支付宝小程序--登录功能--前台

支付宝小程序–登录功能–前台

实现效果:

在这里插入图片描述

前期准备():
编写代码:

axml:

  <view class="user-info">
    <image class="user-avatural" src="{{ userInfo.avatar }}"></image>
    <button a:if="{{!isHaveAuth}}" class="user-info-button" open-type="getAuthorize" onGetAuthorize="onGetAuthorize" onError="onAuthError" scope="userInfo" size="mini">
    点击登录
    </button>
    <text a:else>{{userInfo.nickName}}</text>
  </view>

acss:

.user-info {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  background-color: #ff7440;
  height: 354rpx;
  padding: 50rpx 0;
  box-sizing: border-box;
}

.user-info .user-avatural {
  width: 169rpx;
  height: 169rpx;
  border-radius: 50%;
}

.user-info-button{
  background-color: #fff; 
  color: #000; 
  font-size: 35rpx;
  line-height: 2.0;
  border-radius: 20rpx;
}

js:

  //点击登录
  onGetAuthorize(res) {
    let that = this; 
    //获取用户信息
    my.getUserInfo((flag, data, userInfo) => {
      console.log(flag, data, userInfo);
      if (flag) {
        that.setData({
          isHaveAuth: true
        });
      };
      that.setData({
        userInfo: userInfo
      });
    });    
  },  

js-model:

  //获取用户信息
  getUserInfo(callBack) {
    let that = this, userInfo = null, authCode = null;
    // 主动授权(弹框):auth_user,静默授权(不弹框):auth_base    
    my.getAuthCode({
      scopes: 'auth_user', 
      success: (res) => {
        if(res.authCode){
          authCode = res.authCode;
          // 拿到用户数据、以下方的报文格式解析两层 response  
          my.getOpenUserInfo({
            fail: (res) => {
            },
            success: (res) => {
              userInfo = JSON.parse(res.response).response; 
              typeof callBack == 'function' && callBack(true, authCode, userInfo);            
            }
          });      
        }
      },
    });
  }

uthCode, userInfo);
}
});
}
},
});
}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值