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

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

课程播放地址:http://www.php.cn/course/320.html

该老师讲课风格:

讲课亲切自然,朴实无华,没有矫揉造作,也不刻意渲染,而是娓娓而谈,细细道来,师生之间在一种平等、协作、和谐的气氛下,进行默默的情感交流,将对知识的渴求和探索融于简朴、真实的教学情景之中,学生在静静的思考、默默的首肯中获得知识

本视频中较为难点是微信API接口分析了:

1. index.php

<?php  include_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;    }        }

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

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 平台
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:极客学院微信小程序从基础到实战视频资料分享

相关资讯