本文来自 小红书大佬七夕节的礼物 原版大佬的代码,配置有些分散,我将其统一转移到了配置文件中,方便配置。打包部署遇到了些问题,这边修改了一下。也增加了docker启动,简化部署。
后面将介绍如何在不安装集成开发环境的情况下,只做一些网站注册,使用docker将程序运行起来。给心仪的人发送爱的消息。
不需要安装Java、Maven、git等工具,我们也不用IDEA打开,IDEA爆红可以忽略,我们用文本文档编辑配置文件即可。
我们需要申请一下开发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来启动,方便快捷,还不易踩坑出错。我们可以到官网查看安装方法,我用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-utils
sudo 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 这里填自己的]