uniapp开发微信小程序报错:[system] API `getUserProfile` is not yet implemented

在用uniapp开发微信小程序时,想获取用户的微信头像和微信用户名

首先想到的是

uni.login({
  provider: 'weixin',
  success: function (loginRes) {
    console.log(loginRes.authResult);
  }
});

 可是程序报错:[system] API `login` is not yet implemented

我在想是不是微信已废弃原有的微信登录api,

小程序登录、用户信息相关接口调整说明 | 微信开放社区

为优化用户的使用体验,平台将进行以下调整:

  1. 2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过wx.login接口获取的登录凭证可直接换取unionID
  2. 2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与<button open-type="getUserInfo"/>获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。
  3. 新增getUserProfile接口(基础库2.10.4版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档:《getUserProfile接口文档》
  4. 由于getUserProfile接口从2.10.4版本基础库开始支持(覆盖微信7.0.9以上版本),考虑到开发者在低版本中有获取用户头像昵称的诉求,对于未支持getUserProfile的情况下,开发者可继续使用getUserInfo能力。开发者可参考getUserProfile接口文档中的示例代码进行适配。

于是换成uni.getUserProfile(OBJECT),

uni.getUserProfile({
	desc: '用于您的页面展示用户头像与昵称',
	lang: 'zh_CN',
	success: res => {
	    console.log(res);
		this.isShowLogin = false;
		this.userInfo = res.userInfo;
	},
	fail: err => {
		console.log(err.errMsg);
	}
});

运行到内置浏览器后仍然显示[system] API `getUserProfile` is not yet implemented

最后发现,运行到小程序模拟器,微信开发者工具,再点击,就可以了!

友情提示:现在不能跳转到目标页面就直接要求用户授权,必须通过用户点击才可以。

威信搜索小程序:检索助手或者法务手册,查看实际运行效果。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值