Table of Contents

Análisis de registros en mini programas de WeChat

Este artículo presenta el flujo completo para obtener y analizar registros en el entorno AR de mini programas de WeChat.

Uso de vConsole en mini programas de WeChat

Dado que el AR de mini programas de WeChat solo puede ejecutarse y depurarse en dispositivos físicos, usar vConsole para observar la salida en tiempo real es crucial para la depuración. El uso básico se puede consultar en la documentación oficial de mini programas de WeChat.

Cómo habilitar vConsole en depuración en dispositivo físico

En la interfaz AR, haz clic en el primer botón en la esquina superior derecha > haz clic en Depuración de desarrollo en la barra de herramientas inferior > haz clic en Abrir depuración > en la ventana emergente, haz clic en Aceptar para reiniciar el mini programa.

Abrir depuración

Efectivo después de reabrir

Posteriormente, se mostrará continuamente el botón flotante vConsole en la interfaz.

Botón vConsole

Haz clic en el botón vConsole para ver todos los registros actuales:

Registros del mini programa

Cómo distinguir el origen de los registros

El origen de los registros generalmente se puede clasificar en:

  • Registros del sistema del mini programa de WeChat: Se activan generalmente durante cambios en la ruta de la página o en el ciclo de vida de componentes, mostrados en azul en vConsole.

  • Registros de xr-frame: Impresos por el marco de renderizado oficial, comienzan con [xr-frame].

  • Registros personalizados por el usuario: Impresos por el desarrollador mediante interfaces estándar como console.log().

  • Registros de error del marco del mini programa: Lanzados por la capa subyacente de WeChat, comienzan con MiniProgramError.

  • Registros del plugin Mega para mini programas: Impresos internamente por el plugin Mega para mini programas, comienzan con nombres de clase entre corchetes (ej. [MegaTracker]), actualmente se emiten principalmente al capturar excepciones.

  • Ejemplo 1:

    Ejemplo de registros de mini programa 1

    La primera parte en azul son registros del sistema, mostrando la ruta de la página y estado de carga.

    La segunda parte comienza con [xr-frame], mostrando información del ciclo de vida del marco de renderizado.

    La tercera parte es salida personalizada del desarrollador.

  • Ejemplo 2:

    Ejemplo de registros de mini programa 2

    Aparecen registros que comienzan con nombres de clase como [MegaTracker], [EasyARSession(xrframe)], lo que indica que el plugin Mega capturó una excepción en tiempo de ejecución.

  • Ejemplo 3:

    Ejemplo de registros de mini programa 3

    En MiniProgramError aparece WAXRFrameRenderContext.js, indicando problemas con interfaces relacionadas con xr-frame o configuración de componentes.

  • Ejemplo 4:

    Ejemplo de registros de mini programa 4

    Este registro indica que el método onCloudLocalization en el plugin mega generó una excepción durante su ejecución, causando un error en el marco del mini programa.

Formato de registros del plugin Mega para mini programas

Los registros exportados por el método dumpLog(signal) están separados por |, con el siguiente contenido en orden:

  • Marca de tiempo: Formato estándar ISO 8601, indica la hora del sistema al imprimir el registro.
  • Nivel de registro: Incluye Info, Warning, Error, FatalError.
  • Nombre de clase: Entre corchetes.
  • Detalles: Descripción específica del registro.
  • Invocador: Generalmente Unspecified (indica proceso de ejecución natural); si es una excepción causada por la llamada del usuario a una interfaz, muestra User.
  • Fase de ejecución: Muestra Unspecified si no es relevante; otros campos indican que la excepción ocurrió en una fase específica.

Registros de mini programa

Cómo registrar y reenviar registros

Presenta métodos para obtener y exportar registros.

Exportar registros desde vConsole

Haz clic en el botón de copia a la derecha de la posición del registro para exportar.

Interfaz dump log del plugin Mega para mini programas

Controla el proceso de exportación mediante la interfaz dumpLog(signal):

  • Pasar true: Inicia el registro.
  • Pasar false: Detiene el registro y devuelve la ruta temporal del archivo (tempFilePath) generado.

Se recomienda vincular la lógica de registro con un botón de UI. Al iniciar el registro, mostrar un mensaje mediante wx.showToast(). Al finalizar, usar wx.shareFileMessage() para reenviar el archivo mediante chat de WeChat.

/**
 * Maneja la lógica de registro de Session
 * @param signal true para iniciar registro, false para detener y reenviar
 */
dumpLog(signal: boolean): void {
  // Llama a la interfaz para obtener la ruta
  const logPath = session.dumpLog(signal);
  // Cuando signal es true, la interfaz devuelve cadena vacía, indicando que se está registrando
  if (logPath.length == 0) {
      wx.showToast({
          title: 'Iniciando registro de registros',
          icon: 'success',
          duration: 2000
      });
      return;
  }
  // Cuando signal es false, procesa la ruta de archivo devuelta
  wx.shareFileMessage({
      filePath: logPath,
      success() {
          wx.showToast({
              title: 'Reenvío de registros exitoso',
              icon: 'success',
              duration: 2000
          });
      },
      fail() {
          wx.showToast({
              title: 'Error en reenvío de registros',
              icon: 'error',
              duration: 2000
          });
      }
  })
}

Este ejemplo demuestra cómo usar el método session.dumpLog() en componentes xr-frame para registrar y reenviar archivos de registro, con mensajes Toast correspondientes.


Importante

Si encuentras problemas de localización o seguimiento con Mega en lugar de excepciones de programa, además de los registros, proporciona siempre la grabación de pantalla y el archivo session dump de ese momento. Los archivos de registro puros solo ofrecen referencia indirecta; la grabación y los datos dump son la base principal para diagnosticar problemas.

Temas relacionados