ex12445_php_show,c-videoshow.php

class videoshow extends Control {

private $appId = '你的appid';

private $appSecret = '你的appsecret';

public function test_GET(){

$signPackage = $this->GetSignPackage();

$data = $signPackage;

$data['data'] = $this->getmsg();

// $data['sharecontent']=$this->getshareTimeLine();

// $data['sharecontent2']=$this->getshareTimeLine2();

// var_dump($data);exit;

$this->display('videoshow',$data);

}

//载入一些前台信息

public function getmsg(){

$arr =array(

"ad" =>'1',//后台给一个标准,判断是否有广告的出现

"readall" =>'0',//阅读全文是否可以点

"title" =>"监控实拍KTV老总在包房被欺负,喊来黑帮大姐拿酒瓶爆头...",//文章页分享标题

"nickname"=>"男性健康咨询",//关注公总号名称

"readnum" =>'10000+',

"video" =>'g0541wjarpq',

"stoptime"=>'30', //视频暂停时长

);

return $arr;

}

// 把分享朋友圈的内容载入到前台

// public function getshareTimeLine(){

// $sharecontent = array(

// "sharetitle" => "当前112482在看【一小伙把服务员打进医院,大姐带人狂砍小伙】...",

// "sharelink" => "http://tt.t.vipds.cn/check",

// "shareimgUrl"=>"http://shp.qpic.cn/qqvideo_ori/0/g0541wjarpq_496_280/0",

// );

// return $sharecontent;

// }

// 朋友圈的二次分享内容

// public function getshareTimeLine2(){

// $sharecontent2 = array(

// "sharetitle2" => "观看视频之后分享内容",

// "sharelink2" => "http://tt.t.vipds.cn/check",

// "shareimgUrl2"=>"http://shp.qpic.cn/qqvideo_ori/0/g0541wjarpq_496_280/0",

// );

// return $sharecontent2;

// }

//获得签名包

public function GetSignPackage() {

$jsapiTicket = $this->getJsApiTicket();

$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";//server_port,服务器端口443,网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。

$url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";//请求头信息中的Host内容,获取当前域名。当前脚本路径,根目录之后的目录。

$timestamp = time();

$nonceStr = $this->createNonceStr();

// 这里参数的顺序要按照 key 值 ASCII 码升序排序

$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";

$signature = sha1($string);

$signPackage = array(

"appId" => $this->appId,

"nonceStr" => $nonceStr,

"timestamp" => $timestamp,

"url" => $url,

"signature" => $signature,

"rawString" => $string

);

return $signPackage;

}

//获取随机字符串

public function createNonceStr($length = 16) {

$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

$str = "";

for ($i = 0; $i < $length; $i++) {

$str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);

}

return $str;

}

//获取jsapiticket

public function getJsApiTicket() {

$data = $this->red('cache')->get('appId_jsapi_ticket');

if ($data !== false) {

$data = json_decode($data,true);

if ($data['expire_time'] < time()) {

$accessToken = $this->getAccessToken();

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

$res = json_decode($this->httpGet($url));

$ticket = $res->ticket;

if ($ticket) {

$expire_time = 7000;

$data['expire_time'] = time() + $expire_time;

$expire_time = $data['expire_time'];

$data['jsapi_ticket'] = $ticket;

$this->red('cache')->setex('appId_jsapi_ticket',$expire_time,json_encode($data,true));

}

}else{

$data['expire_time'] = $data['expire_time'];

$data['jsapi_ticket'] = $data['jsapi_ticket'];

}

}else{

$accessToken = $this->getAccessToken();

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

$res = json_decode($this->httpGet($url));

$ticket = $res->ticket;

if ($ticket) {

$expire_time = 7000;

$data['expire_time'] = time() + $expire_time;

$data['jsapi_ticket'] = $ticket;

$this->red('cache')->setex('appId_jsapi_ticket',$expire_time,json_encode($data,true));

}

}

return $data['jsapi_ticket'];

}

//获取access_token

public function getAccessToken(){

$data = $this->red('cache')->get('appId_access_token');

if ($data !== false){

$data = json_decode($data,true);

if ($data['expire_time'] < time()){

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appId}&secret={$this->appSecret}";

$res = json_decode($this->httpGet($url));

$access_token = $res->access_token; //

if ($access_token) {

$expire_time = 7000;

$data['expire_time'] = time() + $expire_time;

$data['access_token'] = $access_token; //

$this->red('cache')->setex('appId_access_token',$expire_time,json_encode($data,true));

}

}else{

$data['expire_time'] = $data['expire_time'];

$data['access_token'] = $data['access_token'];

}

}else{

$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appId}&secret={$this->appSecret}";

$res = json_decode($this->httpGet($url));

$access_token = $res->access_token; //

if ($access_token) {

$expire_time = 7000;

$data['expire_time'] = time() + $expire_time;

$data['access_token'] = $access_token; //

$this->red('cache')->setex('appId_access_token',$expire_time,json_encode($data,true));

}

}

return $data['access_token'];

}

//curl函数 https的接口调用

public function httpGet($url) {

$curl = curl_init();

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //curlopt_returntransfer属性将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。

curl_setopt($curl, CURLOPT_TIMEOUT, 500); //curlopt_timeout,500,设置cURL允许执行的最长秒数

curl_setopt($curl, CURLOPT_URL, $url); //curlopt_url,,需要获取的URL地址,也可以在curl_init()函数中设置

$res = curl_exec($curl);//执行给定的cURL会话。

curl_close($curl);//关闭curl,释放资源

return $res;

}

}

一键复制

编辑

Web IDE

原始数据

按行查看

历史

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值