/VxMessageWeatherActions

微信公众号消息推送Actions版本+天气预报

Primary LanguageJava

微信模板消息推送 2.6.0

图片

快速开始

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

点击复制项目地址

点击复制项目地址

右上角导入按钮

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,"周年快乐!!!")
        ));


    }

第四步:手动执行Action

当配置好前面的后,我们可以手动执行一次Action测试一下结果。 按下面的4个步骤来手动运行 image 稍等一下,1分钟左右如果收到了消息则证明成功了。 否则就失败了,需要查看失败的原因,进行问题排查

更多内容

获取天气

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中排查一下问题

  1. 点击你出问题的那个·Java Ci With Maven· ,最上面的为最新的一次执行。 第一步

  2. 点击build 第二步

  3. 点击Run Java就可以看到执行的情况,就可以根据错误日志进行排查了。你可以自行百度错误的原因,或者B站私信我。 第三步

其他内容

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

信息获取

微信测试号信息获取

微信公众号测试平台

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

image

2. 模板ID在添加模板后生成

image

3. 用户ID在扫码关注后生产

image

高德地图信息获取

高德地图开发者平台

  1. 创建一个新应用

image

2.给应用起个名字

image

  1. 新增一个key image

  2. 配置一下 image

  3. 获得key

image

和风天气信息获取

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

image

模板

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

基础模板

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

{{randomInfo.DATA}}{{randomInfoSplit.DATA}}

最后,开心每一天!

有天气的模板

{{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}}

最后,开心每一天!