ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-07-17 20:31:55  阅读:176  来源: 互联网

标签:微信 access 公众 token 消息 template msg curl mp


微信文档地址: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;
    }

标签:微信,access,公众,token,消息,template,msg,curl,mp
来源: https://blog.csdn.net/qq_32550561/article/details/118861678

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有