微信每日早安推送「建议收藏」

微信每日早安推送「建议收藏」七夕到啦,做一个程序员给女朋友的浪漫礼物吧。微信公众号推送。每日早安推送

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

七夕到啦,做一个程序员给女朋友的浪漫礼物吧。

整个源码已经开放,GitHub地址:

ydzhao-reyes/weixin-tuisong (github.com)

微信每日早安推送「建议收藏」

一个摸鱼的下午,简单介绍一下怎么做的吧,纯后端java,写的比较随意,仅仅达到了功能要求。

所用知识点

  • 1. springboot实现java后台
  • 2.微信测试账号的申请
  • 3.微信模版推送的配置
  • 4.接入百度天气api
  • 5.彩虹屁api或者自己写个情话库
  • 6.每日金句api或者自己写个金句库

一、springboot创建java后台

至于springboot怎么创建java后台,我这里就不再唠叨了,大家百度一下,一大堆的文章。这里只需要重点讲解下以下几点。

  • 1.在pom.xml文件里引入下面类库

        

        <!--微信模版消息推送三方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,就可以推送消息了

三、丰富功能

1.接入百度天气api

控制台 | 百度地图开放平台 (baidu.com)

注册百度开发者,申请开放百度天气的api。具体如何接入网上教程很多,可以自行百度

2.接入彩虹屁的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);
    }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187736.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • JAVA——Tess4J简单的图像识别DEMO

    JAVA——Tess4J简单的图像识别DEMO基本概念TesseractOpenSourceOCREngine:包含一个OCR引擎-libtesseract和一个命令行程序-tesseract。Tesseract4添加了一个新的基于LSTM的OCR引擎,该引擎专注于行识别,但仍支持Tesseract3的传统TesseractOCR引擎,该引擎通过识别字符模式进行工作。通过使用传统OCR引擎模式(–oem0),可以与Tesseract3兼容。它还需要训练有素的数据文件来支持旧式引擎,例如tessdata存储库中的文件。…

  • 模型融合stacking实战

    模型融合stacking的原理具体不再解释,有的博客已经解释很清楚了,还是附一张经典图吧,直接上完整程序(根据后面的数据集下载地址可以下载数据集,然后直接运行程序):#Loadinourlibrariesimportpandasaspdimportnumpyasnpimportreimportxgboostasxgbimportwarningswa…

  • matlab 时频分析(短时傅里叶变换、STFT)「建议收藏」

    matlab 时频分析(短时傅里叶变换、STFT)「建议收藏」短时傅里叶变换,short-timefouriertransformation,有时也叫加窗傅里叶变换,时间窗口使得信号只在某一小区间内有效,这就避免了传统的傅里叶变换在时频局部表达能力上的不足,

  • 扫盲 arping命令

    扫盲 arping命令扫盲arping命令

  • Tomcat安装及配置教程(超详细的图文教程)「建议收藏」

    Tomcat安装及配置教程(超详细的图文教程)「建议收藏」Tomcat安装及配置教程(超详细的图文教程)1.什么是TomcatTomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上T…

  • 全球Telematics产业成长渐趋理性

    全球Telematics产业成长渐趋理性

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号