GitHub - one-mark/VxMessageWeatherActions: 微信公众号消息推送Actions版本+天气预报

微信模板消息推送 2.6.X

图片

注意:一切内容需要使用英文标点符号!

快速开始

第一步:复制本项目到你的仓库,设置为私有项目

点击复制项目地址

点击复制项目地址

右上角导入按钮

image

完成导入

image

第二步:开启Actions

如果项目上方没有Actions,就要手动开启Actions,步骤为:

  1. 点击项目上方的Settings
  2. 点击页面左边Actions
  3. 点击Actions下面的General
  4. 点击页面中间的Allow all actions and rausabel workflows
  5. 点击save保持设置

image

第三步:配置微信测试平台信息

只需要在com.pt.vx.config.WechatConfig中配置好VxAppIdVxAppSecret以及用户信息即可,此时你就拥有了一个基础的微信消息,你将可以使用基础模板

关于如何获取VxAppIdVxAppSecret以及用户信息,可以查看微信测试号信息操作

如果要使用更多内容,需要到WeatherConfig或者MainCOnfig中配置。

public class WechatConfig {
    /**
     * 你的微信的APPID
     * appId
     */
    public static final String VxAppId = "appId";

    /**
     * 你的微信的密钥
     * appSecret
     */
    public static final String VxAppSecret = "appSecret";

    public static final List<User> userList = new ArrayList<>();

    static {
        userList.add(getUser(
                "这个人的微信号", //扫码关注你的测试号以后,测试平台会出现TA的微信号
                "模板ID", //要给这个人发送的模板ID
                "pt", //咋称呼这个人
                "江苏省南京市玄武区", //这个人的详细地址
                "南京", //这个人在的城市
                new BirthDay(1999,2,15,true,false,"pt生日快乐!!"),
                new BirthDay(1999,8,11,false,false,"生日快乐哦~~"),
                new BirthDay(2020,7,8,true,true),
                new BirthDay(2020,7,8,true,false,"周年快乐!!!")
        ));

        userList.add(getUser(
                "这个人扫码后的微信号",
                "微信消息模板ID",
                "这个人的称呼",
                "江苏省南京市玄武区",
                "南京",
                new BirthDay(1999,8,11,false,false,"生日快乐哦~~"),
                new BirthDay(1999,2,15,true,false,"pt生日快乐!!"),
                new BirthDay(2020,7,8,true,true),
                new BirthDay(2020,7,8,true,false,"周年快乐!!!")
        ));


    }

更多内容

获取天气

WeatherConfig中进行配置。

  1. 开启天气功能,将OPEN设置为true
  2. 获取对应的天气源的key并且填入weatherSourceKey,并且将天气源设置weatherSourceType设置成对应的天气源
  3. 选择需要的天气类型getWeatherType

具体如何获取配置信息到高德地图信息获取或者和风天气信息获取查看。

自定义模板

如果要自定义模板,那么就需要到KeyConfig中29个内置的key查看需要的内容。

比如日出时间,new KeyDTO右边第一个参数是关键字key,第二个参数是颜色,第三个参数是是否开启

	/**
     * 日出时间
     */
    public static final KeyDTO KEY_SUN_RISE = new KeyDTO("sunrise","#FFFFFF",true);

了解这个以后,就可以自定义模板了,然后将自定义的模板到微信测试平台添加即可。

{{userName.DATA}}, 
{{date.DATA}} {{week.DATA}} 
今天日出的时间是{{sunrise.DATA}}

注意:对于日出(sunrise)和日落(sunset)两个key,只有切换天气源为和风天气才有。

修改Action执行时间

.github/workflows/maven.yml,修改cron: "8 0 * * *" 分别代表:"分 时 天 月 星期"

字段 允许值
0-59
小时 0-23
日期 1-31
月份 1-12 或者 JAN-DEC
星期 0-6 或者 SUN-SAT
值不但可以使用常规允许值,还可以使用下面的特殊符号。
符号 描述
-------- --------------
* 任意数值
, 数值列表分隔符
- 数值范文连接
/ 步进数值

还有一点,github是使用的标准时间,我们要使用的是北京时间,所有需要在原本的基础上-8小时,所有你要设置北京时间早上8点7分的话,就需要设置成标准时间0点7分,即:cron: "7 0 * * *"

其他内容

MainConfig中自行查看即可,注释写的很清楚。

信息获取

微信测试号信息获取

微信公众号测试平台

1. AppID和appSecret在微信公众号测试平台网站最上方

image

image

image

高德地图信息获取

高德地图开发者平台

  1. 创建一个新应用

image

2.给应用起个名字

image

  1. 新增一个key image

  2. 配置一下 image

  3. 获得key

image

和风天气信息获取

可以到控制台 | 和风天气进行配置。 配置完后就能拿到key了,基本和高德地图一致。

image

模板

这里我提供一些模板,你也可以自定模板

基础模板

Dear {{userName.DATA}} 
今天是{{date.DATA}} 周{{week.DATA}} 
我们在一起的{{birthDay3.DATA}}天 
你的生日还有{{birthDay.DATA}}天 
我的生日还有{{birthDay1.DATA}}天 
距离我们下一次纪念还有{{birthDay2.DATA}}天 
额外提示:{{otherInfo.DATA}}{{otherInfoSplit.DATA}} 

随机推送:{{randomInfo.DATA}}{{randomInfoSplit.DATA}}

最后,开心每一天!

有天气的模板

Dear {{userName.DATA}}, 
今天是{{date.DATA}} 周{{week.DATA}} 
我们在一起的{{birthDay3.DATA}}天 
你的生日还有{{birthDay.DATA}}天 
我的生日还有{{birthDay1.DATA}}天 
距离我们下一次纪念还有{{birthDay2.DATA}}天 
今天白天{{weatherDay.DATA}},温度{{temperatureDay.DATA}}℃ 
今天晚上{{weatherNight.DATA}},温度{{temperatureNight.DATA}}℃ 
明天白天{{weatherDay1.DATA}},温度{{temperatureDay1.DATA}}℃ 
明天晚上{{weatherNight1.DATA}},温度{{temperatureNight1.DATA}}℃ 
额外提示:{{otherInfo.DATA}}{{otherInfoSplit.DATA}}

随机推送:{{randomInfo.DATA}}{{randomInfoSplit.DATA}}

最后,开心每一天!