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öntemler
Bölüm başlığı “Yöntemler”| 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). |
Tipler
Bölüm başlığı “Tipler”PanelContext
Bölüm başlığı “PanelContext”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. |
PluginDocument
Bölüm başlığı “PluginDocument”Eklenti verisinde bir belge (en çok 64 KB JSON).
| Alan | Tip | Açıklama |
|---|---|---|
key |
string |
|
data |
T |
|
updatedAt |
string |
PluginScreen
Bölüm başlığı “PluginScreen”Müşterinin ekranı.
| Alan | Tip | Açıklama |
|---|---|---|
id |
string |
|
name |
string |
|
orientation |
'landscape' | 'portrait' |
PluginEventCount
Bölüm başlığı “PluginEventCount”Bir günün olay sayısı.
| Alan | Tip | Açıklama |
|---|---|---|
date |
string |
Gün (YYYY-MM-DD, UTC). |
name |
string |
|
count |
number |
PluginPoolPrize
Bölüm başlığı “PluginPoolPrize”Ç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 |
PluginCode
Bölüm başlığı “PluginCode”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' |
BridgeError
Bölüm başlığı “BridgeError”| Alan | Tip | Açıklama |
|---|---|---|
code |
string |
Makine okunur kod (ör. plugin.permission_denied, plugin.invalid_settings). |
message? |
string |