微信公众号(一)每日推送详细教程(含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送)

微信公众号(一)每日推送,天气推送 (含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送),另有小白网页版配置

  • 版本介绍
  • 1. 相关API接口申请
    • 1.1 微信
    • 1.2 百度
    • 1.3 天行API
  • 2 模板配置
  • 3 配置与部署
    • 3.1 本地版
    • 3.2 服务器版
  • 4 个性化
  • 5 新增
    • 5.1 给Special的下午模板
    • 5.2 给Special的晚安模板

(含实时定位,天气预报,每日英语,纪念日等,可快速自定义消息模板并指定订阅者类型发送),另有小白网页版配置)

小白配置版本已出,点击查看微信公众号每日定时推送,天气推送(小白网页版配置)

效果图如下
在这里插入图片描述
以下内容有不懂的地方欢迎留言询问~(也可以直接看GitHub上的README.md文档加我咨询)

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
在这里插入图片描述
点击登录按钮微信扫码进入,这里需要记录下页面上以下几个数据。等会添加到项目中的常量类中。
在这里插入图片描述
把上面几个信息填入WxConstants常量类相应位置。
在这里插入图片描述
然后让你想发送模板信息的人关注你的公众号。
在这里插入图片描述

用微信扫描左侧二维码关注。

项目里把所有关注者分为两类,一类是Special,一类是Other,比如说自己和对象是Special里面的,那么你可以指定模板只发送给Special。其他的你的朋友们,你想要他们关注你,但是不想把自己和对象使用的私密模板的内容每天发送给他们,不把他们加入Special列表即可。
经过配置以后,你可以自定义模板发送给三类人群

  • 第一种是发送给Special(比如发送带有纪念日内容的模板给你和你的对象)
  • 第二种是发送给Other(Other就是除了Special以外的其他关注者,比如发送带有天气预报的模板给其他人)
  • 第三种是发送给所有人(比如发送其他一些你和对象和朋友都可以)

那么怎么配置呢,很简单,在项目的配置文件application.yml中定义好了special的配置。
在这里插入图片描述
只需要把接收Special模板的特殊订阅者(比如你和你的对象)的openId定义在这就可以了。

1.2 百度

打开百度地图开发平台 https://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5
在这里插入图片描述
登录以后点击右上方控制台
在这里插入图片描述
依次点击我的应用,创建应用
在这里插入图片描述
输入一个应用名称,应用类型选择服务端
在这里插入图片描述
然后往下拉,请求校验方式选择IP白名单校验,然后IP白名单设置为0.0.0.0/0,表示允许所有IP进行API的请求,然后提交,返回控制台首页。
在这里插入图片描述

这里就会显示刚创建好的应用了,把鼠标移动到访问应用(AK)的地方,会弹出来可以复制的图标,复制这个AK,填入项目的常量配置类WxConstants中相应位置。
在这里插入图片描述

1.3 天行API

打开天行API官网https://www.tianapi.com/
注册登录后每天会赠送免费的请求次数。
在这里插入图片描述
搜索框搜索每日英语并进入
在这里插入图片描述
进入每日英语
在这里插入图片描述
然后点击进行申请。
申请完成后,我们点击右上角的控制台进入
在这里插入图片描述
然后点击左侧我的密钥KEY,然后复制粘贴APIKEY到项目里的常量类WxConstants的相应位置。
在这里插入图片描述
至此当前项目所需要的调用相关的KEY申请完成。

2 模板配置

在上面已经讲解了模板可以给三类人发送,这里就讲解分别给Special和Other分别发送模板。
首先项目里有一个WxTemplateType的枚举类
在这里插入图片描述
四个参数的含义分别如上面所示,枚举类中已经定义好了两个模板,第一个是给Special的关注者发送的模板,第二个是Other关注者发送的模板(除了定义好的Special以外的订阅者都叫Other)
其中第一个参数templateId使用了一个常量类WxTemplateConstants去维护
在这里插入图片描述

这里面的模板id就是等会我们在微信测试公众平台上创建的模板对应的模板id。
进入微信测试公众平台,往下拉,找到模板消息接口配置的地方。
这里我已经定义好了两个模板,分别给Special和Other来发送的
在这里插入图片描述
20230505更新

