uni-app 支付宝小程序授权,获取用户基础信息(头像图片地址、昵称、性别、国家码、省份、所在市区)

34 篇文章 2 订阅
4 篇文章 0 订阅

前言

uni-app写的前端项目:一套仿奈雪の茶小程序的前端模板

1.授权需要用户主动触发(按钮点击)

#ifdef 为环境编译,官方文档 - 条件编译

固定写法:open-type=“getAuthorize” 授权组件

固定写法:scope=“userInfo”

授权成功回调:@getAuthorize=“onGetAuthorize”

授权失败回调:@error=“onAuthError”

支付宝授权方法: my.getOpenUserInfo

<template>
  <!-- #ifdef MP-ALIPAY -->
  <button
    type="primary"
    size="default"
    open-type="getAuthorize"
    scope="userInfo"
    @getAuthorize="onGetAuthorize"
    @error="onAuthError"
  >
    支付宝一键登录
  </button>
  <!-- #endif -->
</template>

<script>
import Vue from "vue";

export default Vue.extend({
  methods: {
    // 授权成功回调
    onGetAuthorize() {
      my.getOpenUserInfo({
        fail: res => {
          console.log(res);
        },
        success: res => {
          const userInfo = JSON.parse(res.response).response; // 以下方的报文格式解析两层 response
          my.alert({
            content: userInfo,
          });
        },
      });
    },
    // 授权失败回调
    onAuthError() {
      uni.showToast({
        title: "授权失败回调"
      });
    }
  }
});
</script>

2.支付宝小程序开发者工具效果图

点击按钮,调用授权弹框
在这里插入图片描述
允许(授权成功),获得用户基础信息
在这里插入图片描述
拒绝(授权失败)
在这里插入图片描述
3.开发者工具上传代码后,需要添加获取基础信息能力

开发管理 - 版本管理 - 能力列表 - 添加能力 - 添加(获取会员基础信息)
在这里插入图片描述
4.遇到的问题

运行在开发者工具上,使用的是模拟数据,nickName参数正常获取。

运行在支付宝上,nickName参数不见了。

在这里插入图片描述
原因:支付宝用户未设置昵称。

获取会员基础信息-常见问题
在这里插入图片描述

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值