微信小程序> 微信开发者模式demo-微信平台开发模式-微信小程序开发服务

微信开发者模式demo-微信平台开发模式-微信小程序开发服务

浏览量:1382 时间: 来源:nhphp
1.

官方demo文件:wx_sample.php

?php/***wechatphptest*///defineyourtokendefine("TOKEN","weixin");$wechatObjnewwechatCallbackapiTest();$wechatObj-valid();classwechatCallbackapiTest{publicfunctionvalid(){$echoStr$_GET["echostr"];//validsignature,optionif($this-checkSignature()){echo$echoStr;exit;}}publicfunctionresponseMsg(){//getpostdata,Maybeduetothedifferentenvironments$postStr$GLOBALS["HTTP_RAW_POST_DATA"];//extractpostdataif(!empty($postStr)){/*libxml_disable_entity_loaderistopreventXMLeXternalEntityInjection,thebestwayistocheckthevalidityofxmlbyyourself*/libxml_disable_entity_loader(true);$postObjsimplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);$fromUsername$postObj-FromUserName;$toUsername$postObj-ToUserName;$keywordtrim($postObj-Content);$timetime();$textTpl"xmlToUserName![CDATA[%s]]/ToUserNameFromUserName![CDATA[%s]]/FromUserNameCreateTime%s/CreateTimeMsgType![CDATA[%s]]/MsgTypeContent![CDATA[%s]]/ContentFuncFlag0/FuncFlag/xml";if(!empty($keyword)){$msgType"text";$contentStr"Welcometowechatworld!";$resultStrsprintf($textTpl,$fromUsername,$toUsername,$time,$msgType,$contentStr);echo$resultStr;}else{echo"Inputsomething...";}}else{echo"";exit;}}privatefunctioncheckSignature(){//youmustdefineTOKENbyyourselfif(!defined("TOKEN")){thrownewException('TOKENisnotdefined!');}$signature$_GET["signature"];$timestamp$_GET["timestamp"];$nonce$_GET["nonce"];$tokenTOKEN;$tmpArrarray($token,$timestamp,$nonce);//useSORT_STRINGrulesort($tmpArr,SORT_STRING);$tmpStrimplode($tmpArr);$tmpStrsha1($tmpStr);if($tmpStr$signature){returntrue;}else{returnfalse;}}}?2.

在此基础上封装的

