发布于2022-08-07 20:27 阅读(1384) 评论(0) 点赞(13) 收藏(1)
七夕到啦,做一个程序员给女朋友的浪漫礼物吧。
整个源码已经开放,GitHub地址:
ydzhao-reyes/weixin-tuisong (github.com)
一个摸鱼的下午,简单介绍一下怎么做的吧,纯后端java,写的比较随意,仅仅达到了功能要求。
至于springboot怎么创建java后台,我这里就不再唠叨了,大家百度一下,一大堆的文章。这里只需要重点讲解下以下几点。
- <!--微信模版消息推送三方sdk-->
- <dependency>
- <groupId>com.github.binarywang</groupId>
- <artifactId>weixin-java-mp</artifactId>
- <version>3.3.0</version>
- </dependency>
2.核心推送代码如下
-
- import com.alibaba.fastjson.JSONObject;
- import me.chanjar.weixin.mp.api.WxMpInMemoryConfigStorage;
- import me.chanjar.weixin.mp.api.WxMpService;
- import me.chanjar.weixin.mp.api.impl.WxMpServiceImpl;
- import me.chanjar.weixin.mp.bean.template.WxMpTemplateData;
- import me.chanjar.weixin.mp.bean.template.WxMpTemplateMessage;
-
- /**
- *@ClassName Pusher
- *@Description TODO
- *@Author ydzhao
- *@Date 2022/8/2
- */
- 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();
- }
- }
- }
正常我们企业开发,实现微信模版消息推送,必须要有微信公众号,备案的网址,并且最麻烦的一点是要获取到用户的openid,作为个人,这些条件基本上都不具备。所以今天就来带大家注册微信开发测试账号,来轻松实现微信模版消息推送。
1.微信扫码登录下面网址 https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 扫码登录成功后,就会给我们生成微信公号的appid和appsecret
2.微信扫码关注 测试号二维码,微信给我们返回我们的openid,这个openid在推送时特别重要。因为你推送肯定要知道推送给 谁啊,就比如你打电话,肯定要知道用户的电话号码吧。这个openid就是我们要推送给那个用户的唯一标示。
3.生成自己的模板
参数需以{{开头,以.DATA}}结尾 ,ex:{{caihongpi.DATA}},代码里面替换就可以了
templateMessage.addData(new WxMpTemplateData("caihongpi",CaiHongPi.getCaiHongPi(),"#FF69B4"));
4.拿到模板id,用户微信号id,就可以推送消息了
注册百度开发者,申请开放百度天气的api。具体如何接入网上教程很多,可以自行百度
彩虹屁的api:天行数据TianAPI - 开发者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 30 7 * * ?")
- public void goodMorning(){
- Pusher.push(openId,templateId);
- }
原文链接:https://blog.csdn.net/m0_38130105/article/details/126160873
作者:咿呀咿呀哟
链接:http://www.javaheidong.com/blog/article/472568/4eb3cf2cf363318103d0/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!