|
@@ -1,5 +1,10 @@
|
|
|
-<html>
|
|
|
+<!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>AI Spokesgirl Video Generator</title>
|
|
|
<!-- Font Awesome -->
|
|
|
<link
|
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
|
|
@@ -15,22 +20,23 @@
|
|
|
href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.css"
|
|
|
rel="stylesheet"
|
|
|
/>
|
|
|
+<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>
|
|
|
+<body class="color__grey">
|
|
|
|
|
|
<!-- Navbar -->
|
|
|
-<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
|
|
|
+<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>
|
|
|
+ <a class="navbar-brand" href="#">AI Spokesgirl Video Generator</a>
|
|
|
|
|
|
<!-- Toggle button -->
|
|
|
<button class="navbar-toggler" type="button" data-mdb-toggle="collapse"
|
|
@@ -52,17 +58,15 @@
|
|
|
</a>
|
|
|
</li>
|
|
|
<li class="nav-item text-center mx-2 mx-lg-1">
|
|
|
- <a class="nav-link" href="http://news.google.com">
|
|
|
+ <a class="nav-link active" aria-current="page" href="https://telegram.org/">
|
|
|
<div>
|
|
|
- <i class="fas fa-globe-americas fa-lg mb-1"></i>
|
|
|
- <span class="badge rounded-pill badge-notification bg-success">11</span>
|
|
|
+ <i class="fab fa-telegram-plane fa-lg mb-1"></i>
|
|
|
</div>
|
|
|
- News
|
|
|
+ Telegram
|
|
|
</a>
|
|
|
</li>
|
|
|
</ul>
|
|
|
<!-- Right links -->
|
|
|
-
|
|
|
</div>
|
|
|
<!-- Collapsible wrapper -->
|
|
|
</div>
|
|
@@ -70,195 +74,221 @@
|
|
|
</nav>
|
|
|
<!-- Navbar -->
|
|
|
|
|
|
-
|
|
|
-</br>
|
|
|
-
|
|
|
<div class="container">
|
|
|
<div class="row">
|
|
|
- <div class="col-1 col-lg-1"></div>
|
|
|
-
|
|
|
- <div class="col-sm-11 col-lg-11">
|
|
|
- <!-- Search form -->
|
|
|
-
|
|
|
- <form id="searchform" class="d-flex input-group w-auto" action="http://139.162.121.30:8787/items" method="post">
|
|
|
- <input type="search" class="form-control" placeholder="Search" aria-label="Domain Name" name="search_query" id="search_query"/>
|
|
|
- <button class="btn btn-primary" type="button" data-mdb-ripple-color="dark" >
|
|
|
- Search
|
|
|
- </button>
|
|
|
- </form>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <div class="card text-center">
|
|
|
- <div class="card-header" id="sitename">Website Traffic</div>
|
|
|
- <div class="card-body">
|
|
|
- <h5 class="card-title" id="sitetitle"></h5>
|
|
|
- <p class="card-text" id="descriptions">
|
|
|
- </p>
|
|
|
-<!-- <a href="#" class="btn btn-primary" id="globalrank2"></a> -->
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <div class="row">
|
|
|
- <div class="col-sm-4">
|
|
|
- <div class="card">
|
|
|
- <div class="card-body">
|
|
|
- <h5 class="card-title">Global Ranks</h5>
|
|
|
- <p class="card-text" >
|
|
|
- </p>
|
|
|
- <a href="#" class="btn btn-primary" id="globalrank"></a>
|
|
|
- </div>
|
|
|
+ <!-- <div class="col-1 col-lg-1"></div> -->
|
|
|
+ <div class="col-12">
|
|
|
+ <div class="card card__grback mb-5">
|
|
|
+ <div class="card-body card__left">
|
|
|
+ <!-- 根據搜尋內容顯示網站標題及網站內容簡介 -->
|
|
|
+ <h5 class="card-title card__url" id="sitetitle"><i class="fas fa-book-open card__url__icon"></i>如何使用</h5>
|
|
|
+ <div class="d-flex align-items-center justify-content-between">
|
|
|
+ <div class="mr-4 animate_in">
|
|
|
+ <div>
|
|
|
+ <i class="fas fa-exclamation"></i>
|
|
|
+ 連結Telegram 帳號
|
|
|
</div>
|
|
|
+ <a class="btn download" href="https://telegram.org/">下載Telegram</a>
|
|
|
</div>
|
|
|
- <div class="col-sm-4">
|
|
|
- <div class="card">
|
|
|
- <div class="card-body">
|
|
|
- <h5 class="card-title">Country Ranks</h5>
|
|
|
- <p class="card-text">
|
|
|
- </p>
|
|
|
- <a href="#" class="btn btn-primary" id="countryrank"></a>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div class="card-text card__intro animate_in" id="descriptions">
|
|
|
+ <div class="intro_text pl-4"><span class="intro_num">1</span> 選擇人物 </div>
|
|
|
+ <div class="intro_text pl-3"><span class="intro_num">2</span> 選擇背景</div>
|
|
|
+ <div class="intro_text pl-2"><span class="intro_num">3</span> 輸入腳本文字 </div>
|
|
|
+ <div class="intro_text"><span class="intro_num intro_num_last">4</span> 完成</div>
|
|
|
</div>
|
|
|
- <div class="col-sm-4">
|
|
|
- <div class="card">
|
|
|
- <div class="card-body">
|
|
|
- <h5 class="card-title">Category</h5>
|
|
|
- <p class="card-text" id="category">
|
|
|
- </p>
|
|
|
-<!-- <a href="#" class="btn btn-primary" ></a>-->
|
|
|
-
|
|
|
- </div>
|
|
|
+ <div class="d-flex align-items-center animate_in">
|
|
|
+ <div style="width:7rem;height:12rem;">
|
|
|
+ <img src="assets/Labinaagu.png" alt="" style="width:100%;height:100%;">
|
|
|
</div>
|
|
|
+ <div class="intro__last"><i class="fas fa-check-circle" style="font-size:1.4rem;color: green;display: block;margin-bottom: 1rem;"></i>等待影片連結傳送至手機</div>
|
|
|
</div>
|
|
|
-
|
|
|
+ <!-- <div><i class="fab fa-youtube youtube__icon"></i></div> -->
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- <div class="card-footer text-muted">Global Website Traffic Rankings</div>
|
|
|
+ <!-- <a href="#" class="btn btn-primary" id="globalrank2"></a> -->
|
|
|
</div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-</div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-<div class="container">
|
|
|
- <div class="row">
|
|
|
- <div class="col-1 col-lg-1"></div>
|
|
|
-
|
|
|
- <div class="col-sm-11 col-lg-11">
|
|
|
-
|
|
|
- <!--
|
|
|
- <button type="button" class="btn btn-primary btn-block mb-4 ripple-surface">Place order</button>
|
|
|
--->
|
|
|
-<div id="main" style="width: 650px;height:400px;"></div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-</div>
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ </div>
|
|
|
+ <!-- Text input Block -->
|
|
|
+ <div class="text_input animate_fade">
|
|
|
+ <div class="step d-flex align-items-center">
|
|
|
+ <h3 class='step__text'>Step 1</h3>
|
|
|
+ <hr style="width:8rem;border-top:1.5px dotted grey;margin-right:.5rem;">
|
|
|
+ <span>選擇人物</span>
|
|
|
+ </div>
|
|
|
+ <div class='characs d-flex w-100'>
|
|
|
+ <div class="row justify-content-around">
|
|
|
+ <div class="col-sm-12 col-md-4">
|
|
|
+ <input type="radio" id="num1" name="characs" value="num1" checked>
|
|
|
+ <label for="num1"><div class="card characs_fr"><img src="assets/girl1.png" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ <div class="col-sm-12 col-md-4">
|
|
|
+ <input type="radio" id="num2" name="characs" value="num2">
|
|
|
+ <label for="num2"><div class="card characs_fr"><img src="assets/girl2.png" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ <div class="col-sm-12 col-md-4">
|
|
|
+ <input type="radio" id="num3" name="characs" value="num3">
|
|
|
+ <label for="num3"><div class="card characs_fr"><img src="assets/girl3.png" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="text_input animate_fade">
|
|
|
+ <div class="step d-flex align-items-center">
|
|
|
+ <h3 class='step__text'>Step 2</h3>
|
|
|
+ <hr style="width:8rem;border-top:1.5px dotted grey;margin-right:.5rem;">
|
|
|
+ <span>選擇背景</span>
|
|
|
+ </div>
|
|
|
+ <div class='characs d-flex w-100'>
|
|
|
+ <div class="row justify-content-around">
|
|
|
+ <div class="col-sm-12 col-md-3">
|
|
|
+ <input type="radio" id="back1" name="back" value="back1" checked>
|
|
|
+ <label for="back1"><div class="card back_fr"><img src="assets/patrick-perkins-3wylDrjxH-E-unsplash.jpg" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ <div class="col-sm-12 col-md-3">
|
|
|
+ <input type="radio" id="back2" name="back" value="back2">
|
|
|
+ <label for="back2"><div class="card back_fr"><img src="assets/alberto-castillo-q-mx4mSkK9zeo-unsplash.jpg" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ <div class="col-sm-12 col-md-3">
|
|
|
+ <input type="radio" id="back3" name="back" value="back3">
|
|
|
+ <label for="back3"><div class="card back_fr"><img src="assets/jarek-ceborski-jn7uVeCdf6U-unsplash.jpg" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ <div class="col-sm-12 col-md-3">
|
|
|
+ <input type="radio" id="back4" name="back" value="back4">
|
|
|
+ <label for="back4"><div class="card back_fr"><img src="assets/kelsey-dody-mt2QzllH814-unsplash.jpg" alt=""></div></label>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="text_input animate_fade">
|
|
|
+ <div class="step d-flex align-items-center">
|
|
|
+ <h3 class='step__text'>Step 3</h3>
|
|
|
+ <hr style="width:8rem;border-top:1.5px dotted grey;margin-right:.5rem;">
|
|
|
+ <span>輸入您的專屬影片的腳本文字</span>
|
|
|
+ </div>
|
|
|
+ <form id="searchform" class="d-flex input-group search__form">
|
|
|
+ <textarea form="searchform" class="search__bar" placeholder="輸入腳本文字" aria-label="Domain Name" id="search_query"></textarea>
|
|
|
+ <!-- <button class="btn btn-primary search__btn" type="button" data-mdb-ripple-color="dark" id="search__btn">
|
|
|
+ 完成
|
|
|
+ </button> -->
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ <div class="text_input text-center">
|
|
|
+ <button type="submit" class="submit disabled">送出</button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <footer class="footer text-center p-4 bg-white">
|
|
|
+ <div class="text-muted"> © 2021 Copyright: Choozmo. AI Spokesgirl Video Generator</div>
|
|
|
+ </footer>
|
|
|
+ <script src="https://cdn.jsdelivr.net/npm/sweetalert2@10.16.6/dist/sweetalert2.all.min.js"></script>
|
|
|
+ <!-- <script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script> -->
|
|
|
<script>
|
|
|
|
|
|
-var input = document.getElementById("search_query");
|
|
|
+const input = document.getElementById("search_query");
|
|
|
+const search__btn = document.getElementById("search__btn");
|
|
|
+const submit__btn = document.querySelector('.submit');
|
|
|
+const search__bar = document.querySelector('.search__bar');
|
|
|
+const text_input = document.querySelectorAll('.text_input');
|
|
|
+const animate_in = document.querySelectorAll('.animate_in');
|
|
|
|
|
|
-input.addEventListener("keyup", function(event) {
|
|
|
+search__bar.addEventListener('mouseenter', function() {
|
|
|
+ if(search__bar.value) {
|
|
|
+ submit__btn.classList.remove('disabled');
|
|
|
+ }
|
|
|
+});
|
|
|
+search__bar.addEventListener('mouseleave', function() {
|
|
|
+ if(search__bar.value) {
|
|
|
+ submit__btn.classList.remove('disabled');
|
|
|
+ }
|
|
|
+});
|
|
|
+window.addEventListener("scroll", function(){
|
|
|
+ for(let i = 0;i < text_input.length;i++){
|
|
|
+ const scrollPos = window.innerHeight + window.scrollY;
|
|
|
+ if(scrollPos >= text_input[i].offsetTop){
|
|
|
+ text_input[i].classList.add('fade_up');
|
|
|
+ }
|
|
|
+ }
|
|
|
+});
|
|
|
+window.onload = function() {
|
|
|
+ for(let i = 0;i < animate_in.length;i++) {
|
|
|
+ animate_in[i].classList.add('fade_in');
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/* 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();
|
|
|
}
|
|
|
-});
|
|
|
-
|
|
|
- var myChart = echarts.init(document.getElementById('main'));
|
|
|
+}); */
|
|
|
|
|
|
- var option;
|
|
|
-
|
|
|
-function check_form(){
|
|
|
- var qry=document.getElementById('search_query').value;
|
|
|
- axios.get('http://www.googo.org:8080/domain/'+qry)
|
|
|
- .then((response) => {
|
|
|
- var sitename = document.getElementById('sitename');
|
|
|
- var sitetitle = document.getElementById('sitetitle');
|
|
|
- var descriptions=document.getElementById('descriptions');
|
|
|
- var globalrank=document.getElementById('globalrank');
|
|
|
- var countryrank=document.getElementById('countryrank');
|
|
|
- var category=document.getElementById('category');
|
|
|
-
|
|
|
- console.log(response.data);
|
|
|
-// alert(response.data.SiteName);
|
|
|
-// var obj = JSON.parse(response.data);
|
|
|
-// alert(obj);
|
|
|
- sitename.innerHTML =response.data.SiteName;
|
|
|
- descriptions.innerHTML=response.data.Description;
|
|
|
- globalrank.innerHTML=response.data.GlobalRank.Rank;
|
|
|
- sitetitle.innerHTML=response.data.Title;
|
|
|
- countryrank.innerHTML=response.data.CountryRank.Rank;
|
|
|
- category.innerHTML=response.data.Category;
|
|
|
-
|
|
|
- var key_ary=[];
|
|
|
- var 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
|
|
|
-
|
|
|
- console.log(response.status);
|
|
|
- console.log(response.statusText);
|
|
|
- console.log(response.headers);
|
|
|
- console.log(response.config);
|
|
|
+// const myChart = echarts.init(document.getElementById('main'));
|
|
|
+let option;
|
|
|
|
|
|
+ submit__btn.addEventListener('click', function(){
|
|
|
+ Swal.fire({
|
|
|
+ icon: 'success',
|
|
|
+ title: '已送出!正在製作影片',
|
|
|
+ text: '等待Telegram訊息通知傳送影片連結,約2分鐘後收到訊息'
|
|
|
});
|
|
|
-
|
|
|
- }
|
|
|
+});
|
|
|
+/* 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
|
|
|
+ console.log(response.status);
|
|
|
+ console.log(response.statusText);
|
|
|
+ console.log(response.headers);
|
|
|
+ console.log(response.config);
|
|
|
+ });
|
|
|
+ } */
|
|
|
</script>
|
|
|
|
|
|
</body>
|