微信小程序 发送模版消息
微信小程序开发之发送模板消息
1,小程序wxml页面form表单添加 report-submit="true"
<form bindsubmit="sub" report-submit="true"> <button formType="submit">确认发布</button> </form>
2,小程序js代码 (formId唯一且只有提交表单时产生,只能使用一次)
Page({ // 页面的初始数据 data: {}, sub: function (e) { console.log(e.detail.formId); // 获取formId,发送至服务器端 } });
3,php程序代码
// 发送get请求 function curlGet($url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); if(curl_errno($curl)){ return 'ERROR ' . curl_error($curl); } curl_close($curl); return $output; } // 获取小程序用户access_token function getToken(){ $appid = '小程序公众平台中的APPID'; // 注意!!! $appsecret = '小程序公众平台中的APPSECRET'; // 注意!!! $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}"; $output = curlGet($url); $result = json_decode($output, true); return $result['access_token']; }
// 发送通知 function sendNotice(){ $access_token = getToken(); $url = 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' . $access_token; $post_data = [ 'touser' => 'openid', // 用户的 openID,可用过 wx.getUserInfo 获取 'template_id' => 'SNZQnzYFJMwwgRp3Oh2fvI_PHp_SQWqZzpiXLP3pSJI', // 小程序后台申请到的模板编号 'page' => '/pages/index/index', // 点击模板消息后跳转到的页面,可以传递参数 'form_id' => $formid, // 第一步里获取到的 formID 'data' => [ 'keyword1' => ['value' => '信息1'], 'keyword2' => ['value' => '信息2'], 'keyword3' => ['value' => '信息3'] ], 'emphasis_keyword' => '' // 需要强调的关键字,会加大居中显示 ]; $data = json_encode($post_data, true); $options = [ 'http' => [ 'method' => 'POST', 'header' => 'Content-type:application/json', // header 需要设置为 JSON 'content' => $data, 'timeout' => 60 // 超时时间 ] ]; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); return $result; }