271 lines
9.2 KiB
HTML
271 lines
9.2 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="es">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>WSCONCILIA API Laravel - Portal de Documentación</title>
|
||
<style>
|
||
* {
|
||
margin: 0;
|
||
padding: 0;
|
||
box-sizing: border-box;
|
||
}
|
||
body {
|
||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||
min-height: 100vh;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
.container {
|
||
background: white;
|
||
border-radius: 20px;
|
||
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
|
||
overflow: hidden;
|
||
max-width: 800px;
|
||
width: 90%;
|
||
}
|
||
.header {
|
||
background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
|
||
color: white;
|
||
padding: 40px 30px;
|
||
text-align: center;
|
||
}
|
||
.header h1 {
|
||
font-size: 2.5em;
|
||
margin-bottom: 10px;
|
||
font-weight: 700;
|
||
}
|
||
.header p {
|
||
font-size: 1.2em;
|
||
opacity: 0.9;
|
||
margin-bottom: 15px;
|
||
}
|
||
.migration-info {
|
||
background: rgba(46, 204, 113, 0.2);
|
||
color: #27ae60;
|
||
padding: 8px 15px;
|
||
border-radius: 25px;
|
||
font-size: 0.9em;
|
||
font-weight: 600;
|
||
display: inline-block;
|
||
}
|
||
.content {
|
||
padding: 40px 30px;
|
||
}
|
||
.links-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
|
||
gap: 20px;
|
||
margin-bottom: 30px;
|
||
}
|
||
.link-card {
|
||
background: #f8f9fa;
|
||
border: 2px solid #e9ecef;
|
||
border-radius: 15px;
|
||
padding: 25px 20px;
|
||
text-align: center;
|
||
text-decoration: none;
|
||
color: #2c3e50;
|
||
transition: all 0.3s ease;
|
||
position: relative;
|
||
overflow: hidden;
|
||
}
|
||
.link-card:before {
|
||
content: '';
|
||
position: absolute;
|
||
top: 0;
|
||
left: -100%;
|
||
width: 100%;
|
||
height: 100%;
|
||
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
|
||
transition: left 0.5s;
|
||
}
|
||
.link-card:hover {
|
||
transform: translateY(-5px);
|
||
box-shadow: 0 15px 30px rgba(0,0,0,0.1);
|
||
border-color: #667eea;
|
||
}
|
||
.link-card:hover:before {
|
||
left: 100%;
|
||
}
|
||
.link-icon {
|
||
font-size: 3em;
|
||
margin-bottom: 15px;
|
||
display: block;
|
||
}
|
||
.link-title {
|
||
font-size: 1.3em;
|
||
font-weight: 600;
|
||
margin-bottom: 10px;
|
||
color: #2c3e50;
|
||
}
|
||
.link-description {
|
||
font-size: 0.95em;
|
||
color: #7f8c8d;
|
||
line-height: 1.4;
|
||
}
|
||
.status-badge {
|
||
display: inline-block;
|
||
padding: 4px 8px;
|
||
border-radius: 12px;
|
||
font-size: 0.75em;
|
||
font-weight: 600;
|
||
margin-top: 8px;
|
||
}
|
||
.status-ready {
|
||
background: #d4edda;
|
||
color: #155724;
|
||
}
|
||
.status-docs {
|
||
background: #cce7ff;
|
||
color: #004085;
|
||
}
|
||
.info-section {
|
||
background: #f8f9fa;
|
||
border-radius: 15px;
|
||
padding: 25px;
|
||
margin-top: 30px;
|
||
}
|
||
.info-section h3 {
|
||
color: #2c3e50;
|
||
margin-bottom: 15px;
|
||
font-size: 1.3em;
|
||
}
|
||
.info-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||
gap: 15px;
|
||
}
|
||
.info-item {
|
||
background: white;
|
||
padding: 15px;
|
||
border-radius: 10px;
|
||
border-left: 4px solid #667eea;
|
||
}
|
||
.info-item strong {
|
||
color: #2c3e50;
|
||
display: block;
|
||
margin-bottom: 5px;
|
||
}
|
||
.footer {
|
||
text-align: center;
|
||
padding: 20px;
|
||
color: #7f8c8d;
|
||
font-size: 0.9em;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="container">
|
||
<div class="header">
|
||
<h1>🚀 WSCONCILIA API Laravel</h1>
|
||
<p>Portal de Documentación y Testing</p>
|
||
<span class="migration-info">✅ Migrado desde PHP vanilla a Laravel</span>
|
||
</div>
|
||
|
||
<div class="content">
|
||
<div class="links-grid">
|
||
<a href="docs.html" class="link-card">
|
||
<span class="link-icon">📚</span>
|
||
<div class="link-title">Documentación Swagger</div>
|
||
<div class="link-description">
|
||
Documentación interactiva completa del API con OpenAPI/Swagger UI
|
||
</div>
|
||
<span class="status-badge status-docs">Documentación</span>
|
||
</a>
|
||
|
||
<a href="swagger-ui.html" class="link-card">
|
||
<span class="link-icon">🔧</span>
|
||
<div class="link-title">Swagger UI Simple</div>
|
||
<div class="link-description">
|
||
Interfaz básica de Swagger para probar endpoints del API
|
||
</div>
|
||
<span class="status-badge status-docs">Testing</span>
|
||
</a>
|
||
|
||
<a href="api/health" class="link-card">
|
||
<span class="link-icon">💓</span>
|
||
<div class="link-title">Health Check</div>
|
||
<div class="link-description">
|
||
Verificar el estado de salud del API (funciona sin BD)
|
||
</div>
|
||
<span class="status-badge status-ready">Listo</span>
|
||
</a>
|
||
|
||
<a href="api/info" class="link-card">
|
||
<span class="link-icon">ℹ️</span>
|
||
<div class="link-title">API Info</div>
|
||
<div class="link-description">
|
||
Información detallada del API y endpoints disponibles
|
||
</div>
|
||
<span class="status-badge status-ready">Listo</span>
|
||
</a>
|
||
|
||
<a href="openapi.yaml" class="link-card">
|
||
<span class="link-icon">📄</span>
|
||
<div class="link-title">OpenAPI Spec</div>
|
||
<div class="link-description">
|
||
Archivo YAML de especificación OpenAPI 3.0.3 completa
|
||
</div>
|
||
<span class="status-badge status-docs">Especificación</span>
|
||
</a>
|
||
|
||
<a href="api/v1/ciudades" class="link-card">
|
||
<span class="link-icon">🏙️</span>
|
||
<div class="link-title">API Ciudades</div>
|
||
<div class="link-description">
|
||
Endpoint migrado desde ObtenCiudades.php (requiere BD)
|
||
</div>
|
||
<span class="status-badge" style="background: #fff3cd; color: #856404;">Requiere BD</span>
|
||
</a>
|
||
|
||
<a href="api/v1/empresas" class="link-card">
|
||
<span class="link-icon">🏢</span>
|
||
<div class="link-title">API Empresas</div>
|
||
<div class="link-description">
|
||
Endpoint migrado desde ObtenEmpresas.php (requiere BD)
|
||
</div>
|
||
<span class="status-badge" style="background: #fff3cd; color: #856404;">Requiere BD</span>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="info-section">
|
||
<h3>📊 Información del Proyecto</h3>
|
||
<div class="info-grid">
|
||
<div class="info-item">
|
||
<strong>Framework</strong>
|
||
Laravel 12.x
|
||
</div>
|
||
<div class="info-item">
|
||
<strong>Base de Datos</strong>
|
||
SQL Server 10.201.84.3
|
||
</div>
|
||
<div class="info-item">
|
||
<strong>Database</strong>
|
||
personal
|
||
</div>
|
||
<div class="info-item">
|
||
<strong>Archivos Migrados</strong>
|
||
config.php, ObtenCiudades.php, ObtenEmpresas.php
|
||
</div>
|
||
<div class="info-item">
|
||
<strong>Procedimientos</strong>
|
||
sapObtenListadoCiudadesxNombre, sapObtenEmpresas
|
||
</div>
|
||
<div class="info-item">
|
||
<strong>Estado</strong>
|
||
✅ Listo para testing
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="footer">
|
||
<p>📅 Migrado el 12 de septiembre de 2025 | 🔧 Desarrollado con Laravel | 📚 Documentado con OpenAPI</p>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html>
|