ภาพรวมการผสานรวมพื้นที่ทำงานบนมือถือ

ภาพรวมการผสานรวมพื้นที่ทำงานบนมือถือ

GPTBots รองรับการผสานรวมพื้นที่ทำงานเข้ากับ APP บนมือถือขององค์กรทั้งหมด โดยการทำให้ผู้ใช้ในองค์กรใช้งานพื้นที่ทำงานได้โดยไม่ต้องเข้าสู่ระบบ เพื่ออำนวยความสะดวกให้พนักงานขององค์กรใช้งานพื้นที่ทำงาน การผสานรวมใช้วิธี WebView + H5 Bridge ซึ่งรองรับทั้ง Android และ iOS

WebViewBridge เป็นอินเทอร์เฟซ Bridge ที่ใช้สำหรับการสื่อสารสองทิศทางระหว่างแอปพลิเคชันเนทีฟกับหน้า H5 มันมอบโปรโตคอลและเมธอดการสื่อสารที่เป็นมาตรฐานเดียวกัน ทำให้โค้ดเนทีฟและหน้า H5 สามารถเรียกใช้ซึ่งกันและกันและส่งข้อมูลระหว่างกันได้อย่างสะดวก


สถาปัตยกรรมการผสานรวม

┌──────────────┐ WebViewBridge ┌──────────────────┐ │ 企业移动 APP │ ◄────────────────► │ 工作空间 H5 页面 │ │(Android/iOS) │ │ (React + Vite) │ └──────────────┘ └──────────────────┘ │ │ │ AiToken 签发 │ 解析 AiToken │ (RSA 加密) │ 免登录进入 ▼ ▼ ┌──────────────────────────────────────────────────┐ │ GPTBots 后端服务 │ │ (Spring Boot + MongoDB + Redis) │ └──────────────────────────────────────────────────┘
                      
                      ┌──────────────┐    WebViewBridge    ┌──────────────────┐
│  企业移动 APP │ ◄────────────────► │  工作空间 H5 页面 │
│(Android/iOS) │                    │  (React + Vite)  │
└──────────────┘                    └──────────────────┘
       │                                   │
       │ AiToken 签发                       │ 解析 AiToken
       │ (RSA 加密)                         │ 免登录进入
       ▼                                   ▼
┌──────────────────────────────────────────────────┐
│                GPTBots 后端服务                    │
│        (Spring Boot + MongoDB + Redis)           │
└──────────────────────────────────────────────────┘

                    
บล็อกโค้ดนี้ในหน้าต่างลอย

ขั้นตอนการผสานรวม

ขั้นตอน คำอธิบาย เอกสารรายละเอียด
1. รับ Public Key รับ RSA Public Key ในการตั้งค่าพื้นที่ → การผสานรวม การเข้ารหัส AiToken
2. ออก AiToken ใช้ Public Key เข้ารหัสอีเมลของสมาชิก ต่อกับ Project ID แล้วเข้ารหัสแบบ Base64 การเข้ารหัส AiToken
3. เปิด URL เฉพาะ ต่อ AiToken เข้ากับ URL การผสานรวมพื้นที่ทำงาน เอกสารนี้
4. การเชื่อมต่อฝั่งเนทีฟ ผสานรวม WebView ฝั่ง Android หรือ iOS และตั้งค่าสิทธิ์ การผสานรวม Android / การผสานรวม iOS
5. การสื่อสารผ่าน Bridge ใช้งาน JSBridge / WKScriptMessageHandler การผสานรวม Android / การผสานรวม iOS

URL การเข้าถึงพื้นที่ทำงาน

เมื่อพนักงานขององค์กรเข้าถึงพื้นที่ทำงานผ่านฝั่ง APP ควรเปิดที่อยู่พื้นที่ทำงานในฐานะพนักงานขององค์กร กฎการสร้างที่อยู่การเข้าถึงมีดังนี้:

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

                    
บล็อกโค้ดนี้ในหน้าต่างลอย
  • {加密AiToken}: AiToken ที่เข้ารหัสด้วย RSA Public Key แล้ว ซึ่งประกอบด้วยID ขององค์กรและอีเมลบัญชีของพนักงาน
  • hideClose: พารามิเตอร์เสริม หากตั้งค่าเป็น true จะซ่อนปุ่ม「ปิด」ในหน้า webview

พฤติกรรมของพารามิเตอร์ hideClose

  • ค่าเริ่มต้น (ไม่ส่งหรือ false): แสดงปุ่ม「ปิด」ในหน้า เมื่อคลิกจะส่งข้อความแจ้งเตือนการดำเนินการปิดผ่าน WebViewBridge
  • ตั้งค่าเป็น true: ซ่อนปุ่มปิด APP ควบคุมวงจรชีวิตของ WebView ด้วยตนเอง

JSON ข้อความการดำเนินการปิด:

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

                    
บล็อกโค้ดนี้ในหน้าต่างลอย
  • eventType: สตริง แสดงประเภทของเหตุการณ์ ใช้ระบุการเรียกใช้ฟังก์ชันที่แตกต่างกัน
  • data: อ็อบเจ็กต์ JSON ประกอบด้วยข้อมูลพารามิเตอร์ที่เกี่ยวข้องกับเหตุการณ์ สามารถมีฟิลด์ที่แตกต่างกันได้ตาม eventType ที่ต่างกัน

ตารางประเภทเหตุการณ์

ประเภทเหตุการณ์ ค่าคงที่ คำอธิบาย พารามิเตอร์
click EVENT_CLICK เหตุการณ์การคลิกในหน้า webview data: ข้อมูลเพิ่มเติม (เสริม) รูปแบบ JSON โดยค่าเริ่มต้นมีฟิลด์ value (ประเภทเหตุการณ์ เช่น "click"), timestamp (Timestamp หน่วยเป็นมิลลิวินาที)
message EVENT_MESSAGE เหตุการณ์ข้อความในหน้า webview data: ข้อมูลเพิ่มเติม (เสริม) รูปแบบ JSON โดยค่าเริ่มต้นมีฟิลด์ value (ประเภทเหตุการณ์ เช่น "message"), timestamp (Timestamp หน่วยเป็นมิลลิวินาที)

โปรเจกต์ DEMO

GPTBots มี DEMO การผสานรวมพื้นที่ทำงานบนมือถือแบบครบถ้วน:

แพลตฟอร์ม Repository
Android android-webview-bridge
iOS ios-webview-bridge

เอกสารที่เกี่ยวข้อง