php 实现公众号小程序跳转

    //小程序跳转
    private function sendxsbilldd_msg_with_openID(){
        $data = array();
        $msg = Db::table('wxxsbilldd_msg')->where('issend', '0')->limit(1)->select();
        if ($msg == null) {
            dump("订单无数据发送失败-openid");
            return;
        }
        $outindex = 0;
        $guid_xsbill = $msg[$outindex]['guid_xsbill'];
        $data_m = Db::table('wxxsbilldd_m')->where('aguid', $guid_xsbill)->select();
        $data_d = Db::table('wxxsbilldd_d')->where('guid_m', $guid_xsbill)->select();
        $items_d = count($data_d); //项数
        $items = (int)$data_m[0]['items'];

        if ( $items !== $items_d){
            dump("订单数据未同步完成-openid".$items.'  '.$items_d.' '.$data_m[0]['aguid'] );
            return ;
        }

        $acode = $data_m[0]['prdacode']; //生产订单号
        $day_yw = $data_m[0]['date_yw']; //时间
        $khaname_long = $data_m[0]['khaname_long']; //客户名称
        $sy = round($data_m[0]['sy'], 2);    //总金额
        $qty = round($data_m[0]['qty'], 2);  //数量
        $aguid = '?id=' . $data_m[0]['aguid'];     //参数ID
        //模板消息拼接
        $touser = $msg[$outindex]['openid'];
        $data = [
            "touser" => $touser,
            "template_id" => $this->template_id,
            "url" => $this->url_openid ,
            "miniprogram"=>array(
                "appid"=>$this->openid,
                "pagepath"=>$this->pathpage.$aguid,
            ),
            "data" => array(
                "first" => array("value" => $this->companyname,"color" => $this->color),
                "keyword1" => array("value" => $khaname_long,"color" => $this->color),
                "keyword2" => array("value" => $acode,"color" => $this->color),
                "keyword3" => array("value" => $items_d,"color" => $this->color),
                "keyword4" => array("value" => $qty,"color" => $this->color),
                "keyword5" => array("value" => $sy.'元',"color" => $this->color),
                "remark" => array("value" => $day_yw,"color" => $this->color),
            )
        ];

        //模板消息发送
        $access_token = $this->getWxAccessToken();
        $msgurl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=". $access_token; // 发送模板消息接口
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $msgurl);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        // 我们在POST数据哦!
        curl_setopt($ch, CURLOPT_POST, 1);
        // 把post的变量加上
        $json_template = json_encode($data);
        curl_setopt($ch, CURLOPT_POSTFIELDS, urldecode($json_template));
        curl_exec($ch);
        curl_close($ch);

        dump($data);
        dump($msgurl);

        //更新 issend 状态
        Db::startTrans();
        try {
            Db::table('wxxsbilldd_msg')->where('aguid', $msg[$outindex]['aguid'])->update(['issend' => '1']);
            Db::commit();
            dump("订单更新完成-openid");
        } catch (Exception $e) {
            Db::rockback();
        }
    }

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Listest

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值