由于微信公共平台策略更改,现在模板不支持尾部/备注内容、自定义颜色、表情符号。

详细公告见:关于规范公众号模板消息的再次公告

以下是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中,可以根据实际情况进行修改。
在这里插入图片描述

以上说法简单点做就是:
把模板样式复制以后去微信平台新增模板
在这里插入图片描述
在这里插入图片描述
创建好模板后,把模板ID复制粘贴到WxTemplateConstants类的相应位置即可。

3 配置与部署

项目中使用到了sqlite数据库对信息进行保存,只需要在application.yml中配置好地址即可。
根据自己项目中wx.db的实际位置情况,复制粘贴全路径来覆盖下方红框位置即可。
在这里插入图片描述
接下来我们需要对接口信息进行配置,来使用微信提供的实时定位功能(后面实时天气会用到)。
下面会分为本地版(没有自己的服务器)和服务器版进行说明。

3.1 本地版

没有服务器的,可以使用内网穿透工具,将本机服务启动端口映射到一个公网域名上。
这里推荐一种内网穿透工具Cpolar,点击链接下载对应版本并安装即可。
在这里插入图片描述
下载完以后,我们可以打开本地的Cpolar的端口http://localhost:9200/随便注册以下进入下面界面。
在这里插入图片描述
点击左侧创建隧道,然后选择号以后点击创建,然后就建立了一个公网域名到你本地启动项目端口的一个映射。
在这里插入图片描述
然后点击左侧在线隧道列表就可以看到映射的公网地址,http和https协议任选其一复制粘贴。
然后启动我们的SpringBoot项目。
打开微信公众平台,找到接口配置信息的URL那里,将刚复制好的公网ip地址填到下面的地方。下面的Token字段也是在WxConstants常量类中定义好的,用来校验的。可以自定义(这一步默认不用管也可以,下面的Token直接配置成asleepyfish)。
在这里插入图片描述
然后将刚才的公网地址粘贴到下方图片红框位置,输入项目中定义好的对应的Token,点击提交。
在这里插入图片描述
在这里插入图片描述
然后会在上方弹出一个配置成功的绿色的框。
接下来,在微信公众平台页面向下拉,找到获取用户地理位置的API,然后需要打开。这个意思是申请访问订阅者的地理位置,以便于实时根据订阅者地理位置推送天气。
在这里插入图片描述
这里需要让订阅者打开位置信息服务,微信打开关注好的接口测试号,进入设置,
在这里插入图片描述
然后将聊天中使用地理位置按钮点开即可。
在这里插入图片描述

注意:这里第一次设置完成后,退出关注的公众号的聊天对话框界面,然后再次进入,来记录当前的位置。(只有第一次打开位置信息需要这样,以后每次收到信息之后,会自动更新一次实时位置)

3.2 服务器版

首先将项目打包到服务器上,然后使用FTP工具传送到服务器上。
在这里插入图片描述
我这里将项目放在了software下。
config文件夹下是application.yml和db文件夹,db文件夹下是wx.db数据库。
在这里插入图片描述
相对于在windows上部署而言只需要修改wx.db的位置即可。我这里是把wx.db放到了/software/config/db/wx.db的位置。
在这里插入图片描述
然后使用启动脚本启动项目即可。直接输入:

nohup java -jar wx-pusher.jar >log.out 2>&1 &

启动以后参考3.1,对接口配置信息进行配置。
不同的点在于配置公网IP地址的地方可以配置自己服务器的地址,使用IP+端口的方式(有域名的使用域名+端口也可),如下图
在这里插入图片描述
接下来开启定位的方法参考3.1即可

4 个性化

