一、获取用户的openId

1、前提条件:找到小程序的id和密钥

在微信公众平台,https://mp.weixin.qq.com/,找到小程序的id和密钥
在这里插入图片描述

2、代码展示

(1)uni.login:获取用户的登录凭证。

https://uniapp.dcloud.io/api/plugins/login?id=login

(2)uni.request:发送网络请求,通过登录凭证获取用户的openID。

https://uniapp.dcloud.io/api/request/request?id=request

(3)请求接口说明

https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/others/WeChat_login.html#%E8%AF%B7%E6%B1%82%E5%9C%B0%E5%9D%80

注:只需要替换掉小程序的id和密钥,其它参数无需更改

uni.login({
        provider: "weixin",
        success: function (res) {
          let appid = "小程序id";
          let secret = "小程序密钥";
          let url =
            "https://api.weixin.qq.com/sns/jscode2session?appid=" +
            appid +
            "&secret=" +
            secret +
            "&js_code=" +
            res.code +
            "&grant_type=authorization_code";
          uni.request({
            url: url, // 请求路径
            success: (r) => {
              console.log("r", r);
              console.info("用户的openId", r.data.openid);
            },
          });
        },
      });

3、结果

在这里插入图片描述

二、获取用户的基本信息

1、API说明

uni.getUserProfile:获取用户信息。每次请求都会弹出授权窗口,用户同意后返回 userInfo。

https://uniapp.dcloud.io/api/plugins/login?id=getuserprofile

2、代码展示

uni.getUserProfile({
        desc: "获取你的昵称、头像信息",//必填项,声明获取用户个人信息后的用途,不超过30个字符
        success: (res) => {
          const userInfo = res.userInfo;
          console.log("用户基本信息", userInfo);
        },
        fail: (res) => {
          //拒绝授权
          wx.showToast({
            title: "获取失败",
            icon: "error",
            duration: 2000,
          });
          return;
        },
      });

2、结果

在这里插入图片描述

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