公众消息推送
需要先关联公众号和小程序(需要在微信公众号申请)
公众号推送需要摸版信息,推送到微信的摸版信息
摸版代码
//测试消息推送
public function send($order_id,$user_id)
{
// $user_id = $this->token();
$openid = Db::name('user')->where('id',$user_id)->value('openid');
// var_dump($openid);
// $openid = 'o-pL90KfVGQZS2MB46bTBr_jOI2c';
$access_token = Db::name('applets')->where('time','>',time())->value('token');
if(!$access_token)
{
$common = Common::access_token();
$access = json_decode($common,true);
$access_token = $access['access_token'];
$appletData = Db::name('applets')->where('id',1)->update(['token' => $access_token,'time' => time()+7000]);
}
// $abc = '44_XyzYAsHC7ujNKt4AAM4-KI_PauUwjIIhq6JWttSuzkXASy-1F1bs98DkcsU0qosmrBsYMXTDAe_wSma6dJCMb1rDqB8TFszcg-BZe8fmLwhwv2tagfBC8c-k-LS47WiooRaG8m-owgemm_WeYUAcAJAFBH';
// $logInfo = Db::name('users_log')->where('users_id',$user_id)->order('id','desc')->find();
$orderInfo = Db::name('order')->where('id',$order_id)->find();
$orderInfo['accept_id'] = Db::name('user')->where('id',$orderInfo['accept_id'])->value('username');
$url="https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=$access_token";
$data=[
"touser"=>"$openid",//openid
"mp_template_msg"=>[
"appid"=>"wx7203cb817fad819c",
"template_id"=>"27FAj776Smjjuq103YBQIaaQw9BCN4LfO6JNaZBwjXs", //需要改
// "url"=>"/pages/wdzl/wdzl",//跳转页面路径
"miniprogram"=>[
"appid"=>"wx76201f50c3cb1497",//appid
// "pagepath"=>"/pages/wdzl/wdzl",//页面路径 参数
"pagepath"=>"",
],//跳转小程序
"data"=>[
"first"=>[//参数名字 自定义的name名
"value"=>"您有一个新的服务订单",//值
"color"=>"",//颜色
],
"keyword1"=>[//参数名字 自定义的name名
"value"=>$orderInfo['type_zt'].'-'.$orderInfo['cate2_id'],//值
"color"=>"",//颜色
],
"keyword2"=>[//参数名字 自定义的name名
"value"=>$orderInfo['accept_id'],//值
"color"=>"",//颜色
],
"keyword3"=>[//参数名字 自定义的name名
"value"=>$orderInfo['create_time'],//值
"color"=>"",//颜色
],
"keyword4"=>[//参数名字 自定义的name名
"value"=>$orderInfo['address'],//值
"color"=>"",//颜色
],
"keyword5"=>[//参数名字 自定义的name名
"value"=>$orderInfo['phone'],//值
"color"=>"",//颜色
],
"remark"=>[//参数名字 自定义的name名
"value"=>$orderInfo['textarea'],//值
"color"=>"",//颜色
],
],
],
];
var_dump($this->http_post($url,json_encode($data)));//发送模板消息
// $this->http_post($url,json_encode($data));
}
function http_post($url,$data)
{
$ch = curl_init();
$params[CURLOPT_URL] = $url; //请求url地址
$params[CURLOPT_HEADER] = FALSE; //是否返回响应头信息
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;
$params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] = $data;
curl_setopt_array($ch, $params); //传入curl参数
$content = curl_exec($ch); //执行
curl_close($ch); //关闭连接
print_r($content);
return $content;
}
用的用户的opendID和和订单的信息
这里access_token每次都是随机生成的,存一表,下面的请求回来的access_token
public static function access_token()
{
$web_config = db("applets")->find();
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $web_config['applet_appid'] . "&secret=" . $web_config['applet_secret'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$resule = curl_exec($ch);
curl_close($ch);
return $resule;
}
这是公众号推送,需要用到用户的opendID和公众号的appID
原创©本文章为教腾豪原创,未经许可,禁止转载
0条评论