İçeriğe geç
developers
Geliştirici merkezi

VISWOO BELGELERİ

Panel köprüsü

Eklentinin panel sekmesinin platformla konuştuğu köprü (`viswoo-panel.js`).

Eklentinin panel sekmesinin platformla konuştuğu köprü (viswoo-panel.js).

window.Viswoo.panel: Her yöntem Promise döner; hata BridgeError taşır.

Yöntem İzin Açıklama
Viswoo.panel.context(): Promise<PanelContext> — Bağlam köprü yüklenince bir kez istenir; tema sayfaya kendiliğinden uygulanır.
Viswoo.panel.on(event: 'theme.changed', listener: (data: { theme: 'light' | 'dark' }) => void): void — Panel olayları: tema değişince theme.changed.
Viswoo.panel.settings.get<T = Record<string, unknown>>(): Promise<T> settings Müşterinin ayarları (sunucuya özel alanlar dahil).
Viswoo.panel.settings.set<T = Record<string, unknown>>(settings: T): Promise<T> settings Ayarları kaydeder; şemaya uymazsa plugin.invalid_settings. Editör ve üstü.
Viswoo.panel.data.list<T = unknown>(collection: string, after?: string): Promise<PluginDocument<T>[]> data Koleksiyondaki belgeler, anahtara göre sıralı, 100’erli (sonraki sayfa için son anahtar).
Viswoo.panel.data.get<T = unknown>(collection: string, key: string): Promise<PluginDocument<T>> data Bir belge; yoksa plugin.data_not_found.
Viswoo.panel.data.put<T = unknown>(collection: string, key: string, data: T): Promise<PluginDocument<T>> data Belgeyi yazar (en çok 64 KB). Editör ve üstü.
Viswoo.panel.data.delete(collection: string, key: string): Promise<void> data Belgeyi siler. Editör ve üstü.
Viswoo.panel.screens.list(): Promise<PluginScreen[]> screens:read Müşterinin ekranları.
Viswoo.panel.events.summary(days?: number): Promise<PluginEventCount[]> events Son N günün (en çok 90) olay sayıları.
Viswoo.panel.draw.stock(pool?: string): Promise<PluginPoolPrize[]> draw Ayarlardan tanımlı çekiliş havuzunun ödülleri ve kalan stok.
Viswoo.panel.codes.lookup<T = Record<string, unknown>>(value: string): Promise<PluginCode<T>> codes Kodu doğrular (her panel rolü; kasa için).
Viswoo.panel.codes.redeem<T = Record<string, unknown>>(value: string): Promise<PluginCode<T>> codes Kodu teslim eder; ikinci kez plugin.code_redeemed, süresi geçmişse plugin.code_expired.
Viswoo.panel.ui.resize(height: number): Promise<void> — Sayfanın yüksekliğini bildirir; panel çerçeveyi buna göre büyütür (en çok 4000 px).

Panel sekmesinin bağlamı.

Alan Tip Açıklama
code string Eklentinin kodu.
version string Kurulu sürüm.
language 'tr' | 'en' Panelin dili.
theme 'light' | 'dark' Panelin teması; köprü sayfaya kendisi uygular.
role string Panel kullanıcısının rolü: owner, admin, editor, viewer. Yazma uçları editörden başlar.
setupComplete boolean Zorunlu ayarlar girilmiş mi; değilse eklenti ekranlarda oynamaz ve sunucu işlemleri reddedilir.
permissions string[] Müşterinin onayladığı izinler.
publicUrl string | null Genel sayfanın adresi (izin public); yoksa null. Panel QR olarak gösterebilir.

Eklenti verisinde bir belge (en çok 64 KB JSON).

Alan Tip Açıklama
key string
data T
updatedAt string

Müşterinin ekranı.

Alan Tip Açıklama
id string
name string
orientation 'landscape' | 'portrait'

Bir günün olay sayısı.

Alan Tip Açıklama
date string Gün (YYYY-MM-DD, UTC).
name string
count number

Çekiliş havuzundaki ödül ve kalan stok (stok verilmediyse null: sınırsız).

Alan Tip Açıklama
id string
label string
winning boolean
stock number | null
remaining number | null

Tek kullanımlık kod.

Alan Tip Açıklama
value string Kod (6 karakter, büyük harf ve rakam; birbirine benzeyen karakterler yok).
payload T Kod verilirken eklenen veri (ör. ödül).
expiresAt string
redeemedAt string | null
status 'valid' | 'redeemed' | 'expired'
Alan Tip Açıklama
code string Makine okunur kod (ör. plugin.permission_denied, plugin.invalid_settings).
message? string