E企盈小程序营销工具技术服务商 热线:4006-838-530

模板消息,《微信小程序发送模板消息》详细步骤

E企盈小程序直播系统

第一步:获取access_token第一步详情:因为access_token在微信公众号还是小程序,在一个月之内都有获取次数的限制,并且一个access_token只有2小时的有效期;所以每当我们获取一次access_token,就要反复利用;我这里的方法是将获得access_token存进一个数据表;然后每次先去表中查access_token;判断是否有效,过期则重新在去获取一次,在存到数据表中,更新时间。下面是我存access_token数据表的结构://微信小程序获取access_tokenfunctiongetTokens(){$appid=’你们自己的’;$appsecret=’你们自己的’;$mysql=newMysql();$info=$mysql-fetchRow(“selectaccess_token_time,access_tokenfromwx_accountwhereappid='{$appid}’andappsecret='{$appsecret}'”);$now=time();if($now-$info[‘access_token_time’]7000){$token=$info[‘access_token’];return$token;}else{$token_access=”https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret”;$tokening=curl_get($token_access);$tokens=json_decode($tokening[“output”],true);$token=$tokens[“access_token”];$arr=array(‘access_token_time’=time(),’access_token’=$token);$where=”appid='{$appid}’andappsecret='{$appsecret}'”;$res=$mysql-update($arr,$where,’wx_account’);unset($mysql);if($res){return$token;}}}第二步:获取formId第二步详情:获取小程序端的formid,微信小程序在对表单form进行操作的时候,会产生formid,这个需要自己去获取formid;这个formid是小程序发送模板消息必要参数之一,并且一个formid有效期只有7天,只能够使用一次。下面是我获取formId的存进数据库的数据表:(注意一个在获取formId的同时,也要获取当前的openid);每次使用完formid,这个formid就不能在使用。第三步:判断获取formId是否过期第三步详情:formid有一个有效期7天,所以我们要判断你使用的formid是否在有效期内。根据当前时间和createTime字段进行判断。下面是方法,我使用递归的方法,如果在有效期内,返回这个formid;如果不在这个有效期内,则递归调用自身,直至有能够使用的formid。//判断form_id是否过期functionform($openid){$mysql=newMysql();$formId=$mysql-fetchRow(“selectfromzacg_formIdwhereopenid='{$openid}’andstatus=0”);if(empty($formId)){returnfalse;}$create_time=$formId[‘createTime’];$now_time=time();$cha_time=$now_time-($create_time+6060247);if($cha_time0){$data=array(‘status’=’2’);$res=$mysql-update($data,”openid='{$openid}’andformId='{$formId[“formId”]}'”,”zacg_formId”);if($res){unset($mysql);returnform($openid);}}else{unset($mysql);return$formId[‘formId’];}}第四步:传递模板数据第四步详情:发送模板消息,模板的内容需要我们自己去配凑起来,首先要去你的微信公众平台申请一个模板消息,申请成功之后,微信会给你发送一个模板id;例如下图://传递模板数据functiondata($keyword,$openid,$template_id,$page,$form_id){$data=array(“touser”=$openid,//推送的人的openid”template_id”=$template_id,//模板id”page”=$page,//跳转路径”form_id”=$form_id,//form_id”data”=$keyword);$result=sendpassMessage($data);if($result[‘output’][‘errcode’]==0){returntrue;}else{returnfalse;}}第五步:发送模板消息//发送小程序模板消息functionsendpassMessage($data){$token=getTokens();$template=$data;//数组形式的模板内容$json_template=json_encode($template);$url=”https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=”.$token;$res=curl_post($url,urldecode($json_template));//以post方式向用户发送数据return$res;}第六步:接口(群发,循环数据库用户的openid,查找多个formid,然后群发模板消息,可在第四步之前获取数据,进行数据传递)$keyword1=$activityInfo[‘title’];//活动主题$keyword2=$activityInfo[‘address’];//会议地点$keyword3=$activityInfo[‘limitNumber’];//参会人数$keyword4=date(“Y-m-dH:i:s”,$activityInfo[‘startTime’]).’-‘.date(“Y-m-dH:i:s”,$activityInfo[‘endTime’]);//会议时间$keyword5=”报名截止时间为”.date(“Y-m-dH:i:s”,$activityInfo[‘deadline’]);//温馨提示$openidArr=$mysql-fetchRows(“selectopenidfromzacg_userwherecompanyId={$companyId}androlein({$role})”);foreach($openidArras$k=$v){$openid=”{$v[‘openid’]}”;$template_id=”UwvpxmzzqMBCoHd76ED4cr1GK94ps9584UJC70lXjRY”;$page=”pages/activityList/activityDetails/activityDetails?id=”.$activityInfo[‘id’];$form_id=form($openid);$formStatus=array(‘status’=’1’);$keyword=array(‘keyword1’=array(“value”=$keyword1),//活动主题’keyword2’=array(“value”=$keyword2),//会议地点’keyword3’=array(“value”=$keyword3),//参会人数’keyword4’=array(“value”=$keyword4),//会议时间’keyword5’=array(“value”=$keyword5),//温馨提示);$result=data($keyword,$openid,$template_id,$page,$form_id);$mysql-update($formStatus,”formId='{$form_id}'”,”zacg_formId”);//1表示已经使用}注意:以上代码中的sql语句是我所在公司的框架中的写法,需要的换成你们自己的写法即可。

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 模板消息,《微信小程序发送模板消息》详细步骤
分享到: 更多 (0)
E企盈小程序直播营销卖货系统
E企盈直播平台营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