乐趣区

关于后端:如何实现每天定时给女友老婆发消息

有的时候博客内容会有变动,首发博客是最新的,其余博客地址可能会未同步, 认准https://blog.zysicyj.top

首发博客地址


开源地址:https://github.com/zysicyj/Vitality-reminder

元气揭示

利用微信订阅号的形式,给女朋友每天定时定时推送音讯。

如果还没有女朋友的这个能够祝你一臂之力,早日脱单。

成果展现

[
](https://camo.githubusercontent.com/f99627e70c0925f77ce8cb868c…)

  • 每日定时发送元气揭示,(发送的工夫可配置)
  • 非凡工夫也会发送非凡揭示,目前已有:发薪日、在一起纪念日、生日。之后会陆续减少
  • 有变成能力的能够本人改变代码,实现更多的揭示

应用步骤

  • 将仓库克隆至本地
  • npm installcnpm install 装置依赖配置文件
  • 批改 config.js 的订阅号配置文件
  • 批改 fnc.js 集体重要信息节点配置文件
  • 创立订阅号测试号,配置群发音讯模板
  • 代码文件上传至集体服务器,先绑定一个订阅号,获取 accect_token
  • 设置指定发送的人员,指定发送的工夫
  • 服务器挂上 app.js 脚本,配置全副实现!
    • *

批改配置 config.js

[
](https://camo.githubusercontent.com/e7870126dbdbcc670d896c124d…)

  • appid 和 AppSecret 都是申请微信公众号申请胜利就能够获取的,然而这个群发的接口如果是以集体的名义申请的公众号是不能获取到这个接口权限的,这时候能够用一个测试开发公众号,下面有简直所有的接口权限。微信公众平台接口测试帐号申请 网址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login。
  • 第三方天气接口我是在聚合数据平台申请的,是收费的接口,这里替换成各自的聚合数据接口的天气接口 key 即可聚合数据 地址:https://www.juhe.cn/docs?bd_vid=7775114093417537769
  • 这里就有了这些根本的 id,间接复制即可。

批改 fnc.js

  • 批改 base 对象的 birthday、love、pay 字段替换为集体的即可

创立微信公众号测试号,配置群发音讯模板

微信公众平台接口测试帐号申请 网址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login。

[
](https://camo.githubusercontent.com/70542e4d8cdd0c1e10042f4eaa…)

  • 元气揭示

    {{dateTime.DATA}} 
    明天是 咱们相恋的第 {{love.DATA}} 天 
    间隔上交工资还有 {{pay.DATA}} 天 
    间隔你的生日还有 {{birthday.DATA}} 天 
    今日天气 {{weather.DATA}} 
    今日温度 {{temp.DATA}}度 
    空气湿度 {{humidity.DATA}} 
    风向 {{wind.DATA}} 
    每日一句 
    {{message.DATA}} 
  • 工资模板

    {{dateTime.DATA}} 
    敬爱的,明天要发工资了,咱们账户上又多了一笔!留神查收~!
  • 生日模板

    {{dateTime.DATA}} 
    据说明天是你人生当中第 {{individual.DATA}} 个生日?天呐,我差点遗记!因为你永远 18 岁~。只管,日历通知我:你又涨了一岁,但你还是那个天真可恶的小仙女,生日快乐! 
  • 纪念日模板

    {{dateTime.DATA}} 
    明天是在一起 {{anniversary.DATA}} 周年纪念日。经验了风风雨雨, 最终仍然走在一起, 很侥幸, 很幸福! 咱们的大家庭要始终幸福上来。

这里的模板 id 就是别离对应的 config.js 的那四个模板 id

获取公众号的 accect_token 的权限

accect_token 是获取咱们拜访公众号接口的一个必填字段,须要先获取。获取这个须要有 url,所以须要筹备一台集体的云服务器

  • 将整个我的项目放到云服务器上
  • 进入这个我的项目的目录
  • 查看 config.js 文件中的 token 字段的值是不是和公众号接口配置中的值是一样的,须要时统一的。
  • 用 node 运行一下 connect.js 脚本
  • 提交一下接口配置信息的认证。期待页面提醒胜利
  • 勾销 node 的 connect.js 脚本

此处我省略了一些内容,connect.js 监听的是 8080, 然而接口配置只能是 80 端口或者 443 端口,所以基于这个须要做个接口的转发,利用宝塔面板能够很容易的实现接口的反向代理。

设置指定发送的人员

进入 api.js, 批改两个 template 对象的 touser 字段

[
](https://camo.githubusercontent.com/247facdfa86f8bed4736a0a054…)

  • 这里没有写进配置文件是思考到可能有要发给不同的人的需要?

进入 app.js, 批改 CromJob 构造函数的第一个参数来设置每日发送工夫。

[
](https://camo.githubusercontent.com/d56e6481123ee5c39be058806e…)

利用 pm2 运行 app.js 脚本

  • 先装置一下 pm2
  • 进入我的项目目录
  • 运行pm2 start app.js

测试

以上步骤如果都实现的了,能够手动在浏览器输出 url:8080/baseurl:8080/base/important, 或者调整 app.js 的监听工夫改成行将到的工夫来测试

总结

本我的项目实质是写好一个能够拜访公众号群发音讯模板的接口,而后利用 CronJob 实现每日定时发送模板信息。

目前模板的内容无限,模板的内容会一直新增,有能力的小伙伴如果有趣味也能够本人批改代码实现更多的性能。

更新日志

  • 新增自定义情话(2022.10.05)

    再 config.js 中可自定义配置 love_message 每日情话,每日随机从中取出一条发送

本文由 mdnice 多平台公布

退出移动版