Skip to content

Maxsus vidjetlar: umumiy ​

Maxsus vidjet — ZIP arxivga o'ralib Bitoga yuklanadigan kichik frontend ilova. Uni faqat o'z hisobingizda ishlatish yoki bajariladigan reliz va marketplace kartochkasi alohida moderatsiyadan o'tgach ommaga chiqarish mumkin. Bito tasdiqlangan fayllarni tarqatadi va admin panelga yuklaydi, kodingiz esa mahsulot ekranlarida chiziladi: profil bo'limi, telefon raqami menyusi, doimiy fon vidjeti yoki o'z sozlamalar sahifasi.

Agar amoCRM uchun vidjet yozgan bo'lsangiz, shakli tanish tuyuladi: script.js — callbacks obyektiga ega CustomWidget konstruktorini qaytaradigan AMD modul, unga esa jQuery 4 ($) uzatiladi.

Vidjet izolyatsiya qilinmaydi. Umuman.

Sizning script.js faylingiz oddiy <script src> orqali ulanadi va admin panelning o'z origin va seansida bajariladi. U tizimga kirgan foydalanuvchi nomidan istalgan admin endpointga murojaat qila oladi, har qanday ekranning DOM'ini o'qiy oladi va ERP'ning brauzer xotirasiga yeta oladi. Na iframe, na sandbox atributi, na vidjet uchun alohida CSP, na u tegishi mumkin bo'lgan narsalarni toraytiradigan ruxsatlar tizimi bor.

Nazorat — bu izolyatsiya emas, balki kompaniyaning aynan shu relizga bergan roziligi ekrani. Vidjetingizni o'rnatayotgan kompaniya shaxsan sizga — ishlab chiquvchiga — tizimga kirgan foydalanuvchi qila oladigan hamma narsani, jumladan savdo, moliya va oylik ma'lumotlarini ishonib topshiradi. Bito arizalarni tekshiradi, lekin uchinchi tomon kodiga kafolat bermaydi.

Bu avvalgi iframe vidjetning o'rnini bosadi: u yerda sizning o'z sahifangiz integratsiya sozlamalari bo'limidagi iframe ichiga joylashtirilar edi. O'sha mexanizm Bitoning o'z ichki integratsiyalari uchun hali ham mavjud (iframe.url va bir martalik token), lekin maxsus vidjet bunday ishlamaydi.

Umumiy ko'rinish ​

text
  Ishlab chiquvchi                 Bito                       Kompaniya
      |                              |                              |
      |  1. widget.zip yig'ish       |                              |
      |  2. Kartochkani to'ldirish,  |                              |
      |     reliz yaratish va        |                              |
      |     arxivni yuklash          |                              |
      |----------------------------->|                              |
      |     tekshiruv hisoboti       |                              |
      |<-----------------------------|                              |
      |  3. Lokal sinash va relizni  |                              |
      |     tekshiruvga yuborish     |                              |
      |----------------------------->|                              |
      |                              |  4. Reliz moderatsiyasi      |
      |                              |     tasdiq -> fayllar        |
      |                              |     ochilib, ishlashga tayyor|
      |  5. Kartochkani yuborish     |                              |
      |<-----------------------------|                              |
      |                              |  6. Kartochka tasdiq -> public|
      |                              |  7. Kompaniya o'rnatadi      |
      |                              |<-----------------------------|
      |                              |  8. Rahbar SHU relizga       |
      |                              |     rozilik beradi           |
      |                              |<-----------------------------|
      |                              |  9. mount -> script.js       |
      |                              |     panel ichida ishlaydi    |

Fayllar qayerdan tarqatiladi ​

Tasdiqlangan fayllar ochilib, bito.uz subdomeni emas, alohida ro'yxatdan o'tgan domendan tarqatiladi. Bu cookie izolyatsiyasini va kesh ta'siri doirasining kichrayishini beradi — lekin hech narsani izolyatsiya qilmaydi. Cross-origin <script src> baribir uni yuklagan sahifada bajariladi — modelning butun mohiyati shunda.

Fayllar X-Content-Type-Options: nosniff bilan va serverda ruxsat etilgan kengaytmalar ro'yxatidan olingan kontent turi bilan beriladi, siz yuborgan narsa bilan emas.

Rozilik relizga beriladi ​

Kompaniyaning roziligi aynan u qabul qilgan relizga bog'lanadi. Yangi tasdiqlangan versiyani chop etish har bir kompaniyadan roziligni qaytadan so'raydi, chunki ishonilayotgan kodning o'zi o'zgardi. Rozilik berilmaguncha mount rad etadi va vidjetingiz ishga tushmaydi.

Rozilikni faqat rahbar yoki qo'shimcha rahbar bera oladi — oddiy xodim buni kim qilishi kerakligini ko'radi. Kim va qachon qabul qilgani yozib qo'yiladi; kompaniya rozilikni bekor qilsa, vidjet hamma joydan olib tashlanadi.

Vidjet nimalardan iborat ​

FaylMajburiyVazifasi
manifest.jsonHaInterfeys versiyasi, tillar, joylashuv nuqtalari, oshkor qilinadigan manzillar
script.jsHaCustomWidget'ni qaytaradigan AMD modul
i18n/<lang>.jsonE'lon qilingan har bir til uchun bittadanTekis kalit → satr lug'ati, serverda tanlanadi
style.cssYo'qHost hujjatiga <link> sifatida ulanadi
templates/Yo'qbito.render() uchun nomlangan shablonlar
images/Yo'qStatik fayllar

To'liq qoidalar va cheklovlar: widget.zip formati.

Keyingi o'qish ​

SahifaQaysi savolga javob beradi
widget.zip formatiArxivga nima solinadi va nima uchun rad etiladi
CustomWidget hayotiy sikliQaysi callbacklar, qanday tartibda ishlaydi va xato chiqsa nima bo'ladi
bito SDKwindow.bitoning har bir metodi
Joylashuv nuqtalariVidjet mahsulotning qayerida paydo bo'lishi mumkin
jQuery mosligiYetkazilgan jQuery 4 da nima almashtirilgan
Relizni chop etishVersiyalar, tekshiruv navbati, tasdiq nimani o'zgartiradi
Ilova sahifasiMarketplace kartochkasi va relizning alohida oqimlari
Bito ishlab chiquvchisi bo'lishBularning barchasiga ruxsat beradigan akkauntni qanday olish

Bito 2.0 Integration API