Skip to main content

เมนูเว็บ (Menu Builder)

ภาพรวม

Menu builder ใช้สร้าง หน้าเมนูหรือหน้ารวมลิงก์แบบสาธารณะ (link-in-bio) ให้แต่ละ LINE OA ผู้ใช้เข้าถึงหน้านี้ผ่านโทเคนสาธารณะได้โดยไม่ต้อง login เหมาะกับการทำหน้ารวมบริการ ที่นำไปแปะไว้ในปุ่มของ rich menu

โครงสร้างของเมนูทั้งหมดถูกเก็บเป็น JSONB ก้อนเดียว จึงเพิ่มชนิดบล็อกใหม่ได้ โดยไม่ต้องทำ migration ที่ระดับ schema

โครงสร้างข้อมูลหลัก

  • name VARCHAR(255)
  • config JSONB — โครงสร้างเมนูทั้งหมด ทั้งบล็อก ลิงก์ และธีม
  • public_token VARCHAR(255) unique (nullable) — คีย์สำหรับประกอบ URL สาธารณะ ค่า NULL หมายถึงยังไม่เปิดเผยหน้านี้
  • line_oa_id FK → line_oa.id
  • status (CommonStatus, default active)
  • timestamps ใช้ชื่อคอลัมน์สไตล์ใหม่ คือ created_at / updated_at / deleted_at ซึ่งต่างจากตารางรุ่นเก่าที่ใช้ created_date / deleted_date
  • index บน (line_oa_id), (status) และ (created_at)

ไฟล์ที่เกี่ยวข้อง

  • prisma/schema.prisma:968 — model MenuBuilder
  • schema-dumps/2026-07-24/schema.sql:2345

จุดเชื่อมต่อกับ Service อื่น

  • cms-api-go — CRUD เมนู รวมถึงการสร้างและเพิกถอน public_token
  • client-api-go — หน้าสาธารณะที่ค้นด้วย public_token แล้ว render ออกมาจาก config

ลิงก์ภายในเมนูมักถูกห่อด้วยลิงก์ tracking ก่อนแสดงผล ดูรายละเอียดที่ การติดตามผล