# wechat-message
**Repository Path**: fibonacci/wechat-message
## Basic Information
- **Project Name**: wechat-message
- **Description**: 微信测试号消息模板推送
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-04-07
- **Last Updated**: 2023-05-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 0.微信官方变动
### 2023-05-08
> 去除自定义颜色、表情符号( 表情符号由替换为“ □ ”改为直接去除 );
> 去除尾部 / 备注内容;去除首行内容;单个中间主内容不超过 20 字,且不支持换行( 新增措施 )。
## 1. 账号准备
### 1.1.申请微信测试号
- 测试号地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
- 微信扫码就可以登录
> appID和appsecret,这两个需要用到

### 1.2.申请百度地图开发者账号
- 百度地图地址:https://lbsyun.baidu.com/index.php?title=webapi
- 登录注册账号,进到【控制台】

- 应用管理 -> 我的应用 -> 创建应用
> 应用名称随便起一个就好;应用类型选择服务端;启用服务都采用默认的;请求校验方式选择【sn校验方式】,代码中采用的是这种方式。

- 访问应用(AK)和SK
> 应用列表页,可以查到访问应用的ak,点击设置,进到应用详情页,可以查到sk


### 1.3.注册天行api
- 天行api地址:https://www.tianapi.com/
> 进到控制台,我的密钥KEY,APIKEY

## 2. 配置电脑环境
> 所需软件jdk17,maven,eclipse,已经放到百度云网盘,都是从官网下载的,放心食用
>
> 链接:https://pan.baidu.com/s/1Mre1mAsqSyb7kjSIRK6J4w?pwd=my18
> 提取码:my18
### 2.1. java环境配置
解压 jdk-17_windows-x64_bin.zip,得到 jdk-17.0.7目录
可以将目录拷贝到其他地方,非必须操作,后面会用到这个目录
### 2.2.安装maven
解压apache-maven-3.9.1-bin.zip,得到 apache-maven-3.9.1
与上述操作一样,可以跟java的目录放一起,方便查找
### 2.3.安装eclipse
1. 双击 eclipse-inst-jre-win64.exe进行安装
2. 弹出的窗口,选择Eclipse IDE for Enterprise Java and Web Developers

3. Java 17+ VM选项,选择jdk的目录,就是2.1中的目录。点击右边的文件夹图标,进到选择文件夹的页面

4. 弹窗中,点击右侧的Browse..按钮,选择2.1中的jdk目录,列表中会多一条,然后点击ok

5. Installation Folder选项,文件安装路径,这个可以根据自己的安装系好设定
6. 最后点击install,等待安装完成,按钮会变成LAUNCH。桌面上会多一个Eclipse IDE for Enterprise Java and Web Developers - 2023-03图标
## 3. 设置消息模板
> 1.模板的标题,保存以后不可修改,我这里使用了两个模板,一个早安,一个晚安,除了标题外,内容都一样。
>
> 2.参数的格式为{{xxx.DATA}},汉字的部分都可以修改。
>
> 3.模板ID需要用到
>
> 注:以下是我的模板,代码中的所有参数都来自此模板,可以删参数,但是增加参数或者修改参数会不生效,需要修改代码。
```tex
{{date.DATA}}
天气:{{weather.DATA}}
气温:{{temp.DATA}}
风力:{{wind.DATA}}
今日提醒:{{remind.DATA}}
今天是我们在一起的第{{loveDay.DATA}}天
距离某某生日还有{{birthday.DATA}}天
{{hello.DATA}}
{{review.DATA}}
```

## 4. 修改代码参数
> 在SendMessageTask代码文件中找到对应的参数位置(代码从后往前找),替换自己的参数。
### 4.1. 纪念日参数
```java
/**
* 纪念日参数
*/
static class DateSet {
/**
* 在一起的日期
*/
public static String loveDay = "2023-01-01";
/**
* 生日
*/
public static String birthday = "1999-03-07";
}
```
### 4.2. 测试号参数
```java
/**
* 微信测试号
* 测试号地址
* 替换成自己微信测试号的appid和secret
*/
static class WeChat {
public static String appid = "";
public static String secret = "";
/**
* 接受用户id 就是测试号里面,关注以后的微信号
*/
public static String toUser = "";
/**
* 白天模板id
*/
public static String dayTemplate = "";
/**
* 晚上模板id
*/
public static String nightTemplate = "";
}
```
> 接受用户id,需要先扫码关注自己的测试号以后,会在列表中看到,就是那个微信号

### 4.3. 天行api参数
```java
/**
* 天行api 的 ak
* 替换成自己天行api的ak
*/
static class TiApi {
public static String key = "";
}
```
### 4.4. 百度参数
```java
/**
* 百度参数
* 替换成自己百度账号的 ak和sk
* 区域代码是查天气预报用的,我用的是杭州西湖区的区域码,需要什么区域的点击链接自己查
*/
static class Baidu {
/**
* 区域id
* 查看区域代码
*/
public static String distinctId = "330106";
public static String ak = "";
public static String sk = "";
}
```
## 5. 运行代码