微信小程序开发之发送模板消息
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; }
请发表评论