扩展例子,容联运通信

by admin on 2019年2月11日

协调也是刚刚商讨,希望对也在商讨的伙伴有救助。

自个儿也是刚刚探讨,希望对也在商量的同伙有帮带。

源码:

其一是借力打力,只是抓去朋友网的剧情!!!

手续:1、登录荣联运通信注册获取ACCOUNT SID、AUTH TOKEN、Rest
URL(生产)、AppID(默许);

手续:1、登录荣联运通信注册获取ACCOUNT SID、AUTH TOKEN、Rest
URL(生产)、AppID(默许);

 代码如下

可是一定好用哦!

   2、注册测试用手机号码(先挂号测试号码可以使用);

   2、注册测试用手机号码(先挂号测试号码可以使用);

define(“TOKEN”, “xingans”);

看代码:

     3、下载demo示例,并将代码放到项目中(最好单独建文件夹存储)。

     3、下载demo示例,并将代码放到项目中(最好单独建文件夹存储)。

$wechatObj = new wechatCallbackapiTest();

 代码如下

代码区:一、新建test.app.php(测试用控制器)

代码区:一、新建test.app.php(测试用控制器)

$wechatObj->responseMsg();

<?php
$videourl=”;
function get_content($url ,$data){
 if(is_array($data)){
  $data = http_build_query($data, ”, ‘&’); 
 }
 $ch = curl_init();
 curl_setopt($ch,
CURLOPT_RETURNTRANSFER, true );
 curl_setopt($ch, CURLOPT_POST, 1);
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_setopt($ch, CURLOPT_URL,$url);
 curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
 $result = curl_exec($ch);
 return $result;
}
$str =
get_content(‘));
$str=json_decode($str);
var_dump($str);
?>

<?php
/*
 * 短信接口测试
 */
class TestApp extends ShoppingbaseApp{
    public function index(){
        $this->display(‘test.html’);
    }
    public function get_info()
    {
       
include_once(ROOT_PATH.’/includes/rly_message/rest.app.php’);//引入模板文件
        //主帐号,对应开官网发者主账号下的 ACCOUNT SID
        $accountSid = ”;
        //主帐号令牌,对应官网开发者主账号下的 AUTH TOKEN
        $accountToken = ”;
        //应用Id,在官网应用列表中点击应用,对应运用详情中的APP ID
        //在开发调试的时候,可以采纳官网自动为您分配的测试Demo的APP ID
        $appId =”;
        //请求地址
        //沙盒环境(用于选取开发调试):sandboxapp.cloopen.com
        //生产条件(用户使用上线使用):app.cloopen.com
        $serverIP =’app.cloopen.com’;
        //请求端口,生产条件和沙盒环境一致
        $serverPort =’8883′;
        //REST版本号,在官网文档REST介绍中拿走。
        $softVersion =’2013-12-26′;
        //global
$accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion;
        $phone_mob = isset($_GET[‘phone_mob’]) ?
$_GET[‘phone_mob’] : ”;
        if($phone_mob){
           
$this->sendTemplateSMS($phone_mob,array(‘3519′,’5’),”1″,$accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion);//手机号码,替换内容数组,模板ID
        }
    }
    
