微信小程序订阅消息推送(附带后台java代码)
官方文档: 小程序前端: 小程序服务端:
一,代码实现(后端)
①定义实体类
package com.saic.fin.system.sendInfo;
import lombok.Data;
import java.util.Map;
@Data
public class WxMsgVo {
private String touser;//用户openId
private String template_id;//模版id
private Map<String , TemplateData> data;//推送文字
private String page="pages/index/index";//跳转路径 ,默认跳转到小程序首页
}
package com.saic.fin.system.sendInfo;
public class TemplateData {
private String value;
public TemplateData(String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
②定义HttpUtil类(Get请求)
package com.saic.fin.system.util;
import com.alibaba.fastjson.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class HttpUtil {
public static final String APPID = "";//小程序APPID(小程序ID)
public static final String APPSECRET = "";//小程序APPSECRET(小程序秘钥)
public static JSONObject doGetJson(String URL) throws IOException {
JSONObject jsonObject = null;
HttpURLConnection conn = null;
InputStream is = null;
BufferedReader br = null;
StringBuilder result = new StringBuilder();
try {
//创建远程url连接对象
URL url = new URL(URL);
//通过远程url连接对象打开一个连接,强转成HTTPURLConnection类
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
//设置连接超时时间和读取超时时间
conn.setConnectTimeout(15000);
conn.setReadTimeout(60000);
conn.setRequestProperty("Accept", "application/json");
//发送请求
conn.connect();
//通过conn取得输入流,并使用Reader读取
if (200 == conn.getResponseCode()) {
is = conn.getInputStream();
br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
String line;
while ((line = br.readLine()) != null) {
result.append(line);
System.out.println(line);
}
} else {
System.out.println("ResponseCode is an error code:" + conn.getResponseCode());
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
}
if (is != null) {
is.close();
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
conn.disconnect();
}
jsonObject = JSONObject.parseObject(result.toString());
return jsonObject;
}
}
③验证token过期时间
④小程序发送消息
AuthUtil工具类
上一篇:
uniapp开发微信小程序-2.页面制作
