更新:仓库wechat-push中介绍一种无需服务器的部署方式,注册使用码云流水线自动发送消息。没有服务器不会编程的小伙伴,推荐大家使用这种方式。

本文来自 小红书大佬七夕节的礼物 原版大佬的代码,配置有些分散,我将其统一转移到了配置文件中,方便配置。打包部署遇到了些问题,这边修改了一下。也增加了docker启动,简化部署。

后面将介绍如何在不安装集成开发环境的情况下,只做一些网站注册,使用docker将程序运行起来。给心仪的人发送爱的消息。

​​​不需要安装Java、Maven、git等工具,我们也不用IDEA打开,IDEA爆红可以忽略,我们用文本文档编辑配置文件即可。
​​

API申请

我们需要申请一下开发API所需要的key。

百度天气APIhttps://lbsyun.baidu.com/apiconsole/center#/home
彩虹屁APIhttps://www.tianapi.com/apiview/181

以及最重要的微信测试账号https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

下载源码

大家将代码下载到本地。项目源码:wechat-push

这个文件路径 src/main/resources/application.properties找到配置文件,编辑修改,填入自己刚申请的key。这里大家可以用文本文档打开。

target.openId 填你们对象的微信id,访问http://localhost:9999/push即可推送至她的手机。定时推送也用的是这个。

target.test.openId 可以填自己的微信id,访问http://localhost:9999/push/test 这个地址,会给自己的微信推送,方便我们测试配置文件以及程序的正确性。

定时发送时间

如果想修改定时时间,可以访问这个定时任务文件路径 src/main/java/work/sajor/wechatpush/job/JobWorker.java

# 七点三十分触发,可以按照自己情况修改
@Scheduled(cron = "0 30 7 * * ?")

ps: 如果用idea打开可能会发现有代码爆红,这是因为mvn没有安装依赖,如果不在本地开发可以忽略,因为我们用docker启动。当然也可以点击idea上的这个按钮来解决依赖问题。

Docker 安装

这里我们使用docker来启动,方便快捷,还不易踩坑出错。我们可以到官网查看安装方法,我用centos做个介绍。其余大家可以照着文档来。

docker安装方法https://docs.docker.com/engine/install/

当然大家也可以访问这个第三方网站在自己电脑上安装docker环境。DaoCloud | Docker 极速下载http://get.daocloud.io 

文档第一步要求我们先卸载已有版本。我们贴进终端即可。

sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

然后设置仓库镜像地址

 sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo

最后使用yum安装docker即可

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

启用并测试一下

sudo systemctl start docker
sudo docker run hello-world

上传代码

教程已经到尾声了,如果大家是在服务器上安装的docker。还需要将下载的代码上传到服务器上。如果是在本地安装的docker,可以跳过这步,直接看启动。

可以通过scp/pscp上传代码。

scp 代码本地路径.zip  服务器用户名@服务器ip:上传到服务器路径

也可以使用xshell、finalshell、Winscp等工具上传。

云服务还能通过云厂商的网页端登陆,上传文件。

上传zip之后,解压命令是

unzip wechat-push.zip

启动

我们需要打开终端,执行命令,终端可以这么打开:

windows里可以打开cmd,也可以用Powershell。在项目目录中,按住shift键,点击鼠标右键可以直接在当前路径中打开Powershell。

MacOS/Linux里用Terminal。MacOS可以在文件夹上点击右键,选择 New Terminal at Folder

之后我们在终端wechat-push项目的目录下,然后运行以下命令。

# 构建镜像
docker build . -f Dockerfile --tag sajor:wechat-push# 查看构建好的镜像
docker images

# 启动镜像
docker run --name wechat-push -d -p9999:9999 sajor:wechat-push# 查看运行中容器
docker ps 

启动之后,访问本地 http://127.0.0.1:9999/push 就可以收到推送了。

为了方便排查错误,如果没有收到任何推送,可以使用查看日志的命令,窗口不要关,访问这个地址 http://127.0.0.1:9999/push 可以看到推送的日志。

docker logs -f -t [6c85ba71d50e 这里填自己的]