  /**
  * 发送模板短信
  * @param to 手机号码集合,用英文逗号分开
  * @param datas 内容数据 格式为数组
例如:array(‘Marry’,’Alon’),如不需替换请填 null
  * @param $tempId
模板Id,测试应用和未上线应用使用测试模板请填入1,正式使用上线后填写已申请审核通过的沙盘ID
  */       
    public function
sendTemplateSMS($to,$datas,$tempId,$accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion)
    {
        // 初始化REST SDK
        $rest = new RestApp($serverIP,$serverPort,$softVersion);
        $rest->setAccount($accountSid,$accountToken);
        $rest->setAppId($appId);

<?php
/*
 * 短信接口测试
 */
class TestApp extends ShoppingbaseApp{
    public function index(){
        $this->display(‘test.html’);
    }
    public function get_info()
    {
       
include_once(ROOT_PATH.’/includes/rly_message/rest.app.php’);//引入模板文件
        //主帐号,对应开官网发者主账号下的 ACCOUNT SID
        $accountSid = ”;
        //主帐号令牌,对应官网开发者主账号下的 AUTH TOKEN
        $accountToken = ”;
        //应用Id,在官网应用列表中点击应用,对应选用详情中的APP ID
        //在开发调试的时候,可以应用官网自动为你分配的测试Demo的APP ID
        $appId =”;
        //请求地址
        //沙盒环境(用于选择开发调试):sandboxapp.cloopen.com
        //生产环境(用户使用上线使用):app.cloopen.com
        $serverIP =’app.cloopen.com’;
        //请求端口,生产条件和沙盒环境一致
        $serverPort =’8883′;
        //REST版本号,在官网文档REST介绍中取得。
        $softVersion =’2013-12-26′;
        //global
$accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion;
        $phone_mob = isset($_GET[‘phone_mob’]) ?
$_GET[‘phone_mob’] : ”;
        if($phone_mob){
           
$this->sendTemplateSMS($phone_mob,array(‘3519′,’5’),”1″,$accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion);//手机号码,替换内容数组,模板ID
        }
    }
    
  /**
  * 发送模板短信
  * @param to 手机号码集合,用英文逗号分开
  * @param datas 内容数据 格式为数组
例如:array(‘Marry’,’Alon’),如不需替换请填 null
  * @param $tempId
模板Id,测试应用和未上线应用使用测试模板请填入1,正式使用上线后填写已报名核查通过的模版ID
  */       
    public function
sendTemplateSMS($to,$datas,$tempId,$accountSid,$accountToken,$appId,$serverIP,$serverPort,$softVersion)
    {
        // 初始化REST SDK
        $rest = new RestApp($serverIP,$serverPort,$softVersion);
        $rest->setAccount($accountSid,$accountToken);
        $rest->setAppId($appId);

class wechatCallbackapiTest
{
   //签名验证公共接口
   public function valid()
   {
       $echoStr = $_GET[“echostr”]扩展例子,容联运通信。;

以此测试出来的只是swf文件并不是我们要的flv文件了,后来参见一站长的写法举办了创新

        // 发送模板短信
        echo “Sending TemplateSMS to $to <br/>”;
        $result = $rest->sendTemplateSMS($to,$datas,$tempId);
        if($result == NULL ) {
            echo “result error!”;
            exit();
        }
        if($result->statusCode!=0) {
            echo “error code :” . $result->statusCode .
“<br>”;
            echo “error msg :” . $result->statusMsg . “<br>”;
            //TODO 添加错误处理逻辑
        }else{
            echo “Sendind TemplateSMS success!<br/>”;
            // 获取重返新闻
            $smsmessage = $result->TemplateSMS;
            echo
“dateCreated:”.$smsmessage->dateCreated.”<br/>”;
            echo
“smsMessageSid:”.$smsmessage->smsMessageSid.”<br/>”;
            //TODO 添加成功拍卖逻辑
        }
    }
       
}

        // 发送模板短信
        echo “Sending TemplateSMS to $to <br/>”;
        $result = $rest->sendTemplateSMS($to,$datas,$tempId);
        if($result == NULL ) {
            echo “result error!”;
            exit();
        }
        if($result->statusCode!=0) {
            echo “error code :” . $result->statusCode .
“<br>”;
            echo “error msg :” . $result->statusMsg . “<br>”;
            //TODO 添加错误处理逻辑
        }else{
            echo “Sendind TemplateSMS success!<br/>”;
            // 获取再次回到消息
            $smsmessage = $result->TemplateSMS;
            echo
“dateCreated:”.$smsmessage->dateCreated.”<br/>”;
            echo
“smsMessageSid:”.$smsmessage->smsMessageSid.”<br/>”;
            //TODO 添加成功拍卖逻辑
        }
    }
       
}

       if($this->checkSignature()){
           echo $echoStr;
           exit;
       }
   }

主导代码:

 

 

