微信公众号之模板消息跳转小程序

本文详细介绍了如何通过公众号模板消息跳转至关联小程序的具体实现方式,包括设置模板id、接收方openid、跳转路径及小程序的appid和页面路径等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公众号发送模板消息这里就不说了,详情可以去看我之前发的微信公众号开发之模板消息
前几天因业务需求,需要点击模板消息跳转小程序,所以在此发篇博客记录一下。
在这里插入图片描述
代码如下:

public void textTemplate(String deptExt) throws Exception {
	// 将信息封装到实体类中
	TemplateMessage temp = new TemplateMessage();
	// 设置模板id
	temp.setTemplate_id("模板消息id");
	// 设置接受方的openid
	temp.setTouser("接收方的openid");
	// 设置点击跳转的路径
	temp.setUrl("http://mp.weixin.qq.com");
	// 主要是这里, 设置小程序的appid和转发的页面
	TreeMap<String, String> miniprograms = new TreeMap<String, String>();
	miniprograms.put("appid","小程序的appid");
	miniprograms.put("pagepath","pages/index/index?temp=1");// 注意,这里是支持传参的!!!
	temp.setMiniprogram(miniprograms);
	// 设置消息内容和对应的颜色
	TreeMap<String, TreeMap<String, String>> params = new TreeMap<String, TreeMap<String, String>>();
	// 设置消息内容,具体的按照你选择的模板消息来
	params.put("first", TemplateMessage.item("1", "#173177"));
	params.put("keyword1", TemplateMessage.item(“2”, "#173177"));
	params.put("keyword2", TemplateMessage.item(“3”, "#173177"));
	params.put("keyword3", TemplateMessage.item("4", "#173177"));
	params.put("remark", TemplateMessage.item("5", "#173177"));
	temp.setData(params);
	// 将实体类转换为json格式
	JSONObject data = JSONObject.fromObject(temp);
	System.out.println(data + "");
	// 调用WeChatUtil工具类发送模板消息
	WeChatUtil.sendTemplate(data + "");
}

WeChatUtil是一个工具类,详情可以看我之前发的博客,微信公众号开发之模板消息
TemplateMessage 是一个封装模板消息的实体类。和之前的有所改变,增加了封装跳转小程序的属性。

import java.util.TreeMap;

public class TemplateMessage {
	private String touser; // 接收者openid

	private String template_id; // 模板ID

	private String url; // 模板跳转链接

	private TreeMap<String, TreeMap<String, String>> data; // data数据
	
	// 新增
	private TreeMap<String, String> miniprogram; // 跳小程序所需数据,不需跳小程序可不用传该数据
	
	/**
	 * 参数
	 * 
	 * @param value
	 * @param color
	 *            可不填
	 * @return
	 */
	public static TreeMap<String, String> item(String value, String color) {
		TreeMap<String, String> params = new TreeMap<String, String>();
		params.put("value", value);
		params.put("color", color);
		return params;
	}

	//   get / set 已省略

在这里插入图片描述
我打感叹号的地方,有箭头的即为可点击的,也就是添加了点击跳转路径的。可以跳h5页面。设置了跳转小程序所需的参数后,点击就可以进入小程序了。
注意,跳转的小程序必须是公众号关联的小程序!!!

### 如何在微信公众号中设置和使用模板消息 #### 获取必要的配置参数 为了能够成功发送模板消息,开发者需要提前准备好一些基本的配置项。这些配置项包括`appid`、`appsecret`、`token`以及`asekey`等基础安全验证信息[^2]。 #### 获取用户的OpenID 当涉及到向特定用户推送通知时,则还需要知道目标接收者的唯一标识符——即OpenID。通常情况下,在用户首次关注并授权给公众号之后便可以获得此值;对于调试目的而言,也可以通过访问服务号管理界面下的用户列表来手动查找所需的OpenID[^3]。 #### 创建自定义模板或选用预设样式 微信公众平台提供了多种行业专属的消息模版供选择,同时也允许创建个性化的消息格式以满足不同场景的需求。一旦决定了要使用的具体形式后,就应当记录下对应的`template_id`以便后续调用[^1]。 #### 发送模板消息 最后一步便是实际执行发送操作了。这可以通过调用微信提供的API接口实现,下面给出了一段简单的Python代码示例用于展示如何构建这样一个请求: ```python import requests import json def send_template_message(access_token, openid, template_id): url = f"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={access_token}" data = { "touser": openid, "template_id": template_id, "url": "", # 可选字段:点击后的跳转链接 "miniprogram": { "appid":"", # 小程序 App ID (可为空) "pagepath":"" # 跳转小程序路径(可为空) }, "data":{ # 自定义数据部分 "first": { "value":"您好", "color":"#0000FF" } } } response = requests.post(url=url,json=data).json() return response ``` 上述函数接受三个必需参数:`access_token`(用于身份认证),`openid`(收件人的唯一识别码) 和 `template_id`(所选模板的信息编号)。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值