地址:https://www.cnblogs.com/xinweiyun/p/9634147.html

下载地址:https://download.csdn.net/download/weixin_38615720/10906803

昨天晚上,2018年9月11日,微信官方又更新了一大波的小程序功能。重点我们来谈谈这个功能,微信叫做统一服务消息下发接口。

这个是官方的文档  统一服务消息 · 小程序
https://developers.weixin.qq.com/miniprogram/dev/api/notice-uniform.html

统一服务消息下发接口,名字很拗口,说点人话,就是这个接口可以发送公众号或者小程序的消息。之前大家都知道,我们用小程序发送消息,有小程序的api接口,如果是发送公众号的消息,就有公众号的模板消息接口。

现在终于微信出来这个统一发送的了。这个接口一出来我们就尝试使用了下。有些问题大家需要留意下,不然到时候会遇到不少的坑。

access_token 小程序的access_token   这个一定要用小程序的accesstoken,不能使用公众号的,因为这个接口的初衷就是想大家在开发小程序的时候,如果要发送公众号消息直接使用这个接口就可以了,无需再去调用公众号的模板消息接口。

touser 用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid     这个使用公众号的openid或者小程序的openid都可以的   微信官方会自动关联。其实大家的使用场景大部分还是在小程序,所以这里你就直接用小程序里抓到的openid就可以了。

mp_template_msg.appid 公众号appid,要求与小程序有绑定且同主体      这个大家要仔细读官方的说明哦,就是这公众号和小程序要相互关联了,且必须是同主体才行。不然也会调试不通过的。

基本上只要掌握和留意了上面这几点,基本上就没问题了。如果还有问题,那就肯定是你传值不对了。你就要多检查了。最好自己打印出日志来。比如你传的值是什么,看看是否和文档里的演示demo一样。值的类型有没有传错之类的。

代码:

/**
     * 抽奖结果 公众号模板消息
     */
    public function integral_result(){
        $access_token= $this->getWxAccessToken();
        $url = "https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=".$access_token;
        $send_data = array();
        $send_data['touser'] = "发送人openid";
        $values = array();
        //公众号appid
        $values['appid'] = "";
        //公众号模板id
        $values['template_id'] = "";
        //公众号模板消息所要跳转的url
        $values['url'] = "http://weixin.qq.com/download";
        //公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系
        $values['miniprogram'] = array(
            "appid"=>"",
            "path"=>"pages/index/index"   //微信公众号发送模板的坑
        );
        $values['data'] = array(
            "first"=>array(
                "value"=>"抽奖结果通知",
                "color"=>"#173177"
            ),
            "keyword1"=>array(
                "value"=>"最新的iphone一部,希望再接再励!!!",
                "color"=>"#173177"
            ),
            "keyword2"=>array(
                "value"=>"恭喜你中奖啦",
                "color"=>"#173177"
            ),
            "remark"=>array(
                "value"=>"点击查询详情",
                "color"=>"#173177"
            ),
        );
        $send_data['mp_template_msg'] = $values;
        $send_data_json = json_encode($send_data);
        $res = $this->http_curl($url,"post",$send_data_json);
        echo "<pre>";
        print_r($res);
        echo "</pre>";
        exit();

}
    /**
      * 获取access_token
      */
    public function getWxAccessToken(){
          //缓存access_token
          if($_SESSION['access_token'] && $_SESSION['access_token_expire_time']>time()){
                $rs = $_SESSION['access_token'];
          }else{
                $appid = '小程序appid';
                $secret = '小程序secret';
                $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
                $res = $this->http_curl($url);
                $rs = $res['access_token'];
                $_SESSION['access_token'] = $rs;
                $_SESSION['access_token_expire_time'] = time()+7000;
          }
          return $rs;
    }
    /**
     * 封装curl
     */
    public function http_curl($url, $type = 'get', $arr ='',$res ='json'){
        $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);
        }
        $output = curl_exec($cl);
        curl_close($cl);
        if($res == 'json'){
            if( curl_error($cl)){
                return curl_error($cl);
            }else{
                return json_decode($output, true);
            }
        }
    }

