这个项目原项目是py的,后在小红书网友想要node版本的,所以做了一个。原项目
关于想部署的人请先进里面看看,尤其是第一点和第二点如果看完还想继续部署,而又不会部署的,可以在底部联系我
- 定时消息推送/手动消息推动
- 人工智障ai聊天
- 更换第三方天气接口(高德天气,无需担心次数上限的白嫖问题)
- 通过接口设置城市,方便修改城市重新获取天气(设置城市会直接清除天气缓存,目前天气缓存为10分钟)
- redis
解决第三方接口频繁请求次数的问题,像第三方天气接口时有次数限制的, 而且一天请求一次就好,window用户可以用phpstudy方便安装;linux可以用宝塔安装;mac的话百度, phpstudy也有mac版本的,但是我没用过,我mac的redis是自己手动安装的
- 网云穿
(花生壳现在无法免费拿http/https域名)
为了内网穿透做域名校验,注册就送一个免费的域名,够玩. 当然内网穿透工具并不只有这个,也可以用其他的.这里用网云穿内网穿透到本地的服务端口,理论上只要你电脑不关机,网云穿不挂,那么这个服务可以一直就这么使用,可以节约成本
- 启动项目
// 信息配置在config/config.default.js
// 公众号配置
config.wx = {
appId: 'wx6a908ab36533ea40', // 公众号appid
appSecret: '76d09eb43886a44cf2bb993c99206934', // 公众号密钥
token: 'junetext', // 公众号接口配置token
template_id: 'Z9NaV8KlzSR8-AA7Mb22PjqI1dwq0xggxeMUEjDbhGg', // 推送的模板id
user: 'wx6a908ab36533ea40' // 公众号appid
}
config.userData = {
mineBirth: '1994-03-24', // 自己的生日
gfBirth: '1994-12-26', // 女朋友的生日
loveDay: '2007-08-11', // 在一起的日期
city: '广州' // 获取天气使用
}
// 第三方
config.apiConfig = {
tianxing: {
appKey: 'bcaddf1605dd53c3115c5a709082ac6f '
}
}
# 先确定你启动了redis和安装了node
# 把项目拉或者下载到本地,然后在项目目录启动终端
npm install
npm run start
# 当环境配置好 可以直接双击starServer.bat启动服务 双击stopServer.bat停止服务
# 如果要使用sendTemplate.bat发送模板选哟修改里面的 请求地址为你自己的地址 curl 你的地址/sendNotify -X POST
- 公众号配置
注意: 只有启动了服务端才可以配置这里, 另外域名换成你自己的域名,即https://www.xxxx.com/onWx
大家自己去申请个公众号吧,但是个人的是没办法做推送的. 可以申请测试的, 你和你对象都关注就可以了. 目前的推送是每天八点自动推送给关注的人.也有接口可以调接口推送
目前的推送是每天八点自动推送给关注的人.也有接口可以调接口推送
这里的模板id对应的是config.wx的template_id
模板的话复制下面代码,换行的话回车换行,不然推送的消息就不会换行的
{{date.DATA}}
城市:{{city.DATA}}
天气:{{weather.DATA}}
气温:{{temperature.DATA}}
空气湿度:{{humidity.DATA}}
今天是我们恋爱的第{{love_day.DATA}}天
距离小宝生日还有{{gfBirthDays.DATA}}天
距离我的生日还有{{mineBirthDays.DATA}}天
寄言: {{lizhi.DATA}}
{{caihongpi.DATA}}
app/schedule/sendTemplate.js
目前是通过eggjs的定时任务实现的, 在linux, window以及mac下都可以正常运行。目前配置是每天8点推送,cron表达式请看。下面是利用window配置批处理文件执行发送(打不开图片的可以把下面下载下去,在gitPic目录看t0-t10的图片)
- 因为不需要用node的定时任务,所以我们先注释
- 找到window的控制面板在控制面板中找到管理工具
- 创建基本任务
- 创建基本任务02
- 配置任务向导
- 配置任务向导02
- 启动程序
- 配置bat目录
- 创建任务完成
- 在属性配置执行权限
- 高德天气点这里
- 天行数据api点这里(如果你两个都手动设置,那么可以不用申请天行)
- 励志古言(如果设置了config.words那么可以不申请这个)
- 彩虹屁(如果设置了config.words那么可以不申请这个)
- 调用接口推送(/sendNotify)
- 自动推送(每天早上八点)
- 通过公众号发送'发送模板'这个关键字
部署起来也挺简单的, 不会的话可以加我微信 June_QIU_0324或者提issue
有服务器和域名的我也可以帮忙部署