上面的步骤完成后能够使用的定时任务在TimedTaskController类中,有两个
在这里插入图片描述
分别是早上五点给Special信息的人发送Special模板和早上六点给Other信息的人发送Other信息的模板。具体可以根据自己的实际需要对cron表达式进行修改来实现哪个时间发送模板。
如果想创建其他个性化的模板的话,只需要在微信公众平台上创建好一个新的模板,记录下模板ID,然后,在WxTemplateConstants类中新建一个变量保存新的模板ID。
在这里插入图片描述
然后在WxTemplateType枚举类中定义新的模板的信息,以及需要推送给订阅者的类型。
在这里插入图片描述
然后新建模板推送策略来实现WxTemplateStrategy,具体新建策略怎么编写,可以参考CommonMorningStrategySpecialMorningStrategy类。需要注意的是,新建的模板策略的Service中需要对应好这个策略对应的是WxTemplateConstants中的哪一个模板,如下所示。
在这里插入图片描述
然后在TimedTaskController类中仿照已经定义好的任务,新建定时任务对新模板进行推送。
具体新增的结果就如第5章新增所示。

5 新增

5.1 给Special的下午模板

在这里插入图片描述

5.2 给Special的晚安模板

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22725.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《花雕学AI》用AI创造清晨的美好:ChatGPT+DALL-E 2 生成“早上好”的场景图

早晨是一天中最美好的时刻,也是最适合与AI对话的时刻。想象一下,当你醒来,打开手机,就能看到一个AI为你生成的“早上好”的场景图,是不是很温馨?这就是ChatGPTDALL-E 2(新Bing) 的魅…

我踩过的那些坑,浅谈一下如何更优雅地使用 Linux

前言 相信很多尝鲜过桌面 Linux 系统的朋友,对它一个很深刻的印象就是稳定性差:不知道怎么就把系统搞崩了,又找不到问题的具体原因和解决方法,只能尝试重装,直到心力交瘁地回到了 Windows 或 macOS。但另一方面&#…

李开复筹组 AI 2.0 全新平台,“零一万物”重磅上线!

「如同 Windows 带动了 PC 普及,Android 催生了移动互联网的生态,AI 2.0 将诞生比移动互联网大十倍的平台机会,将把既有的软件、使用界面和应用重写一次,也将诞生新一批 AI-first 的应用,并催生由 AI 主导的商业模式」…

AIGC领域最大收购:Databricks 13亿美元收购MosaicML,成立仅2年员工60人

Databricks CEO表示:“该交易旨在将企业数据与服务连接起来,帮助它们构建自己更便宜的语言模型。” 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 大数据巨头 Databricks 宣布以 13 亿美元收购人工智能初创公司 MosaicML。…

2022年智源社区年度热点推荐丨新春集锦

本文为2022年最受智源社区小伙伴喜爱的文章,根据文章质量和热门程度等维度计算得出。还有AI大佬的全年总结盘点总结,也一并推荐给你。虎年除旧,兔年迎新,藉此机会、智源编辑组全员谨祝大家新春快乐! 2022 智源社区20篇…

估值超 80 亿独角兽爆雷!靠“吹牛”骗取 10 亿融资,2000 万月活中 95% 是“机器人”...

整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) “一家初创型企业,想要获得 10 亿融资,需要具备什么?” 对于这个问题,曾放话对标 Facebook 的即时通讯应用 IRL(IN REAL LIFE)来…

AIGC大记事【2023-0625】【第五期】:《时代》专访ChatGPT之父:人工智能影响经济还需要很多年

大咖观点: 《时代》专访ChatGPT之父:人工智能影响经济还需要很多年孙正义:我每天和ChatGPT聊天,一场巨大革命即将到来,软银“终将统治世界!”刘慈欣谈 ChatGPT:人类的无能反而是人类最后的屏障A…

GPT4结对编程实战,鹅厂一线研发真实使用感受

ChatGPT4相比ChatGPT3.5在逻辑推理能力上有很大的进步,其代码生成能力颇为优越。因此作者尝试在工作中某些不涉密的基础工作上,应用ChatGPT4来提升研发效率,简单尝试之后发现其在不少场景是有效的。本文将向大家展示如何充分利用 ChatGPT-4 结…

借助ChatGPT提高编程效率指南

一、借助ChatGPT提高编程效率指南 随着计算机技术的飞速发展,编程已经成为了现代社会中一个非常重要的技能。对于许多人来说,编程不仅是一项工作技能,而且是一种生活方式。然而,即使是最有经验的程序员,也会在编写代码…