   //主入口处理函数
   public function responseMsg()
   {
       $postStr = $GLOBALS[“HTTP_RAW_POST_DATA”];

 代码如下

二、模板文件(rest.app.php可依照自个儿使用的框架重新命名,也可径直动用demo原先的名字)

二、模板文件(rest.app.php可根据本身行使的框架重新命名,也可直接行使demo原先的名字)

       if (!empty($postStr)){
                 
           $postObj = simplexml_load_string($postStr,
‘SimpleXMLElement’, LIBXML_NOCDATA);
         
           $msgType=trim($postObj->MsgType);
         
           switch($msgType){
               case ‘text’:
                   $resultStr=$this->handleText($postObj);
                   break;
               case ‘event’:
                   $resultStr=$this->handleEvent($postObj);
                   break;
               default:
                   $resultStr=$this->handleDefault($postObj);
                   break;
           }
         
           echo $resultStr;
         
       }else {
           echo “Error”;
           exit;
       }
   }
 
   //处理公事音信
      private function handleText($obj){
         
         
$keyword=trim($obj->Content);
         
         
if(preg_match(‘/天气/’,$keyword)){
              $contentStr=$this->handleWeather($obj);
          }elseif(preg_match(‘/翻译/’,$keyword)){
              $contentStr=$this->handleTranslation($obj);
          }else{
              $contentStr=$this->handleChat($obj);
          }
         
          return $this->handleStr($obj,$contentStr);
         
      }
     