?phprequire'Wechat.class.php';/***微信接口文件*///defineyourtokendefine("TOKEN","token");classWeiXinextendsWechat{publicfunctionvalid(){$echoStr$_GET["echostr"];//validsignature,optionif($this-checkSignature()){echo$echoStr;exit;}}publicfunctionresponseMsg(){/***处理微信服务器发送过来xml数据*///getpostdata,Maybeduetothedifferentenvironments//获取微信服务器发送过来的xml数据$postStr$GLOBALS["HTTP_RAW_POST_DATA"];//extractpostdata//判断是否为微信访问if(!empty($postStr)){/*libxml_disable_entity_loaderistopreventXMLeXternalEntityInjection,thebestwayistocheckthevalidityofxmlbyyourself*/libxml_disable_entity_loader(true);//将获取xml数据转成simple对象$postObjsimplexml_load_string($postStr,'SimpleXMLElement',LIBXML_NOCDATA);$fromUsername$postObj-FromUserName;$toUsername$postObj-ToUserName;$keywordtrim($postObj-Content);$timetime();/***响应消息*/switch($postObj-MsgType){case"text":if($keyword"文本"){$this-sendText($fromUsername,$toUsername,"你要的是文本!");}elseif($keyword"图片"){//$img"Orlaq3o42ukYZG_6cPu5-RVKYiRneHaR-iIcQvrHzqPaLaK4JymWGYuVsbCR_5o-";$filedirname(__FILE__)."/pic/23.jpg";//返回的图片信息$media_id$this-getMediaId($file,'image');//获取图片的media_id$this-sendImg($fromUsername,$toUsername,$img);}elseif($keyword"视频"){$vid1"5mYa7-YoFgHlAN09G0VVsFVf0rwec0D1_Ed1TfBv1vbl1UNH7KgBFpYVtL5DiG1F";$this-sendVideo($fromUsername,$toUsername,$vid1,"^-^","看看这是谁");}elseif($keyword"音乐"){$musicUrl1"http://47.106.71.212/music/TakeMeToYourHeart.mp3";//音乐缩略图$thumbMediaId1"3X4HZhK6Qvq9Dw_shLX5wslP3da6keykdtahtZzuy-qJ7iUnyzybYc8n6yv8a41u";$this-sendMusic($fromUsername,$toUsername,"TakeMeToYourHeart","动听的相思歌曲",$musicUrl1,$thumbMediaId1);}elseif($keyword"单图文"){$test1array(array("title""测试title","description""测试description","picurl""http://47.106.71.212/pic/23.jpg","url""http://www.nhphp.com"));$this-sendImgArticle($fromUsername,$toUsername,$test1);}elseif($keyword"多图文"){$test2[["title""测试多图文title","description""测试多图文description","picurl""http://47.106.71.212/pic/9.jpg","url""http://www.nhphp.com"],["title""美丽中国","description""中国很美丽","picurl""http://47.106.71.212/pic/c.jpg","url""http://47.106.71.212/密钥.txt"],["title""美丽肉肉","description""肉肉很可爱","picurl""http://47.106.71.212/pic/rr.jpg","url""http://www.nhphp.com"]];$this-sendImgArticle($fromUsername,$toUsername,$test2);}break;case"image":$this-sendText($fromUsername,$toUsername,"你输入的是图片!");break;case"event":if($postObj-Event"subscribe"){$this-sendText($fromUsername,$toUsername,"欢迎关注“PHP各种不明白^-^”!");}elseif($postObj-Event"unsubscribe"){//$this-sendText($fromUsername,$toUsername,"欢迎再次关注!");}elseif($postObj-Event"CLICK"$postObj-EventKey"V1001_TODAY_MUSIC"){$musicUrl1"http://47.106.71.212/music/TakeMeToYourHeart.mp3";//音乐缩略图$thumbMediaId1"3X4HZhK6Qvq9Dw_shLX5wslP3da6keykdtahtZzuy-qJ7iUnyzybYc8n6yv8a41u";$this-sendMusic($fromUsername,$toUsername,"TakeMeToYourHeart","动听的相思歌曲",$musicUrl1,$thumbMediaId1);}elseif($postObj-Event"CLICK"$postObj-EventKey"V1001_TODAY_TEX"){$this-sendText($fromUsername,$toUsername,"这是一个美丽的故事......!");}elseif($postObj-Event"CLICK"$postObj-EventKey"V1001_TODAY_VOIDE"){$vid1"5mYa7-YoFgHlAN09G0VVsFVf0rwec0D1_Ed1TfBv1vbl1UNH7KgBFpYVtL5DiG1F";$this-sendVideo($fromUsername,$toUsername,$vid1,"^-^","看看这是谁");}elseif($postObj-Event'CLICK'$postObj-EventKey'V1001_TODAY_IMGARTICLE'){$this-sendText($fromUsername,$toUsername,'图文还没写');}break;default:$this-sendText($fromUsername,$toUsername,"你输入的是我不认识的格式!");break;}}else{echo"网页访问显示";exit;}}//自定义响应函数/***回复文本消息*@paramstring$fromUsername微信用户*@paramstring$toUsername微信公众帐号*@paramstring$content回复文本的内容*/publicfunctionsendText($fromUsername,$toUsername,$content){$textTpl"xmlToUserName![CDATA[%s]]/ToUserNameFromUserName![CDATA[%s]]/FromUserNameCreateTime%s/CreateTimeMsgType![CDATA[text]]/MsgTypeContent![CDATA[%s]]/ContentFuncFlag0/FuncFlag/xml";$resultStrsprintf($textTpl,$fromUsername,$toUsername,time(),$content);echo$resultStr;}/***回复图片消息*@paramstring$fromUsername微信用户*@paramstring$toUsername微信公众帐号*@paramstring$media_id回复图片的media_id*/publicfunctionsendImg($fromUsername,$toUsername,$media_id){$imgTpl"xmlToUserName![CDATA[%s]]/ToUserNameFromUserName![CDATA[%s]]/FromUserNameCreateTime%s/CreateTimeMsgType![CDATA[image]]/MsgTypeImageMediaId![CDATA[%s]]/MediaId/Image/xml";$resultStrsprintf($imgTpl,$fromUsername,$toUsername,time(),$media_id);echo$resultStr;}/***回复视频消息*@paramstring$fromUsername微信用户*@paramstring$toUsername微信公众帐号*@paramstring$media_id回复视频的media_id*@paramstring$title回复视频的标题*@paramstring$description回复视频的描述*/publicfunctionsendVideo($fromUsername,$toUsername,$media_id,$title,$description){$videoTpl"xmlToUserName![CDATA[%s]]/ToUserNameFromUserName![CDATA[%s]]/FromUserNameCreateTime%s/CreateTimeMsgType![CDATA[video]]/MsgTypeVideoMediaId![CDATA[%s]]/MediaIdTitle![CDATA[%s]]/TitleDescription![CDATA[%s]]/Description/Video/xml";$resultStrsprintf($videoTpl,$fromUsername,$toUsername,time(),$media_id,$title,$description);echo$resultStr;}/***回复音乐消息*@paramstring$fromUsername微信用户*@paramstring$toUsername微信公众帐号*@paramstring$content回复文本的内容*@paramstring$title回复音乐的标题*@paramstring$description回复音乐的描述*@paramstring$description回复音乐的地址*@paramstring$description回复音乐的缩略图的mediaid*/publicfunctionsendMusic($fromUsername,$toUsername,$title,$description,$musicUrl,$thumbMediaId){$musicTpl"xmlToUserName![CDATA[%s]]/ToUserNameFromUserName![CDATA[%s]]/FromUserNameCreateTime%s/CreateTimeMsgType![CDATA[music]]/MsgTypeMusicTitle![CDATA[%s]]/TitleDescription![CDATA[%s]]/DescriptionMusicUrl![CDATA[%s]]/MusicUrlHQMusicUrl![CDATA[%s]]/HQMusicUrlThumbMediaId![CDATA[%s]]/ThumbMediaId/Music/xml";$resultStrsprintf($musicTpl,$fromUsername,$toUsername,time(),$title,$description,$musicUrl,$musicUrl,$thumbMediaId);echo$resultStr;}/***回复图文消息*@paramstring$fromUsername微信用户*@paramstring$toUsername微信公众帐号*@paramstring$array回复图文消息的数组['title','description','picurl','url']*/publicfunctionsendImgArticle($fromUsername,$toUsername,$array){$artTpl"xmlToUserName![CDATA[%s]]/ToUserNameFromUserName![CDATA[%s]]/FromUserNameCreateTime%s/CreateTimeMsgType![CDATA[news]]/MsgTypeArticleCount%s/ArticleCountArticles";foreach($arrayas$val){$artTpl."itemTitle![CDATA[{$val['title']}]]/TitleDescription![CDATA[{$val['description']}]]/DescriptionPicUrl![CDATA[{$val['picurl']}]]/PicUrlUrl![CDATA[{$val['url']}]]/Url/item";}$artTpl."/Articles/xml";$resultStrsprintf($artTpl,$fromUsername,$toUsername,time(),count($array));echo$resultStr;}/***验证加密签名*/privatefunctioncheckSignature(){//youmustdefineTOKENbyyourselfif(!defined("TOKEN")){thrownewException('TOKENisnotdefined!');}$signature$_GET["signature"];$timestamp$_GET["timestamp"];$nonce$_GET["nonce"];$tokenTOKEN;$tmpArrarray($token,$timestamp,$nonce);//useSORT_STRINGrulesort($tmpArr,SORT_STRING);$tmpStrimplode($tmpArr);$tmpStrsha1($tmpStr);if($tmpStr$signature){returntrue;}else{returnfalse;}}}$wechatObjnewWeiXin();//$wechatObj-valid();//验证服务器的方法,成功之后注释$wechatObj-responseMsg();//开启消息自动回复?3.

