微信公众号消息通知

    /**
     * 发送微信通知-邮寄
     */
    public function wxSendNotice($id)
    {
        //模板数据
        $template_id = config('weixin.sendtemplate_id');//模板id, 微信公众平台获取
        $url = config('weixin.url');                    //点击消息的跳转链接
        $appid = '';
        $pagepath = '';

        $data = [];
        $data['touser']      = $openid;           //接收人id
        $data['template_id'] = $template_id;      //模板id
        $data['url']         = $url;              //跳转链接
        $miniprogram         = [
            'appid'    => $appid,                 //小程序APPID
            'pagepath' => $pagepath               //小程序页面
        ];
        $data['miniprogram'] = $miniprogram;      //小程序信息

        $value               = [                  //模板内容
            'first'=>[
                'value'=>'',//标题
                //'color'=>'#173177',
            ],
            'keyword1'=>[
                'value'=>'test',                   //
                //'color'=>'#173177',
            ],
            'keyword2'=>[
                'value'=>'test',        //
                //'color'=>'#173177',
            ],
            'keyword3'=>[
                'value'=>'test',     //
                //'color'=>'#173177',
            ],
            'remark'=>[
                'value'=>'描述。',
                //'color'=>'#173177',
            ],

        ];
        $data['data'] = $value;
        $data = json_encode($data);
        //获取access_token
        $access_token = $this->get_accessToken();

        //发送
        $send_url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$access_token;
        $this->https_request($send_url,$data);



    }

    /**
     * 微信发起https请求
     */
    public function https_request($url,$data=array())
    {
        $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);
        if ($data){
            curl_setopt($curl, CURLOPT_POST, 1);
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($curl, CURLOPT_TIMEOUT, 500);
        $data = curl_exec($curl);
        if (curl_errno($curl)){
            return 'ERROR';
        }
        curl_close($curl);
        return $data;
    }
	//access_token获取方法见文章 https://blog.csdn.net/qq_42005284/article/details/108868294
    /**
     * 获取access_token
     */
    public function get_accessToken()
    {
        $appId = config('weixin.appid');
        $appsecret = config('weixin.appsecret');
        // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
        $data = json_decode(file_get_contents("wxconfig/access_token.json"));
        if ($data->expire_time < time()) {
            $TOKEN_URL="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appsecret;
            $json = file_get_contents($TOKEN_URL);
            $result = json_decode($json,true);
            $access_token = isset($result['access_token'])?$result['access_token']:'';
            if ($access_token) {
                $data->expire_time = time() + 7000;
                $data->access_token = $access_token;
                $fp = fopen("wxconfig/access_token.json", "w");
                fwrite($fp, json_encode($data));
                fclose($fp);
            }
        }else{
            $access_token = $data->access_token;
        }

        return $access_token;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值