微信公众号(一)每日推送详细教程(含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送) |
您所在的位置:网站首页 › 绥化日报公众号关注 › 微信公众号(一)每日推送详细教程(含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送) |
微信公众号(一)每日推送,天气推送 (含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送),另有小白网页版配置
版本介绍1. 相关API接口申请1.1 微信1.2 百度1.3 天行API
2 模板配置3 配置与部署3.1 本地版3.2 服务器版
4 个性化5 新增5.1 给Special的下午模板5.2 给Special的晚安模板
(含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送),另有小白网页版配置)
小白配置版本已出,点击查看微信公众号每日定时推送,天气推送(小白网页版配置) 效果图如下 Git项目地址: https://github.com/asleepyfish/wx-pusher(基础版本请直接下载v1.0.0) v1.0.0源码下载地址: https://github.com/asleepyfish/wx-pusher/archive/refs/tags/1.0.0.zip 最近加我咨询的人有点多,很多人都没有相关Java开发的基础,所以做一下说明: 这篇博客适用于对Java和Spring有相关的了解的读者或者对搭建一个自己独立控制的应用有兴趣的读者阅读。 后续有时间我会出一个网页自动编辑定时任务发送的小白版本(小白版本已出) 版本介绍v1.0.0 基本功能支持,包括: 1.消息推送 2.实时定位 3.天气预报 v1.1.0 支持ChatGPT对话机器人 1. 相关API接口申请 1.1 微信首先打开微信公众平台申请测试账号。 网页链接:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 用微信扫描左侧二维码关注。 项目里把所有关注者分为两类,一类是Special,一类是Other,比如说自己和对象是Special里面的,那么你可以指定模板只发送给Special。其他的你的朋友们,你想要他们关注你,但是不想把自己和对象使用的私密模板的内容每天发送给他们,不把他们加入Special列表即可。 经过配置以后,你可以自定义模板发送给三类人群 第一种是发送给Special(比如发送带有纪念日内容的模板给你和你的对象)第二种是发送给Other(Other就是除了Special以外的其他关注者,比如发送带有天气预报的模板给其他人)第三种是发送给所有人(比如发送其他一些你和对象和朋友都可以)那么怎么配置呢,很简单,在项目的配置文件application.yml中定义好了special的配置。 打开百度地图开发平台 https://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5 这里就会显示刚创建好的应用了,把鼠标移动到访问应用(AK)的地方,会弹出来可以复制的图标,复制这个AK,填入项目的常量配置类WxConstants中相应位置。 打开天行API官网https://www.tianapi.com/ 注册登录后每天会赠送免费的请求次数。 在上面已经讲解了模板可以给三类人发送,这里就讲解分别给Special和Other分别发送模板。 首先项目里有一个WxTemplateType的枚举类 这里面的模板id就是等会我们在微信测试公众平台上创建的模板对应的模板id。 进入微信测试公众平台,往下拉,找到模板消息接口配置的地方。 这里我已经定义好了两个模板,分别给Special和Other来发送的 由于微信公共平台策略更改,现在模板不支持尾部/备注内容、自定义颜色、表情符号。 详细公告见:关于规范公众号模板消息的再次公告 以下是20230505更新的最新模板 给Special的模板样式如下 当前位置:{{location.DATA}} 实时天气:{{now_temp.DATA}}°C {{now_weather.DATA}} 气象:{{now_wind_dir.DATA}}{{now_wind_class.DATA}} | 湿度{{now_rh.DATA}}% 今天:{{today_weather.DATA}} {{today_high.DATA}}/{{today_low.DATA}}°C 明天:{{tomorrow_weather.DATA}} {{tomorrow_high.DATA}}/{{tomorrow_low.DATA}}°C 恋爱已经:{{love_days.DATA}}天 ❤ 下次见面还有:{{next_meet_days.DATA}}天 ❤ 英:{{daily_english_en1.DATA}}{{daily_english_en2.DATA}} 中:{{daily_english_cn1.DATA}}{{daily_english_cn2.DATA}}给Other的模板样式如下 当前位置:{{location.DATA}} 实时天气:{{now_temp.DATA}}°C {{now_weather.DATA}} 气象:{{now_wind_dir.DATA}}{{now_wind_class.DATA}} | 湿度{{now_rh.DATA}}% 今天:{{today_weather.DATA}} {{today_high.DATA}}/{{today_low.DATA}}°C 明天:{{tomorrow_weather.DATA}} {{tomorrow_high.DATA}}/{{tomorrow_low.DATA}}°C 英:{{daily_english_en1.DATA}}{{daily_english_en2.DATA}} 中:{{daily_english_cn1.DATA}}{{daily_english_cn2.DATA}}创建好后,我们复制粘贴模板id替换掉WxTemplateConstants里的模板ID即可。 上述模板中给Special发送的时候有一个纪念日的日期,定义在WxConstants中,可以根据实际情况进行修改。 以上说法简单点做就是: 把模板样式复制以后去微信平台新增模板 项目中使用到了sqlite数据库对信息进行保存,只需要在application.yml中配置好地址即可。 根据自己项目中wx.db的实际位置情况,复制粘贴全路径来覆盖下方红框位置即可。 没有服务器的,可以使用内网穿透工具,将本机服务启动端口映射到一个公网域名上。 这里推荐一种内网穿透工具Cpolar,点击链接下载对应版本并安装即可。 注意:这里第一次设置完成后,退出关注的公众号的聊天对话框界面,然后再次进入,来记录当前的位置。(只有第一次打开位置信息需要这样,以后每次收到信息之后,会自动更新一次实时位置) 3.2 服务器版首先将项目打包到服务器上,然后使用FTP工具传送到服务器上。 启动以后参考3.1,对接口配置信息进行配置。 不同的点在于配置公网IP地址的地方可以配置自己服务器的地址,使用IP+端口的方式(有域名的使用域名+端口也可),如下图 上面的步骤完成后能够使用的定时任务在TimedTaskController类中,有两个 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |