uniapp 微信公众号网页获取微信头像昵称(获取无反应)

2024-03-11 22:20

本文主要是介绍uniapp 微信公众号网页获取微信头像昵称(获取无反应),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

操作步骤

1. 判断是否授权过头像昵称

2. 若未授权,判断是否是微信浏览器打开

// 判断是否微信浏览器
isWXBrowser() {return (String(navigator.userAgent.toLowerCase().match(/MicroMessenger/i)) = "micromessenger");},

3. 若是微信浏览器打开,判断地址栏是否返回code

// 截取地址栏code
getUrlCode(name) {return (decodeURIComponent((new RegExp("[?|&]" + name + "=" + "([^&;]+?)(&|#|;|$)").exec(location.href) || [, ""])[1].replace(/\+/g, "%20")) || null);
},

4. 若有code,根据code获取相关信息,无code,需跳转授权页面获取code

//访问微信地址,用来获取code
getWeChatCode() {//处理域名let local = encodeURIComponent(window.location.href); //获取当前页面地址作为回调地址let appid = 'wx77b2************'window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + local + "&response_type=code&scope=snsapi_userinfo&state=STATE&connect_redirect=1#wechat_redirect"
},

5. 判断使用

if(!this.userInfo.avatar){ // 未授权头像昵称this.isWXBrowser = this.isWXBrowser();if (this.isWXBrowser) {let code = this.getUrlCode("code");if (code) {this.wxLogin(code);} else {this.getWeChatCode(); //微信授权}}}

后续出现点击获取头像昵称无反应的情况并报错[Component] <button>: chooseAvatar:fail api scope is not declared in the privacy agreement

是由于小程序的隐私协议更新小程序隐私协议开发指南 | 微信开放文档

1. 需在小程序后台设置用户隐私保护指引添加收集头像昵称的信息类型

2. 在manifest.json中添加"__usePrivacyCheck__":true,

"mp-weixin" : {"__usePrivacyCheck__":true,
}

3. 将基础库设为2.30.4

4. 待后台隐私协议审核通过后 将代码重新提交并发布到线上

这篇关于uniapp 微信公众号网页获取微信头像昵称(获取无反应)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799262

相关文章

使用Python实现获取网页指定内容

《使用Python实现获取网页指定内容》在当今互联网时代,网页数据抓取是一项非常重要的技能,本文将带你从零开始学习如何使用Python获取网页中的指定内容,希望对大家有所帮助... 目录引言1. 网页抓取的基本概念2. python中的网页抓取库3. 安装必要的库4. 发送HTTP请求并获取网页内容5. 解

Python使用DrissionPage中ChromiumPage进行自动化网页操作

《Python使用DrissionPage中ChromiumPage进行自动化网页操作》DrissionPage作为一款轻量级且功能强大的浏览器自动化库,为开发者提供了丰富的功能支持,本文将使用Dri... 目录前言一、ChromiumPage基础操作1.初始化Drission 和 ChromiumPage

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Python如何获取域名的SSL证书信息和到期时间

《Python如何获取域名的SSL证书信息和到期时间》在当今互联网时代,SSL证书的重要性不言而喻,它不仅为用户提供了安全的连接,还能提高网站的搜索引擎排名,那我们怎么才能通过Python获取域名的S... 目录了解SSL证书的基本概念使用python库来抓取SSL证书信息安装必要的库编写获取SSL证书信息

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值