引用的封装Wechat.class.php内容如下

?php/***微信工具类*/define("APPID",'');//开发者IDdefine("SECRET",'');//开发者密钥classWechat{/***新增素材*@paramstring$file新增的素材*@paramstring$type新增的素材类型*@returnstring新增素材的media_id*/publicfunctiongetMediaId($file,$type){//设置接口参数$paramarray('access_token'$this-getAccessToken(),'type'$type);$api"https://api.weixin.qq.com/cgi-bin/media/upload?".http_build_query($param);$postDataarray('media'newCURLFile($file),#获取文件信息);//发送请求$rs$this-httpRequest($api,$postData);//将json字符串转成php数组$datajson_decode($rs,true);return$data['media_id'];}/***获取access_token*@returnstringaccess_token值*/publicfunctiongetAccessToken(){//设置接口参数$paramarray('appid'APPID,'secret'SECRET,);$api'https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credential'.http_build_query($param);//发送接口请求$rs$this-httpRequest($api);//将获取的json字符串转成php数组$datajson_decode($rs,true);return$data['access_token'];}/***发送http请求*@paramstring$url请求地址*@paramarray$postData请求(post)发送的数据*@returnstring获取的数据*/publicfunctionhttpRequest($url,$postDataarray()){//(1)初始化$chcurl_init();//(2)设置选项//设置请求的urlcurl_setopt($ch,CURLOPT_URL,$url);//将curl_exec()获取的数据以字符串返回,而不是直接输出。curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);if(!empty($postData)){//设置请求方式为postcurl_setopt($ch,CURLOPT_POST,true);curl_setopt($ch,CURLOPT_POSTFIELDS,$postData);}//curl注意事项,如果发送的请求是https,必须要禁止服务器端校检SSL证书curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);//(3)执行$resultcurl_exec($ch);//(4)关闭curl_close($ch);return$result;}}$objnewWechat();$res$obj-getAccessToken();var_dump($res);

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