为了账号安全,请及时绑定邮箱和手机立即绑定

config:invalid url domain

<?php

// 本类由系统自动生成,仅供测试用途

class IndexAction extends Action {

    public function index(){

$nonce     = $_GET['nonce'];

$token     = 'ceshi';

$timestamp = $_GET['timestamp'];

$echostr   = $_GET['echostr'];

$signature = $_GET['signature'];

//形成数组,然后按字典序排序

$array = array();

$array = array($nonce, $timestamp, $token);

sort($array);

//拼接成字符串,sha1加密 ,然后与signature进行校验

$str = sha1( implode( $array ) );

if( $str  == $signature && $echostr ){

//第一次接入weixin api接口的时候

echo  $echostr;

exit;

}else{

}

    }

public       function getWxAccessToken(){

               //1.请求url地址

        $appid = 'wx6d648a454480c954';

        $appsecret = '065f2c294b40a180c49104491c04cb65';

        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;

               //2初始化

        $ch = curl_init();

               //3.设置参数

        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); 

               //4.调用接口 

                 $res = curl_exec($ch);

               //5.关闭curl

                 

                 curl_close( $ch );

                 if( curl_errno($ch) ){

                    var_dump( curl_error($ch) );

                 }

                 $arr = json_decode($res, true);

             

                 return $arr["access_token"];

 

 

             }

 

public function http_curl($url,$type='get',$res='json',$arr=''){

 

           //1.初始化curl

           $ch  =curl_init();

           //2.设置curl的参数

           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); 

           if($type == 'post'){

               curl_setopt($ch,CURLOPT_POST,1);

               curl_setopt($ch,CURLOPT_POSTFIELDS,$arr);

           }

           //3.采集

           $output =curl_exec($ch);

           echo (curl_error($ch));

           //4.关闭

           curl_close($ch);

           if($res=='json'){

               if(curl_error($ch)){

                   //请求失败,返回错误信息

 

                   return curl_error($ch);

               }else{

                   //请求成功,返回错误信息

 

                   return json_decode($output,true);

               }

           }

          

       }  

public   function getJsApiTicket(){

        //如果session中保存有效的jsapi-ticket 

        if($_SESSION['jsapi-ticket-expire_time']>time() && $_SESSION['jsapi-ticket']){

            $jsapi=$_SESSION['jsapi-ticket'];

           

        }else{

          

            $access_token= $this->getWxAccessToken();

            var_dump($access_token);

            $url='https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token='.$access_token.'&type=jsapi';

            $re=$this->http_curl($url);

            $jsapi=$re['ticket'];

            $_SESSION['jsapi-ticket']=$jsapi;

            $_SESSION['jsapi-ticket-expire_time']=time()+7000;

        }

        var_dump($access_token);

            return $jsapi;

    }

  /*  public   function a(){

        //如果session中保存有效的jsapi-ticket 

        if($_SESSION['expire_time']>time() && $_SESSION['access_token']){

            $access_token=$_SESSION['access_token'];

        }else{

             

 

            $appid = 'wxd1157c516b3578d8';

            $appsecret =  '26afef5b19e1ebfc3382604908460aa9';

            $url= "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$appsecret;

            $re=$this->http_curl($url);

            $re = json_decode($re, true);

            $access_token=$re['access_token'];

            var_dump($access_token);

            $_SESSION['access_token']=$access_token;

            $_SESSION['expire_time']=time()+7200;

        }

        

         

            return $access_token;

    }*/

    //获取16位随机码

  public  function getRandCode(){

        $num=16;

        $array=array(

            'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',

            'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',

            '0','1','2','3','4','5','6','7','8','9'

        );

        $tmpstr='';

        $max=count($array);

        for($i=1;$i<=$num;$i++){

            $key = rand(0,$max-1);

            $tmpstr.=$array[$key];

        };

          

          

        return $tmpstr;

    }

    //js-sdk  分享朋友圈

 public    function share(){

        //获取jsapi-ticket 票据

        $jsapi=$this->getJsApiTicket();

        $timestamp=time();

        $nonceStr=$this->getRandCode();

        

       

          $url = 'http://www.cqtzty.com/tp/admin.php?m=index&a=share';

         

        //获取signature

        $signature='jsapi_ticket='.$jsapi.'&noncestr='.$nonceStr.'&timestamp='.$timestamp.'&url='.$url;

 

        $signature=sha1($signature);

        $this->assign('timestamp',$timestamp);

        $this->assign('nonceStr',$nonceStr);

        $this->assign('signature',$signature);

        $this->display();

    }

  


}



<!doctype html>

<html>

<head>

    <title>微信js分享接口</title>

    <meta name="viewpoint" content = "initial-scale=1.0;width=device-width"/>

    <meta http-equiv="content" content = "text/html;charset=utf-8"/>

    <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

    <uses-permission android:name="android.permission.INTERNET"/>

</head>

<body>

    

   <script>

 

   wx.config({

    

    debug: true,  

        appId: 'wx6d648a454480c954', // 必填,公众号的唯一标识

        timestamp:'{$timestamp}' , // 必填,生成签名的时间戳

        nonceStr: '{$nonceStr}', // 必填,生成签名的随机串

        signature: '{$signature}',// 必填,签名,见附录1

        jsApiList: [

        "onMenuShareTimeline",

        "onMenuShareAppMessage"

        ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

    });

 

   wx.ready(function(){

        //分享到朋友圈

        alert(location.href.split('#')[0]);

 

        wx.onMenuShareTimeline({

           title: 'test1', // 分享标题

      link: 'http://www.baidu.com', // 分享链接

    imgUrl: 'https://www.baidu.com/img/bd_logo1.png', // 分享图标

    success: function () { 

        // 用户确认分享后执行的回调函数

        alert("success");

    },

    cancel: function () { 

        // 用户取消分享后执行的回调函数

        alert("cancle");

    }

});

    //分享给朋友

    wx.onMenuShareAppMessage({

    title: 'test1', // 分享标题

    desc: 'test xjy', // 分享描述

    link: 'http://www.baidu.com', // 分享链接

    imgUrl: 'https://www.baidu.com/img/bd_logo1.png', // 分享图标

    type: 'link', // 分享类型,music、video或link,不填默认为link

    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空

    success: function () { 

        // 用户确认分享后执行的回调函数

 

    },

    cancel: function () { 

        // 用户取消分享后执行的回调函数

    }

});

});

   wx.error(function(res){

    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。

    alert("失败");

});

   </script>

</body>

</html>


正在回答

举报

0/150
提交
取消

config:invalid url domain

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号