小红书 程序员七夕礼物 - 微信每日早安推送 简单部署一键启动相关推荐

  1. 小红书 程序员七夕礼物 - 微信每日早安推送,简单无坑的最新教程

    文章目录 项目介绍 Windows下的部署 1.API的申请 2.下载源码 2.Docker的部署 最后 项目介绍 这是一款开源的小程序推送,使用的技术栈仅限于springboot;同时使用微信测试的 ...

  2. 微信每日早安推送 Windows版

    应诸多网友要求,这次上一个windows版的. 使用方法就是双击打开,立即就会推送一次.需要定时执行,可以使用windows的 任务计划程序 实现.帮大家百度好了 windows如何定时运行程序htt ...

  3. 【微信每日早安推送】每日天气推送

    微信每日早安推送 效果和网络上其他代码都大差不差,不过当地习俗是按照阴历过生日的,所以距离下一个生日是和阴历生日对应的. 效果 代码里有计时任务,只需要让你的代码保持24小时运行,你的女神早上七点半便 ...

  4. 微信每日早安推送,自定义推送名称,企业号推送非订阅号测试号,python源码,无需第三方多个网站注册、无第三方接口,无基础快速上不了手

    手把手教你微信每日推送早安,目前为止效果最好版本. 先看效果吧 消息内容样式: 开始搞起来 基础搭建·企业微信 第一步:注册企业微信 然后获取企业ID:点击上面我的企业,在页面最下面有一个企业ID,也 ...

  5. 微信每日早安推送,快来给你女友做爱心提醒吧,自定义推送名称,企业号通知非订阅号测试号,后台python,精简无第三方网站注册、无第三方接口,无基础快速上不了手

    每日定时推送给女友,微信消息推送后,锁屏可提醒,聊天界面可顶置,可自定义聊天框名称,聊天头像可修改,内容可增加图片~每日推送python源码自取 手把手教你微信每日推送早安,目前为止效果最好版本. 企 ...

  6. 【微信每日早安推送】

    微信推送: 可以给对象推送天气以及每日sao话奥 微信公众平台 登录百度帐号 用户登录 - 天行数据TianAPI 查询

  7. 抖音爆火微信每日早安推送

    一.注册微信公众号 微信扫码登录下面网址 点击跳转 扫码登录成功后,就会给我们生成微信公号的appid和appsecret 如下图 二.设置消息模板 找到消息模板处点击[新增测试模板]按钮 新增完了如 ...

  8. 微信公众号每日早安推送,给女朋友的浪漫礼物

    做一个程序员给女朋友的浪漫礼物吧. 最终效果 GitHub地址: https://github.com/ynwynw/weixinPush-public 所用知识点 springboot实现java后 ...

  9. 微信每日定时推送消息新闻到群聊或朋友

    本项目使用python来完成每日在群聊中或者给朋友推送新闻.主要使用python的wxauto库来完成此功能. 想要完成以上任务,需要安装3.8.10版本的python和最新版本的PC端微信. 另外, ...

最新文章

  1. oracle ssl发送邮件,使用javax.mail发送带有ssl的电子邮件
  2. 用C++11 实现 thread pool
  3. 网络串流_串流NFL足球的最便宜方式(无需电缆)
  4. android scrollview焦点,scrollview里面的edittext,当它获得焦点时如何滚动到edittext
  5. 2021-09-18牛客SQL32,SQL33,SQL35,SQL36,SQL37,SQL38,SQL40
  6. sublime text3占用CPU过高
  7. R语言基于S3的面向对象编程
  8. 视觉SLAM十四讲 第9讲 卡尔曼滤波
  9. 信息系统项目管理师考试相关介绍
  10. Nginx反向代理处理跨域问题
  11. Static Asynchronous Component Misuse Detection for Android Applications
  12. SEGGER Embedded Studio 4.22 入门之:配合cubemx 快速建立ES工程
  13. 物联网云平台DTU Modbus协议 上位机 下位机 源码 源代码 程序
  14. 016-状态自尊|管理他人的切入点
  15. android网络音乐播放器
  16. log报错的原因解决
  17. mac重装系统之后删除容器中的其他卷宗内容
  18. 如何解决Beyond Compare中文乱码问题
  19. Python+正则表达式编写多线程百度贴吧网页爬虫
  20. java递归算法[32]

热门文章

  1. 图像局部特征学习(笔记1之SUSAN角点检测)
  2. day 46 html 标签补充
  3. Windows10 pc使用Apple Studio Display显示器设置
  4. go mod init出错
  5. docker学习进阶之Swarm(三)
  6. 求第N个素数的值,时间复杂度尽量低
  7. GaitGAN: Invariant Gait Feature Extraction Using Generative Adversarial Networks论文翻译以及理解
  8. OKR与MBO/KPI的区别
  9. Handler基本使用(二)new Message 、 Handler.obtainMessage和Message.obtain
  10. 判断素数的五种方法最全埃筛素数欧筛素数孪生素数