TP5之微信小程序推送模板消息

1.获取formId并且存储起来,获取formId方法见: https://blog.csdn.net/u010481239/article/details/78239121
2.后端触发后根据openId与formId是否可用推送模板消息,下面是根据付款后推送给商家信息作为应用背景写的公共方法:

    //传递付款编号推送购买消息到商家function sendInfo($pay_no) {    //查询订单信息  2018年9月22日15:39:46   宋汲晨$order = Db::table('se_orders')->where('pay_no', $pay_no)->find();if ($order) {//查询小店信息  2018-09-25 20:36:19  时间长$store = Db::table('se_store')->where('wx_id', $order['store_id'])->find();if ($store) {//查到了小店信息,要推送的openId也就得到了,先插入要推送的消息的信息到数据库$wx_id = getuuid();$pay = Db::table('order')->where('pay_no', $order['pay_no'])->find();$res = Db::table('info')->insert(['wx_id' => $wx_id, 'good_title' => $order['good_title'], 'pay_price' => $order['pay_money'] / 100, 'order_time' => $pay['pay_time'], 'order_no' => $order['order_no'], 'order_status' => $order['status'], 'created_at' => date("Y-m-d H:i:s")]);//发给谁$tempOpenId = $store['pt_openid'];//七天前时间$date = date('Y-m-d H:i:s', strtotime('-7 days'));$form = Db::table('tpmessage')->where('openId', $tempOpenId)->where('idUsed', '否')->where('createdAt', '>', $date)->find();if ($form) {$fromid = $form['formId'];} else {$form = Db::table('tpmessage')->where('openId', '00000000000000000000')->where('idUsed', '否')->where('createdAt', '>', $date)->find();//预设的要发送的人if ($form) {$fromid = $form['formId'];} else {return '0';//也没有查到这个人有formId,跳出操作。在这里插入代码片}}$url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' . DyAccessToken();  //此处变量插入字符串不能使用{}!!! DyAccessToken是写的获取AccessToken的公共方法。$data = array('touser' => $tempOpenId, //发给谁'template_id' => '2h9Jje8m4jSkB1Worlz_ZH3R4GyfAzYu3Xznvu00000', //购买成功提示,这个Id 是在微信公众平台设置并生成的Id//                'page' => 'pages/ordermsg/ordermsg?id = ' . $wx_id,//要跳转的页面点击推送消息,可以携带参数,跳转到小程序后显示详细的信息。'page' => 'pages/index/index',//点击推送消息要跳转的页面'form_id' => $fromid,'data' => array('keyword1' => array('value' => $order['good_title'], // 商品名称'color' => '#173177'),'keyword2' => array('value' => $order['pay_money'] / 100, //订单金额'color' => '#173177'),'keyword3' => array('value' => $pay['pay_time'], //下单时间'color' => '#173177'),'keyword4' => array('value' => $order['order_no'], //订单编号'color' => '#173177'),'keyword5' => array('value' => $order['status'], //订单状态'color' => '#173177'),'keyword6' => array('value' => '点击产看详情查看收货地址', //收货地址'color' => '#173177')));$data = json_encode($data);$result = sendCmd($url, $data);$result = json_decode($result);Log::write($result);Log::write($result->errcode);Log::write($result->errmsg);if ($result->errcode == '0' && $result->errmsg == 'ok') {//发送成功把formId 设置为已经使用过$change = Db::table('tpmessage')->where('wx_id', $form['wx_id'])->update(['idUsed' => '是']);$changeN = Db::table('active_info')->where('wx_id', $wx_id)->update(['send_or' => '是']);return 'success';} else {Log::write('没有发送信息成功');return '发送失败';}} else {Log::write('$changeN没查到店铺信息');}} else {Log::write('$changeN没查到订单信息');}}

