login create and change version

This commit is contained in:
2021-01-11 23:21:59 -06:00
parent 2e8938f863
commit 76537e91b2
10 changed files with 76 additions and 34 deletions
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
<!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"><link rel="shortcut icon" type=image/png href=assets/icono.png><title>Portal Editorial Acatlán</title><link href=css/app.5e1fdc87.css rel=preload as=style><link href=css/chunk-vendors.138628b4.css rel=preload as=style><link href=js/app.9ff39dfe.js rel=preload as=script><link href=js/chunk-vendors.67046eec.js rel=preload as=script><link href=css/chunk-vendors.138628b4.css rel=stylesheet><link href=css/app.5e1fdc87.css rel=stylesheet></head><body><noscript><strong>We're sorry but portal doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.67046eec.js></script><script src=js/app.9ff39dfe.js></script></body></html>
<!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"><link rel="shortcut icon" type=image/png href=assets/icono.png><title>Portal Editorial Acatlán</title><link href=css/app.477deb9f.css rel=preload as=style><link href=css/chunk-vendors.138628b4.css rel=preload as=style><link href=js/app.fc7b6a75.js rel=preload as=script><link href=js/chunk-vendors.67046eec.js rel=preload as=script><link href=css/chunk-vendors.138628b4.css rel=stylesheet><link href=css/app.477deb9f.css rel=stylesheet></head><body><noscript><strong>We're sorry but portal doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=js/chunk-vendors.67046eec.js></script><script src=js/app.fc7b6a75.js></script></body></html>
-2
View File
File diff suppressed because one or more lines are too long
-1
View File
File diff suppressed because one or more lines are too long
+2
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
+8 -10
View File
@@ -66,12 +66,10 @@
</b-row>
<b-row class="mb-2">
<b-col>
<b-form-input
id="version"
class="mb-2 mr-sm-2 mb-sm-0"
placeholder="Versión"
v-model="version"
></b-form-input>
<b-dropdown v-model="version" v-bind:text="version" block split split-variant="outline-primary" variant="primary" class="m-2">
<b-dropdown-item @click="version='Impresa'" >Impresa</b-dropdown-item>
<b-dropdown-item @click="version='Digital'" >Digital</b-dropdown-item>
</b-dropdown>
</b-col>
<b-col>
<b-form-input
@@ -150,7 +148,7 @@ export default {
paginas:"",
impresion:"",
precio:"",
version:"",
version:"Versión",
descripcion:"",
year:"",
@@ -178,7 +176,7 @@ export default {
if(this.paginas !== "") formData.append("paginas", this.paginas); else return this.faltaCampo("Paginas");
if(this.impresion !== "") formData.append("edicion", this.impresion); else return this.faltaCampo("Edición");
if(this.precio !== "") formData.append("precio", this.precio); else return this.faltaCampo("Precio");
if(this.version !== "") formData.append("version", this.version); else return this.faltaCampo("Versión");
if(this.version !== "Versión") formData.append("version", this.version); else return this.faltaCampo("Versión");
if(this.descripcion !== "") formData.append("descripcion", this.descripcion); else return this.faltaCampo("Descripción");
if(this.year !== "") formData.append("year", this.year); else return this.faltaCampo("Año de publicación");
if(imagen.files.length > 0) formData.append("imagen", imagen.files[0]); else return this.faltaCampo("Imagen");
@@ -186,7 +184,7 @@ export default {
formData.append("type", 'addLibro');
await axios.post( `${config.api}/actualizarLibro`, formData ,{ headers: { 'Content-Type': 'multipart/form-data' } });
await Swal.fire(
'Libro agregado con exito',
'Libro agregado con éxito',
'',
'success'
);
@@ -196,7 +194,7 @@ export default {
console.log(error);
Swal.fire({
icon: 'error',
title: 'El libro no pudo ser agregada',
title: 'El libro no pudo ser agregado',
text: `Algo salio mal, ${error}`,
});
}
+35 -1
View File
@@ -1,6 +1,24 @@
<template>
<div>
<b-nav vertical class="mt-3">
<b-nav-item class="m-2">
<div class="accordion" role="tablist">
<b-card no-body >
<b-card-header header-tag="header" role="tab">
<b-button block squared v-b-toggle.user class="p-1 azulUnam">
<b-icon icon="person-fill" style="margin-bottom: 4px;"></b-icon>
{{user}}
</b-button>
</b-card-header>
<b-collapse id="user" accordion="my-accordion" role="tabpanel">
<b-card-body>
<b-button block variant="light" class="p-1 m-0 rojo" @click="cerrarSesion()">Cerrar sesión</b-button>
</b-card-body>
</b-collapse>
</b-card>
</div>
</b-nav-item>
<b-nav-item class="m-2">
<div class="accordion" role="tablist">
<b-card no-body >
@@ -32,6 +50,19 @@
</b-nav>
</div>
</template>
<script>
export default {
props:{
user: String
},
methods:{
cerrarSesion(){
localStorage.clear();
this.$router.replace('/login')
}
}
}
</script>
<style scoped>
@@ -43,6 +74,9 @@
.azulUnam {
background-color: #1e3c70;
}
.rojo:hover{
background-color: #CA230C;
color: white;
}
</style>
+8 -12
View File
@@ -7,16 +7,14 @@
<form class="row d-flex justify-content-center">
<input
type="text"
v-model="data.email"
id="login"
v-model="email"
class="form-control col-8"
name="login"
placeholder="Usuario"
/>
<input
type="password"
v-model="data.password"
id="password"
v-model="password"
class="form-control col-8 my-3"
name="login"
placeholder="Contraseña"
@@ -41,27 +39,25 @@ import Swal from 'sweetalert2'
export default {
data() {
return {
data: {
email: "",
password: ""
}
email: "",
password: ""
};
},
methods: {
login() {
const data = {
const datos = {
usuario: this.email,
password: this.password
}
axios.post( `${config.api}/loginAdmin`, data ).then(async response =>{
axios.post( `${config.api}/loginAdmin`, datos ).then(async response =>{
localStorage.setItem('tokenPortal', response.data.token);
localStorage.setItem('userNamePortal', response.data.user);
await Swal.fire(
'Bienvenido',
'',
'success'
);
this.$router.replace('/portalAdmin');
this.$router.replace('/panelAdmin');
}).catch(() =>{
Swal.fire({
+20 -6
View File
@@ -4,7 +4,7 @@
<b-row>
<b-col cols="2" style="background-color: #bb8800;" class="p-0 m-0">
<div class="p-0 m-0">
<NavAdmin />
<NavAdmin v-bind:user="usuario"/>
</div>
</b-col>
<b-col cols="10">
@@ -30,9 +30,9 @@ import EditarLibro from './../components/editarLibro.vue';
import EditarBanner from './../components/editarBanner.vue';
import AgregarLibro from './../components/agregarLibro.vue';
import NavAdmin from './../components/navAdmin.vue';
/*import axios from "axios";
import axios from "axios";
import config from "../config/config.js";
import Swal from 'sweetalert2'*/
import Swal from 'sweetalert2'
export default {
name: "panelAdmin",
components: {
@@ -43,10 +43,24 @@ export default {
EditarBanner,
AgregarLibro
},
/*beforeCreate(){
data() {
return {
usuario: ""
};
},
beforeCreate(){
let token = localStorage.getItem('tokenPortal');
console.log(token);
if(token === null) this.$router.replace('/login');
axios.post( `${config.api}/checkToken`, {token: token} ).catch(async () =>{
axios.post( `${config.api}/checkToken`, {token: token}, {
headers: {
authorization: 'Bearer ' + token,
}}).then(async response =>{
console.log('lo que responde', response.data.datos.user.user);
this.usuario = response.data.datos.user.user;
}).catch(async (error) =>{
console.log(error);
await Swal.fire({
icon: 'error',
title: 'La sesión ha expirado',
@@ -54,7 +68,7 @@ export default {
});
this.$router.replace('/login')
});
}*/
}
};
</script>