微信统一服务消息-公众号消息

微信文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/uniform-message/uniformMessage.send.html

准备说明

1.在微信模板里设置需要的模板 得到公众号模板id
2.获取微信公众号appid
3.此消息不限制次数
4.接收此提醒需要关注公众号 不关注公众号的收不到提醒

代码示例

	/**
     * 发送模板消息
     */
    public function wxRemindHY($openid,$end_time,$item_name,$nam)
    {
        $template='公众号模板id';
        if(!empty($openid)){
            $datas = array(
                'first'=>array(
                    'value'=>'提醒提醒提醒提醒'
                ),
                'keyword1'=>array(
                    'value'=>$nam
                ),
                'keyword2'=>array(
                    'value'=>date('H:i',$end_time)
                ),
                'keyword3'=>array(
                    'value'=>$item_name
                ),
                'remark'=>array(
                    'value'=>'服务还剩五分钟结束!'
                )
            );
            $mp_template_msg['appid'] = WXG_APPID;//公众号aphid
            $mp_template_msg['template_id'] = $template;
            $mp_template_msg['url'] = URL_PAGES;//公众号模板消息所要跳转的url
            $mp_template_msg['miniprogram']['appid'] = WX_APPID;//小程序id
            $mp_template_msg['miniprogram']['pagepath']=JS_PAGES;//公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系
            $mp_template_msg['data'] = $datas;
            $result = $this->uniformWxMessage($openid,$mp_template_msg);
            return $result;
        }
    }

    /**
     * 统一服务消息
     * 下发小程序和公众号统一的服务消息
     */
    public function uniformWxMessage($openid,$mp_template_msg)
    {
        $access_token = $this->getWxAccessToken();
        $url = WX_URL."cgi-bin/message/wxopen/template/uniform_send?access_token=".$access_token;
        $params['access_token'] = $access_token;
        $params['touser'] = $openid;
        $params['mp_template_msg']=$mp_template_msg;
        $paramsj = json_encode($params);
        $res = $this->http_curl_common($url, "post", $paramsj);
        return $res;
    }
    /**
     * 获取微信AccessToken
     * @return mixed
     */
    public function getWxAccessToken()
    {
        if ($_SESSION['access_token'] && $_SESSION['access_token_expire_time'] > time()) {
            $rs = $_SESSION['access_token'];
        } else {
            $url = WX_URL."cgi-bin/token?grant_type=client_credential&appid=" . WX_APPID . "&secret=".WX_SECRET;
            $resd = file_get_contents($url);
            $res = json_decode($resd, true);
            $rs = $res['access_token'];
            if($rs){
                $_SESSION['access_token'] = $rs;
                $_SESSION['access_token_expire_time'] = time() + 7000;
            }

        }
        return $rs;
    }
    /**
     * curl 提交
     * @param $url
     * @param string $type
     * @param string $arr
     * @return bool|string
     */
    public function http_curl_common($url, $type = 'get', $arr = '')
    {
        $cl = curl_init();
        curl_setopt($cl, CURLOPT_URL, $url);
        curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
        if ($type == 'post') {
            curl_setopt($cl, CURLOPT_POST, 1);
            curl_setopt($cl, CURLOPT_POSTFIELDS, $arr);
        }
        $result = curl_exec($cl);
        curl_close($cl);
        return $result;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值