传智和黑马的微信公众平台开发视频教程资源推荐
微信公众平台,给个人、企业和组织提供业务服务与用户管理能力的全新服务平台。微信公众平台主要有实时交流、消息发送和素材管理。用户可以对公众账户的粉丝分组管理、实时交流,同时也可以使用高级功能-编辑模式和开发模式对用户信息进行自动回复。《传智、黑马微信公众平台开发视频教程》是由传智播客和黑马程序员联合出品的微信公众平台开发视频教程。
课程播放地址:http://www.php.cn/course/320.html
该老师讲课风格:
讲课亲切自然,朴实无华,没有矫揉造作,也不刻意渲染,而是娓娓而谈,细细道来,师生之间在一种平等、协作、和谐的气氛下,进行默默的情感交流,将对知识的渴求和探索融于简朴、真实的教学情景之中,学生在静静的思考、默默的首肯中获得知识
本视频中较为难点是微信API接口分析了:
微信入口绑定,微信事件处理,微信API全部操作包含在这些文件中。微信支付、微信红包、微信卡券、微信小店。
1. index.php<?phpinclude_once 'lib.inc.php';$wcObj = new WeChat("YOUKUIYUAN");$wcObj->wcValid();2. 微信入口类<?php/** * Description of wechat * * @author Administrator */class WeChat extends WxApi{public $token = "";//put your code herepublic function __construct($token = "") {parent::__construct();$this->token = $token;}public function wcCheckSignature(){try{if (empty($this->token)) {throw new Exception('TOKEN is not defined!');}$signature = $_GET["signature"];$timestamp = $_GET["timestamp"];$nonce = $_GET["nonce"];$token = $this->token;$tmpArr = array($token, $timestamp, $nonce);// use SORT_STRING rulesort($tmpArr, SORT_STRING);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}catch (Exception $e) {echo 'Message: ' .$e->getMessage();}}public function wcValid(){$echoStr = isset($_GET["echostr"]) && !empty($_GET["echostr"]) ? addslashes($_GET["echostr"]) : NULL;if(is_null($echoStr)){$this->wcMsg();}else{//valid signature , optionif($this->wcCheckSignature()){echo $echoStr;exit;}else{exit();}}}public function wcMsg(){//get post data, May be due to the different environments$postStr = isset($GLOBALS["HTTP_RAW_POST_DATA"]) && !empty($GLOBALS["HTTP_RAW_POST_DATA"]) ? $GLOBALS["HTTP_RAW_POST_DATA"] : "";if(!empty($postStr)){libxml_disable_entity_loader(true);$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);$this->zcLog(TRUE,$postObj);$fromUsername = $postObj->FromUserName;$toUsername = $postObj->ToUserName;$MsgType = $postObj->MsgType;if($MsgType == 'event'){//执行事件相应$Event = $postObj->Event;switch ($Event) {case 'subscribe'://关注break;case 'unsubscribe'://取消关注break;case 'SCAN'://扫描break;case 'LOCATION'://地址break;case 'CLICK'://点击时间break;case 'VIEW'://跳转break;case 'card_pass_check'://卡券审核通过break;case 'card_not_pass_check'://卡券审核失败break;case 'user_get_card'://用户领取卡券break;case 'user_del_card'://用户删除卡券break;case 'user_view_card'://用户浏览会员卡break;case 'user_consume_card'://用户核销卡券break;case 'merchant_order'://微小店用户下单付款break;default:break;}}else{switch ($MsgType) {case 'text'://文本格式break;case 'image'://图片格式break;case 'voice'://声音break;case 'video'://视频break;case 'shortvideo'://小视频break;case 'location'://上传地理位置break;case 'link'://链接相应break;default:break;}}////////////////////////////////////////////////////////////////////$keyword = trim($postObj->Content);$time = time();$textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";if(!empty( $keyword )){$msgType = "text";$contentStr = "Welcome to wechat world!";$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);echo $resultStr;}else{echo "Input something...";}////////////////////////////////////////////////////////////////////}else{echo "暂时没有任何信息!";exit;}}//日志LOGpublic function zcLog($errcode , $errmsg){$this->returnAy = array();$this->returnAy['errcode'] = $errcode;$this->returnAy['errmsg'] = $errmsg;$this->returnAy['errtime'] = date("Y-m-d H:i:s",time());$logfile = fopen("logfile_".date("Ymd",time()).".txt", "a+");$txt = json_encode($this->returnAy)."n";fwrite($logfile, $txt);fclose($logfile);//return $this->returnAy;}}以上就是传智和黑马的微信公众平台开发视频教程资源推荐的详细内容,更多请关注小潘博客其它相关文章!