logo
Desarrollo
Buscar
Descripción general de la integración móvil del espacio de trabajo

Descripción general de la integración móvil del espacio de trabajo

GPTBots permite integrar por completo el espacio de trabajo en la APP móvil de la empresa y, al implementar el uso del espacio de trabajo sin necesidad de iniciar sesión por parte de los usuarios corporativos, facilita que los empleados de la empresa utilicen el espacio de trabajo. La integración adopta el enfoque de WebView + puente H5 y admite tanto Android como iOS.

WebViewBridge es una interfaz de puente utilizada para la comunicación bidireccional entre la aplicación nativa y la página H5. Proporciona un protocolo y métodos de comunicación unificados, que permiten que el código nativo y la página H5 se invoquen mutuamente y transfieran datos con facilidad.


Arquitectura de integración

┌──────────────┐ WebViewBridge ┌──────────────────┐ │ APP móvil │ ◄────────────────► │ Página H5 del │ │ corporativa │ │ espacio de trabajo│ │(Android/iOS) │ │ (React + Vite) │ └──────────────┘ └──────────────────┘ │ │ │ Emisión de AiToken │ Análisis de AiToken │ (Cifrado RSA) │ Acceso sin login ▼ ▼ ┌──────────────────────────────────────────────────┐ │ Servicios backend de GPTBots │ │ (Spring Boot + MongoDB + Redis) │ └──────────────────────────────────────────────────┘
                      
                      ┌──────────────┐    WebViewBridge    ┌──────────────────┐
│  APP móvil    │ ◄────────────────► │  Página H5 del   │
│  corporativa  │                    │ espacio de trabajo│
│(Android/iOS) │                    │  (React + Vite)  │
└──────────────┘                    └──────────────────┘
       │                                   │
       │ Emisión de AiToken                │ Análisis de AiToken
       │ (Cifrado RSA)                      │ Acceso sin login
       ▼                                   ▼
┌──────────────────────────────────────────────────┐
│           Servicios backend de GPTBots            │
│        (Spring Boot + MongoDB + Redis)           │
└──────────────────────────────────────────────────┘

                    
Este bloque de código en una ventana flotante

Flujo de integración

Paso Descripción Documentación detallada
1. Obtener la clave pública Obtén la clave pública RSA en Configuración del espacio → Integración Cifrado de AiToken
2. Emitir el AiToken Cifra el correo del miembro con la clave pública, concatena el ID del proyecto y, a continuación, codifica en Base64 Cifrado de AiToken
3. Abrir la URL exclusiva Concatena el AiToken en la URL de integración del espacio de trabajo Este documento
4. Integración en el lado nativo Integra WebView en el lado de Android o iOS y configura los permisos Integración en Android / Integración en iOS
5. Comunicación por puente Implementa JSBridge / WKScriptMessageHandler Integración en Android / Integración en iOS

URL de acceso al espacio de trabajo

Cuando un empleado de la empresa accede al espacio de trabajo desde la APP, debe abrir la dirección del espacio de trabajo con la identidad del empleado corporativo. La regla para generar la dirección de acceso es la siguiente:

https://gptbots.ai/space/h5/home?AiToken={加密AiToken}&hideClose=true
                      
                      https://gptbots.ai/space/h5/home?AiToken={加密AiToken}&hideClose=true

                    
Este bloque de código en una ventana flotante
  • {加密AiToken}: el AiToken cifrado mediante la clave pública RSA, que contiene el ID de la organización y el correo de la cuenta del empleado
  • hideClose: parámetro opcional; si se establece en true, se oculta el botón «Cerrar» en la página del webview

Comportamiento del parámetro hideClose

  • Por defecto (no se pasa o false): se muestra el botón «Cerrar» en la página y, al hacer clic, se envía una notificación de mensaje con la acción de cierre a través de WebViewBridge
  • Establecido en true: se oculta el botón de cierre y la APP controla de forma autónoma el ciclo de vida del WebView

JSON del mensaje de acción de cierre:

{ "eventType": "click", "data": { "value": "close", "timestamp": 1776921208476, "extendedData": {} } }
                      
                      {
  "eventType": "click",
  "data": {
    "value": "close",
    "timestamp": 1776921208476,
    "extendedData": {}
  }
}

                    
Este bloque de código en una ventana flotante
  • eventType: cadena que indica el tipo de evento, utilizada para identificar las distintas llamadas de funcionalidad
  • data: objeto JSON que contiene los datos de los parámetros relacionados con el evento; puede incluir distintos campos según el eventType

Tabla de tipos de evento

Tipo de evento Constante Descripción Parámetros
click EVENT_CLICK Evento de clic en la página del webview data: datos adicionales (opcional) en formato JSON; incluye por defecto los campos value (tipo de evento, p. ej. "click") y timestamp (marca de tiempo, en milisegundos)
message EVENT_MESSAGE Evento de mensaje en la página del webview data: datos adicionales (opcional) en formato JSON; incluye por defecto los campos value (tipo de evento, p. ej. "message") y timestamp (marca de tiempo, en milisegundos)

Proyecto DEMO

GPTBots ofrece una DEMO completa de integración del espacio de trabajo en el lado móvil:

Plataforma Repositorio
Android android-webview-bridge
iOS ios-webview-bridge

Documentos relacionados