微信小程序下获取公众号openId
微信小程序下获取公众号openId
一、为什么我们需要在小程序下面获取公众号的openId呢?
微信公众号和微信小程序我们一般都会开发,有一种场景我们经常会遇到,公众号的消息推送以较成熟,我们希望把小程序那边的用户也同步到公众号这边,而且最好采用静默方式,所以我们有这种需求。
二、方案
从目前来讲,微信没有给我们提供可直接在小程序中调用公众号的接口,当然大家会想到union机制,当然这个还是有一定限制的,需要用户主动触发。那么我们有没有其他可选方案呢,当然我们会想到是不是可以通过向程序访问公众号h5的页面呢,这个时候我们会想到webview组件。
通过webview加载 公众号的一个h5页面,h5页面只做公众号授权处理,例如
小程序
constructor(props) {super(props)this.state = {num: 0}}handleLoad (e) {let { num } = this.state;this.setState({num: ++num}, ()=>{if(num==2){const url = e.detail.src;let code = getQueryString(url, 'code')Taro.redirectTo({url: `/pages/index/index?code=${code}`})}}) }handleError () {Taro.redirectTo({url: `/pages/index/index`})}render () {return (<WebView src='https://xxxx.xxxx.com/#/pages/get-openId/index' onLoad={ this.handleLoad } onError={ this.handleError } />)}
公众号
constructor(props) {super(props);this.state = {};}componentDidMount() {Taro.showLoading({ title: '加载中...', mask: true })let APP_ID = '000000000000'let urlParams = getAuthUrl(window.location.href, APP_ID)let code = ''if(urlParams){code = getQueryString('code')}if(!code){window.location.href = urlParamsreturn}setTimeout(() => {Taro.hideLoading()}, 6000);}render() {return (<View className='loading-container'></View>)}
const getAuthUrl = (appId, currentPageUrl ) => {const authUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId + "&redirect_uri="+ encodeURIComponent(currentPageUrl) +"&response_type=code&scope=snsapi_base&state=TOKEN&connect_redirect=1#wechat_redirect"return authUrl
}
小程序加载的页面会请求两次, 这是和公众号授权机制有关,我们只需要在页面加载的第二次从detial中拿到code就可以了。
微信小程序下获取公众号openId相关推荐
- 50行代码实现的艺术签名设计微信小程序,轻松对接公众号,涨粉神器,学习赚钱两不误.微信公众号引流工具.html,python学习小项目.艺术签名设计微信小程序,前端学习小项目有趣的项目
50行代码实现的艺术签名设计微信小程序,轻松对接公众号,涨粉神器,学习赚钱两不误 先看效果 这个小程序实现艺术签名设计的功能 对接到公众号之后,相当于给你的公众号添加了一个功能,别人关注公众号后,可以 ...
- 微信小程序跳转公众号图文内容
显示公众号推文 <web-view src="http://....."></web-view> <!--小程序要绑定公众号--> web-vi ...
- 微信小程序可以打开公众号文章
微信今日晚间发布消息,宣布微信小程序基础能力.开发者工具全面升级,新增多项能力. 基础功能方面: 1.小程序新增打开公众号文章功能.可以打开已关联公众号的文章,不过文章内暂不支持赞赏.广告.关注公众号 ...
- 微信小程序跳转公众号
长按识别跳转 步骤: 新建一个页面使用web-view组件的src链接到公众号编辑好的一篇带有公众号的二维码的文章 微信规则只有小程序关联的公众号里的文章可以长按识别二维码 <template& ...
- 微信小程序消息从公众号推送
2020.06.05更新 新的一年认证续费只需要续费公众号. 小程序可以自动关联认证. 一定要记得!!!!!!! ------------------------------------------- ...
- 移动手机网站H5页面如何一键打开拉起微信小程序快速关注公众号功能?
为了方便自己或公司H5网站页面上,能够让用户一键点击按钮,拉起打开微信小程序.实现让用户快速使用微信小程序功能.让用户快捷方便的关注公众号.快速添加微信客服等功能.可以利用H5链接微信环境外打开微信小 ...
- 发送微信小程序卡片到公众号
微信服务号下可以主动给用户推送小程序卡片,但是得用户授权接受消息才可以,小程序卡片点击即可跳转到小程序中对应的页面 前提是服务号要与小程序绑定,且是同一主体. 1.发送卡片工具类 @Component ...
- 记录小程序中获取公众号的信息授权实现过程
1.小程序页面触发webview跳转h5授权 <template><view v-if="showContent"><web-view :src=&q ...
- 微信小程序跳转公众号(引导关注)之 使用公众号消息
1.首先 在微信公众号后台发送一条消息,这条消息你可以定向发送给自己看到就行.如图: 内容里面放生产的公众号二维码:微信会提示你是否生产这个跳转连接,还是只是放二维码 2:第二步 在小程序里面使用 s ...
最新文章
- 【NIO】IO多路复用
- 醒醒,迪卡侬请停止“低调”!
- 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库...
- PonyAI进军自动驾驶货运,乘用无人车历史性“小马过河”
- csv解析java_Java CSV解析器
- CentOS 6.5 shell中su切换自动输入密码
- 影视剪辑,视频剪辑素材音效哪里找?超实用剪辑入门必备素材
- C语言练习-还原算术表达式
- mac软件全屏时候最顶上任务栏保留_一键整理 Mac 顶部菜单栏,这款免费工具 App 还你清爽...
- javaweb基于SSM框架的书籍小说在线阅读下载网站
- c语言万年历一行打印两个月,万年历 c语言 两月一行
- java识别汉字个数_统计字符串中汉字的个数
- Python2.7+PyQt5的安装
- K_A02_005 基于单片机驱动数码管 LED 按键模块(TM1638) 流水灯 0-7 按键值显示
- 趋势丨从云到多云,超融合与云管平台如期而遇
- Opencv4学习-2、小案例之绿布抠图-视频背景图替换
- mysql-readme
- 生甜菜根糖的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 【目标追踪】三帧差法原理及实现
- Golang 云盘服务 (增加私有云分布式存储)
热门文章
- “机器学习”三重门,“中庸之道”趋若人(深度学习入门系列之四)
- linux系统查看sd卡格式ft32,Linux系统下如何挂载FAT32格式U盘
- 向北京集结!OpenI/O 2020启智开发者大会进入倒计时!
- Anatomy of an Android Application
- 噪声的频谱分析的重要意义_频谱分析仪的作用以及原理分析
- 第一个go练习服务——编写
- EazyDraw for Mac(矢量图绘制软件) v10.5.3中文版
- 利用platform.x509和platform.pk8生成系统签名文件
- oracle drop index pk,oracle – 执行唯一/主键 – 删除索引
- 【Web技术】1486- 在页面关闭时提交监控数据的4个解决方案