栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Springboot】整合wxjava实现 微信小程序:模板消息

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Springboot】整合wxjava实现 微信小程序:模板消息

文章目录
  • 一、模板消息是什么?
  • 二、整合步骤:
    • 1.微信小程序后台配置模板消息
    • 2. 发送模板消息
      • 后端逻辑代码
        • controller
        • service
        • impl
      • 前端逻辑代码
    • 测试:


提示:以下是本篇文章正文内容,下面案例可供参考

一、模板消息是什么?

模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。

二、整合步骤: 1.微信小程序后台配置模板消息

订阅消息:

根据实际业务选择你需要的模板,还可以搜索哦。

比如我选择这个商品过期提醒:
点进去

选择模板上的信息,然后提交。
查看自己的模板

2. 发送模板消息

wxjava的配置

后端逻辑代码 controller
import com.example.wxjava.common.result.R;
import com.example.wxjava.domain.vo.wx.WxKefuMessageBackVo;
import com.example.wxjava.domain.vo.wx.WxKefuMessageVo;
import com.example.wxjava.service.MessageService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@Slf4j
@RestController
@RequestMapping("/wx/msg")
@AllArgsConstructor
public class WxMessageController {

    private final MessageService messageService;


    @PostMapping("/sendMessage")
    public R sendMsg() {
        return messageService.sendMessage();
    }
}
service
import com.example.wxjava.common.result.R;
import com.example.wxjava.domain.vo.wx.WxKefuMessageBackVo;
import com.example.wxjava.domain.vo.wx.WxKefuMessageVo;


public interface MessageService {
    
    R sendMessage();
}
impl
import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.bean.WxMaKefuMessage;
import cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.example.wxjava.common.result.R;
import com.example.wxjava.domain.vo.wx.WxKefuMessageBackVo;
import com.example.wxjava.domain.vo.wx.WxKefuMessageVo;
import com.example.wxjava.service.MessageService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Arrays;
import java.util.List;


@Slf4j
@Service
@RequiredArgsConstructor(onConstructor_ = @Autowired)
public class MessageServiceImpl implements MessageService {

    private final WxMaService wxMaService;
    @Override
    public R sendMessage() {
        String userId = StpUtil.getLoginIdAsString();
        // 测试
        List msgData = Arrays.asList(
                new WxMaSubscribeMessage.MsgData("thing1", "嘿嘿"),
                new WxMaSubscribeMessage.MsgData("date3", new DateTime(DateUtil.now(), DatePattern.NORM_DATETIME_FORMAT).toString())
        );
        try {
            WxMaSubscribeMessage message = WxMaSubscribeMessage.builder()
             		 // 要给谁发送
                    .toUser(userId)
                     // 模板id
                    .templateId("7oklMCAUD0zNAoTWikBOPSwVH2-XKC2-BJVqsUYGxgg")
                     // 数据
                    .data(msgData)
                    .build();
            wxMaService.getMsgService().sendSubscribeMsg(message);
            return R.ok("发送成功");
        } catch (WxErrorException e) {
            log.error(e.toString());
            return R.error(e.getError().getErrorMsg());
        }
    }

前端逻辑代码







测试:

在微信开发者工具

可以看到消息发送了

结束

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032359.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号