公众号推送早安问候以及天气预报(JAVA)
① 概述
功能点
每天早上可以给指定的微信用户推送消息,经过公众号
可以使用第三方接口丰富推送的消息内容
- 百度天气api:添加天气信息推送
- 天行数据api:添加美句、彩虹屁等语句推送
- 通过后台计算纪念日推送
- …
效果图
技术栈点
- spring boot实现后台
- 微信测试账号的申请
- 微信模版推送的配置
- 对接百度天气api
- 对接彩虹屁api
- 对接优美句子api
源码开放
Gitee
GitHub
② 注册微信测试账号,编辑推送模板
使用微信扫码登录此网站https://mp.weixin.qq.com/debug/cgi-bin/sandbox” />
用户扫码关注得到用户的id
编辑消息模板
此步骤的模板id、用户微信号id、以及自己的appID、appsecret是后续推送所需要用到的
③ 使用spring boot 做后台开发,并且与第三方对接
使用第三方接口——控制台 | 百度地图开放平台 (baidu.com)
在百度地图开放平台注册账号,并且到控制台中的应用创建一个应用(其中应用AK是推送需要使用到的)
设置ip白名单为0.0.0.0/0
使用第三方接口——天行数据TianAPI – 开发者API数据平台
进去注册账号选择需要的句子接口使用就行
每个接口都有实例代码,直接使用就行
此案例使用了彩虹屁以及英语一句话两种
spring boot后台开发
创建spring boot项目,+ weather.getWeek(),“#00BFFF”)); templateMessage.addData(new WxMpTemplateData(“tianqi”,weather.getText_now(),“#00FFFF”)); templateMessage.addData(new WxMpTemplateData(“low”,weather.getLow() + “”,“#173177”)); templateMessage.addData(new WxMpTemplateData(“temp”,weather.getTemp() + “”,“#EE212D”)); templateMessage.addData(new WxMpTemplateData(“high”,weather.getHigh()+ “”,“#FF6347” )); templateMessage.addData(new WxMpTemplateData(“windclass”,weather.getWind_class()+ “”,“#42B857” )); templateMessage.addData(new WxMpTemplateData(“winddir”,weather.getWind_dir()+ “”,“#B95EA3” )); templateMessage.addData(new WxMpTemplateData(“caihongpi”,CaiHongPiUtils.getCaiHongPi(),“#FF69B4”)); templateMessage.addData(new WxMpTemplateData(“lianai”,JiNianRiUtils.getLianAi()+“”,“#FF1493”)); templateMessage.addData(new WxMpTemplateData(“shengri1”,JiNianRiUtils.getBirthday_Jo()+“”,“#FFA500”)); templateMessage.addData(new WxMpTemplateData(“shengri2”,JiNianRiUtils.getBirthday_Hui()+“”,“#FFA500”)); templateMessage.addData(new WxMpTemplateData(“en”,map.get(“en”) +“”,“#C71585”)); templateMessage.addData(new WxMpTemplateData(“zh”,map.get(“zh”) +“”,“#C71585”)); String beizhu = “❤”; if(JiNianRiUtils.getLianAi() % 365 == 0){ beizhu = “今天是恋爱” + (JiNianRiUtils.getLianAi() / 365) + “周年纪念日!”; } if(JiNianRiUtils.getBirthday_Jo() == 0){ beizhu = “今天是生日,生日快乐呀!”; } if(JiNianRiUtils.getBirthday_Hui() == 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(); } }}
编写定时任务
@SpringBootApplication@EnableScheduling // 开启定时任务public class WechatpushApplication { public static void main(String[] args) { SpringApplication.run(WechatpushApplication.class, args); }// 定时 @Scheduled(cron = "0 30 7 * * ?") public void goodMorning(){ Pusher.push(); }}
④ 部署
把项目打包成jar包
把jar包上传到服务器并且运行起来
# 运行命令nohup java -jar test.jar >temp.txt &
完成~