<?php
namespace Common\Model;
use Think\Model;
class GetLiveApiModel extends Model {
/**
* CC視頻雲直播接口文檔:https://doc.bokecc.com/live
*/
protected $user_id = '041CFB5553F****';
protected $APIKey = 'ClGzgeHWToST****';
/**
* 獲取直播間信息
* @param $id 直播間ID
* @return array
*/
public function get_live_info($id){
$base_url = 'http://api.csslcloud.net/api/room/search';
$param = [];
$param['userid'] = $this->user_id;
$param['roomid'] = $id;
$QueryString = $this->GetQueryString($param);
//請求地址
$request_url = $base_url.'?'.$QueryString;
$result = json_decode(curl_get($request_url),true);
$return['status'] = 1;
$return['msg'] = '獲取成功';
$return['data'] = $result;
return $return;
}
/**
* 獲取正在直播的直播間列表
* @return array
*/
public function get_live_ing_list(){
$base_url = 'http://api.csslcloud.net/api/rooms/broadcasting';
$param = [];
$param['userid'] = $this->user_id;
$QueryString = $this->GetQueryString($param);
//請求地址
$request_url = $base_url.'?'.$QueryString;
$result = json_decode(curl_get($request_url),true);
$return['status'] = 1;
$return['msg'] = '獲取成功';
$return['data'] = $result;
return $return;
}
/**
* 獲取直播間代碼
* @param $id 直播間ID
* @return array
*/
public function get_live_code($id){
$base_url = 'http://api.csslcloud.net/api/room/code';
$param = [];
$param['userid'] = $this->user_id;
$param['roomid'] = $id;
$QueryString = $this->GetQueryString($param);
//請求地址
$request_url = $base_url.'?'.$QueryString;
$result = json_decode(curl_get($request_url),true);
$return['status'] = 1;
$return['msg'] = '獲取成功';
$return['data'] = $result;
return $return;
}
/**
* 獲取Http 通信的字符串
* @param $param 通信參數
* @return string
*/
private function GetQueryString($param){
//第一步,將上述 QueryString 按照字母順序進行升序排序
ksort($param);
$first_value = reset ($param);
$QueryString = '';
foreach ($param as $k=>$v){
if($first_value == $v){
$QueryString .= $k.'='.urlencode($v);
}else{
$QueryString .= '&'.$k.'='.urlencode($v);
}
}
//第二步,附加 time 值和 salt 值
$time = time();
$QueryStringHs = $QueryString.'&time='.$time.'&salt='.$this->APIKey;
//第三步,對上述字符串取 md5 值
$hash = md5($QueryStringHs);
//第四步 最終進行 Http 通信的字符串爲
$QueryString = $QueryString.'&time='.$time.'&hash='.$hash;
return $QueryString;
}
}