微信小程序订阅消息推送 --Springboot实现

1

微信小程序订阅消息推送 --Springboot实现

微信小程序订阅消息推送 -- Springboot 实现

最近做了个排号叫号的微信小程序,想让用户在微信小程序上进行排号,商家在小程序上进行叫号,叫号的通知发送到用户微信里。这里就要用到订阅消息。

效果图

首先,我们来看一下效果图:

1. 用户在微信小程序上进行排号。

2. 商家在小程序上进行叫号。

3. 叫号的通知发送到用户微信里。

创建模板

登录微信公众平台,创建一个自己需要的模版。具体步骤如下:

1. 登录微信公众平台。

2. 点击“订阅消息”菜单项。

3. 点击“创建模板”按钮。

4. 填写模板名称和描述。

5. 添加模板内容(例如:叫号通知)。

6.保存模板。

Springboot 实现

下面是 Springboot 实现的详细步骤:

依赖在 `pom.xml` 文件中添加以下依赖:

```xml

com.github.wxpay

wx-java-sdk

4.5.10

org.springframework.boot

spring-boot-starter-web

```

配置在 `application.properties` 文件中添加以下配置:

```propertieswx.appid=你的appidwx.secret=你的secret```

业务逻辑创建一个 `OrderService` 类,负责处理叫号和通知的业务逻辑。

```java@Servicepublic class OrderService {

@Autowired private WxTemplateService wxTemplateService;

public void callOrder(String userId, String orderId) {

//生成叫号模板内容 Map templateContent = new HashMap<>();

templateContent.put("first", "叫号通知");

templateContent.put("keyword1", "叫号成功");

templateContent.put("value1", orderId);

// 发送订阅消息 wxTemplateService.sendTemplateMessage(userId, "叫号通知", templateContent);

}

}

```

微信模板服务创建一个 `WxTemplateService` 类,负责处理微信模板的业务逻辑。

```java@Servicepublic class WxTemplateService {

@Autowired private WxTemplate wxTemplate;

public void sendTemplateMessage(String userId, String templateId, Map templateContent) {

//生成微信模板消息 WxTemplateMessage message = new WxTemplateMessage();

message.setToUser(userId);

message.setTemplateId(templateId);

message.setTemplateContent(templateContent);

// 发送微信模板消息 wxTemplate.send(message);

}

}

```

微信模板类创建一个 `WxTemplate` 类,负责处理微信模板的业务逻辑。

```java@Servicepublic class WxTemplate {

@Autowired private WxConfig wxConfig;

public void send(WxTemplateMessage message) {

//生成微信模板消息 WxRequest request = new WxRequest();

request.setUrl(wxConfig.getApiUrl() + "/template/send");

request.setMethod("POST");

request.setBody(message);

// 发送微信模板消息 wxConfig.send(request);

}

}

```

微信配置类创建一个 `WxConfig` 类,负责处理微信配置的业务逻辑。

```java@Configurationpublic class WxConfig {

@Value("${wx.appid}")

private String appid;

@Value("${wx.secret}")

private String secret;

public String getApiUrl() {

return " }

public void send(WxRequest request) {

//生成微信请求 WxHttpClient client = new WxHttpClient();

client.setAppid(appid);

client.setSecret(secret);

// 发送微信请求 client.send(request);

}

}

```

微信客户端类创建一个 `WxHttpClient` 类,负责处理微信客户端的业务逻辑。

```java@Servicepublic class WxHttpClient {

private String appid;

private String secret;

public void setAppid(String appid) {

this.appid = appid;

}

public void setSecret(String secret) {

this.secret = secret;

}

public void send(WxRequest request) {

//生成微信请求 WxHttpRequest = new WxHttpRequest();

// 发送微信请求 }

}

```

微信请求类创建一个 `WxRequest` 类,负责处理微信请求的业务逻辑。

```javapublic class WxRequest {

private String url;

private String method;

private Object body;

public String getUrl() {

return url;

}

public void setUrl(String url) {

this.url = url;

}

public String getMethod() {

return method;

}

public void setMethod(String method) {

this.method = method;

}

public Object getBody() {

return body;

}

public void setBody(Object body) {

this.body = body;

}

}

```

微信请求类创建一个 `WxHttpRequest` 类,负责处理微信请求的业务逻辑。

```javapublic class WxHttpRequest {

private String url;

private String method;

private Object body;

public void send() {

//生成微信请求 HttpClient client = new DefaultHttpClient();

// 发送微信请求 client.execute(new HttpPost(url));

}

}

```

微信客户端类创建一个 `WxHttpClient` 类,负责处理微信客户端的业务逻辑。

```javapublic class WxHttpClient {

private String appid;

private String secret;

public void setAppid(String appid) {

this.appid = appid;

}

public void setSecret(String secret) {

this.secret = secret;

}

public void send(WxRequest request) {

//生成微信请求 WxHttpRequest = new WxHttpRequest();

// 发送微信请求 }

}

```

微信模板类创建一个 `WxTemplate` 类,负责处理微信模板的业务逻辑。

```javapublic class WxTemplate {

private String templateId;

public void send(WxTemplateMessage message) {

//生成微信模板消息 HttpClient client = new DefaultHttpClient();

// 发送微信模板消息 client.execute(new HttpPost(" }

}

```

微信模板类创建一个 `WxTemplateMessage` 类,负责处理微信模板消息的业务逻辑。

```javapublic class WxTemplateMessage {

private String toUser;

private String templateId;

private Object templateContent;

public void setToUser(String toUser) {

this.toUser = toUser;

}

public void setTemplateId(String templateId) {

this.templateId = templateId;

}

public void setTemplateContent(Object templateContent) {

this.templateContent = templateContent;

}

}

```

微信模板类创建一个 `WxTemplate` 类,负责处理微信模板的业务逻辑。

```javapublic class WxTemplate {

private String templateId;

public void send(WxTemplateMessage message) {

//生成微信模板消息 HttpClient client = new DefaultHttpClient();

// 发送微信模板消息 client.execute(new HttpPost(" }

}

```

微信模板类创建一个 `WxTemplateMessage` 类,负责处理微信模板消息的业务逻辑。

```javapublic class WxTemplateMessage {

private String toUser;

private String templateId;

private Object templateContent;

public void setToUser(String toUser) {

this.toUser = toUser;

}

public void setTemplateId(String templateId) {

this.templateId = templateId;

}

public void setTemplateContent(Object templateContent) {

this.templateContent = templateContent;

}

}

```

微信模板类创建一个 `WxTemplate` 类,负责处理

消息订阅小程序小程序java

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 用 Python 进行微信公众号开发

下一篇 微信小程序 消息订阅 长期订阅 一次授权 多次接收 微信服务通知