手揣网教程:绿色安全纯净官方版,体验当今速度最快的浏览器!

传智与黑马的微信公众平台开发视频图文详细教程资源推荐

时间:2023/1/22作者:未知来源:手揣网教程人气:

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

传智与黑马的微信公众平台开发视频图文详细教程资源推荐

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

该老师讲课风格:

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

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

微信入口绑定,微信事件处理,微信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;
  }
    
}

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


微信提供公众平台、朋友圈、消息推送等功能,用户可以通过“摇一摇”、“搜索号码”、“附近的人”、扫二维码方式添加好友和关注公众平台,同时微信将内容分享给好友以及将用户看到的精彩内容分享到微信朋友圈。



关键词:传智与黑马的微信公众平台开发视频图文详细教程资源推荐




Copyright © 2012-2018 手揣网教程(http://www.shouchuai.com) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版