Login para cloud

This commit is contained in:
2022-11-12 20:33:39 -05:00
parent 7da2c3bfb6
commit 5532627e4b
4 changed files with 167 additions and 41 deletions

View File

@@ -1,24 +0,0 @@
<script>
const dfMessenger = document.querySelector("df-messenger");
dfMessenger.addEventListener("eventType", function (event) {
// Handle event
});
</script>
<iframe
allow="micrófono;"
ancho="350"
altura="830"
src="https://console.dialogflow.com/api-client/demo/embedded/eea5ca65-ded3-4c89-bd8a-9e6378cb4686"
>
</iframe>
<script src="https://www.gstatic.com/dialogflow-console/fast/messenger/bootstrap.js?v=1"></script>
<df-messenger
intent="WELCOME"
chat-title="Chatbot_SIGMA"
agent-id="eea5ca65-ded3-4c89-bd8a-9e6378cb4686"
language-code="es"
>
</df-messenger>

View File

@@ -1,13 +1,13 @@
const controlador={};
const controlador = {};
//const dirPath = "/home/pablinux/Projects/Node/APP-SIGMA-WEB/src/public/files/";
//const var_locals = ;
//********* APP-panel control ********//
controlador.upload = (req, res) => {
if(!req.files||Object.keys(req.files).lenght===0){
return res.status(400).send({message:'archivos no cargados'});
}else{
if (!req.files || Object.keys(req.files).lenght === 0) {
return res.status(400).send({ message: 'archivos no cargados' });
} else {
const file = req.files.file_toUpload;
const path = req.app.locals.dir.path_dir+'/public/files/' + file.name;
const path = req.app.locals.dir.path_dir + '/public/files/' + file.name;
console.log(path);
file.mv(path, (err) => {
if (err) {
@@ -20,30 +20,69 @@ controlador.upload = (req, res) => {
//ruta actual
const procesarPath = (path) => {
return path ? path.replace(/-/g,'/'):'/';
return path ? path.replace(/-/g, '/') : '/';
}
const fs = require('fs');
function leer_dir(dir){
function leer_dir(dir) {
var json = [];
var files = fs.readdirSync(dir+'/public/files/',{ withFileTypes: true });
files.forEach(function(arch,idx){
json.push({"indice": idx, "archivo": arch.name,"link":"files/"+arch});
var files = fs.readdirSync(dir + '/public/files/', { withFileTypes: true });
files.forEach(function (arch, idx) {
json.push({ "indice": idx, "archivo": arch.name, "link": "files/" + arch });
//console.log(arch.name);
//console.log(req);
});
return json;
}
controlador.login_cloud = (req, res) => {
res.render('login_cloud', {
token: "pfx00168224"
});
};
//ojo la var locals esta en req
//ejmp: req.app.locals
controlador.ver_dirActual = (req, res) => {
controlador.cloud_panel = (req, res) => {
console.log(req.body);
var pwd = stringTo_md5(req.body.password);
req.getConnection((err, conn) => {
conn.query(`SELECT * FROM usuarios WHERE n_sesion = ? and clave=?`, [req.body.usuario, pwd], (err, rows) => {
if (err) {
//res.json(err);
res.render('login_cloud', { token: "error" });
} else {
try {
if (rows.length > 0) {
let dir = procesarPath(req.params.path);
console.log(req.app.locals.dir);
var files = leer_dir(req.app.locals.dir.path_dir);
res.render('cloud',{
data:files
res.render('cloud', {
data: files
});
console.log(rows);
res.render('app_pedidos');
}
} catch (e) {
res.render('login_cloud',{msg:e.toString()});
next();
}
}
});
});
};
function stringTo_md5(data_string){
var crypto = require('crypto');
const md5 = crypto.createHash('md5').update(data_string).digest('hex');
console.log("MD5: ", md5);
return md5;
}
function token(data_string){
var crypto = require('crypto');
const md5 = crypto.createHash('md5').update(data_string).digest('hex');
//console.log("MD5: ", md5);
return md5;
}
module.exports = controlador;

View File

@@ -4,5 +4,6 @@ const rutas = express.Router();
const controlador_cloud = require('../controladores/controlador_cloud');
//para cargar archivos
rutas.post('/upload', controlador_cloud.upload);//ver productos en modo json/get
rutas.get('/cloud/', controlador_cloud.ver_dirActual);//ver direcctorio actual
rutas.post('/cloud_panel/', controlador_cloud.cloud_panel);//ver direcctorio actual
rutas.get('/cloud/', controlador_cloud.login_cloud);//ver direcctorio actual
module.exports = rutas;

110
src/views/login_cloud.ejs Normal file
View File

@@ -0,0 +1,110 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet"
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&amp;display=fallback">
<link rel="stylesheet" href="../../plugins/fontawesome-free/css/all.min.css">
<link rel="stylesheet" href="../../plugins/icheck-bootstrap/icheck-bootstrap.min.css">
<link rel="stylesheet" href="../../dist/css/adminlte.min.css?v=3.2.0">
<link rel="stylesheet" href="./css/login.css">
<link rel="icon" sizes="192x192" href="./img/favicon-32x32.png">
<link rel="icon" sizes="64x64" href="./img/pedidos64.png">
</head>
<body class="login-page" style="min-height: 497.361px;">
<div class="box">
<div class="login-box">
<div class="login-logo">
<a href="https://sigmac.app"><strong><img src="img/pedidos64.png" alt="logo" width="52">
<span class="nom_app">SIGMA</span></strong> Cloud.
</a>
</div>
<div class="card">
<div class="card-body login-card-body">
<p class="login-box-msg">iniciar tu sesión</p>
<form action="/cloud_panel" method="post" name="form_login">
<div class="input-group mb-3">
<input type="text" class="form-control" placeholder="Usuario" id="usr" name="usuario">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-user"></span>
</div>
</div>
</div>
<div class="input-group mb-3">
<input type="password" class="form-control" placeholder="Contraseña" id="pwd"
name="password">
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-8">
<div class="icheck-primary">
<input type="checkbox" id="remember">
<label for="remember">Recordar Me</label>
</div>
</div>
<div class="col-4">
<button type="submit" class="btn btn-primary btn-block" id="btn">Ingresar</button>
</div>
</div>
</form>
<!--div class="social-auth-links text-center mb-3">
<p>- OR -</p>
<a href="#" class="btn btn-block btn-primary">
<i class="fab fa-facebook mr-2"></i> Ingresar Usando Facebook
</a>
<a href="#" class="btn btn-block btn-danger">
<i class="fab fa-google-plus mr-2"></i> Ingresar Usando Google
</a>
</div-->
<p class="mb-1">
<a href="forgot-password.html">Olvide mi Contraseña</a>
</p>
<p class="mb-0">
<a href="register.html" class="text-center">Crear Cuenta</a>
</p>
</div>
</div>
</div>
</div>
<script src="../../plugins/jquery/jquery.min.js"></script>
<script src="../../plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="../../dist/js/adminlte.min.js?v=3.2.0"></script>
<script>
var usr = document.getElementById('usr');
var pwd = document.getElementById('pwd');
var btn = document.getElementById('btn');
btn.addEventListener('click', function (event) {
event.preventDefault();
if (usr.value == "") {
alert("Ingresa Usuario");
} else if (pwd.value == "") {
alert("Ingresa Pasword");
} else {
document.form_login.submit();
}
})
</script>
<script src="https://www.gstatic.com/dialogflow-console/fast/messenger/bootstrap.js?v=1"></script>
<df-messenger intent="WELCOME" chat-title="Chat SIAX" agent-id="eea5ca65-ded3-4c89-bd8a-9e6378cb4686"
language-code="es" chat-icon="https://telcotronics.com/app/ftp/logo/logoTelcotronics36.png"
class="pulse-button">
</df-messenger>
</body>
</html>