File: /www/wwwroot/www.sanjiangapp.com/core/weixin/WxTemplate.php
<?php
/**
* @copyright (C)2016-2099 Hnaoyun Inc.
* @author XingMeng
* @email hnxsh@foxmail.com
* @date 2019年5月27日
* 模板消息
*/
namespace core\weixin;
class WxTemplate
{
// 设置行业信息
public function setIndustry($industry_id1, $industry_id2)
{
$access_token = WxAccessToken::get();
$url = "https://api.weixin.qq.com/cgi-bin/template/api_set_industry?access_token=" . $access_token;
$data = array(
'industry_id1' => $industry_id1,
'industry_id2' => $industry_id2
);
$result = json_decode(get_url($url, json_encode($data)));
if (isset($result->errcode) && $result->errcode) {
error('设置微信消息行业发生错误:' . $result->errmsg . '(' . $result->errcode . ')');
} else {
return true;
}
}
// 获取行业信息
public function getIndustry()
{
$access_token = WxAccessToken::get();
$url = "https://api.weixin.qq.com/cgi-bin/template/get_industry?access_token=" . $access_token;
$result = json_decode(get_url($url));
if (isset($result->errcode) && $result->errcode) {
error('获取微信消息行业发生错误:' . $result->errmsg . '(' . $result->errcode . ')');
} else {
return $result;
}
}
// 获取模板ID
public function getTemplateID($template_id_short)
{
$access_token = WxAccessToken::get();
$url = "https://api.weixin.qq.com/cgi-bin/template/api_add_template?access_token=" . $access_token;
$data = array(
'template_id_short' => $template_id_short
);
$result = json_decode(get_url($url, json_encode($data)));
if (isset($result->errcode) && $result->errcode) {
error('获取微信模板ID发生错误:' . $result->errmsg . '(' . $result->errcode . ')');
} else {
return $result;
}
}
// 获取模板ID
public function getTemplateList()
{
$access_token = WxAccessToken::get();
$url = "https://api.weixin.qq.com/cgi-bin/template/get_all_private_template?access_token=" . $access_token;
$result = json_decode(get_url($url));
if (isset($result->errcode) && $result->errcode) {
error('获取微信模板列表发生错误:' . $result->errmsg . '(' . $result->errcode . ')');
} else {
return $result;
}
}
// 获取模板ID
public function delTemplate($template_id)
{
$access_token = WxAccessToken::get();
$url = "https://api.weixin.qq.com/cgi-bin/template/del_private_template?access_token=" . $access_token;
$data = array(
'template_id' => $template_id
);
$result = json_decode(get_url($url, json_encode($data)));
if (isset($result->errcode) && $result->errcode) {
error('删除微信模板发生错误:' . $result->errmsg . '(' . $result->errcode . ')');
} else {
return true;
}
}
// 发送模板消息
public function sendTemplateMsg($openid, $template_id, $data, $remark = null, $link = null)
{
$access_token = WxAccessToken::get();
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $access_token;
// data只需传递数组数据即可,自动生成格式化数据
if (! is_multi_array($data)) {
$i = 1;
$flag = true;
foreach ($data as $key => $value) {
if (is_numeric($key)) {
if ($flag && $i == 1 && ! isset($data['first'])) {
$post_data['first'] = array(
'value' => $value,
'color' => '#173177'
);
$flag = false;
} else {
$post_data['keyword' . $i] = array(
'value' => $value,
'color' => '#173177'
);
$i ++;
}
} else {
$post_data[$key] = array(
'value' => $value,
'color' => '#173177'
);
}
}
// 备注字段
if ($remark) {
$post_data['remark'] = array(
'value' => $remark,
'color' => '#173177'
);
}
}
// 生成完成数据数组
$send_data = array(
'touser' => $openid,
'template_id' => $template_id,
'data' => $post_data
);
// 有跳转时设置
if ($link) {
$send_data['url'] = $link;
}
// 执行发送
$result = json_decode(get_url($url, json_encode($send_data, JSON_FORCE_OBJECT)));
if (isset($result->errcode) && $result->errcode) {
error('微信消息发送错误:' . $result->errmsg . '(' . $result->errcode . ')');
} else {
return true;
}
}
}