TP5之微信小程序推送模板消息相关推荐

  1. 微信小程序 推送模板教程 附源码

    无聊的时候 玩一下小功能踩踩坑  首先模板推送 需要准备一些材料 准备材料:1)公众号|小程序,添加选择的模板消息,2)在设置>开发设置页面,开通消息模板功能:如: 如果还没模板素材的 请新建一 ...

  2. php实现微信小程序推送,实现微信小程序模板消息不受限制、无限主动推送

    需求背景 基于微信的通知渠道,微信小程序为开发者提供了可以高效触达用户的模板消息能力,在用户本人与小程序页面有交互行为后触发,通过微信聊天列表中的服务通知可快捷进入查看消息,点击查看详情还能跳转到下发 ...

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

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

  4. 微信小程序推送消息java开发_干货 | 微信小程序推送消息简单Demo

    在开始前,你需要准备:注册微信小程序 一个简单的springBoot 项目 微信开发者工具 正式 微信小程序发送消息主要通过WxMaTemplateMessage 类来推送 public class ...

  5. 微信小程序系列--之模板消息错误提示: errcode: 41028, errmsg: invalid form id hint:如何解决...

    本人从事互联网项目java开发五年,会java,,python,nodejs,前端,爬虫等技术,对发*项目,营销活动,微信业务(公共号,支付,小程序,第三开放平台)很精通.本人也正在努力去实现一套微信 ...

  6. PHP小程序接口的模板消息,微信小程序PHP 发送模板消息通知

    注意: 首先,模板消息接口需写在后台服务器上.[追加!目前微信小程序  模板消息只能本人触发并发给本人.] 2018.4.9修改 :1次提交表单可下发1条,多次提交下发条数独立,相互不影响: 1次支付 ...

  7. 微信公众号推送模板消息工具类

    微信公众平台: 开通 模板消息功能 : 添加消息模板: 将模板id复制作为后台参数: 后台(java): 使用时直接调用WechatModelMessage.sendWechatmsgToUser() ...

  8. 微信小程序js发送模板消息

    微信小程序的Java的的后台获取的的的access_token存储数据库并接通本更新https://blog.csdn.net/weixin_41716049/article/details/8406 ...

  9. 微信小程序实现消息推送(调用小程序推送模板接口) 完整示例

    wxml文件:<form bind:submit="testSubmit" report-submit="true" hidden="{{emp ...

最新文章

  1. 2014 Super Training #7 F Power of Fibonacci --数学+逆元+快速幂
  2. JSF MVC 流程
  3. abaqus一维固结模拟
  4. 美团外卖订单系统演进
  5. MOEA/D原理及pyton实现
  6. Ubuntu16.04编译Android源码系列一——7.1.2和4.4及踩坑
  7. 《大数据之路:阿里巴巴大数据实践》第一篇 数据技术篇-读书笔记
  8. Gluster分布式文件系统
  9. 数据库缓存服务——NoSQL之Redis配置与优化
  10. Maven Docker几个插件打包+推送到镜像仓库或者私服(Harbor)的方法
  11. XYIXY.COM短网址在线生成,快速、稳定、永久有效,免费开放网址缩短API接口。...
  12. java dataoutputstream_Java DataOutputStream类
  13. 大三学计算机专业暑假工打什么,高考后学点什么好 打暑期工还是待在家
  14. POC、EXP、Payload的区别
  15. 国债是什么?国债逆回购是什么?国债逆回购是低风险高回报的投资方式之一
  16. C语言手写-植物大战僵尸
  17. Linux服务器挂载U盘
  18. 重启IIS和Sqlserver的命令
  19. Parasoft参与起草《机器人安全系统编码规则(C++)》正式发布
  20. 搞定蓝牙——第二篇(蓝牙架构)

热门文章

  1. pdf文件转换成jpg格式
  2. java具名参数_Spring jdbc具名参数使用方法详解
  3. excel文字显示图标集_创建自己的Excel图标集
  4. 学习WEB前端第四天(3)-背景图像
  5. Vulnhub-maEnuBox
  6. Oracle语句详解
  7. Vue3中如何进行页面局部刷新,组件刷新
  8. VM虚拟机过检测全版本
  9. android studio如何连接到MUMU模拟器
  10. vue 做登陆页面 ( 登陆成功后去掉注册和登陆按钮 显示用户名)