小程序统一服务消息接口相关推荐

  1. 小程序统一服务消息_微信团队发布小程序模板消息能力调整通知:小程序订阅消息接口正式上线...

    10月13日,微信团队发布了小程序模板消息能力调整通知.微信团队表示,此前的模板消息接口将停止使用,小程序订阅消息接口正式上线.据了解,新上线的小程序订阅消息,同时支持一次性和长期性订阅消息,用户可以 ...

  2. 小程序统一服务消息实现

    总体思路:运营后台处理某个任务时,推送相关消息到绑定了小程序的微信账户的服务通知里.需要用到用户的openid和用户在小程序中有交互动作产生的formId. 后台表结构设计: 小程序中的代码(taro ...

  3. 小程序统一服务消息_[miniblog]小程序订阅消息踩坑记

    有阵子没有更新我的mini-blog了,这次把推送消息那块做了些改动,小程序的模板消息即将废弃,订阅消息终于来了. 关于订阅消息 订阅消息分为一次性订阅和长期订阅,长期订阅就不说啦,不是个人号可以染指 ...

  4. 小程序统一服务消息_小程序客服消息接入微信教程

    很多商家在咨询小程序,都会咨询手机上能不能接待客户,当然可以,但需要开通客服助手小程序,下面就和大家分享一下小程序客服消息接入微信教程? 基本流程:客服入口-添加绑定客服微信号-用绑定客服微信号扫码- ...

  5. 小程序客服消息接口php,小程序客服接入

    最近接入了小程序客服,源码放在这里以备后用 public function check_server(){//校验服务器地址URL if (isset($_GET['echostr'])) { $th ...

  6. 【实战教程】小程序客服消息自动回复

    在上次推送完「卡券核销消息推送」的教程后,我们决定再多出点教程. 此次教程将再次带领大家体验「消息推送」,实现另一个「微信消息推送」的触发器,关于自动回复小程序客服消息的. 详细步骤如下: 开通知晓云 ...

  7. 微信小程序通过服务号推送模板消息

    前言 公司要做一款新的微信小程序,因为业务需求要加入消息推送.因为之前APP是通过服务号推送给用户消息的,所以微信小程序要做消息推送也是首先想到了通过服务号推送.事实上在使用过程中服务号推送还是非常好 ...

  8. 微信小程序快递java_java调用微信小程序统一下单接口

    java调用微信小程序统一下单接口 今天项目中对接微信支付这一块,记录一下 这是对接微信支付的开发文档地址 微信支付流程 流程分析: 我们可以看到,前端人员只用给我们一个code,我们通过code去获 ...

  9. 服务器调微信小程序推送接口,微信小程序API 转发消息

    转发消息 如果小程序设置了消息推送,普通微信用户向小程序客服发消息时,微信服务器会先将消息 POST 到开发者填写的 url 上,如果希望将消息转发到网页版客服工具,则需要开发者在响应包中返回 Msg ...

最新文章

  1. php 类 接口的区别吗,PHP的接口类(interface)和抽象类(abstract)的区别
  2. Google advertiser api开发概述——部分失败
  3. python中if not x: 和 if x is not None: 和 if not x is None的使用和区别
  4. 云数据库MongoDB全面支持3.4版本,支持多存储引擎
  5. 在命令行下执行php程序
  6. oracle事务重要属性,Oracle中的事务(2)--属性和隔离级别
  7. ORM版学员管理系统2
  8. C#中调用SSIS包的问题
  9. 基础原理系列:服务端 TCP 连接的 TIME_WAIT 问题
  10. 浅谈函数的重入与不可重入
  11. 【深度学习】深度学习门前徘徊——正向传播
  12. 笔记:css中的position定位
  13. bagging和时间序列预测_Simple RNN时间序列预测
  14. 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第1节 异常_13_自定义异常类...
  15. Ps 初学者教程,如何用文字增强您的照片?
  16. mysql什么是主键和外键?
  17. Visio图片复制到word中显示不完全(毕业论文格式下)
  18. java kml_从Java中的KML文件中提取坐标
  19. vue-router路由文档详解
  20. Base64 密码加密解密

热门文章

  1. Linux查看网卡流速
  2. hdu 5107 线段树+离散化+归并排序+极角排序
  3. 美洽客服系统怎么同步顾客身份
  4. 渐变 -- QBrush
  5. ToDolist简述
  6. 使用Tensorflow构建属于自己的图片分类器
  7. 解决SwitchResX不保存设置的问题
  8. cics oracle xad_CICS安装问题与解决方式.doc
  9. 第四代战斗机的标示性特点有哪些
  10. 给 DataGrid 增加序列号的两种方法