springboot 微信小程序实现发现一次性订阅消息

发送订阅消息 | 微信开放文档

 选择你的模版

 选用自己想要的模版,点击选用之后会进入选择的不同的关键词,最多选择5个关键词。可以搜索自己的模版。

 如果没有可以自己申请:

 

需要先触发页面同意才能收到

前端简单测试代码:

 <view>
      <view class="intro">订阅功能Demo</view>
        <button type="info" bindtap="submit">发送订阅消息</button>
    </view>
submit(){
    wx.requestSubscribeMessage({
      tmplIds: ['你的模版id'],
      success (res) {
        //发送请求到后端,后端接收到请求后调用订阅消息接口进行推送

       }
    })
  },

maven:

        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>wx-java-miniapp-spring-boot-starter</artifactId>
            <version>4.5.7.B</version>//选择你自己想要版本
        </dependency>
添加微信配置类:
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import com.tgy.rtls.data.tool.Constant;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

/**
 * @BelongsProject: rtls
 * @BelongsPackage: com.tgy.rtls.web.config.pay.wxpay
 * @Author: wuwei
 * @CreateTime: 2023-12-01 15:54
 * @Description: TODO
 * @Version: 1.0
 */
@Configuration
public class WeChatMpConfig {

    @Bean
    public WxMaService wxMaService(){
        WxMaServiceImpl wxMaService = new WxMaServiceImpl();
        wxMaService.setWxMaConfig(wxMaConfig());
        return wxMaService;
    }

    @Bean
    public WxMaConfig wxMaConfig(){
        WxMaDefaultConfigImpl wxMaConfig = new WxMaDefaultConfigImpl();
        wxMaConfig.setAppid("");//你的appid
        wxMaConfig.setSecret("");//你的密钥
        return wxMaConfig;
    }
}

业务代码:

根据实际情况来,我这只是测试,所以参数是写死的。

import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;

import java.util.*;

@RestController
@RequestMapping("/wechat")
@CrossOrigin
@RequiredArgsConstructor
public class SendTemplateMsgController{
    private final WxMpService wxMpService;

    @RequestMapping("/send")
    @SneakyThrows(Exception.class)
    public void send()  {
        List<WxMaSubscribeMessage.MsgData> data=
                Arrays.asList(
                    new WxMaSubscribeMessage.MsgData("car_number1","鄂FU89x1"),
                    new WxMaSubscribeMessage.MsgData("thing2","VIP9"),
                    new WxMaSubscribeMessage.MsgData("time3","2023/02/03 15:15:15"),
                    new WxMaSubscribeMessage.MsgData("thing4","您是VIP9,每日不限时停车"),
                    new WxMaSubscribeMessage.MsgData("thing5","祝您购物愉快")
                );

        wxMaService.getSubscribeService().sendSubscribeMsg(
                WxMaSubscribeMessage.builder()
                .toUser("你的openid")
                .templateId(你的模版id)
                .miniprogramState("developer")
                .data(data)
                .build()
        );
    }
}

我这里启动报错:me.chanjar.weixin.common.bean.WxAccessTokenEntity 

我搜索这个WxAccessTokenEntity好像找不到这个,没有依赖引入。

加入下面依赖就可以解决:

        <dependency>
            <groupId>com.github.binarywang</groupId>
            <artifactId>weixin-java-common</artifactId>
            <version>4.5.7.B</version>
        </dependency>

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值