微信公众号每日早安推送,给女朋友的浪漫礼物
做一个程序员给女朋友的浪漫礼物吧。
最终效果
GitHub地址:
所用知识点
- springboot实现java后台
- 接入百度天气api
- 彩虹屁api或者自己写个情话库
- 每日金句api或者自己写个金句库
一、springboot创建java后台
Idea创建一个Springboot的maven工程
1.核心推送代码如下
public class Pusher { private static String appId = "xxxx"; private static String secret = "xxx"; public static void push(String openId,String templateId){ //1,配置 WxMpInMemoryConfigStorage wxStorage = new WxMpInMemoryConfigStorage(); wxStorage.setAppId(appId); wxStorage.setSecret(secret); WxMpService wxMpService = new WxMpServiceImpl(); wxMpService.setWxMpConfigStorage(wxStorage); //2,推送消息 WxMpTemplateMessage templateMessage = WxMpTemplateMessage.builder() .toUser(openId) .templateId(templateId) .build(); //3,如果是正式版发送模版消息,这里需要配置你的信息 JSONObject todayWeather = Tianqi.getNanjiTianqi(); templateMessage.addData(new WxMpTemplateData("riqi",todayWeather.getString("date") + " "+ todayWeather.getString("week"),"#00BFFF")); templateMessage.addData(new WxMpTemplateData("tianqi",todayWeather.getString("text_day"),"#00FFFF")); templateMessage.addData(new WxMpTemplateData("low",todayWeather.getString("low") + "","#173177")); templateMessage.addData(new WxMpTemplateData("high",todayWeather.getString("high")+ "","#FF6347" )); templateMessage.addData(new WxMpTemplateData("caihongpi",CaiHongPi.getCaiHongPi(),"#FF69B4")); templateMessage.addData(new WxMpTemplateData("lianai",JiNianRi.getLianAi()+"","#FF1493")); templateMessage.addData(new WxMpTemplateData("shengri",JiNianRi.getShengRi()+"","#FFA500")); templateMessage.addData(new WxMpTemplateData("jinju",CaiHongPi.getJinJu()+"","#C71585")); //templateMessage.addData(new WxMpTemplateData("jiehun",JiNianRi.getJieHun()+"")); templateMessage.addData(new WxMpTemplateData("linzhen",JiNianRi.getLinZhen()+"","#FF6347")); String beizhu = "情人节快乐!"; if(JiNianRi.getJieHun() % 365 == 0){ beizhu = "今天是结婚纪念日!"; } if(JiNianRi.getLianAi() % 365 == 0){ beizhu = "今天是恋爱纪念日!"; } if(JiNianRi.getLinZhen() % 365 == 0){ beizhu = "今天是结婚纪念日!"; } templateMessage.addData(new WxMpTemplateData("beizhu",beizhu,"#FF0000")); try { System.out.println(templateMessage.toJson()); System.out.println(wxMpService.getTemplateMsgService().sendTemplateMsg(templateMessage)); } catch (Exception e) { System.out.println("推送失败:" + e.getMessage()); e.printStackTrace(); } } }
3.生成自己的模板
参数需以{ {开头,以.DATA}}结尾 ,ex:{ {caihongpi.DATA}},代码里面替换就可以了
templateMessage.addData(new WxMpTemplateData("caihongpi",CaiHongPi.getCaiHongPi(),"#FF69B4"));
三、丰富功能
1.接入百度天气api
注册百度开发者,申请开放百度天气的api。具体如何接入网上教程很多,可以自行百度
2.接入彩虹屁的api或者自己开发一个彩虹屁库
网上有一些调用彩虹屁库的api,或者自己写一堆情话放在文件里,读取到内存里,用当前的天数取模就可以了。每日金句同理
3.纪念日计算
这里写了个粗略的计算方法,计算多少天。
public static int jiNianRi(String date) { int day = 0; try { long time = System.currentTimeMillis() - simpleDateFormat.parse(date).getTime(); day = (int) (time / 86400000L); } catch (ParseException e) { e.printStackTrace(); } return day; }
4.定时任务
写个定时任务每天早上7点半起床的时候推送
@Scheduled(cron = "0 0 7 * * ?") public void goodMorning(){ Pusher.push(openId,templateId); }
4.定时任务*
写个定时任务每天早上7点半起床的时候推送
@Scheduled(cron = "0 0 7 * * ?") public void goodMorning(){ Pusher.push(openId,templateId); }
上一篇:
uniapp开发微信小程序-2.页面制作