您好,欢迎来到花生壳b2b外贸网信息发布平台!
18951535724
  • 消息推送----微信小程序,公众号

       2026-02-28 网络整理佚名2000
    核心提示:文章浏览阅读1.3w次,点赞2次,收藏15次。微信公众号,和微信小程序是微信的两款单独的产品,各自拥有一套openid,用来发送消息一

    ##微信公众号,和微信小程序是微信的两款单独的产品,各自拥有一套openid,用来发送消息

    一.微信小程序发推送消息只有在以下情况:

    1.微信支付回调;

    消息推送服务

    2.提交form表单的时候;

    微信小程序获取openid步骤(官网api文档都有):

    	官网api文档地址:https://developers.weixin.qq.com/miniprogram/dev/api/
    	1.调用接口wx.login() 获取临时登录凭证(code)会返回
    	2.请求 https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
    	参数说明:appid 小程序唯一标识    secret 小程序的 app secret
    			js_code	登录时获取的 code  grant_type	填写为 authorization_code
    

    消息推送服务

    微信公众号获取openid步骤(官网api文档都有):

    	官网api文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1445241432
    	1.先获取公众号的accessToken(appid,secret填写微信公众号的,跟小程序不一样,切记)
    	  https请求方式: GET
    		https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
    	2.获取用户的openid
    	  微信公众号提供获取用户列表接口(即获取所有关注该微信公众号的用户信息)
    	  请求地址https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=NEXT_OPENID
    	  如果想获取整个用户列表的openid,next_openid=即可,即https://api.weixin.qq.com/cgi-bin/user/get?access_token=ACCESS_TOKEN&next_openid=
    	3.获取用户基本信息  
    	  接口调用请求说明
    		http请求方式: GET
    		https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
    

    消息推送服务

    ok,小程序的openid,公众号的openid都到手了(小满足),BUT, 要想打通小程序,公众号,光有各自的openid并没有什么用,因为两套产品,各自都只维护自己的openid,so,腾讯搞出了一套unionid机制,即腾讯旗下所有产品相对于用户来说,都存在一个唯一标识就是unionid,如何获取unionid?注册一个开发者账号,绑定公众号,小程序,即指定小程序,公众号在同一开发者下,这样在获取公众号openid,小程序openid都会返回unionid(真的是一样的,开心),这样数据库存储公众号,小程序的openid,unionid,通过反查出公众号的openid,就可以在公众号发模板消息了…(小程序触发事件,向公众号推送模板消息)

    走一波,封装参数:

    http请求方式: POST 
    https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
    	POST数据
    	{
           "touser":"OPENID",
           "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
           "url":"http://weixin.qq.com/download",  
           "miniprogram":{
             "appid":"xiaochengxuappid12345",
             "pagepath":"index?foo=bar"
           },          
           "data":{
                   "first": {
                       "value":"恭喜你购买成功!",
                       "color":"#173177"
                   },
                   "keyword1":{
                       "value":"巧克力",
                       "color":"#173177"
                   },
                   "keyword2": {
                       "value":"39.8元",
                       "color":"#173177"
                   },
                   "keyword3": {
                       "value":"2014年9月22日",
                       "color":"#173177"
                   },
                   "remark":{
                       "value":"欢迎再次购买!",
                       "color":"#173177"
                   }
           }
       }
       这里的access_token是微信公众号的
       注意事项:
    			  pagepath   不能用 / 开头 (小程序的跳转页面链接)
    			  appid 使用小程序的appid  
    

    消息推送服务

    java 对象封装(个人不建议使用map封装,建议采用对象封装)

    	    import lombok.Getter;		
    		import lombok.Setter;
    		import java.util.Map;
    		@Getter
    		@Setter
    		public class WechatTemplate {
    		    private String touser;
    		    private String template_id;
    		    private String url;
    		    private Map data;
    		    private MiniprogramData miniprogram;
    		}
    		@Getter
    		@Setter
    		public class TemplateData {
    	    private String value;
    	    private String color;
    		}
    		@Setter
    		@Getter
    		public class MiniprogramData {
    		    private String appid;
    		    private String pagepath;
    		}
    

     
    举报收藏 0打赏 0评论 0
    更多>相关评论
    暂时没有评论,来说点什么吧
    更多>同类百科知识
    推荐图文
    推荐百科知识