>[info] [模板消息](https://www.easywechat.com/4.x/official-account/template_message.html)推送:本项目的核心就是模板消息推送,这里会重点讲解。
* 第一步:申请消息模板,服务号可以登录到服务号后台进行申请,[微信官方文档](https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html)
* 没有服务号就可以跟我一样使用[测试号](https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login),自定义模板才是最快乐的,目前我使用的模板如下所示:
`线报名称:{{title.DATA}} 时间:{{time.DATA}} 线报线路:{{line.DATA}} 温馨提示:{{memo.DATA}}`
![](https://img.kancloud.cn/7c/67/7c672bd8658661f568e11329821d4ab5_1107x326.png)
>[danger] 上面的准备工作已经做好了,就可以测试下消息推送了,来个demo,在演示后面有相关讲解
~~~
/**
* @param $data
* @param $openid
* 模板发送
* /api/Easycenter/moban_xianbao_test
*/
public function moban_xianbao_test()
{
$app = $this->app;
$ret = $app->template_message->send([
'touser' => 'o1nHF5nDVswOFTDLXFUftq-b-dfQ',
'template_id' => 'knGO7ph4l39KfwqqBWIsaN7vbN1j0eM9IEfn5uRbS98',
'url' => 'https://www.baicu.com',
'data' => [
'title' => [
'value' => '你好',
'color' => '#ef5b9c'
],
'time' => date("Y-m-d H:i:s"),
'line' => [
'value' => '___推送时间段:8:30~23:00',
'color' => '#6A5ACD'
],
'memo' => [
'value' => "强烈建议打开三条线路订阅开关,数据接收更齐全",
'color' => '#FF3030'
],
],
]);
var_dump($ret);
}
返回值:
array(3) { \["errcode"\]=> int(0) \["errmsg"\]=> string(2) "ok" \["msgid"\]=> int(2268519908567318534) }
~~~
![](https://img.kancloud.cn/f7/07/f707a9d48bc0d5bbc971c7445bf94121_533x287.png)
### 讲解
1. touser的openid哪来?这个是关注公众号的时候就能获取到,后面章节会提到,环环紧扣
2. 模板消息的颜色怎么调整,上图代码中的color就是来调解[颜色](https://www.5tu.cn/colors/yansebiao.html)的,[颜色请参考这里](https://www.5tu.cn/colors/yansebiao.html)
3. [微信官方文档](https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html)仅做参考,这里使用的是封装后的调用代码,更加的简介,想知道封装的相关代码可以直接去看easywechat包底层代码