色综合天天_bl高肉强受失禁尿出来v文_日处女视频_在线观看国产剧情麻豆精品

十三年專注于網站建設與互聯網應用開發,低調、有情懷的網絡應用服務商!
南昌百恒科技微信公眾號 掃一掃關注
tel-icon全國服務熱線:400-680-9298,0791-88117053
掃一掃關注百恒科技微信公眾號

THINKPHP程序實現微信分享

微信分享,微信 百恒網絡 2016-09-05 12:20:46 5178

第一步:先登錄你的微信公眾號,附上登錄鏈接https://mp.weixin.qq.com/

第二步:獲取你的AppID(應用ID) 和 AppSecret(應用密鑰) 如下圖

第三步:設置你的JS安全域名 ,在公眾號設置->功能設置->JS接口安全域名 填寫你的項目域名即可 例如 :http://zzzhenghong.cn 備注:登錄后可在“開發者中心”查看對應的接口權限。 (如下圖)

以上是公眾號需要設置的..

程序方面參考 http://203.195.235.76/jssdk/ 您可以用微信打開這個鏈接查看擁有的權限接口

常見問題及完整 JS-SDK 文檔地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html

1.引入JS文件

1.1:在需要調用JS接口的頁面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.0.0.js 詳情請查看 JS-SDK 文檔

2.通過config接口注入權限驗證配置如下圖

另外附上代碼:(在你需要分享的頁面地方寫入)

  wx.config({
      debug     : false,
      appId     : '{$sign["appId"]}', //appid
      timestamp : {$sign["timestamp"]}, //時間戳
      nonceStr  : '{$sign["noncestr"]}', //簽名隨機碼
      signature : '{$sign["signature"]}', //簽名
      jsApiList : ['checkJsApi','onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone']//權限列表
 });
 wx.ready(function () {
  document.querySelector('#checkJsApi').onclick = function () {//檢測當前環境是否支持接口
   	  wx.checkJsApi({
	    jsApiList: [
		  'getNetworkType',
		  'previewImage'
	    ],
	    success: function (res) {
		  alert(JSON.stringify(res));
	    }
	  });
  };
  wx.onMenuShareAppMessage({//分享給朋友
      title   : '分享的標題',
      desc    : '分享的描述信息',
      link    : '分享的鏈接 為當前URL 也是簽名的URL',
      imgUrl  : '分享的圖片',
      trigger : function (res) {
      },
      success: function (res) {
        //您可以操作啦
      },
      cancel: function (res) {
        alert('您已經取消了分享');
      },
      fail: function (res) {
        alert(JSON.stringify(res));
      }
    });
  wx.onMenuShareTimeline({ //分享到朋友圈
      title   : '分享的標題',
      desc    : '分享的描述信息',
      link    : '分享的鏈接 為當前URL 也是簽名的URL',
      imgUrl  : '分享的圖片',
      trigger : function (res) {
      },
      success: function (res) {
        //您可以操作啦
      },
      cancel: function (res) {
        alert('您已經取消了分享');
      },
      fail: function (res) {
        alert(JSON.stringify(res));
      }
  });
  wx.onMenuShareQQ({ //分享到QQ
      title   : '分享的標題',
      desc    : '分享的描述信息',
      link    : '分享的鏈接 為當前URL 也是簽名的URL',
      imgUrl  : '分享的圖片',
      trigger : function (res) {
      },
      complete: function (res) {
        alert(JSON.stringify(res));
      },
      success: function (res) {
        //您可以操作啦
      },
      cancel: function (res) {
        alert('您已經取消了分享');
      },
      fail: function (res) {
        alert(JSON.stringify(res));
      }
  });
  wx.onMenuShareWeibo({ //分享到騰訊微博
      title   : '分享的標題',
      desc    : '分享的描述信息',
      link    : '分享的鏈接 為當前URL 也是簽名的URL',
      imgUrl  : '分享的圖片',
      trigger : function (res) {
      },
      complete: function (res) {
        alert(JSON.stringify(res));
      },
      success: function (res) {
        //您可以操作啦
      },
      cancel: function (res) {
        alert('您已經取消了分享');
      },
      fail: function (res) {
        alert(JSON.stringify(res));
      }
  });
  wx.onMenuShareQZone({ //分享到QQ空間
      title   : '分享的標題',
      desc    : '分享的描述信息',
      link    : '分享的鏈接 為當前URL 也是簽名的URL',
      imgUrl  : '分享的圖片',
      trigger : function (res) {
      },
      complete: function (res) {
        alert(JSON.stringify(res));
      },
      success: function (res) {
        //您可以操作啦
      },
      cancel: function (res) {
        alert('您已經取消了分享');
      },
      fail: function (res) {
        alert(JSON.stringify(res));
      }
    });
});
wx.error(function (res) {
  alert(res.errMsg); //顯示錯誤
});

