微信小程序里判断是否关注了公众号

简介: 微信小程序开发过程中,经常会遇到需要判断当前用户是否关注了公众号的业务需求,但是微信并没有提供直接判断是否关注公众号的接口,这边提供一种方法,适合就用,不适合也别喷哦。

微信小程序开发过程中,经常会遇到需要判断当前用户是否关注了公众号的业务需求,但是微信并没有提供直接判断是否关注公众号的接口,这边提供一种方法,适合就用,不适合也别喷哦。

1、准备工作

开发前我们需要登录公众号管理后台,关联同主体的微信小程序,注意,一定是同主体哦。

image.png

公众号后台创建一条模板消息,不要随便创建,提示语最好是和关注公众号相关的,才会显得和谐一点

image.png

2、开发小程序统一服务消息

 * 在小程序里使用同主体的关联公众号发送模板消息
 * https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html
 * @param vo
 * @return
 */
public static JSONObject uniformSend(SendVo vo){
boolean flag = false;
JSONObject object = new JSONObject();
JSONObject mpTemplateMsg = new JSONObject();
JSONObject miniprogram = new JSONObject();
String url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token="+vo.getToken();
object.put("touser", vo.getToUser());
mpTemplateMsg.put("appid", vo.getPublicAppId());
mpTemplateMsg.put("url", vo.getUrl());
mpTemplateMsg.put("template_id", vo.getTemplateId());
miniprogram.put("appid",vo.getMiniAppId());
miniprogram.put("pagepath",vo.getPagePath());
mpTemplateMsg.put("miniprogram",miniprogram);
List<String> list = vo.getValue();
JSONObject jsonObject = null;
if (list != null && list.size() > 0) {
int size = list.size();
JSONObject data = new JSONObject();
for (int i = 0; i < size; i++) {
    if (i == 0) {
        JSONObject first = new JSONObject();
        first.put("value",list.get(0));
        first.put("color",vo.getColor());
        data.put("first",first);
    } else if (i == size-1) {
        JSONObject remark = new JSONObject();
        remark.put("value",list.get(0));
        remark.put("color",vo.getColor());
        data.put("remark",remark);
    } else {
        JSONObject keyword = new JSONObject();
        keyword.put("value",list.get(i));
        keyword.put("color",vo.getColor());
        data.put("keyword"+i,keyword);
    }
}
mpTemplateMsg.put("data",data);
object.put("mp_template_msg",mpTemplateMsg);
jsonObject = CommonUtil.httpsRequestJson(url, "POST", object.toJSONString());
logger.info("统一消息推送模板json======{}",jsonObject);
}
return jsonObject;
}

针对入参要说下mpTemplateMsg.put("data",data)里面的data这个参数,它是first.DATA,(keyword1.DATA,keyword2.DATA。。。),remark.DATA组成的,所以for循环里面拼接数据的时候要分三个,分别对应first.DATA,(keyword1.DATA,keyword2.DATA。。。),remark.DATA的字段值。

3、返回结果判断

a. 向已关注公众号的用户发送成功会返回

{"errcode":0,"errmsg":"ok"}

b. 向未关注公众号的用户发送会返回

{"errcode":43004,"errmsg":"require subscribe hint: [LGcpYa05528672]"}

当取到errcode为43004时,就是未关注公众号的

山水有相逢,来日皆可期,谢谢阅读,我们再会

我手中的金箍棒,上能通天,下能探海

上一篇:自学开发技术,从入门到入行

相关文章
|
安全 前端开发 Java
基于springboot的微信公众号管理系统(支持多公众号接入)
基于springboot的微信公众号管理系统(支持多公众号接入)
818 2
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
消息中间件 缓存 小程序
婚恋交友相亲公众号app小程序系统源码「脱单神器」婚恋平台全套代码 - 支持快速二次开发
这是一套基于SpringBoot + Vue3开发的婚恋交友系统,支持微信公众号、Uniapp小程序和APP端。系统包含实名认证、智能匹配、视频相亲、会员体系等功能,适用于婚恋社交平台和相亲交友应用。后端采用SpringBoot 3.x与MyBatis-Plus,前端使用Vue3与Uniapp,支持快速部署和二次开发。适合技术团队或有经验的个人创业者使用。
1064 8
|
小程序 Java 关系型数据库
圈子系统公众号app小程序系统源码圈子系统带即时通讯 多级圈子系统源码 兴趣小组系统开源 私密圈子系统代码 会员制社区系统
本圈子系统解决方案提供即时通讯、多级圈子、兴趣小组、私密社区及会员制管理功能。支持开源与商业方案,推荐ThinkSNS+、EasyClub及OpenFire等系统,并提供前后端技术选型建议,助力快速搭建社交平台。
691 0
|
人工智能 前端开发 开发工具
9.2K Star!微信排版从未如此简单,这款开源神器让Markdown飞入公众号!
一款9.2K Star的开源神器,让微信公众号排版变得简单高效!支持Markdown语法,实时预览、多图床混搭、AI智能排版、自定义主题样式等功能一应俱全。通过沉浸式双栏编辑、七图床混合编排、AI写作助手和主题定制工坊等核心功能,彻底解放技术创作者的生产力。无论是技术博客迁移、多平台发布还是企业定制,都能满足需求。三步上手:在线体验、本地部署、公众号对接。项目地址:https://github.com/doocs/md
2170 4
|
人工智能 自然语言处理
使用企业微信或公众号自动回复图片消息
AppFlow支持企业微信和公众号接收图片消息,并提供两种回复方式。方式一:直接回复图片消息,用户发送图片后立即收到回复,但无法继续追问。方式二:先保存图片,待用户发送文字后再一并处理并回复。配置步骤包括选择模板、配置鉴权信息、设置执行动作参数及发布连接流。详细操作可参考相关文档。
1976 1
使用企业微信或公众号自动回复图片消息
|
Web App开发 移动开发 小程序
公众号小程序H5网页像素流送UE5模型的方法分享
本文探讨了如何通过像素流送技术在小程序、公众号等平台展示复杂的3D模型(如UE5引擎开发的楼盘模型、数字孪生展厅)。该技术将GPU和CPU算力需求转移到服务器端,使用户侧无需高性能硬件即可流畅体验。通过Webrtc实现实时云渲染,确保毫秒级响应,且兼容多种浏览器。使用点量云流等产品级软件,老项目只需重新打包为EXE格式,即可轻松嵌入H5网页、小程序或公众号中,支持Unity、WebGL等多种3D应用及传统CAD模型。
646 1
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
1586 3
|
Go
【微信公众号】基于golang的公众号开发基本配置
【微信公众号】基于golang的公众号开发基本配置
546 0
|
API
如何在公众号里制作微信报名表
微信万能表单不仅可以制作各种报名单,也可以用作问卷调查,商品发布,登记汇总等,可以根据自己需求,来添加组件,比如姓名、手机号、性别、报名的时间、报名的图片等,因为微信报名表涉及的用途比较广泛,所以很多商家在做微信公众号报名表的时候,针对性不会太强,没有什么局限性,应用还是起来比较方便的
1036 12