# notice-open **Repository Path**: marcomc/notice-open ## Basic Information - **Project Name**: notice-open - **Description**: 微信公众号、企业微信消息推送 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2022-09-30 - **Last Updated**: 2022-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目介绍 > 简介 封装了部分微信公众号、企业微信推送API,内含和风天气、天行数据第三方API部分服务封装。 使用Sa-Token保证安全性 主要用来哄女友,但不仅限于此,因为封装了api,可以二次开发 注意:默认使用企业微信!!!! > 功能 * 每日消息推送 * 天气预警推送 > 效果预览 * 每日消息推送 image-20220829221921855 * 天气预警推送 image-20220829222019178 # 架构 > 技术 SpringBoot + Redis + Sa-Token > 目录说明 ![image-20220829214210039](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829214210039.png) # 使用教程 ## 代码下载 小白不会git就直接下载压缩包 ![image-20220829220231840](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829220231840.png) ## 配置 ### 说明 配置文件在resources/application-dev.yml ### 基本配置 > 基本数据 ```yml config: love: # 生日 yyyy-MM-dd 例如2001-01-18 girlBirthday: 女生生日 boyBirthday: 男生生日 # 恋爱纪念日 格式同上 day: 纪念日 auth: username: 用户名 password: 密码 default: # 默认推送方式,默认企业微信 work 企业微信 mp 微信公众号 push: work ``` 默认使用企业微信进行推送!!!! 用户名密码自己随便写,用来获取token。不要太简单! > Redis 天气预警需要用此来缓存数据,判断是否已经获取过。如果不需要天气预警,不需要配置Redis。 代码在`DailyScheduled`,默认注释掉了 ```yml redis: host: localhost,IP默认本地 database: 0 port: 6379 password: 密码,没有就不填 # 连接超时时间(记得添加单位) timeout: 10000ms lettuce: pool: max-active: 8 #最大连接数据库连接数(设0或负值没有限制)默认8 max-wait: -1ms #最大建立连接等待时间(使用负值表示没有限制)。如果超过此时间将接到异常,默认-1 max-idle: 8 #连接池中的最大空闲连接(设 0 为没有限制) 默认8 min-idle: 0 #连接池中的最小空闲连接(设 0 为没有限制) 默认0 shutdown-timeout: 100ms ``` 需要配置host、password ### 微信公众号(测试账号) > 注意 这里使用的测试账号,因为个人无法使用公众号进行推送 > 申请 申请地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login > 配置 ![image-20220829下午21443266](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829下午21443266.png) 模板,可以自己改(只要别动参数名称) ``` 📅 {{date.DATA}} 城市: {{city.DATA}} 天气: {{weather.DATA}} 最低气温: {{tempMin.DATA}} 最高气温: {{tempMax.DATA}} 穿衣指数: {{dress.DATA}} 防晒指数: {{sunscreen.DATA}} 今天是我们恋爱的第 {{loveDay.DATA}} ❤️ {{girlBirthday.DATA}} {{boyBirthday.DATA}} 🌈: {{rainbowFart.DATA}} ``` ### 企业微信 推荐 > 说明 个人推荐使用企业微信进行推送 主要是在微信界面中查看比较方便 > 申请 [企业微信 (qq.com)](https://work.weixin.qq.com/) 注册申请即可 > 配置 ![image-20220829下午22055725](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829下午22055725.png) ### 天行数据 > 申请 [天行数据TianAPI - 开发者API数据平台](https://www.tianapi.com/) 注册完成后 ![image-20220829下午62131873](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829下午62131873.png) ![image-20220829下午62158585](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829下午62158585.png) > 配置 ![image-20220829下午22423310](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829下午22423310.png) ### 和风天气 > 申请 [和风天气开发平台 ~ 高效强大的天气API,天气SDK和天气插件 (qweather.com)](https://dev.qweather.com/) 注册->应用管理->创建应用 选择免费版,Web API,然后填入key的名称即可 > 配置 ![image-20220829下午22745065](https://pluto-blog.oss-cn-beijing.aliyuncs.com/images/kcaco/open/image-20220829下午22745065.png) locationId查看地址:[LocationList/China-City-List-latest.csv at master · qwd/LocationList · GitHub](https://github.com/qwd/LocationList/blob/master/China-City-List-latest.csv) 注意:直接ctrl + f 搜索城市名即可 或者 手动获取,接口文档:https://console-docs.apipost.cn/preview/b4ec3f7b05abc5d9/373db710a8bef70f ### 定时任务 > 位置 定时任务在`scheduled`包下 > 配置 `@Scheduled(cron = "0 0 9 * * ?")`替换掉cron表达式即可 参考网站:[Cron - 在线Cron表达式生成器 (ciding.cc)](http://cron.ciding.cc/) 直接根据上面的网站生成即可 ## 获取token (小白不用看) > 说明 这里用来调试项目,获取token。不需要调试或二次开发,不用再看了 > 方法 方法:AuthController#login 数据:存放在返回体的data中 # 参考视频 刚写完说明文档就在b站看到了和我用差不多api的视频,还带有部署视频(好卷啊~)不过我是用的Java,他用的Python 小白可以参考一下:https://www.bilibili.com/video/BV1dW4y1b7bN