程序部分(數據結構見附件)

  //獲取token
  function getToken(){
    $data = M('weixintoken')->where('type=1')->field('token,expire,time,Id,type')->order('time DESC')->find();
    if ($data) {
	  if($data['time']+$data['expire']-60 > time()){
	    return array('token'=>$data['token'],'msg'=>'','statue'=>1);
	  } else {
	    M('weixintoken')->where(array('Id'=>$data['Id']))->delete(); //刪除過期
	  }
    }
    $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".C("WEIXIN_APPID")."&secret=".C("WEIXIN_SECRET");
    $key = curl_init();
    curl_setopt($key,CURLOPT_URL,$url);
    curl_setopt($key,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($key, CURLOPT_SSL_VERIFYPEER, false); //不驗證證書
    //curl_setopt($_key, CURLOPT_SSL_VERIFYHOST, false); //不驗證證書 
    $reslut = curl_exec($key);
    $reslut = json_decode($reslut);
    if (curl_errno($key)) {
	  return array('token'=>'','msg'=>curl_error($key),'statue'=>0);
    }else{
	  if (isset($reslut->errcode) && $reslut->errcode!='') {
	    return array('token'=>'','msg'=>$reslut->errmsg,'statue'=>0);
	  } else {
	    $token   = $reslut->access_token;
	    $expire  = intval($reslut->expires_in);
	    M('weixintoken')->add(array('token'=>$token,'expire'=>$expire,'type'=>1,'time'=>time()));
	    return array('token'=>$token,'msg'=>'','statue'=>1);
	  }
    }
  }
  //獲取ticket
  function getTicket(){
	$token = getToken();
	if ($token['statue'] && $token['token']!='') {
	  $data = M('weixintoken')->where('type=2')->field('token,expire,time,Id,type')->order('time DESC')->find();
	  if ($data) {
	    if($data['time']+$data['expire']-60 > time()){
		  return array('token'=>$data['token'],'msg'=>'','statue'=>1);
	    } else {
		  M('weixintoken')->where(array('Id'=>$data['Id']))->delete(); //刪除過期
	    }
	  }
	  $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$token['token']."&type=jsapi";
	  $key = curl_init();
	  curl_setopt($key,CURLOPT_URL,$url);
	  curl_setopt($key,CURLOPT_RETURNTRANSFER,1);
	  curl_setopt($key, CURLOPT_SSL_VERIFYPEER, false); //不驗證證書
	  //curl_setopt($_key, CURLOPT_SSL_VERIFYHOST, false); //不驗證證書 
	  $reslut = curl_exec($key);
	  $reslut = json_decode($reslut);
	  if (curl_errno($key)) {
	    return array('token'=>'','msg'=>curl_error($key),'statue'=>0);
	  }else{
		if($reslut->errcode == 0) {
	      $token   = $reslut->ticket;
	      $expire  = intval($reslut->expires_in);
	      M('weixintoken')->add(array('token'=>$token,'expire'=>$expire,'type'=>2,'time'=>time()));
	      return array('token'=>$token,'msg'=>$reslut->errmsg,'statue'=>1);
		} else {
		  return array('token'=>'','msg'=>$reslut->errmsg,'statue'=>0);
		}
	  }
	} else {
	  return $token;
	}
  }
  //加密
  function jsApiSign($noncestr='',$timestamp='',$url=''){
	 if ($noncestr!='' && $timestamp!='' && $url!='') {
		 $ticket = getTicket();
		 if ($ticket['statue'] && $ticket['token']!='') {
		   $string = 'jsapi_ticket='.$ticket['token'].'&noncestr='.$noncestr.'×tamp='.$timestamp.'&url='.$url;
		   writelog('shastring:',$string.'sha1:'.sha1($string));
		   return sha1($string);
		 } else {
		   return FALSE;
		 }
	 } else {
	   return FALSE;
	 }
  }
  //加密分享返回相應參數
  function shareSign($url=''){
    if ($url!='') {
	  $time = time();
	  $noncestr  = substr(md5($time),0,6);
	  $signature = jsApiSign($noncestr,$time,$url);
	  if (!$signature) {
	    return FALSE;
	  } else {
		return array('noncestr'=>$noncestr,'signature'=>$signature,'timestamp'=>$time,'appId'=>C("WEIXIN_APPID"));
	  }
	} else {
	  return FALSE;
	}
  }
400-680-9298,0791-88117053
掃一掃關注百恒網絡微信公眾號

歡迎您的光顧,我們將竭誠為您服務×

售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售前咨詢 售前咨詢
 
售后服務 售后服務
 
備案專線 備案專線
 
售后服務 售后服務
 
×