Skip to content

Plantilla de Cuestionario de Categoría

El componente CategoryQuiz está diseñado para diagnósticos que requieren puntuación en múltiples dimensiones (por ejemplo, Comunidad, Competencia, Credibilidad, Compasión) junto con una puntuación general.

Uso

Para crear un nuevo cuestionario de categoría, cree un archivo markdown y use el componente de la siguiente manera:

vue
<CategoryQuiz 
  :questions="questions" 
  :categories="categories"
  :overall="overall"
  emailEndpoint="/.netlify/functions/record-quiz"
  quizName="My Category Quiz"
>
  <template #intro>
    <h2>Mi Diagnóstico</h2>
    <p>Califíquese a través de estas dimensiones clave.</p>
  </template>
</CategoryQuiz>

<script setup>
const questions = [
  {
    id: 'q1',
    prompt: 'Texto de la pregunta aquí...',
    categoryId: 'cat1',
    options: [
      { value: 5, label: 'Totalmente de acuerdo' },
      { value: 1, label: 'Totalmente en desacuerdo' }
    ]
  }
];

const categories = {
  cat1: {
    title: 'Categoría 1',
    thresholds: [
      {
        min: 4.0,
        max: 5.0,
        label: 'Alto',
        description: 'Lo estás haciendo muy bien en esta área.'
      },
      {
        min: 0,
        max: 3.9,
        label: 'Bajo',
        description: 'Esta área necesita mejora.'
      }
    ]
  }
};

const overall = {
  thresholds: [
    {
      min: 4.0,
      max: 5.0,
      label: 'Excelente',
      description: 'Rendimiento general excelente.'
    },
    {
      min: 0,
      max: 3.9,
      label: 'Necesita Trabajo',
      description: 'Margen general para mejorar.'
    }
  ]
};
</script>

Props

PropTipoRequeridoDescripción
questionsArrayArray de objetos de pregunta.
categoriesObjectDefinición de categorías y sus umbrales.
overallObjectDefinición de umbrales de puntuación general.
emailEndpointStringNoURL para enviar los resultados del cuestionario.
quizNameStringNoNombre del cuestionario para fines de seguimiento.

Estructuras de Datos

Objeto de Pregunta

javascript
{
  id: 'unique_id',
  prompt: 'Texto de la pregunta',
  categoryId: 'category_id_matching_key_in_categories',
  options: [
    { value: 5, label: 'Texto de la opción' }
  ]
}

Definición de Categoría

javascript
{
  title: 'Título para Mostrar',
  thresholds: [
    {
      min: 0,
      max: 5,
      label: 'Etiqueta de Resultado',
      description: 'Texto de interpretación.'
    }
  ]
}

Lista de Verificación de Implementación

  1. Definir Categorías: Identifique las dimensiones que desea medir.
  2. Mapear Preguntas: Asegúrese de que cada pregunta tenga un categoryId válido.
  3. Establecer Umbrales: Defina rangos claros de mín/máx tanto para categorías individuales como para la puntuación general.
  4. Enrutamiento: Agregue el nuevo cuestionario a docs/es/quizzes/index.md manualmente. NO use la propiedad slug en el frontmatter si confía en el enrutamiento de directorio estándar.