20230521 AI 一周大事件汇总

🚀 ChatGPT 上线联网和插件功能 OpenAI宣布将在这周推出联网和插件功能,位于Alpha和Beta通道的ChatGPT Plus用户都可使用70多个上线的插件。 更新意味着ChatGPT将利用最新的信息和资讯为使用者提供服务。 上线的ChatGPT插件种类涵盖了行程安排助理、代…

【LLM系列】00:斯坦福 Alpaca 模型介绍及其复现

简介 西风吹老洞庭波,一夜湘君白发多。醉后不知天在水,满船清梦压星河。小伙伴好,我是微信公众号《小窗幽记机器学习》的小编:卖核弹的小女孩。更多、更新文章欢迎关注微信公众号:小窗幽记机器学习。后续会持续输出模…

批量提取某音视频文案(二)

牙叔教程 简单易懂 之前写过一篇 批量提取某音视频文案 , 在之前的教程中, 我用的是微软的语音转文字功能, 今天我们换个方法, 使用 逗哥配音 的 文案提取 功能 准备工作 下载视频和音频 我在github找到的是这个仓库 https://github.com/Johnserf-Seed/TikTokDownload 注意一…

关于职场中的面试,要是遇到这些问题时,应该怎么回

(点击即可收听) 关于职场中的面试,要是遇到这些问题时,应该怎么回 平常多学一点,面试入职时就少踩一点坑,无论是去面试还是换工作,怎么样去回答面试官,遇到此类的问题,能够应付自如 1. 你觉得这份工作你能胜任? 首先,无论你在面试过程当中表现怎么样,一定要非常坚定,一定可以 …

ChatGPT偷家:Stack Overflow正被程序员抛弃,访问量一个月骤降3200W

金磊 Pine 发自 凹非寺量子位 | 公众号 QbitAI Stack Overflow,正在被程序员们抛弃。 你没听错。 这个全球知名的开发者问答网站,仅在一个月时间内,访问量骤降3200万! 甚至现在的搜索量仅是它巅峰时期的三分之一…… 为何会突然如…

ChatGPT与讯飞星火大模型:AI语言模型的巅峰之作

尊敬的家人朋友们,大家好! 今年,我们不得不提的一个热门话题就是ChatGPT,这是一款基于语言模型的人机对话系统。它在工作和生活中给我们带来了极大的便利。作为一名从事IT行业的人,我深切体会到了它在技术和文本处理方…

ChatGPT的前世今生,简单明了

...... 版权声明 转自水木人工智能学堂,版权属于原作者,仅用于学术分享 文章精选: 图灵是如何设计出图灵机的,背后的故事和对我们的启发是什么,估计99%的人不知ChatGPT之后,教育向何处去?图灵奖…

快看ChatGPT的前世今生

文 / 高扬(微信公众号:量子论) 从ChatGPT正式发布,这五个月以来,大家已经体会到了它的强大。 感谢大家的认可,我也做了多场一对一指导,通过一个小时的纯干货手把手指导和实践,大家已…

Spring WebFlux 响应式请求ChatGPT

效果 什么是Spring WebFlux? Spring WebFlux是一种用于构建响应式Web应用程序的模块。它是Spring 5及更高版本引入的新特性,旨在支持响应式编程范式。 响应式编程是一种编程范式,强调通过异步数据流来构建应用程序。与传统的基于线程的同步…

WPS Office AI实战:Word写作如有“神”助

打开电脑,基本上你就会与文档打交道,是时候升级处理文档的方式了,WPS AI 的出现,给了文档处理提供了新的范式。 生成文档,根据提示词生成新内容文档分析,快速了解文档核心要点,节省阅读时间根据…

目前gpt 网页资源

AI 智能搜索 chatgpthttps://chat.openai.com/chat/39272709-4a20-4fd7-84dc-bd43dcf7bda1?__cf_chl_tkD8.pZ9U_phG_yR6.mxb2iEqcegvIzGgTcKQDiiZpMNk-1679747266-0-gaNycGzNGns官方newbinghttps://edgeservices.bing.com/edgediscover/query?clientscopeswindowheader%2Ccoa…