Selaa lähdekoodia

Merge branch 'master' of http://git.choozmo.com:3000/choozmo/AI_Anchor_2

huaisianhuang 3 vuotta sitten
vanhempi
commit
bd22479c5a
5 muutettua tiedostoa jossa 219 lisäystä ja 1 poistoa
  1. 4 1
      api/etc/docker cmd.txt
  2. 26 0
      api/main.py
  3. 110 0
      api/static/invite_register.html
  4. 52 0
      api/static/invite_register.js
  5. 27 0
      etc/serverCheck.py

+ 4 - 1
api/etc/docker cmd.txt

@@ -7,4 +7,7 @@ sudo docker run -d -it  --name backend -p 8887:8887 -v C:\Users\ming\Desktop\wor
 
 
 
-uvicorn main:app --host="0.0.0.0" --reload --port 8888
+uvicorn main:app --host="0.0.0.0" --reload --port 8888
+
+
+uvicorn main:app --host 0.0.0.0 --port 8001 --ssl-keyfile=/etc/letsencrypt/live/nftboard.info/privkey.pem --ssl-certfile=/etc/letsencrypt/live/nftboard.info/fullchain.pem/nftboard.info/privkey.pem --ssl

+ 26 - 0
api/main.py

@@ -96,6 +96,31 @@ async def index2():
 @app.get("/index", response_class=HTMLResponse)
 async def get_home_page(request: Request, response: Response):
     return templates.TemplateResponse("index.html", {"request": request, "response": response})
+
+@app.get("/checkStatus")
+async def checkStatus():
+    errorList = []
+    try:
+        conn = rpyc.classic.connect("192.168.1.105",18812)
+        conn.close()
+    except:
+        errorList.append('105:18812 server')
+
+    try:
+        c = rpyc.connect("localhost", 8858)
+        c.close()
+    except:
+        errorList.append('make_video(docker name : new openshot)')
+    
+    try:
+        c = rpyc.connect("localhost", 8868)
+        c.close()
+    except:
+        errorList.append('swap_face(docker name : fcontainer)')
+
+    
+    return {'errors':errorList}
+
 @app.get("/", response_class=HTMLResponse)
 async def get_home_page(request: Request, response: Response):
     return templates.TemplateResponse("index.html", {"request": request, "response": response})
@@ -672,6 +697,7 @@ def get_url_type(url):
     return contentType
 
 def notify_group(msg):
+    #'WekCRfnAirSiSxALiD6gcm0B56EejsoK89zFbIaiZQD' is ChoozmoTeam
     glist=['7vilzohcyQMPLfAMRloUawiTV4vtusZhxv8Czo7AJX8','WekCRfnAirSiSxALiD6gcm0B56EejsoK89zFbIaiZQD','1dbtJHbWVbrooXmQqc4r8OyRWDryjD4TMJ6DiDsdgsX','HOB1kVNgIb81tTB4Ort1BfhVp9GFo6NlToMQg88vEhh']
     for gid in glist:
         headers = {"Authorization": "Bearer " + gid,"Content-Type": "application/x-www-form-urlencoded"}

+ 110 - 0
api/static/invite_register.html

