站内搜索

传智和黑马的微信公众平台开发视频教程资源推荐

微信公众平台,给个人、企业和组织提供业务服务与用户管理能力的全新服务平台。微信公众平台主要有实时交流、消息发送和素材管理。用户可以对公众账户的粉丝分组管理、实时交流,同时也可以使用高级功能-编辑模式和开发模式对用户信息进行自动回复。《传智、黑马微信公众平台开发视频教程》是由传智播客和黑马程序员联合出品的微信公众平台开发视频教程。

E(QI8~C8Z3[%1`N5VYJKWVE.png

课程播放地址: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 here  public 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 rule      sort($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 , option      if($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;    }  }      //日志LOG  public 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;  }    }

以上就是传智和黑马的微信公众平台开发视频教程资源推荐的详细内容,更多请关注php中文网其它相关文章!

  • 上一篇:极客学院微信小程序从基础到实战视频资料分享
  • 下一篇:0基础微信开发入门视频教程的资料分享