ข้ามไปยังเนื้อหา

เอกสารอ้างอิง SDK แบ็กเอนด์ของปลั๊กอิน ​

โค้ดปลั๊กอินแบ็กเอนด์ทำงานในแซนด์บ็อกซ์ JavaScript ของ Ogma และรับออบเจ็กต์ sdk จากแอปพลิเคชันโฮสต์

สำหรับรูปแบบแพ็กเกจปลั๊กอิน ฟิลด์มานิเฟสต์ สิทธิ์ และตัวอย่างฉบับเต็ม ให้เริ่มจาก คู่มือระบบปลั๊กอิน

จุดเริ่มต้นการทำงาน ​

ปลั๊กอินแบ็กเอนด์ต้องมีฟังก์ชัน init ให้เรียกใช้:

js
async function init(sdk) {
  sdk.console.log("plugin started");
}

Ogma เรียก init(sdk) เมื่อเปิดใช้งานปลั๊กอิน

เนมสเปซหลัก ​

เนมสเปซวัตถุประสงค์
sdk.consoleเขียนข้อความลงในบัฟเฟอร์บันทึกของปลั๊กอิน
sdk.metaอ่านเมทาดาทาของปลั๊กอินและพาธข้อมูล
sdk.eventsลงทะเบียนคอลแบ็กสำหรับเหตุการณ์ของ Ogma
sdk.requestsค้นข้อมูลในประวัติ HTTP และข้อมูลคำขอ
sdk.findingsค้นข้อมูลหรือสร้างประเด็นที่ตรวจพบเมื่อสิทธิ์อนุญาต
sdk.scopeอ่านข้อมูลขอบเขตที่ใช้งานอยู่
sdk.storageจัดเก็บสถานะปลั๊กอินแบบคีย์/ค่าอย่างถาวร
sdk.fsดำเนินการกับไฟล์ในไดเรกทอรีข้อมูลส่วนตัวของปลั๊กอิน
sdk.pathเครื่องมือช่วยประกอบพาธในไดเรกทอรีข้อมูลของปลั๊กอิน
sdk.apiเปิดให้ฟรอนต์เอนด์ของปลั๊กอินเรียกตัวจัดการแบ็กเอนด์

การบันทึก ​

js
sdk.console.log("message")
sdk.console.warn("warning")
sdk.console.error("error")

ข้อความแสดงใน UI บันทึกของปลั๊กอิน เขียนบันทึกให้กระชับและหลีกเลี่ยงการเขียนข้อมูลลับ

เมทาดาทา ​

js
sdk.meta.id()
sdk.meta.packageId()
sdk.meta.version()
sdk.meta.path()

ใช้ sdk.meta.path() สำหรับข้อมูลเฉพาะของปลั๊กอิน อย่าคิดว่าโค้ดปลั๊กอินในแซนด์บ็อกซ์สามารถเข้าถึงพาธใดก็ได้ในระบบไฟล์

js
sdk.storage.set("key", "value")
sdk.storage.get("key")
sdk.storage.keys()
sdk.storage.delete("key")
sdk.storage.clear()
js
sdk.fs.readFile("relative/file.txt")
sdk.fs.writeFile("relative/file.txt", "text")
sdk.fs.appendFile("relative/file.txt", "more")
sdk.fs.exists("relative/file.txt")
sdk.fs.existsSync("relative/file.txt")
sdk.fs.mkdir("relative/dir")
sdk.path.join("a", "b", "c")

เหตุการณ์ ​

js
sdk.events.onInterceptRequest(function(req) {
  return req
})

sdk.events.onInterceptResponse(function(req, res) {
  sdk.console.log(res.getCode())
})

sdk.events.onProjectChange(function() {
  sdk.console.log("project changed")
})

คอลแบ็กควรทำงานอย่างรวดเร็ว ควรย้ายงานที่ใช้เวลานานไปให้เริ่มผ่านการกระทำที่ชัดเจนของผู้ใช้หรือตัวจัดการ API แบ็กเอนด์

ตัวจัดการบริดจ์ฟรอนต์เอนด์ ​

ปลั๊กอินแบ็กเอนด์สามารถเปิดให้แผงฟรอนต์เอนด์ของปลั๊กอินเรียกตัวจัดการได้:

js
sdk.api.register("ping", async function(input) {
  return { ok: true, input: input };
});

ฟรอนต์เอนด์เรียกตัวจัดการผ่าน SDK ฟรอนต์เอนด์ของ Ogma ดู เอกสารอ้างอิง SDK ฟรอนต์เอนด์

ข้อกำหนดด้านความปลอดภัย ​

  • ถือว่าทราฟฟิก HTTP ประเด็นที่ตรวจพบ บันทึก และรายการส่งออกเป็นข้อมูลอ่อนไหว
  • ขอเฉพาะสิทธิ์ที่ปลั๊กอินของคุณต้องการ
  • อย่าบันทึกข้อมูลรับรอง คุกกี้ โทเค็น Bearer หรือทราฟฟิกส่วนตัวเป็นพฤติกรรมเริ่มต้น
  • ทำให้พฤติกรรมของปลั๊กอินชัดเจนและเข้าใจได้สำหรับผู้ใช้

ซอฟต์แวร์กรรมสิทธิ์ สงวนลิขสิทธิ์