@@ -0,0 +1,110 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>AI ANCHOR GO</title>
+  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css">
+  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" integrity="sha384-DNOHZ68U8hZfKXOrtjWvjxusGo9WQnrNx2sqG0tfsghAvtVlRW3tvkXWZh58N9jp"
+    crossorigin="anonymous">
+  <link rel="stylesheet"
+    href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt"
+    crossorigin="anonymous">
+    <link rel="preconnect" href="https://fonts.googleapis.com">
+    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+    <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap" rel="stylesheet"> 
+  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous">
+  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.min.css">
+  <link rel="stylesheet" href="static/style.css">
+  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
+  <style>
+    body {
+      font-family: "Lato", sans-serif;
+    }
+    .sidenav {
+      height: 100%;
+      width: 250px;
+      position: fixed;
+      z-index: 1;
+      top: 0;
+      left: 0;
+      background: linear-gradient(to bottom, #1C7CE0, #150051);
+      overflow-x: hidden;
+      transition: 0.5s;
+      padding-top: 20px;
+    }
+    
+    .sidenav a {
+      padding: 8px 8px 8px 32px;
+      text-decoration: none;
+      font-size: 25px;
+      color: #818181;
+      display: block;
+      transition: 0.3s;
+    }
+    
+    .sidenav a:hover {
+      color: #f1f1f1;
+    }
+    
+    .sidenav .closebtn {
+      position: absolute;
+      top: 0;
+      right: 25px;
+      font-size: 36px;
+      margin-left: 50px;
+    }
+    
+    @media screen and (max-height: 450px) {
+      .sidenav {padding-top: 15px;}
+      .sidenav a {font-size: 18px;}
+    }
+    </style>
+</head>
+<body>
+  <div class="container-fluid">
+    <div id="mySidenav" class="sidenav">
+      <!-- <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a> -->
+      <h2 class="go_title">reset_pwd</h2>
+      <ul class="nav-list">
+        <li class="nav-list-item pb-1 mb-3" data-bs-toggle="modal" data-bs-target="#howto"><i class="fas fa-book-open me-2"></i>使用說明</li>
+        <li class="nav-list-item pb-1" data-bs-toggle="modal" data-bs-target="#history" onclick="openNav()"><i class="fas fa-history me-2"></i>歷史紀錄</li>
+      </ul>
+      <p class="right-text text-white d-inline-block">Choozmo All Rights Reserved</p>
+    </div>
+    <!-- <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; 過去紀錄</span> -->
+    <div class="content ms-auto">
+      <form id="msform">
+        <fieldset id='imgSrc'>
+          <h3 class="fs-subtitle" style="display: inline-block;">新密碼<img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="僅接受png, jpg, mp4格式"></h3><br/>
+          <input type="text" id='in_pwd' name='m1' class='imgsrc imgsrc1' value="" placeholder="1" /><br/>
+          <h3 class="fs-subtitle" style="display: inline-block;">驗證碼<img class="ms-1" src="static/img/question.png" alt="" data-bs-toggle="tooltip" data-bs-placement="right" title="僅接受png, jpg, mp4格式"></h3><br/>
+          <input type="text" id='code' name='m1' class='imgsrc imgsrc1' value="" placeholder="1" /><br/>
+        
+          <input id="checker" type="button" class="sender action-button" value="送出" />
+
+        </fieldset>
+      </form>
+      <!-- <div style="width: 80%;margin: 0 auto;"><iframe src="http://www.choozmo.com:8168/ai_anchor_video/16250306886652043.mp4" frameborder="0" style="width: 100%;height: 400px;"></iframe></div> -->
+    </div>
+    
+
+
+  </div>
+  
+  <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
+  <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js'></script>
+
+  <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
+  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.min.js" integrity="sha384-Atwg2Pkwv9vp0ygtn1JAojH0nYbwNJLPhwyoVbhoPwBhjQPR5VtM2+xf0Uwh9KtT" crossorigin="anonymous"></script> 
+  <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.18/dist/sweetalert2.all.min.js"></script>
+  <script src="//cdnjs.cloudflare.com/ajax/libs/validate.js/0.13.1/validate.min.js"></script>
+  <script src="static/reset_pwd.js"></script>
+
+
+  <body>
+
+</div>
+
+</body>
+</html>

+ 52 - 0
api/static/invite_register.js

@@ -0,0 +1,52 @@
+
+
+$(".sender").click(function () {
+
+  var pwd = $("#in_pwd").val();
+  var code = $("#code").val();
+  
+  var url = "/reset_pwd";
+
+  var xhr = new XMLHttpRequest();
+  xhr.open("POST", url);
+
+  xhr.setRequestHeader("accept", "application/json");
+  xhr.setRequestHeader("Content-Type", "application/json");
+
+  xhr.onreadystatechange = function () {
+    if (xhr.readyState === 4) {
+        alert('重設成功')
+    }};
+
+  var data = `{"code":"`+ code+`","password":"`+pwd+`"}`
+
+  xhr.send(data);
+});
+
+function findGetParameter(parameterName) {
+var result = null,
+      tmp = [];
+  location.search
+      .substr(1)
+      .split("&")
+      .forEach(function (item) {
+        tmp = item.split("=");
+        if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
+      });
+  return result;
+}
+
+function renderXHR_data(jsonObj) {
+  XHRstring = ''
+  for (const [key, value] of Object.entries(jsonObj)) {
+    console.log(value)
+    if (typeof (value) == "object") {
+      XHRstring += (key+'=['+value.join(',')+']&')
+    }
+    else {
+      XHRstring += (key + '=' + value + '&')
+    }
+  }
+  XHRstring = XHRstring.substring(0, XHRstring.length - 1);
+  return XHRstring
+}

+ 27 - 0
etc/serverCheck.py

@@ -0,0 +1,27 @@
+import urllib.request
+import json
+import requests
+
+def notify_group(msg):
+    #'WekCRfnAirSiSxALiD6gcm0B56EejsoK89zFbIaiZQD' is ChoozmoTeam
+    glist=['WekCRfnAirSiSxALiD6gcm0B56EejsoK89zFbIaiZQD']
+    for gid in glist:
+        headers = {"Authorization": "Bearer " + gid,"Content-Type": "application/x-www-form-urlencoded"}
+        r = requests.post("https://notify-api.line.me/api/notify",headers=headers, params={"message": msg})
+
+try:
+    contents = urllib.request.urlopen("https://www.choozmo.com:8887/checkStatus").read()
+    status_dict = json.loads(contents.decode('utf-8'))
+    if len(status_dict['errors'])==0:
+        print('Everything works fine')
+    else:
+        for msg in status_dict['errors']:
+            notify_group('ERROR : '+msg+' down')
+except:
+    err_msg = 'ERROR : 8887 status api down'
+    print(err_msg)
+    notify_group(err_msg)
+
+
+
+