小工具知识网

当前位置: 首页 > 行业知识 > 微信小程序发送订阅消息

行业知识

微信小程序发送订阅消息

2026-11-12 11:11:52 来源:互联网转载

小程序后台。订阅消息里面,新建一个消息模板

小程序代码,登录后,弹出订阅信息

requestSubscribeMessage: function () {    wx.requestSubscribeMessage({      tmplIds: ['-323232-32323'], // 替换为你的模板ID      success(res) {        // 用户订阅结果        console.log(res);      },      fail(err) {        console.error('订阅消息失败', err);      }    });  },

JAVA后台发送消息提醒

                    com.github.binarywang            weixin-java-miniapp            4.5.0        
#微信小程序的appid 开发者工具拿到wx.miniapp.configs.appid=111#开发者工具拿到Secretwx.miniapp.configs.secret=1111#微信小程序消息服务器配置的tokenwx.miniapp.configs.token=123随便写#微信小程序消息服务器配置的EncodingAESKeywx.miniapp.configs.aesKey=123随便写wx.miniapp.configs.msgDataFormat=JSON
package com.java.core.web.config;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;@Data@ConfigurationProperties(prefix = "wx.miniapp.configs")public class WxProperties {    /**     * 设置微信小程序的appid     */    private String appid;    /**     * 设置微信小程序的Secret     */    private String secret;    /**     * 设置微信小程序消息服务器配置的token     */    private String token;    /**     * 设置微信小程序消息服务器配置的EncodingAESKey     */    private String aesKey;    /**     * 消息格式,XML或者JSON     */    private String msgDataFormat;}
package com.java.core.web.config;import cn.binarywang.wx.miniapp.api.WxMaService;import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;import lombok.extern.slf4j.Slf4j;import me.chanjar.weixin.common.error.WxRuntimeException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.context.properties.EnableConfigurationProperties;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Slf4j@Configuration@EnableConfigurationProperties(WxProperties.class)public class WxConfig {    @Autowired    private WxProperties properties;    @Bean    public WxMaService getService() {        if (properties == null || properties.getAppid() == null || properties.getSecret() == null) {            throw new WxRuntimeException("required wechat param not found");        }        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();        config.setAppid(properties.getAppid());        config.setSecret(properties.getSecret());        config.setToken(properties.getToken());        config.setAesKey(properties.getAesKey());        config.setMsgDataFormat(properties.getMsgDataFormat());        WxMaService service = new WxMaServiceImpl();        service.setWxMaConfig(config);        return service;    }}
package com.java.core.web.contrller.test;import cn.binarywang.wx.miniapp.api.WxMaService;import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;import com.java.core.com.annotation.Log;import com.java.core.com.enums.BusinessType;import com.java.core.com.vo.HttpResult;import com.java.core.web.contrller.common.BaseController;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import me.chanjar.weixin.common.error.WxErrorException;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;import java.util.HashMap;import java.util.Map;@Api(tags = {"微信小程序测试"})@RestController@RequestMapping("wxmini")public class WxMiniAppController extends BaseController {    @Autowired    private WxMaService wxService;    @ApiOperation(value = "发送小程序消息")    @Log(title = "发送小程序消息", businessType = BusinessType.GET)    @GetMapping(value = "/sendMsg")    public HttpResult sendMsg(String openId){        //String openId = "oWt586-xxxx";        String templteId = "-xxxx-HjpoRJVU";//模板Id        // 获取当前日期和时间        LocalDateTime currentDateTime = LocalDateTime.now();        // 定义日期时间格式化模式        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");        // 格式化日期和时间        String formattedDateTime = currentDateTime.format(formatter);        Map map = new HashMap();        map.put("character_string9", "111111111111");//单号        map.put("thing1", "您收到了测试任务提醒消息");//发送内容        map.put("thing14", "申请人");//申请人        map.put("time8", formattedDateTime);//单据时间        WxMaSubscribeMessage wxMaSubscribeMessage = WxMaSubscribeMessage.builder()                .toUser(openId)                .templateId(templteId)//模板ID                .page("pages/login/index")//打开后要跳转的页面                .build();        // 设置将推送的消息        map.forEach((k, v) -> {            wxMaSubscribeMessage.addData(new WxMaSubscribeMessage.MsgData(k, v));        });        try {            wxService.getMsgService().sendSubscribeMsg(wxMaSubscribeMessage);        } catch (WxErrorException e) {            e.printStackTrace();        }        return HttpResult.ok();    }}

上一篇:印度服务器怎么建设不了?

下一篇:腾讯服务器被打怎么修复?