WeChat 애플릿과 PHP는 템플릿 메시지 알림을 보냅니다.

不言
풀어 주다: 2023-03-29 11:10:02
원래의
2294명이 탐색했습니다.

이 글에서는 주로 템플릿 메시지 알림을 보내기 위한 WeChat 애플릿과 PHP를 소개합니다. 이는 특정 참조 가치가 있습니다. 이제 모든 사람과 공유합니다. 도움이 필요한 친구들은 이를 참조할 수 있습니다.

먼저 템플릿 메시지 인터페이스를 작성해야 합니다. 백엔드 서버에서. 【추가하다! 현재 WeChat 애플릿 템플릿 메시지는 으로만 트리거되고 나에게 보낼 수 있습니다. 】2018.4.9에 수정됨: 한 번의 양식 제출로 1개의 항목을 발행할 수 있으며 여러 제출에 대해 제출된 항목 수는 독립적이며 서로 영향을 미치지 않습니다. 시계 장치 번호는 독립적이며 서로 영향을 미치지 않습니다.

애플릿

템플릿 정보에 따라 해당 값이 백그라운드로 출력되고, 알리미의 openid인 formid 또는 prepay_id도 출력됩니다. .wxml 파일
formid 또는 prepay_id여야 하기 때문에 이전에 추가하는 것을 잊어버렸습니다. 따라서 획득을 트리거하는 버튼이 있어야 합니다. 수동 트리거링이 필요하지 않은 방법이 있다면 알려주세요! ! ! ! 나는 이 질문에 대해 오랫동안 생각해 왔습니다! !

  <form bindsubmit="tiXian" report-submit=&#39;true&#39;>
    <button class=&#39;btn&#39; form-type="submit" disabled="{{lock}}">提现</button>
  </form>
로그인 후 복사

.js 파일

  /**
   * 触发微信提醒
   */
  remindMessage: function (formid){
    var that = this
    wx.request({
      method: &#39;POST&#39;,
      url: &#39;https://www.**********************_message.php&#39;,//后台接口
      data: {
        o_id: that.data.allthing.openid,
        u_name: that.data.allthing.userInfo.nickName,
        money: that.data.money,
        formid: formid
      },
      header: {
        &#39;content-type&#39;: &#39;application/x-www-form-urlencoded&#39;
      },
      success: function (res) {
        console.log(res.data)
      },
    })
  }
로그인 후 복사
백엔드 인터페이스

*****.php

<?php
include_once(&#39;/o**********************c/function.php&#39;);
include_once(&#39;/o*************************on/config.php&#39;);
$ms = new Mysqls();
$o_id = intval($_POST[&#39;o_id&#39;]);
$u_name = addslashes($_POST[&#39;u_name&#39;]);
$money  = floatval($_POST[&#39;money&#39;]);
$formid = addslashes($_POST[&#39;formid&#39;]);
$dated = date("Y-m-d H:i:s");
$to_place = "微信钱包";
$remark = "余额约 0-5 个工作日返回您的充值账户,请等待余额到账通知";
$template_id = "zAW*******************4DY";      //模板id
$access_token=M::Get(&#39;q******_&#39;.$appid);//需要使用token。放在缓存中!!
if(!$access_token){
        $url_access_token = &#39;https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&#39;.$appid.&#39;&secret=&#39;.$secret;
        $json_access_token = sendCmd($url_access_token,array());
        //access_token加缓存
        $arr_access_token = json_decode($json_access_token,true);
        $access_token = $arr_access_token[&#39;access_token&#39;];
        M::Set(&#39;qub*************_&#39;.$appid,$access_token,3600);
}
if(!$o_id || !$u_name || !$money || !$formid){
	$arr = array(
		&#39;ret&#39;=>0,
		&#39;msg&#39;=>&#39;参数错误!&#39;
	);
	echo json_encode($arr);
	die();
}
if(!empty($access_token)) {
	$url = &#39;https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=&#39;.$access_token;  //此处变量插入字符串不能使用{}!!!  
 	$data = &#39;{
		  "touser":"&#39;.$o_id.&#39;",  
		  "template_id":"&#39;.$template_id.&#39;",
		  "form_id":"&#39;.$formid.&#39;",   
		  "data": {
			  "keyword1": {
				  "value":"&#39;.$u_name.&#39;"
			  }, 
			  "keyword2": {
				  "value":"&#39;.$money.&#39;" 
			  }, 
			  "keyword3": {
				  "value":"&#39;.$to_place.&#39;"
			  } , 
			  "keyword4": {
				  "value":"&#39;.$dated.&#39;" 
			  } ,
			   "keyword5": {
				  "value":"&#39;.$remark.&#39;" 
			  } 
		  }
		}&#39;;
    $result = sendCmd($url,$data);
	$arr = array(&#39;ret&#39;=>1,
		&#39;msg&#39;=>&#39;success&#39;,
		&#39;data&#39;=>array(&#39;result&#39;=>$result),	
		);
} else {
	$arr = array(&#39;ret&#39;=>0,&#39;msg&#39;=>&#39;ACCESS TOKEN为空!&#39;);
}
	echo json_encode($arr);


/**
 * 发起请求
 * @param  string $url  请求地址
 * @param  string $data 请求数据包
 * @return   string      请求返回数据
 */
function sendCmd($url,$data)
{
    $curl = curl_init(); // 启动一个CURL会话      
    curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址                  
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检测    
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 从证书中检查SSL加密算法是否存在      
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(&#39;Expect:&#39;)); //解决数据包大不能提交     
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转      
    curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referer      
    curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求      
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包      
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循     
    curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容      
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回 
           
    $tmpInfo = curl_exec($curl); // 执行操作      
    if (curl_errno($curl)) {      
       echo &#39;Errno&#39;.curl_error($curl);      
    }      
    curl_close($curl); // 关键CURL会话      
    return $tmpInfo; // 返回数据      
}
?>
로그인 후 복사

관련 권장 사항: PHP에서 이메일 보내기에 대한 지식 포인트에 대한 자세한 설명

PHP 보내기 문자 메시지, 이메일 등 실용적인 PHP 코드를 많이 공유합니다.

위 내용은 WeChat 애플릿과 PHP는 템플릿 메시지 알림을 보냅니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