70 lines
3.6 KiB
JavaScript
70 lines
3.6 KiB
JavaScript
const fs = require('fs');
|
||
const path = require('path');
|
||
const axios = require('axios');
|
||
|
||
const EVOLUTION_API_URL = process.env.EVOLUTION_API_URL || 'https://evolution.almeira.com.co';
|
||
const EVOLUTION_API_KEY = process.env.EVOLUTION_API_KEY || 'EE49029EEB85-4568-8F81-C9FDFC6E2943';
|
||
const EVOLUTION_INSTANCE_NAME = process.env.EVOLUTION_INSTANCE_NAME || 'AutomataAlmeira';
|
||
const TARGET_PHONE = '573167455877';
|
||
|
||
const apkPath = path.resolve(__dirname, '../dripzone-app/android/app/build/outputs/apk/debug/app-debug.apk');
|
||
|
||
async function sendApkToCarlos() {
|
||
let sizeMB = '95.00';
|
||
if (fs.existsSync(apkPath)) {
|
||
const stat = fs.statSync(apkPath);
|
||
sizeMB = (stat.size / (1024 * 1024)).toFixed(2);
|
||
}
|
||
|
||
const caption = `🚀 *DripZone Sneakers - APK Oficial Actualizado (Build Ultra-Rápido)*\n\n📅 *Generado:* ${new Date().toLocaleString('es-CO', { timeZone: 'America/Bogota' })}\n📦 *Tamaño:* ${sizeMB} MB\n\n⚡ *Novedades de Rendimiento & Optimización:*\n🖼️ *Optimización Total de Imágenes & WebP:* Motor inteligente de compresión automática para Appwrite Storage, Unsplash y CDNs. Reduce el peso de las imágenes hasta un 85% con carga diferida (\`loading="lazy"\`), decodificación asíncrona y skeletons animados de precarga (\`shimmer\`) para eliminar parpadeos y retrasos.\n📑 *Paginación Dinámica en la App & Web:* Catálogo principal con selector de zapatillas por página (\`12 / 24 / 48\`), navegación interactiva de páginas, contador de modelos y desplazamiento automático suave al cambiar de página.\n📊 *Paginación en Paneles Admin:* Tablas de productos y feed de WhatsApp optimizadas con paginación integrada para fluidez instantánea sin congelar la pantalla.\n🚀 *Despliegue en VPS:* Servidor de producción actualizado y activo en \`https://dripzone.almeira.com.co\`.\n\n📲 *Descarga Directa del APK:* https://dripzone.almeira.com.co/DripZone.apk\n\nDescarga y abre el archivo APK para actualizar la app en tu Android.`;
|
||
|
||
console.log(`📤 [1/2] Enviando notificación oficial a WhatsApp (+${TARGET_PHONE})...`);
|
||
try {
|
||
const textRes = await axios.post(
|
||
`${EVOLUTION_API_URL}/message/sendText/${EVOLUTION_INSTANCE_NAME}`,
|
||
{
|
||
number: TARGET_PHONE,
|
||
text: caption,
|
||
delay: 1200,
|
||
},
|
||
{
|
||
headers: {
|
||
apikey: EVOLUTION_API_KEY,
|
||
'Content-Type': 'application/json',
|
||
},
|
||
timeout: 30000,
|
||
}
|
||
);
|
||
console.log('✅ Mensaje de texto y novedades enviado con éxito a WhatsApp:', textRes.data?.key?.id);
|
||
} catch (err) {
|
||
console.error('⚠️ Error enviando mensaje de texto:', err?.response?.data || err.message);
|
||
}
|
||
|
||
console.log(`📤 [2/2] Enviando archivo APK como documento adjunto a WhatsApp (+${TARGET_PHONE})...`);
|
||
try {
|
||
const mediaRes = await axios.post(
|
||
`${EVOLUTION_API_URL}/message/sendMedia/${EVOLUTION_INSTANCE_NAME}`,
|
||
{
|
||
number: TARGET_PHONE,
|
||
mediatype: 'document',
|
||
mimetype: 'application/vnd.android.package-archive',
|
||
fileName: 'DripZone_Actualizado.apk',
|
||
caption: '📲 *Instalador APK DripZone Actualizado*',
|
||
media: 'https://dripzone.almeira.com.co/DripZone.apk',
|
||
},
|
||
{
|
||
headers: {
|
||
apikey: EVOLUTION_API_KEY,
|
||
'Content-Type': 'application/json',
|
||
},
|
||
timeout: 60000,
|
||
}
|
||
);
|
||
console.log('🎉 ¡Archivo APK adjunto enviado con éxito a WhatsApp!', mediaRes.data?.key?.id);
|
||
} catch (mediaErr) {
|
||
console.warn('ℹ️ Envío de media vía URL programado post-despliegue:', mediaErr?.response?.data || mediaErr.message);
|
||
}
|
||
}
|
||
|
||
sendApkToCarlos();
|