微信小程序获取公众号openId,发送模板消息。

微信小程序获取公众号openId

公司项目,要小程序获取公众号的openId,然后来发送模板消息。我看了好几篇文章,感觉没啥用,可能是我太菜,没看懂。那我就只好按我自己的写法来了。

事先说明,我用的uniapp开发的,当然方法都一样,顶多语法不一样。

由于小程序不能直接向用户发送模板消息,所以需要用公众号向用户发送模板消息。
于是需要将小程序的openid和公众号的openid绑定在一起。

需要注意的是:需要正式版本,已经提交审核发布的版本,才能测试获取openId.

后端先把公众号的模板信息配置好,关注公众号,会发送一个跳转小程序模板信息,然后后端把公众号的openId当成参数发送给我。
就像下面代码中的方式。

 url: '/pages/login/login?openId='+openId,

在这里插入图片描述
点击上面的跳转小程序 ,在跳转的页面接收openId。有两种方法:

一、在登录页面采用onload()方法接收,这个与methods同级:

onLoad(option) {
  console.log(option.openId);
}

当然,这个不怎么通用,有可能不生效。

二、在onShow()方法中操作

这里主要用到getCurrentPages() 函数
uniapp官网参考

onShow(){
	var pages = getCurrentPages();
	var page = pages[pages.length - 1];
	console.log(pages);
	console.log(page);
	console.log(page.options);
	console.log(page.options.openId);
}

getCurrentPages() 函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

我把数据打印了一下,你们可以看下:
在这里插入图片描述
获取到openId,下面操作就不用我多说了,发送给后端就行了。

下面是我获取到openId的示例图:我把他展示出来了。

在这里插入图片描述
至此,获取openId完成了,比较简单,反正比我看的其他文章容易多了。

我主要参考了以下几个,虽然和我写的完全不一样,但有参考价值,如果我的方法不行,可以试试下面参考文章的方法。
参考文章1
https://blog.csdn.net/u013675978/article/details/109993861
参考文章2
https://blog.csdn.net/qq_34180996/article/details/109532390


原文连接:https://blog.csdn.net/pipizhou16/article/details/121515015

相关推荐

【小程序】快来开发你的第一个微信小游戏(详细流程)

【微信小程序】使出千手浮图—回滚式

Java模拟微信来电提醒

Zabbix5.0配置企业微信告警

树莓派实战:微信机器人(itchat实现)

微信支付APIV3统一支付接口(H5、JSAPI、H5、App、小程序)

微信小程序 h5页面跳转小程序(超详细讲解)

【微信小程序】开发入门篇(一)

微信小程序微信支付《JSAPI支付》APIV3详细教程

Springboot----项目整合微信支付(利用RabbitMQ延迟队列处理用户退款)

仿微信消息长按气泡菜单

Springboot----项目整合微信支付(用户取消订单)

Springboot----项目整合微信支付与RabbitMQ(使用RabbitMQ延迟插件实现订单管理)

多平台多渠道账号体系绑定第一篇,微信小程序篇

Springboot----项目整合微信支付(引入延迟队列实现订单过期取消以及商户主动查单)

【小程序专栏】第一个uniapp项目编译到微信开发者工具以及android真机运行

微信表情符号写入判决书,你发的OK、炸弹都可能成为“呈堂证供”

通过微信聊天记录简单分析热度

开发跨端微信小程序框架选型指南

Android (微信扫码登录) 获取微信二维码+扫码登录