en main.js lo dejamos haci lo que hara es cargar la url y levantar el servicio de php
// Modules to control application life and create native browser window
const {app, BrowserWindow} = require('electron')
const path = require('path')
const exec = require('child_process').exec;
function execute(command, callback) {
exec(command, (error, stdout, stderr) => {
callback(stdout);
});
};
// call the function
execute('Ejecutar.bat', (output) => {
console.log(output);
});
function createWindow () {
// Create the browser window.
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
// and load the index.html of the app.
mainWindow.setMenu(null)
mainWindow.loadURL('http://localhost:8097')
// Open the DevTools.
// mainWindow.webContents.openDevTools()
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.whenReady().then(() => {
createWindow()
app.on('activate', function () {
// On macOS it's common to re-create a window in the app when the
// dock icon is clicked and there are no other windows open.
if (BrowserWindow.getAllWindows().length === 0) createWindow()
})
})
// Quit when all windows are closed, except on macOS. There, it's common
// for applications and their menu bar to stay active until the user quits
// explicitly with Cmd + Q.
app.on('window-all-closed', function () {
if (process.platform !== 'darwin') app.quit()
})
// In this file you can include the rest of your app's specific main process
// code. You can also put them in separate files and require them here.
ahora posicionados en la carpeta \electron-quick-start> corremos el siguiente comando
npm install
Después creamos el paquete-ejecutable con el siguiente comando
Creamos una carpeta en C: llamada aplicación o como ustedes quieran llamarle y copiamos el contenido, la carpeta del proyecto del codeigniter y los archivos ejecutable de PHP con los que trabajan, pueden copiar los del xampp y con el que debugean a través de netbeans quedaría de la siguiente forma
ConvertidorXMLPDF seria el proyecto en codeigniter, php8 son los binarios necesarios para ejecutar código php, este lo pueden extraer de xampp y lo demas son los archivos de electronJS
Ahora en el archivo de configuración de código igniter en config/app.php en la base URL la dejamos asi
public $baseURL = '[http://localhost:8097/](http://localhost:8097/)';
El archivo Ejecutar.bat es el que va iniciar todo el codeigniter y dentro de el va el siguiente codigo
@echo off
php8\php.exe convertidorXMLPDF/spark serve --port 8097
El archivo Ejecutar.bat se ejecuta automáticamente al abrir el ejecutable
Y listo ahora solo queda hacer el instalador pero lo dejamos para otro manual.
Bien ahora para seguir avanzando haremos las altas bajas y cambios del catalogo de empresas ya que actualmente solo tenemos para meter datos de una empresa.
Aprovechando meteremos varios campos extras como el logo, contraseña (Por si se tiene que ingresar por empresa), archivo .cer y .key y contraseña del certificado, por si en un futuro se mete la facturación electronica.
En algunas ocasiones hacemos cambios nuevos en el fuente y el resultado no es satisfactorio, como es el caso de agregarle la función de guardar las imágenes directamente en la base de datos, en nuestro caso el resultado fue que funciono mas lento, ya que no queda de otra que volver a la versión anterior.
Esto no sera problema en nuestro caso ya que manejamos la tecnología GIT, y en nuestro caso con Netbeans sera mucho mas fácil volver a la versión anterior.
Primero listamos los archivos que modificamos que serian los siguientes.
controladores/usuarios.controlador.php
vistas/usuarios.php
vistas/cabezote.php
vistas/menu.php
ajax/usuarios.ajax.php
modelos/usuarios.modelo.php
Buscamos el commit donde no tenia los cambios que no deseamos y le damos click y luego revert y así con todos los archivos que hicimos cambios.
Por ultimo eliminamos el campo archivoFoto de la tabla usuarios con este comando
ALTER TABLE `usuarios` DROP `archivoFoto`;
Y bien seria todo el cambio por hoy les dejo el fuente para que lo puedan descargar y el demo, saludos y espero que les sea de utilidad
Les dejo un código que hice hace unos meses, lo hice para hacer eso de la conexión en una sola línea y no andar perdiendo tiempo Son dos funciones hasta ahora, una para conectar y otra para desconectar,he pensado hacer el de liberar resultados entre otros pero aun no le veo ventaja. A veces es necesario hacer esto para ahorrar tiempo, cuando utilizas muchas veces la misma conexión.
Usamos cookies en nuestro sitio web para brindarle la experiencia más relevante recordando sus preferencias y visitas repetidas. Al hacer clic en "Aceptar", acepta el uso de TODAS las cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.