From f4f79089cfe5846c411c7efc5ac5f38d0b9067ac Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 25 Feb 2022 10:16:25 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=87=8D=E5=90=AF=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=92=8C=E5=A4=87=E4=BB=BD=E6=95=B0=E6=8D=AE=E5=BA=93task?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/develop/tasks.py | 25 +++++++++++++++++++++++++ hb_server/apps/develop/urls.py | 6 ++++-- hb_server/apps/develop/views.py | 14 +++++++++++++- 3 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 hb_server/apps/develop/tasks.py diff --git a/hb_server/apps/develop/tasks.py b/hb_server/apps/develop/tasks.py new file mode 100644 index 0000000..04d8236 --- /dev/null +++ b/hb_server/apps/develop/tasks.py @@ -0,0 +1,25 @@ +from __future__ import absolute_import, unicode_literals +from rest_framework.response import Response +from celery import shared_task + + + +@shared_task +def backup_database(): + """ + 备份数据库 + """ + import os + ret = os.popen('sudo pg_dump -U postgres -d hberp -f /home/lighthouse/hberp_backup.sql') + return Response(ret.read()) + +@shared_task +def reload_server(): + import os # 更新后端 + os.chdir('/home/lighthouse/hberp') + ret = os.popen('sudo git pull && sudo service supervisor reload') + return Response(ret.read()) + + + + \ No newline at end of file diff --git a/hb_server/apps/develop/urls.py b/hb_server/apps/develop/urls.py index 58c675e..c9acf54 100644 --- a/hb_server/apps/develop/urls.py +++ b/hb_server/apps/develop/urls.py @@ -2,7 +2,7 @@ from django.db.models import base from rest_framework import urlpatterns from django.urls import path, include from rest_framework.routers import DefaultRouter -from apps.develop.views import CleanDataView, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg +from apps.develop.views import BackupDatabase, CleanDataView, ReloadServer, UpdateCuttingView, UpdateEquipState, UpdateFIFOItem, UpdateFIFONumber, UpdateLastTestResult, UpdateNeedToOrder, UpdateSpg urlpatterns = [ path('cleandata/', CleanDataView.as_view()), @@ -13,6 +13,8 @@ urlpatterns = [ path('update_spg/', UpdateSpg.as_view()), path('update_equip_state/', UpdateEquipState.as_view()), path('update_need_to_order/', UpdateNeedToOrder.as_view()), - path('update_fifo_number/', UpdateFIFONumber.as_view()) + path('update_fifo_number/', UpdateFIFONumber.as_view()), + path('reload_server/', ReloadServer.as_view()), + path('backup_database/', BackupDatabase.as_view()) ] diff --git a/hb_server/apps/develop/views.py b/hb_server/apps/develop/views.py index 2412742..0cad10c 100644 --- a/hb_server/apps/develop/views.py +++ b/hb_server/apps/develop/views.py @@ -4,6 +4,7 @@ from rest_framework.decorators import permission_classes from rest_framework.views import APIView from rest_framework.permissions import IsAdminUser from rest_framework.response import Response +from apps.develop.tasks import backup_database, reload_server from apps.inm.models import FIFO, FIFOItem, Inventory, MaterialBatch from apps.mtm.models import Material from apps.pm.models import ProductionPlan, SubProductionPlan @@ -117,4 +118,15 @@ class UpdateFIFONumber(APIView): else: i.number = 'CK' + ranstr(7) i.save() - return Response() \ No newline at end of file + return Response() + +class ReloadServer(APIView): + permission_classes = [IsAdminUser] + def post(self, request): + reload_server() + + +class BackupDatabase(APIView): + permission_classes = [IsAdminUser] + def post(self, request): + backup_database() \ No newline at end of file From 680bf77ac3b03578b2c6599145e165825d0cad7e Mon Sep 17 00:00:00 2001 From: shijing Date: Fri, 25 Feb 2022 13:03:51 +0800 Subject: [PATCH 2/4] logoHidden --- hb_client/src/components/faceLogin/review.vue | 43 ++++++-- .../src/components/faceLogin/tracking.vue | 12 +- .../src/layout/components/Sidebar/Logo.vue | 6 +- hb_client/src/layout/index.vue | 4 +- hb_client/src/views/wpm/firstCheck.vue | 104 +++++++++++++++--- 5 files changed, 132 insertions(+), 37 deletions(-) diff --git a/hb_client/src/components/faceLogin/review.vue b/hb_client/src/components/faceLogin/review.vue index 2b357fa..c791bdd 100644 --- a/hb_client/src/components/faceLogin/review.vue +++ b/hb_client/src/components/faceLogin/review.vue @@ -130,9 +130,15 @@ let imgData = {base64:img}; faceLogin(imgData).then((res) => { if (res.code >= 200) { - let item= {name:res.data.username,token:res.data.access}; - that.$emit('func',item); - that.$message.success("身份认证成功!"); + if(res.data.access){ + let item= {name:res.data.username,token:res.data.access}; + that.$emit('func',item); + that.$message.success("身份认证成功!"); + this.closeCamera(); + }else{ + that.uploadLock = false; + that.$message.error("身份认证失败,请重新进行人脸识别!"); + } }else{ // 打开锁 that.uploadLock = false; @@ -141,21 +147,40 @@ }).catch(()=>{ // 打开锁 that.uploadLock = false; - // this.$message.error('面部识别失败请重新验证'); }); }, closeCamera () { + debugger; + let video = document.getElementById('video'); + let stream = video.srcObject; + console.log(stream); + let tracks = stream.getTracks(); + tracks.forEach(track => { + track.stop() + }); + video.srcObject = null; this.video.srcObject.getTracks()[0].stop(); }, + }, + beforeDestroy() { + let video = document.getElementById('video'); + let stream = video.srcObject; + console.log(stream); + let tracks = stream.getTracks(); + tracks.forEach(track => { + track.stop() + }); + video.srcObject = null; + this.video.srcObject.getTracks()[0].stop(); } }