Miroca_Server
This commit is contained in:
0
kiosk/__init__.py
Normal file
0
kiosk/__init__.py
Normal file
3
kiosk/admin.py
Normal file
3
kiosk/admin.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
3
kiosk/models.py
Normal file
3
kiosk/models.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.db import models
|
||||
|
||||
# Create your models here.
|
||||
69
kiosk/templates/kiosk/base/base.html
Normal file
69
kiosk/templates/kiosk/base/base.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<!DOCTYPE html>
|
||||
{% load static %}
|
||||
<html lang="ru"
|
||||
class="light-style layout-menu-fixed layout-compact"
|
||||
dir="ltr"
|
||||
data-theme="theme-default"
|
||||
data-assets-path="{% static 'kiosk' %}"
|
||||
data-template="vertical-menu-template-free">
|
||||
<head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"/>
|
||||
|
||||
<title>Панель управления Умный дом Мирока</title>
|
||||
|
||||
<meta name="description" content=""/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="{% static 'file/kiosk/img/favicon.ico' %}"/>
|
||||
|
||||
<!-- Fonts -->
|
||||
<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=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||||
rel="stylesheet"/>
|
||||
|
||||
<link rel="stylesheet" href="{% static 'file/assets/vendor/fonts/boxicons.css' %}"/>
|
||||
|
||||
<!-- Core CSS -->
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/assets/vendor/css/core.css' %}"
|
||||
class="template-customizer-core-css">
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/assets/vendor/css/theme-default.css' %}"
|
||||
class="template-customizer-theme-css">
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/assets/css/demo.css' %}">
|
||||
|
||||
<!-- Vendors CSS -->
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css' %}"/>
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/assets/vendor/libs/apex-charts/apex-charts.css' %}"/>
|
||||
|
||||
<!-- Button CSS kiosk -->
|
||||
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css'>
|
||||
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css'>
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/assets/css/style_button.css' %}">
|
||||
|
||||
<!--Server CSS-->
|
||||
<link rel="stylesheet" href="{% static 'file/kiosk/css/style.css' %}">
|
||||
|
||||
|
||||
<!--Server JS-->
|
||||
<script src="{% static 'file/kiosk/js/jquery-3.5.1.min.js' %}"></script>
|
||||
<script src="{% static 'file/upanel/js/update_server.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'file/kiosk/js/clock.js' %}"></script>
|
||||
|
||||
<!--Button js kiosk -->
|
||||
<script type="text/javascript" src="{% static 'file/kiosk/js/button.js' %}"></script>
|
||||
|
||||
<!-- Helpers -->
|
||||
<script src="{% static 'file/kiosk/assets/vendor/js/helpers.js' %}"></script>
|
||||
<!--! Template customizer & Theme config files MUST be included after core stylesheets and helpers.js in the <head> section -->
|
||||
<!--? Config: Mandatory theme config file contain global vars & default theme options, Set your preferred theme option in this file. -->
|
||||
<script src="{% static 'file/kiosk/assets/js/config.js' %}"></script>
|
||||
</head>
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% endblock %}
|
||||
</html>
|
||||
49
kiosk/templates/kiosk/content/index.html
Normal file
49
kiosk/templates/kiosk/content/index.html
Normal file
@@ -0,0 +1,49 @@
|
||||
{% extends 'kiosk/base/base.html' %}
|
||||
{% load static %}
|
||||
{% block content %}
|
||||
<body>
|
||||
<!-- Layout wrapper -->
|
||||
<div class="layout-wrapper layout-content-navbar">
|
||||
<div class="layout-container">
|
||||
<!-- Layout container -->
|
||||
<div class="layout-page">
|
||||
<!-- Content wrapper -->
|
||||
{% include 'kiosk/include/content_wrapper.html' %}
|
||||
<!-- Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
</div>
|
||||
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
</div>
|
||||
<!-- / Layout wrapper -->
|
||||
|
||||
<script src="{% static 'file/assets/vendor/libs/jquery/jquery.js' %}"></script>
|
||||
<script src="{% static 'file/assets/vendor/libs/popper/popper.js' %}"></script>
|
||||
<script src="{% static 'file/assets/vendor/js/bootstrap.js' %}"></script>
|
||||
<script src="{% static 'file/assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js' %}"></script>
|
||||
<script src="{% static 'file/assets/vendor/js/menu.js' %}"></script>
|
||||
|
||||
<!-- endbuild -->
|
||||
|
||||
<!-- Vendors JS -->
|
||||
<script src="{% static 'file/assets/vendor/libs/apex-charts/apexcharts.js' %}"></script>
|
||||
|
||||
<!-- Main JS -->
|
||||
<script src="{% static 'file/assets/js/main.js' %}"></script>
|
||||
|
||||
<!-- Page JS -->
|
||||
<script src="{% static 'file/assets/js/dashboards-analytics.js' %}"></script>
|
||||
|
||||
<!-- Place this tag in your head or just before your close body tag. -->
|
||||
<script async defer src="https://buttons.github.io/buttons.js"></script>
|
||||
|
||||
<script>
|
||||
setTimeout(function () {
|
||||
window.location.reload();
|
||||
}, 1800000)
|
||||
</script>
|
||||
</body>
|
||||
{% endblock content %}
|
||||
</html>
|
||||
39
kiosk/templates/kiosk/content/smarthome.html
Normal file
39
kiosk/templates/kiosk/content/smarthome.html
Normal file
@@ -0,0 +1,39 @@
|
||||
{% extends 'kiosk/base/base.html' %}
|
||||
{% load static %}
|
||||
{#Блоки температуры и влажности#}
|
||||
{% block styleinclude %}
|
||||
<link rel="stylesheet" href="{% static 'file/upanel/css/smart_style.css' %}">
|
||||
{% endblock styleinclude %}
|
||||
{#График#}
|
||||
{% block js %}
|
||||
<script src="{% static 'file/upanel/js/smart-size-reload.js' %}"></script>
|
||||
<script src="{% static 'file/upanel/js/vue.min.js' %}"></script>
|
||||
<script src="{% static 'file/upanel/js/highcharts.js' %}"></script>
|
||||
<script src="{% static 'file/upanel/js/vue-highcharts.min.js' %}"></script>
|
||||
{% endblock js %}
|
||||
{% block content %}
|
||||
<body onload="clockTimer();">
|
||||
<div class="app-content">
|
||||
<div class="projects-section">
|
||||
<div class="projects-section-header">
|
||||
{% include 'upanel/upanel/base/label.html' %}
|
||||
<p class="time" id="dayOfWeek"></p>
|
||||
{% include 'upanel/upanel/base/user.html' %}
|
||||
<div class="projects-section-line">
|
||||
{% include 'upanel/upanel/base/status.html' %}
|
||||
<time id="clock"></time>
|
||||
</div>
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="{% url 'upanel' %}">Главная</a></li>
|
||||
<li><a href="{% url 'smarthome' %}">Умный дом</a></li>
|
||||
</ul>
|
||||
<div class="breadcrumbs">
|
||||
{% include 'upanel/upanel/base/temperature.html' %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="{% static 'file/upanel/js/script.js' %}"></script>
|
||||
</body>
|
||||
{% endblock content %}
|
||||
31
kiosk/templates/kiosk/include/content_wrapper.html
Normal file
31
kiosk/templates/kiosk/include/content_wrapper.html
Normal file
@@ -0,0 +1,31 @@
|
||||
{% load static %}
|
||||
<div class="content-wrapper">
|
||||
<!-- Content -->
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
|
||||
<div class="row">
|
||||
<!--Sidebar-->
|
||||
{% include 'kiosk/include/sidebar.html' %}
|
||||
<!--Sidebar-->
|
||||
|
||||
<div class="col-lg-8 mb-6 order-0">
|
||||
<!--Показания теплицы-->
|
||||
{% include 'kiosk/include/greenhouse.html' %}
|
||||
<!--End Показания теплицы-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<!-- Order Statistics -->
|
||||
{% include 'kiosk/include/transaction.html' %}
|
||||
<!--/ Order Statistics -->
|
||||
|
||||
<!-- Transactions -->
|
||||
{% include 'kiosk/include/transaction.html' %}
|
||||
<!--/ Transactions -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
|
||||
<div class="content-backdrop fade"></div>
|
||||
</div>
|
||||
49
kiosk/templates/kiosk/include/greenhouse.html
Normal file
49
kiosk/templates/kiosk/include/greenhouse.html
Normal file
@@ -0,0 +1,49 @@
|
||||
<div class="card">
|
||||
<div class="row row-bordered g-0">
|
||||
<div class="col-md-8">
|
||||
<h5 class="card-header m-0 me-2 pb-3">Показания датчиков</h5>
|
||||
<div id="totalRevenueChart" class="px-2"></div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card-body">
|
||||
<div class="text-center">
|
||||
<div class="dropdown">
|
||||
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="growthReportId">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="growthChart"></div>
|
||||
<div class="text-center fw-medium pt-3 mb-2">Показания датчиков теплицы</div>
|
||||
|
||||
<div class="d-flex px-xxl-4 px-lg-2 p-4 gap-xxl-3 gap-lg-1 gap-3 justify-content-between">
|
||||
<div class="d-flex">
|
||||
<div class="me-2">
|
||||
<span class="badge bg-label-primary p-2"><i
|
||||
class="bx bx-health text-primary"></i></span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<small>Температура</small>
|
||||
{% if temp != 0 %}
|
||||
<h6 class="mb-0" id="temp_green">+{{ temp }}°C</h6>
|
||||
{% elif temp == 0 %}
|
||||
<h6 class="mb-0" id="temp_green">+{{ temp }}°C</h6>
|
||||
{% else %}
|
||||
<h6 class="mb-0" id="temp_green">-{{ temp }}°C</h6>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<div class="me-2">
|
||||
<span class="badge bg-label-info p-2"><i
|
||||
class="bx bx-water text-info"></i></span>
|
||||
</div>
|
||||
<div class="d-flex flex-column">
|
||||
<small>Влаж. почвы</small>
|
||||
<h6 id='damp' class="mb-0">{{ damp }}%</h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
100
kiosk/templates/kiosk/include/orderstatic.html
Normal file
100
kiosk/templates/kiosk/include/orderstatic.html
Normal file
@@ -0,0 +1,100 @@
|
||||
{% load static %}
|
||||
<div class="col-md-6 col-lg-4 col-xl-4 order-0 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-header d-flex align-items-center justify-content-between pb-0">
|
||||
<div class="card-title mb-0">
|
||||
<h5 class="m-0 me-2">Order Statistics</h5>
|
||||
<small class="text-muted">42.82k Total Sales</small>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<button
|
||||
class="btn p-0"
|
||||
type="button"
|
||||
id="orederStatistics"
|
||||
data-bs-toggle="dropdown"
|
||||
aria-haspopup="true"
|
||||
aria-expanded="false">
|
||||
<i class="bx bx-dots-vertical-rounded"></i>
|
||||
</button>
|
||||
<div class="dropdown-menu dropdown-menu-end" aria-labelledby="orederStatistics">
|
||||
<a class="dropdown-item" href="javascript:void(0);">Select All</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);">Refresh</a>
|
||||
<a class="dropdown-item" href="javascript:void(0);">Share</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||
<div class="d-flex flex-column align-items-center gap-1">
|
||||
<h2 class="mb-2">8,258</h2>
|
||||
<span>Total Orders</span>
|
||||
</div>
|
||||
<div id="orderStatisticsChart"></div>
|
||||
</div>
|
||||
<ul class="p-0 m-0">
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-primary"
|
||||
><i class="bx bx-mobile-alt"></i
|
||||
></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">Electronic</h6>
|
||||
<small class="text-muted">Mobile, Earbuds, TV</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-medium">82.5k</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-success"><i
|
||||
class="bx bx-closet"></i></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">Fashion</h6>
|
||||
<small class="text-muted">T-shirt, Jeans, Shoes</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-medium">23.8k</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-info"><i
|
||||
class="bx bx-home-alt"></i></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">Decor</h6>
|
||||
<small class="text-muted">Fine Art, Dining</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-medium">849k</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<span class="avatar-initial rounded bg-label-secondary"
|
||||
><i class="bx bx-football"></i
|
||||
></span>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<h6 class="mb-0">Sports</h6>
|
||||
<small class="text-muted">Football, Cricket Kit</small>
|
||||
</div>
|
||||
<div class="user-progress">
|
||||
<small class="fw-medium">99</small>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
151
kiosk/templates/kiosk/include/sidebar.html
Normal file
151
kiosk/templates/kiosk/include/sidebar.html
Normal file
@@ -0,0 +1,151 @@
|
||||
{% load static %}
|
||||
<div class="col-lg-4 col-md-4 order-1">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img
|
||||
src="{% static 'file/assets/img/icons/unicons/data-collection.png' %}"
|
||||
alt="chart success"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="fw-medium d-block mb-1">Сервер</span>
|
||||
<h3 id="server"></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img
|
||||
src="{% static 'file/assets/img/icons/unicons/internet.png' %}"
|
||||
alt="temper"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span>Интернет</span>
|
||||
<h3 id="internet"></h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<input class="addoncheckbox" type="checkbox" name="" value="">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/humidity.png' %}"
|
||||
alt="wet"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="d-block mb-1">Влажность</span>
|
||||
<h3 class="card-title text-nowrap mb-2">50%</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/temperature.png' %}"
|
||||
alt="Credit Card" class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="fw-medium d-block mb-1">Блок</span>
|
||||
<h3 class="card-title mb-2">$147</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/humidity.png' %}"
|
||||
alt="wet"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="d-block mb-1">Влажность</span>
|
||||
<h3 class="card-title text-nowrap mb-2">125%</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/temperature.png' %}"
|
||||
alt="Credit Card" class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="fw-medium d-block mb-1">Блок</span>
|
||||
<h3 class="card-title mb-2">$147</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/temperature.png' %}"
|
||||
alt="Credit Card" class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="fw-medium d-block mb-1">Блок</span>
|
||||
<h3 class="card-title mb-2">$147</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title d-flex align-items-start justify-content-between">
|
||||
<div class="avatar flex-shrink-0">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/temperature.png' %}"
|
||||
alt="Credit Card" class="rounded"/>
|
||||
</div>
|
||||
</div>
|
||||
<span class="fw-medium d-block mb-1">Блок</span>
|
||||
<h3 class="card-title mb-2">$147</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<label class="">
|
||||
<input class="addoncheckbox" type="checkbox" name="" value="">
|
||||
<span class="checkbox-icon card"><i class="fa fa-fw fa-plus"></i></span>
|
||||
<div class="upgrade-site-name">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 col-md-12 col-6 mb-4">
|
||||
<label class="">
|
||||
<input class="addoncheckbox" type="checkbox" name="" value="">
|
||||
<span class="checkbox-icon card"><i class="fa fa-fw fa-plus"></i></span>
|
||||
<div class="upgrade-site-name">
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
76
kiosk/templates/kiosk/include/transaction.html
Normal file
76
kiosk/templates/kiosk/include/transaction.html
Normal file
@@ -0,0 +1,76 @@
|
||||
{% load static %}
|
||||
<div class="col-md-6 col-lg-4 order-2 mb-4">
|
||||
<div class="card h-100">
|
||||
<div class="card-body">
|
||||
<ul class="p-0 m-0">
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/paypal.png' %}"
|
||||
alt="User"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<small class="text-muted d-block mb-1">Paypal</small>
|
||||
<h6 class="mb-0">Send money</h6>
|
||||
</div>
|
||||
<div class="user-progress d-flex align-items-center gap-1">
|
||||
<h6 class="mb-0">+82.6</h6>
|
||||
<span class="text-muted">USD</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/wallet.png' %}" alt="User"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<small class="text-muted d-block mb-1">Wallet</small>
|
||||
<h6 class="mb-0">Mac'D</h6>
|
||||
</div>
|
||||
<div class="user-progress d-flex align-items-center gap-1">
|
||||
<h6 class="mb-0">+270.69</h6>
|
||||
<span class="text-muted">USD</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/chart.png' %}"
|
||||
alt="User"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<small class="text-muted d-block mb-1">Transfer</small>
|
||||
<h6 class="mb-0">Refund</h6>
|
||||
</div>
|
||||
<div class="user-progress d-flex align-items-center gap-1">
|
||||
<h6 class="mb-0">+637.91</h6>
|
||||
<span class="text-muted">USD</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="d-flex mb-4 pb-1">
|
||||
<div class="avatar flex-shrink-0 me-3">
|
||||
<img src="{% static 'file/assets/img/icons/unicons/cc-success.png' %}"
|
||||
alt="User"
|
||||
class="rounded"/>
|
||||
</div>
|
||||
<div class="d-flex w-100 flex-wrap align-items-center justify-content-between gap-2">
|
||||
<div class="me-2">
|
||||
<small class="text-muted d-block mb-1">Credit Card</small>
|
||||
<h6 class="mb-0">Ordered Food</h6>
|
||||
</div>
|
||||
<div class="user-progress d-flex align-items-center gap-1">
|
||||
<h6 class="mb-0">-838.71</h6>
|
||||
<span class="text-muted">USD</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
3
kiosk/tests.py
Normal file
3
kiosk/tests.py
Normal file
@@ -0,0 +1,3 @@
|
||||
from django.test import TestCase
|
||||
|
||||
# Create your tests here.
|
||||
6
kiosk/urls.py
Normal file
6
kiosk/urls.py
Normal file
@@ -0,0 +1,6 @@
|
||||
from django.urls import path,include
|
||||
from kiosk import views
|
||||
|
||||
urlpatterns = [
|
||||
path('', views.kiosk, name='kiosk'),
|
||||
]
|
||||
21
kiosk/views.py
Normal file
21
kiosk/views.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from django.shortcuts import render
|
||||
from upanel.models import *
|
||||
import tinytuya
|
||||
|
||||
def turn_on_off(click):
|
||||
devices = Device.objects.values('device_id', 'device_ip', 'local_key', 'device_version').order_by('id')
|
||||
d = tinytuya.OutletDevice(
|
||||
dev_id=str(devices[0]['device_id']),
|
||||
address=str(devices[0]['device_ip']),
|
||||
local_key=str(devices[0]['local_key']),
|
||||
version=devices[0]['device_version'])
|
||||
match click:
|
||||
case 'on':
|
||||
return d.turn_on()
|
||||
case 'off':
|
||||
return d.turn_off()
|
||||
|
||||
def kiosk(request):
|
||||
if request.method == 'POST':
|
||||
turn_on_off(request.POST['click'])
|
||||
return render(request, 'kiosk/content/index.html',)
|
||||
Reference in New Issue
Block a user