เอกสารอ้างอิง 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 หรือทราฟฟิกส่วนตัวเป็นพฤติกรรมเริ่มต้น
- ทำให้พฤติกรรมของปลั๊กอินชัดเจนและเข้าใจได้สำหรับผู้ใช้