<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Googo Website Traffic</title> <!-- Font Awesome --> <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" rel="stylesheet" /> <!-- Google Fonts --> <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" /> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <!-- MDB --> <link href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://unpkg.com/js-datepicker/dist/datepicker.min.css"> <link rel="stylesheet" type="text/css" href="reset.css"> <link rel="stylesheet" type="text/css" href="main.css"> <!-- MDB --> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.js" ></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script src="echarts.min.js"></script> </head> <body class="color__grey"> <!-- Navbar --> <nav class="navbar navbar-expand-lg navbar-light bg-white"> <!-- Container wrapper --> <div class="container-fluid"> <!-- Navbar brand --> <a class="navbar-brand" href="#">Googo Website Traffic</a> <!-- Toggle button --> <button class="navbar-toggler" type="button" data-mdb-toggle="collapse" data-mdb-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <i class="fas fa-bars text-light"></i> </button> <!-- Collapsible wrapper --> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <!-- Left links --> <ul class="navbar-nav me-auto d-flex flex-row mt-3 mt-lg-0"> <li class="nav-item text-center mx-2 mx-lg-1"> <a class="nav-link active" aria-current="page" href="index.html"> <div> <i class="fas fa-home fa-lg mb-1"></i> </div> Home </a> </li> <li class="nav-item text-center mx-2 mx-lg-1"> <a class="nav-link" href="http://news.google.com"> <div> <i class="fas fa-globe-americas fa-lg mb-1"></i> <!-- <span class="badge rounded-pill badge-notification bg-success">11</span> --> </div> News </a> </li> <li class="nav-item text-center mx-2 mx-lg-1"> <a class="nav-link" href="keywords.html"> <div> <i class="fab fa-korvue fa-lg mb-1"></i> <!-- <span class="badge rounded-pill badge-notification bg-success">11</span> --> </div> Keywords </a> </li> </ul> <!-- Right links --> </div> <!-- Collapsible wrapper --> </div> <!-- Container wrapper --> </nav> <!-- Navbar --> <div class="container"> <div class="row"> <!-- <div class="col-1 col-lg-1"></div> --> <div class="col-12 col-12"> <!-- Search form --> <form id="searchform" class="d-flex input-group search__form align-item-center keyword_add" > <input type="search" class="form-control search__bar" placeholder="新增追蹤關鍵字" aria-label="Domain Name" id="following_keys"/> <button class="btn btn-primary search__btn" type="button" data-mdb-ripple-color="dark" id="search__btn"> 加入 </button> </form> <div class="keyword_total mx-auto mb-4">目前有 <strong>N</strong> 個追蹤關鍵字</div> <div class="date__input mb-3"> <label for="daterng">開始日期:</label><input type="text" name="daterng" id="daterng1"> <label for="daterng">結束日期:</label><input type="text" name="daterng" id="daterng2"> <button class='sub__date btn'>套用</button> </div> <div class="text-muted mb-2 border-bottom">追蹤關鍵字排名</div> <div class="row g-5 mb-3"> <div class="col-sm-4"> <div class="card p-3"> <div class="card-body text-center"> <h5 class="card-title card__rank__title mb-2">排名前一頁關鍵字</h5> <p class="card-text" > </p> <span href="#" class="rank__mark"><strong id="globalrank" class="rank_num">1000</strong>個</span> </div> </div> </div> <div class="col-sm-4"> <div class="card p-3"> <div class="card-body text-center"> <h5 class="card-title card__rank__title mb-2">排名前三頁關鍵字</h5> <p class="card-text"> </p> <span href="#" class="rank__mark"><strong id="countryrank" class="rank_num">100</strong>個</span> </div> </div> </div> <div class="col-sm-4"> <div class="card p-3"> <div class="card-body text-center"> <h5 class="card-title card__rank__title mb-2"><i class="fas fa-tags"></i>排名前十頁關鍵字</h5> <p class="card-text card__rank__cat" id="category"> </p> <span href="#" class="rank__mark"><strong id="countryrank" class="rank_num">100</strong>個</span> </div> </div> </div> </div> <div class="text-muted mb-2">追蹤關鍵字列表</div> <table id="dtBasicExample" class="table" cellspacing="0" width="100%"> <thead> <tr> <th class="th-sm">關鍵字 </th> <th class="th-sm">排名 </th> <th class="th-sm">搜尋量 </th> <th class="th-sm">曝光數 </th> <th class="th-sm">CTR </th> <th class="th-sm">頁面搜尋流量 </th> <th></th> </tr> </thead> <tbody> <tr> <td>Tiger Nixon</td> <td>System Architect</td> <td>Edinburgh</td> <td>61</td> <td>2011/04/25</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> <tr> <td>Garrett Winters</td> <td>Accountant</td> <td>Tokyo</td> <td>63</td> <td>2011/07/25</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> <tr> <td>Ashton Cox</td> <td>Junior Technical Author</td> <td>San Francisco</td> <td>66</td> <td>2009/01/12</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> </tbody> </table> <div class="text-muted mb-2">搜尋關鍵字現況(連google search console 資料)</div> <table id="dtBasicExample" class="table" cellspacing="0" width="100%"> <thead> <tr> <th class="th-sm">關鍵字 </th> <th class="th-sm">排名 </th> <th class="th-sm">搜尋量 </th> <th class="th-sm">曝光數 </th> <th class="th-sm">CTR </th> <th class="th-sm">頁面搜尋流量 </th> <th></th> </tr> </thead> <tbody> <tr> <td>Tiger Nixon</td> <td>System Architect</td> <td>Edinburgh</td> <td>61</td> <td>2011/04/25</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> <tr> <td>Garrett Winters</td> <td>Accountant</td> <td>Tokyo</td> <td>63</td> <td>2011/07/25</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> <tr> <td>Ashton Cox</td> <td>Junior Technical Author</td> <td>San Francisco</td> <td>66</td> <td>2009/01/12</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> </tbody> </table> <div class="text-muted mb-2">關鍵字建議</div> <table id="dtBasicExample" class="table" cellspacing="0" width="100%"> <thead> <tr> <th class="th-sm">關鍵字 </th> <th class="th-sm">排名 </th> <th class="th-sm">搜尋量 </th> <th class="th-sm">曝光數 </th> <th class="th-sm">CTR </th> <th class="th-sm">頁面搜尋流量 </th> <th></th> </tr> </thead> <tbody> <tr> <td>Tiger Nixon</td> <td>System Architect</td> <td>Edinburgh</td> <td>61</td> <td>2011/04/25</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> <tr> <td>Garrett Winters</td> <td>Accountant</td> <td>Tokyo</td> <td>63</td> <td>2011/07/25</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> <tr> <td>Ashton Cox</td> <td>Junior Technical Author</td> <td>San Francisco</td> <td>66</td> <td>2009/01/12</td> <td>989</td> <td><i class="fas fa-trash-alt"></i></td> </tr> </tbody> </table> </div> </div> </div> <footer class="footer text-center p-4 bg-white"> <div class="text-muted"> © 2021 Copyright: Googo Website Traffic</div> </footer> <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> <script src="https://unpkg.com/js-datepicker"></script> <script> const input = document.getElementById("search_query"); const search__btn = document.getElementById("search__btn"); const picker_str = datepicker('#daterng1', { id: 1 }); const picker_end = datepicker('#daterng2', { id: 1 }); $('.sub__date').click(function(e){ e.preventDefault(); console.log(picker_end.getRange()); }); search__btn.addEventListener("click", function(e) { e.preventDefault(); check_form(); }) input.addEventListener("keyup", function(event) { // Number 13 is the "Enter" key on the keyboard if (event.keyCode === 13) { check_form(); event.preventDefault(); // document.getElementById("myBtn").click(); } }); $(document).ready(function () { $('#dtBasicExample').DataTable(); $('.dataTables_length').addClass('bs-select'); }); const myChart = echarts.init(document.getElementById('main')); let option; function check_form(){ const qry = document.getElementById('search_query').value; axios.get('http://www.googo.org:8080/domain/' + qry) .then((response) => { const sitename = document.getElementById('sitename'); const sitetitle = document.getElementById('sitetitle'); const descriptions = document.getElementById('descriptions'); const globalrank = document.getElementById('globalrank'); const countryrank = document.getElementById('countryrank'); const category = document.getElementById('category'); console.log(response.data); // alert(response.data.SiteName); // var obj = JSON.parse(response.data); // alert(obj); itename.textContent =response.data.SiteName; descriptions.textContent=response.data.Description; globalrank.textContent=response.data.GlobalRank.Rank; sitetitle.textContent=response.data.Title; countryrank.textContent=response.data.CountryRank.Rank; category.textContent=response.data.Category; const key_ary=[]; const val_ary=[]; for (const [key, value] of Object.entries(response.data.EstimatedMonthlyVisits)) { key_ary.push(key); val_ary.push(value); } option = { xAxis: { type: 'category', boundaryGap: false, data: key_ary }, yAxis: { type: 'value' }, series: [{ data: val_ary, type: 'line', areaStyle: {} }] }; myChart.setOption(option); // sitename.innerHTML =response.data var bar = document.getElementById('bar'); var barChart = echarts.init(bar); let traffics; traffics = { title: { text: '世界人口总量', subtext: '数据来自网络' }, tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, legend: { data: ['2011年', '2012年'] }, grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true }, xAxis: { type: 'value', boundaryGap: [0, 0.01] }, yAxis: { type: 'category', data: ['巴西', '印尼', '美国', '印度', '中国', '世界人口(万)'] }, series: [ { name: '2011年', type: 'bar', data: [18203, 23489, 29034, 104970, 131744, 630230] }, { name: '2012年', type: 'bar', data: [19325, 23438, 31000, 121594, 134141, 681807] } ] }; traffics && barChart.setOption(traffics); console.log(response.status); console.log(response.statusText); console.log(response.headers); console.log(response.config); }); } </script> </body> </html>