前段时间程序员给对象写的微信公众号推送貌似很火,闲来无事用java实现了一下,有兴趣的小伙伴们可以浅尝一下!
先贴代码地址
https://github.com/gmingchen/wechat-daily-push
注册微信测试帐号
微信推送首先就要有一个可以使用的推送帐号,先到微信的公众平台注册一个测试帐号。
注册
记住图片中的 appID
和 appsecret
,后续需要在代码的配置文件中修改这个数据。
添加帐号
往下滚动页面会看到 测试号二维码 这一个面板,需要使用接收推送消息的微信扫描左侧的二维码进行微信帐号添加。
添加消息模版
往下滚动页面会看到 模板消息接口 这一个面板,需要新增一个消息模版进行消息的推送。
记住图片中的 模板ID
,后续需要在代码的配置文件中修改这个数据。
使用到的模版已经贴在下方,直接复制创建即可。
距离你生日:{{birthday.DATA}}天
你的城市:{{address.DATA}}
今日天气:{{todayWeather.DATA}} {{todayLow.DATA}}~{{todayHigh.DATA}}
{{todayNotice.DATA}}
明日天气:{{tomorrowWeather.DATA}} {{tomorrowLow.DATA}}~{{tomorrowHigh.DATA}}
{{tomorrowNotice.DATA}}
你的星座:{{constellation.DATA}}
你的幸运色:{{constellationColor.DATA}}
速配星座:{{constellationFriend.DATA}}
今日运势:{{constellationSummary.DATA}}
注册聚合帐号
推送的星座信息是调用的第三方的接口,每天有免费调用次数,需要先注册一个聚合帐号并实名认证。
添加星座运势API
注册成功之后进入到个人中心,个人中心左侧菜单栏中有个 数据中心
我的API
,进入到 我的API
申请新数据。
搜索 星座
可以出来 58_星座运势
,点击申请。
再回到 我的API
页面可以看到 星座运势
已经被添加进来。
记住图片中的 请求Key
,后续需要在代码的配置文件中修改这个数据。
如果没有实名认证是没有这个值的,需要先进行实名认证。
天气
项目中使用到的天气也是调用的第三方的接口,是免费的。
但是这个接口需要用到区域码,如果不知道自己的区域码的,可以点开下面这个传送门查找自己城市的区域码。

记住所在城市的 cityCode
区域码,后续需要在代码的配置文件中修改这个数据。
运行项目
先从Github上下载该项目
# 克隆项目
git clone https://github.com/gmingchen/wechat-daily-push.git
使用IDEA开发工具打开项目并修改配置
若是没有java 和 maven 环境需要自行百度安装
打开 src/main/resources/application.yml
具体配置填写内容如下一一对应
config:
app-id: # 填写之前记住的测试帐号的 appID
app-secret: # 填写之前记住的测试帐号的 appsecret
template-id: # 填写之前新增模版的ID
wechat-number: # 填写之前扫码绑定微信的微信号
birthday: # 当然填写女朋友的生日啦 如:1995-08-05
city-code: # 填写所在地区的区域码
constellation-key: # 聚合网站API的 请求Key
其他
项目运行之后会在每天早上8点进行消息推送。
如果要修改时间,打开 src/main/java/com/slipper/daily/modules/pusher/pusher 文件,
修改如下图中的表达式即可。
提供几个常用 cron
表达式
# 每天6点
0 0 6 * * ?
# 每天7点
0 0 7 * * ?
# 每天8点半
0 30 8 * * ?
# 每天12点半
0 30 12 * * ?
如果有服务器亦可以打包到服务器后台运行(前提是服务器有java运行环境)。
打包
# 打包之前建议先清理项目缓存
mvn clean
# 打包
mvn package
发布
将打包好的 jar 包(wechat-daily-push/target/daily-0.0.1-SNAPSHOT.jar)放到服务器中并运行。
# 查看运行进程
ps aux | grep daily-0.0.1-SNAPSHOT.jar
# 杀掉运行进程
kill -9 pid
# 运行 jar 包
nohup java -Xms10m -Xmx50m -jar daily-0.0.1-SNAPSHOT.jar &
🦀🦀感谢看官看到这里,如果觉得文章不错的话🙌,点个关注不迷路⭐。
诚邀您加入我的微信技术交流群🎉,群里都是志同道合的开发者👨💻,大家能一起交流分享摸鱼🐟。期待与您在群里相见🚀,咱们携手在开发路上共同进步✨ !
👉点我
感谢各位大侠一路相伴,实在感激! 不瞒您说,在下还有几个开源项目 📦,它们就像精心培育的幼苗 🌱,急需您的浇灌。要是您瞧着还不错,麻烦动动手指,给它们点亮几颗 Star ⭐,您的支持就是它们成长的最大动力,在此谢过各位大侠啦!
Nova UI
组件库:https://github.com/gmingchen/nova-ui- 基于 Vue3 + Element-plus 管理后台基础功能框架
- 预览:https://admin.gumingchen.icu
- 基于 Vue3 + Element-plus + websocket 即时聊天系统
- 基于 node 开发的后端服务:https://github.com/gmingchen/node-server