      //处理天气
      private function handleWeather($obj){
         
$keyword=mb_substr($obj->Content,-2,2,’utf-8′);
          $zone=mb_substr($obj->Content,0,-2,’utf-8′);
         
          if($keyword==’天气’ && !empty($zone)){
         
             
$zoneArr=json_decode(file_get_contents(‘);
              $zoneArr=$zoneArr[‘result’];
             
              $cityId=”;
             
              foreach($zoneArr
as $value){
                  if($zone==$value[‘citynm’]){
                      $cityId=$value[‘weaid’];
                      break;
                  }
              }
             
              if(!empty($cityId)){
                 
$data=file_get_contents(“”);

<?php
function fetch_youku_flv($url){
   
preg_match(“#id_(.*?).html#”,$url,$out);
    $id=$out[1];
   
$content=get_curl_contents(‘);
    $data=json_decode($content);
   
foreach($data->data[0]->streamfileids
AS $k=>$v){
    $sid=getSid();
    $fileid=getfileid($v,$data->data[0]->seed);
    $one=($data->data[0]->segs->$k);
    if($k == ‘flv’ || $k == ‘mp4’) return
“”;
    continue;
    }

function get_curl_contents($url, $second = 5){
    if(!function_exists(‘curl_init’))
die(‘php.ini未开启php_curl.dll’);
    $c = curl_init();
    curl_setopt($c,CURLOPT_URL,$url);
    $UserAgent=$_SERVER[‘HTTP_USER_AGENT’];
    curl_setopt($c,CURLOPT_USERAGENT,$UserAgent);
    curl_setopt($c,CURLOPT_HEADER,0);
    curl_setopt($c,CURLOPT_TIMEOUT,$second);
    curl_setopt($c,CURLOPT_RETURNTRANSFER, true);
    $cnt = curl_exec($c);
   
$cnt=mb_check_encoding($cnt,’utf-8′)?iconv(‘gbk’,’utf-8//IGNORE’,$cnt):$cnt;
//字符编码转换
    curl_close($c);
    return $cnt;
}
function getSid() {
    $sid = time().(rand(0,9000)+10000);
    return $sid;
}
function getkey($key1,$key2){
    $a = hexdec($key1);
    $b = $a ^ 0xA55AA5A5;
    $b = dechex($b);
    return $key2.$b;
}
function getfileid($fileId,$seed) {
    $mixed = getMixString($seed);
    $ids =
explode(“*”,$fileId);
    unset($ids[count($ids)-1]);
扩展例子,容联运通信。    $realId = “”;
    for ($i=0;$i < count($ids);++$i) {
    $idx = $ids[$i];
    $realId .=
substr($mixed,$idx,1);
    }
    return $realId;
}
function getMixString($seed) {
    $mixed = “”;
    $source =
“abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/:._-1234567890”;
    $len = strlen($source);
    for($i=0;$i< $len;++$i){
    $seed = ($seed * 211 + 30031) % 65536;
    $index = ($seed / 65536 * strlen($source));
    $c = substr($source,$index,1);
    $mixed .= $c;
    $source = str_replace($c, “”,$source);
    }
    return $mixed;
}

<?php
class RestApp {
    private $AccountSid ;  
    private $AccountToken ; 
    private $AppId ;        
    private $ServerIP;       // =’app.cloopen.com’
    private $ServerPort ;    //=’8883′
    private $SoftVersion ;   // =’2013-12-26′
    private $Batch;  //时间戳
    private $BodyType = “xml”;//包体格式,可填值:json 、xml
    private $enabeLog = true; //日志开关。可填值:true、
    private $Filename=”./log.txt”; //日志文件
    private $Handle;
    
    function __construct($ServerIP,$ServerPort,$SoftVersion)    
    {
        $this->RestApp($ServerIP,$ServerPort,$SoftVersion);
    }
    
    function RestApp($ServerIP,$ServerPort,$SoftVersion)
    {
        $this->Batch = date(“YmdHis”);
        $this->ServerIP = $ServerIP;
        $this->ServerPort = $ServerPort;
        $this->SoftVersion = $SoftVersion;
        $this->Handle = fopen($this->Filename, ‘a’);
    }
    
   /**
    * 设置主帐号
    *
    * @param AccountSid 主帐号
    * @param AccountToken 主帐号Token
    */    
    function setAccount($AccountSid,$AccountToken){
bf88必发唯一官网,        $this->AccountSid = $AccountSid;
        $this->AccountToken = $AccountToken;   
    }
    
   /**
    * 设置使用ID
    * @param AppId 应用ID
    */
    function setAppId($AppId){
        $this->AppId = $AppId;
    }
    
   /**
    * 打印日志
    *
    * @param log 日志内容
    */
    function showlog($log){
        if($this->enabeLog){
            fwrite($this->Handle,$log.”\n”);  
        }
    }
    
    /**
     * 发起HTTPS请求
     */
    function curl_post($url,$data,$header,$post=1)
    {
        //初始化curl
        $ch = curl_init();
        //参数设置  
        $res= curl_setopt($ch, CURLOPT_URL,$url);  
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_POST, $post);
        if($post)
        {
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
        $result = curl_exec($ch);
        //连接战败
        if($result == FALSE){
            if($this->BodyType==’json’){
                $result =
“{\”statusCode\”:\”172001\”,\”statusMsg\”:\”互联网错误\”}”;
            } else {
                $result = “<?xml version=\”1.0\”
encoding=\”UTF-8\”
standalone=\”yes\”?><Response><statusCode>172001</statusCode><statusMsg>网络错误</statusMsg></Response>”;
            }    
        }
        curl_close($ch);
        return $result;
    }
    
   /**
    * 发送模板短信
    * @param to 短信接收彿手机号码集合,用英文逗号分开
    * @param datas 内容数据
    * @param $tempId 模板Id
    */       
    function sendTemplateSMS($to,$datas,$tempId)
    {
        //主帐号鉴权新闻表明,对必选参数进行判空。
        //$auth=$this->accAuth();
//        if($auth!=””){
//            return $auth;
//        }
        // 拼接请求包体
        if($this->BodyType==”json”){
            $data=””;
            for($i=0;$i<count($datas);$i++){
                $data = $data. “‘”.$datas[$i].”‘,”;
            }
            $body=
“{‘to’:’$to’,’templateId’:’$tempId’,’appId’:’$this->AppId’,’datas’:[“.$data.”]}”;
        }else{
            $data=””;
            for($i=0;$i<count($datas);$i++){
                $data = $data.
“<data>”.$datas[$i].”</data>”;
            }
            $body=”<TemplateSMS>
                <to>$to</to>
                <appId>$this->AppId</appId>
                <templateId>$tempId</templateId>
                <datas>”.$data.”</datas>
                </TemplateSMS>”;
        }
        $this->showlog(“request body = “.$body);
        // 大写的sig参数
        $sig =  strtoupper(md5($this->AccountSid .
$this->AccountToken . $this->Batch));
        // 生成请求URL        
       
$url=””;
        $this->showlog(“request url = “.$url);
        // 生成授权:主帐户Id + 英文冒号 + 时间戳。
        $authen = base64_encode($this->AccountSid . “:” .
$this->Batch);
        // 生成信阳  
        $header =
array(“Accept:application/$this->BodyType”,”Content-Type:application/$this->BodyType;charset=utf-8″,”Authorization:$authen”);
        // 发送请求
        $result = $this->curl_post($url,$body,$header);
        $this->showlog(“response body = “.$result);
        if($this->BodyType==”json”){//JSON格式
            $datas=json_decode($result);
        }else{ //xml格式
            $datas = simplexml_load_string(trim($result,”
\t\n\r”));
        }
      //  if($datas == FALSE){
//            $datas = new stdClass();
//            $datas->statusCode = ‘172003’;
//            $datas->statusMsg = ‘再次来到包体错误’;
//        }
        //重新装填数据
        if($datas->statusCode==0){
            if($this->BodyType==”json”){
                $datas->TemplateSMS =$datas->templateSMS;
                unset($datas->templateSMS);   
            }
        }
 
        return $datas;
    }
   
  /**
    * 主帐号鉴权
    */   
   function accAuth()
   {
        if($this->ServerIP==””){
            $data = new stdClass();
            $data->statusCode = ‘172004’;
            $data->statusMsg = ‘IP为空’;
          return $data;
        }
        if($this->ServerPort<=0){
            $data = new stdClass();
            $data->statusCode = ‘172005’;
            $data->statusMsg = ‘端口错误(小于等于0)’;
          return $data;
        }
        if($this->SoftVersion==””){
            $data = new stdClass();
            $data->statusCode = ‘172013’;
            $data->statusMsg = ‘版本号为空’;
          return $data;
        }
        if($this->AccountSid==””){
            $data = new stdClass();
            $data->statusCode = ‘172006’;
            $data->statusMsg = ‘主帐号为空’;
          return $data;
        }
        if($this->AccountToken==””){
            $data = new stdClass();
            $data->statusCode = ‘172007’;
            $data->statusMsg = ‘主帐号令牌为空’;
          return $data;
        }
        if($this->AppId==””){
            $data = new stdClass();
            $data->statusCode = ‘172012’;
            $data->statusMsg = ‘应用ID为空’;
          return $data;
        }   
   }
}
?>

<?php
class RestApp {
    private $AccountSid ;  
    private $AccountToken ; 
    private $AppId ;        
    private $ServerIP;       // =’app.cloopen.com’
    private $ServerPort ;    //=’8883′
    private $SoftVersion ;   // =’2013-12-26′
    private $Batch;  //时间戳
    private $BodyType = “xml”;//包体格式,可填值:json 、xml
    private $enabeLog = true; //日志开关。可填值:true、
    private $Filename=”./log.txt”; //日志文件
    private $Handle;
    
    function __construct($ServerIP,$ServerPort,$SoftVersion)    
    {
        $this->RestApp($ServerIP,$ServerPort,$SoftVersion);
    }
    
    function RestApp($ServerIP,$ServerPort,$SoftVersion)
    {
        $this->Batch = date(“YmdHis”);
        $this->ServerIP = $ServerIP;
        $this->ServerPort = $ServerPort;
        $this->SoftVersion = $SoftVersion;
        $this->Handle = fopen($this->Filename, ‘a’);
    }
    
   /**
    * 设置主帐号
    *
    * @param AccountSid 主帐号
    * @param AccountToken 主帐号Token
    */    
    function setAccount($AccountSid,$AccountToken){
        $this->AccountSid = $AccountSid;
        $this->AccountToken = $AccountToken;   
    }
    
   /**
    * 设置使用ID
    * @param AppId 应用ID
    */
    function setAppId($AppId){
        $this->AppId = $AppId;
    }
    
   /**
    * 打印日志
    *
    * @param log 日志内容
    */
    function showlog($log){
        if($this->enabeLog){
            fwrite($this->Handle,$log.”\n”);  
        }
    }
    
    /**
     * 发起HTTPS请求
     */
    function curl_post($url,$data,$header,$post=1)
    {
        //初始化curl
        $ch = curl_init();
        //参数设置  
        $res= curl_setopt($ch, CURLOPT_URL,$url);  
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_POST, $post);
        if($post)
        {
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER,$header);
        $result = curl_exec($ch);
        //连接失利
        if($result == FALSE){
            if($this->BodyType==’json’){
                $result =
“{\”statusCode\”:\”172001\”,\”statusMsg\”:\”互联网错误\”}”;
            } else {
                $result = “<?xml version=\”1.0\”
encoding=\”UTF-8\”
standalone=\”yes\”?><Response><statusCode>172001</statusCode><statusMsg>互联网错误</statusMsg></Response>”;
            }    
        }
        curl_close($ch);
        return $result;
    }
    
   /**
    * 发送模板短信
    * @param to 短信接收彿手机号码集合,用英文逗号分开
    * @param datas 内容数量
    * @param $tempId 模板Id
    */       
    function sendTemplateSMS($to,$datas,$tempId)
    {
        //主帐号鉴权音信认证,对必选参数举行判空。
        //$auth=$this->accAuth();
//        if($auth!=””){
//            return $auth;
//        }
        // 拼接请求包体
        if($this->BodyType==”json”){
            $data=””;
            for($i=0;$i<count($datas);$i++){
                $data = $data. “‘”.$datas[$i].”‘,”;
            }
            $body=
“{‘to’:’$to’,’templateId’:’$tempId’,’appId’:’$this->AppId’,’datas’:[“.$data.”]}”;
        }else{
            $data=””;
            for($i=0;$i<count($datas);$i++){
                $data = $data.
“<data>”.$datas[$i].”</data>”;
            }
            $body=”<TemplateSMS>
                <to>$to</to>
                <appId>$this->AppId</appId>
                <templateId>$tempId</templateId>
                <datas>”.$data.”</datas>
                </TemplateSMS>”;
        }
        $this->showlog(“request body = “.$body);
        // 大写的sig参数
        $sig =  strtoupper(md5($this->AccountSid .
$this->AccountToken . $this->Batch));
        // 生成请求URL        
       
$url=””;
        $this->showlog(“request url = “.$url);
        // 生成授权:主帐户Id + 英文冒号 + 时间戳。
        $authen = base64_encode($this->AccountSid . “:” .
$this->Batch);
        // 生成三亚  
        $header =
array(“Accept:application/$this->BodyType”,”Content-Type:application/$this->BodyType;charset=utf-8″,”Authorization:$authen”);
        // 发送请求
        $result = $this->curl_post($url,$body,$header);
        $this->showlog(“response body = “.$result);
        if($this->BodyType==”json”){//JSON格式
            $datas=json_decode($result);
        }else{ //xml格式
            $datas = simplexml_load_string(trim($result,”
\t\n\r”));
        }
      //  if($datas == FALSE){
//            $datas = new stdClass();
//            $datas->statusCode = ‘172003’;
//            $datas->statusMsg = ‘重返包体错误’;
//        }
        //重新装填数据
        if($datas->statusCode==0){
            if($this->BodyType==”json”){
                $datas->TemplateSMS =$datas->templateSMS;
                unset($datas->templateSMS);   
            }
        }
 
        return $datas;
    }
   
  /**
    * 主帐号鉴权
    */   
   function accAuth()
   {
        if($this->ServerIP==””){
            $data = new stdClass();
            $data->statusCode = ‘172004’;
            $data->statusMsg = ‘IP为空’;
          return $data;
        }
        if($this->ServerPort<=0){
            $data = new stdClass();
            $data->statusCode = ‘172005’;
            $data->statusMsg = ‘端口错误(小于等于0)’;
          return $data;
        }
        if($this->SoftVersion==””){
            $data = new stdClass();
            $data->statusCode = ‘172013’;
            $data->statusMsg = ‘版本号为空’;
          return $data;
        }
        if($this->AccountSid==””){
            $data = new stdClass();
            $data->statusCode = ‘172006’;
            $data->statusMsg = ‘主帐号为空’;
          return $data;
        }
        if($this->AccountToken==””){
            $data = new stdClass();
            $data->statusCode = ‘172007’;
            $data->statusMsg = ‘主帐号令牌为空’;
          return $data;
        }
        if($this->AppId==””){
            $data = new stdClass();
            $data->statusCode = ‘172012’;
            $data->statusMsg = ‘应用ID为空’;
          return $data;
        }   
   }
}
?>

                  $data=json_decode($data);
                 
                 
$contentStr=”今天是:”.$data->result->days.”,”.$data->result->
week.”,”.$data->result->citynm.”天气:”.$data->result->weather.”n温度:”.$data->result->temperature.”,
                 
“.$data->result->wind_direction.”,”.$data->result->wind_power.”,
最低温度:”.$data->result->temp_low.”,最高温度:”.$data->result->temp_high;
              }else{
                  $contentStr=’找不到输入的城市!’;
              }  
             
          }else{
              $contentStr=’输入的查询格式不正确!’;
          }
         
          return $contentStr;
      }
     
      //处理翻译
      private function handleTranslation($obj){
          $keyword=mb_substr($obj->Content,0,2,’utf-8′);
       $words=mb_substr($obj->Content,2,220,’utf-8′);
     
       if($keyword==’翻译’ && !empty($words)){
         
 $data=file_get_contents(‘));
     
           $data=json_decode($data,true);
         
           switch($data[‘errorCode’]){
               case ‘0’:
                   $contentStr=$data[‘translation’][0];
                   break;
               case ’20’:
                   $contentStr=’要翻译的公文过长’;
                   break;
               case ’30’:
                   $contentStr=’无法开展实用的翻译’;
                   break;
               case ’40’:
                   $contentStr=’不支持的言语类型’;
                   break;
               case ’50’:
                   $contentStr=’无效的key’;
                   break;
               default:
                   $contentStr=’Error’;
                   break;
           }
         
       }else{
           $contentStr=’输入的翻译格式不得法!’;
       }
     
       return $contentStr;
      }
     
      //处理聊天音讯
      private function handleChat($obj){
          $keywords=$obj->Content;
         
          $curlPost=array(“chat”=>$keywords);
 
       $ch = curl_init();//初始化curl
       curl_setopt($ch,
CURLOPT_URL,’
       curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,
1);//须要结果为字符串且输出到显示器上
       curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
       curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
       $data = curl_exec($ch);//运行curl
       curl_close($ch);
     
       if(!empty($data)){
           $contentStr=$data;
       }else{
           $ran=rand(1,5);
         
           switch($ran){
               case 1:
                   $contentStr= “小九明日累了,后日再陪你聊天吗”;
                   break;
               case 2:
                   $contentStr= “小九睡觉喽“;
                   break;
               case 3:
                   $contentStr= “呼呼
呼呼~~”;
                   break;
               case 4:
                   $contentStr= “你话好多啊,不跟你聊了”;
                   break;
               case 5:
                   $contentStr= “你话好多啊,不跟你聊了”;
                   break;
           }
       }
     
       return $contentStr;
      }
     
      //创造自定义菜单
      public function createMenu($data,$token){
          $ch = curl_init();
     
        curl_setopt($ch, CURLOPT_URL,
“https://api.weixin.qq.com/cgi-bin/menu/create?access_token=”.$token);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, “POST”);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        curl_setopt($ch, CURLOPT_USERAGENT, ‘Mozilla/5.0 (compatible;
MSIE 5.01; Windows NT 5.0)’);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
       
        $result = curl_exec($ch);    
       
        curl_close($ch);
       
        return $result;
      }
     
      //查询自定义菜单
   function getMenu($token){
         
$url=””;
         
          $ch = curl_init($url);
         
       curl_setopt($ch, CURLOPT_RETURNTRANSFER,true) ;
//获取数据重返
       curl_setopt($ch, CURLOPT_BINARYTRANSFER,true) ; //在启用
CURLOPT_RETURNTRANSFER 时候将获取数据重回  
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
     
       return $output = curl_exec($ch);      
      }
     
      //删除自定义菜单
      public function deleteMenu($token){
         
$url=”;
 
       $ch = curl_init();
     
       curl_setopt($ch, CURLOPT_URL, $url);
       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
       curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
       curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

调用方法:

三、前台模板代码(test.html)

三、前台模板代码(test.html)

       $result = curl_exec($ch);
     
       curl_close($ch);
     
       return $result;
      }

 代码如下

 <div style=”height:100px;border:1px solid
gray;text-align:center;padding-top:20px;”>
       <form action=”” method=”post”>
             请输出手机号码:<input type=”text” name=”phone_mob”
><input type=”button” name=”btn” value=”点击获取验证码”><br
/>
              输入验证码:<input type=”text” name=”yzm”
value=””><br />
              <input type=”submit” name=”sbt” value=”提交”>
        </form>
 </div>

 <div style=”height:100px;border:1px solid
gray;text-align:center;padding-top:20px;”>
       <form action=”” method=”post”>
             请输下手机号码:<input type=”text” name=”phone_mob”
><input type=”button” name=”btn” value=”点击获取验证码”><br
/>
              输入验证码:<input type=”text” name=”yzm”
value=””><br />
              <input type=”submit” name=”sbt” value=”提交”>
        </form>
 </div>

     
      //处监护人件音讯
      private function handleEvent($obj){
   
          $content=”;
         
          switch($obj->Event){
              case ‘subscribe’:
                  $content.=”welcome-欢迎关切该群众号号!”;
                  break;
              case ‘unsubscribe’:
                  $content.=”谢谢您从来以来对该群众号的关心,再见!”;
                  break;
              default:
                  $content.=””;
                  break;
          }
         
          return $this->handleStr($obj,$content);
      }
     
      //处理回复音讯字符串
      private function handleStr($obj,$content=”,$flag=0){
       $textTpl = “
                       
                       
                       %s
                       
                       
                       %d
                       “;
         
          return sprintf($textTpl, $obj->FromUserName,
$obj->ToUserName, time(), $content,$flag);
      }
 
   //签名验证函数
   private function checkSignature()
   {
       $signature = $_GET[“signature”];
       $timestamp = $_GET[“timestamp”];
       $nonce = $_GET[“nonce”];  
             
       $token = TOKEN;
       $tmpArr = array($token, $timestamp, $nonce);
       sort($tmpArr, SORT_STRING);
       $tmpStr = implode( $tmpArr );
       $tmpStr = sha1( $tmpStr );
     
       if( $tmpStr == $signature ){
           return true;
       }else{
           return false;
       }
   }
}

$url=”;
echo fetch_youku_flv($url);

四、js代码

四、js代码

?>

访问:

输出的结果是:

<script type=”text/javascript”>
        $(function(){
            $(‘input[name=btn]’).on(‘click’,function(){
                var phone_mob = $(‘input[name=phone_mob]’).val();
                $.ajax({
                    type: “GET”,
                    url:
“index.php?app=test&act=get_info”,//请求后台的URL地址
                    dataType: “json”,
                    data:{‘phone_mob’ : phone_mob},
                    success:function(data){
                        if(data.done && data.retval)
                        {   
                            //console.log(data.retval);
                            alert(‘成功!’);
                        }
                    }
                });
            });    
        });
    </script>

<script type=”text/javascript”>
        $(function(){
            $(‘input[name=btn]’).on(‘click’,function(){
                var phone_mob = $(‘input[name=phone_mob]’).val();
                $.ajax({
                    type: “GET”,
                    url:
“index.php?app=test&act=get_info”,//请求后台的URL地址
                    dataType: “json”,
                    data:{‘phone_mob’ : phone_mob},
                    success:function(data){
                        if(data.done && data.retval)
                        {   
                            //console.log(data.retval);
                            alert(‘成功!’);
                        }
                    }
                });
            });    
        });
    </script>

测试结果:

以此是可以一贯下载的!!

bf88必发唯一官网 1

bf88必发唯一官网 2

bf88必发唯一官网 3

bf88必发唯一官网 4

bf88必发唯一官网 5

bf88必发唯一官网 6

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图