微信小程序发送模板消息tp5

前段时间小程序上项目需要,去小程序官网去看了下,结合网上百度出来的,自己整理了一下模板消息的使用方法

  /**
     * 发送模板消息
     * User: czx
     *openid  用户openid
     * $order_sn 订单号
     * $count_money 支付金额
     * $pay_time 支付时间
     * $goods_name 商品名
     * $shop_name 商家名
     */
 public function send($openid,$page,$order_sn,$count_money,$pay_time,$goods_name,$shop_name)
    {
        $data = [
            'openid' => $openid,
            'page' => $page,
            'form_id' => '',//模板消息需要的formid
            'data' => [
                $order_sn,$count_money,$pay_time,$goods_name,$shop_name
            ]
        ];

    $ret = $this->templateMessage($data);
    if($ret)
    {
        return $ret;
    }else{
        return 'faile';
    }

}

这个是使用方法,直接调取send()就好了

  /**
     * @param $params [参数]
     * @param $appid [小程序appid]
     * @param $secret [小程序secret]
     * @param $type [模板消息的类型] 如:审核,通知, 签到 。。。。
     */
    public function templateMessage($params)
    {
        $appid=\think\Config::get('***********');
        $secret=\think\Config::get('**********');
        # 模板关键字
        $data = [];
        foreach ($params['data'] as $k => $v) {
            $data['keyword'.($k+1)] = ['value'=>$v];
        }
        $postData = [
            'touser'        =>  $params['openid'],
            'template_id'   =>  '',//这是模板id,需要去申请
            'page'          =>  $params['page'],
            'form_id'       =>  $params['form_id'],
            'data'          =>  $data
        ];

        # user_token 必须全局获取|存储
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$secret";
        $result = $this->http_request($url);

        $access_token = $result['access_token'];
        $urls = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token;
        $ret = $this->postCurl($urls, $postData,'json');
        return $ret;
    }

以上就是我完成的发送模板消息的方法,亲测可用,没有bug

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值