马上注册,免费下载更多dz插件网资源。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
渲染效果如下,实际就是小编的哈
务必下载百度的图表JS,也就是echarts.min.js。貌似这个货有点肥已经亚健康了。看看有没有CDN的自行找找。后端PHP输出接口开始讲解。
1,为了保持良好的习惯,我们分3个文件去实现,第一个文件就是宝塔每个API接口,第二个就是封装一个宝塔的PHP类文件,第三个就是JSON输出接口,方便图表的JS对接渲染
配置文件命名为config.php,代码如下:- <?php$config = array('GetSystemTotal' => '/system?action=GetSystemTotal', //获取系统基础统计'GetDiskInfo' => '/system?action=GetDiskInfo', //获取磁盘分区信息'GetNetWork' => '/system?action=GetNetWork', //获取实时状态信息(CPU、内存、网络、负载));
复制代码 我这里随意举例了几个哈,其他的自行打开你的宝塔面板F12去获取了。
第二个封装一个PHP类,命名为Bt.php- <?phpclass Bt{ private $BT_KEY = ""; private $BT_PANEL = ""; public function __construct($bt_panel = null,$bt_key = null){ if($bt_panel) $this->BT_PANEL = $bt_panel; if($bt_key) $this->BT_KEY = $bt_key; } public function GetSystemTotal(){ $url = $this->BT_PANEL.$this->config("GetSystemTotal"); $p_data = $this->GetKeyData(); $result = $this->HttpPostCookie($url,$p_data); $data = json_decode($result,true); return $data; } public function GetDiskInfo(){ $url = $this->BT_PANEL.$this->config("GetDiskInfo"); $p_data = $this->GetKeyData(); $result = $this->HttpPostCookie($url,$p_data); $data = json_decode($result,true); return $data; } public function GetNetWork(){ $url = $this->BT_PANEL.$this->config("GetNetWork"); $p_data = $this->GetKeyData(); $result = $this->HttpPostCookie($url,$p_data); $data = json_decode($result,true); return $data; } public function GetKeyData(){ $now_time = time(); $p_data = array( 'request_token' => md5($now_time.''.md5($this->BT_KEY)), 'request_time' => $now_time ); return $p_data; } public function GetKeyData(){ $now_time = time(); $p_data = array( 'request_token' => md5($now_time.''.md5($this->BT_KEY)), 'request_time' => $now_time ); return $p_data; } private function HttpPostCookie($url, $data,$timeout = 60){ $cookie_file='./Cookie/'.md5($this->BT_PANEL).'.cookie';//定义cookie保存位置 自行创建文件夹 if(!file_exists($cookie_file)){ $fp = fopen($cookie_file,'w+'); fclose($fp); } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file); curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $output = curl_exec($ch); curl_close($ch); return $output; } private function config($str){ require_once('config.php'); return $config[$str]; }}
复制代码 3,最后命名一个文件index.php就可以,这就是JSON输出的了哈。- <?phprequire_once('Bt.php');//引入宝塔类函数$apiurl='http://110.110.110.110:56789/';// 修改成自己的宝塔面板地址$apikey='kGZcwuWXXunQXkluTBp5ArcZ5GwOSEqQ';// 修改成自己的宝塔Api密钥$bt = new Bt($apiurl,$apikey);$enews=$_POST['enews'];if(empty($enews)){$enews=$_GET['enews'];}if($enews=='getsystemtotal'){echo json_encode($bt->GetSystemTotal());//获取系统基础统计}if($enews=='getnetwork'){echo json_encode($bt->GetNetWork());//获取实时状态信息(CPU、内存、网络、负载)}if($enews=='getdiskinfo'){echo json_encode($bt->GetDiskInfo());//获取磁盘信息}
复制代码 此JSON接口不仅仅是完美集成到网站的,也可以集成到小程序,app上面的哈。不要单纯认为网站才可以的哈。接下来就是前端AJAX发起请求,获取JSON结果后用百度图表组件进行渲染就可以了!实在连前端都看不懂的下期再讲解
©DZ插件网所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站内容为站长个人技术研究记录或网络,不提供用户交互功能,所有内容版权归原作者所有。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,得到更好的正版服务。 您在本站任何的赞助购买、下载、查阅、回复等行为等均表示接受并同意签订《DZ插件网免责声明协议》。 如有侵权请邮件与我们联系处理: discuzaddons@vip.qq.com 并出示相关证明以便删除。敬请谅解!
|
|