'', 用户openid 'url' => '', 跳转链接 'template_id' => '', 模板id 'data' => [ // 消息模板数据 'first' => ['value' => urlencode('黄旭辉'),'color' => "#743A3A"], 'keyword1' => ['value' => urlencode('男'),'color'=>'blue'], 'keyword2' => ['value' => urlencode('1993-10-23'),'color' => 'blue'], 'remark' => ['value' => urlencode('我的模板'),'color' => '#743A3A'] ] ]; * @param string $topcolor 模板内容字体颜色,不填默认为黑色 * @return array */ public static function pushMessage($data = [],$topcolor = '#0000'){ $template = [ 'touser' => $data['openid'], 'template_id' => $data['template_id'], 'url' => $data['url'], 'topcolor' => $topcolor, 'data' => $data['data'] ]; $json_template = json_encode($template); $url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . self::getToken(); $result = self::curlPost($url, urldecode($json_template)); $resultData = json_decode($result, true); return $resultData; } /** * addLog 日志记录 * @param string $log_content 日志内容 */ public static function addLog($log_content = ''){ $data = ""; $data .= "DATE: [ " . date('Y-m-d H:i:s') . " ]\r\n"; $data .= "INFO: " . $log_content . "\r\n\r\n"; file_put_contents('/wechat.log', $data, FILE_APPEND); } /** * 发送get请求 * @param string $url 链接 * @return bool|mixed */ private static function curlGet($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); if(curl_errno($curl)){ return 'ERROR ' . curl_error($curl); } curl_close($curl); return $output; } /** * 发送post请求 * @param string $url 链接 * @param string $data 数据 * @return bool|mixed */ private static function curlPost($url, $data = null){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); if(!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return $output; } }