
Jezik 🇸🇮 Slovenščina
Začetek
Konfiguracija
Prilagajanje
Napredno
Klepet s slikami
FastComments Image Chat omogoča interaktivne razprave na slikah tako, da uporabnikom omogoči klik kjer koli na sliki za ustvarjanje točk razprave. Uporabniki lahko kliknejo na določene dele slike, da začnejo pogovore o teh območjih, s čimer se ustvarijo vizualne oznake, ki pokažejo, kje potekajo razprave.
Ta funkcija je idealna za povratne informacije o oblikovanju, ocene izdelkov, izobraževalne materiale z diagrami, fotografske galerije s komentarji in vse primere, kjer želite kontekstualne razprave, pritrjene na določene lokacije na sliki.
Začetek 
Primeri uporabe
Image Chat odlično deluje za povratne informacije o oblikovanju, kjer morajo ekipe razpravljati o določenih elementih v maketah ali posnetkih zaslona. Spletna mesta za ocenjevanje izdelkov lahko strankam omogočijo razpravo o določenih funkcijah, vidnih na fotografijah izdelkov. Izobraževalne platforme ga lahko uporabijo za razpravo o diagramih, zemljevidih ali znanstvenih slikah. Fotogalerije lahko postanejo interaktivne s komentarji, vezanimi na lokacijo. Spletna mesta za nepremičnine lahko obiskovalcem omogočijo razpravo o določenih lastnostih, vidnih na fotografijah nepremičnin.
Hitri začetek
Začetek uporabe Image Chat je preprost. Potrebujete skripto FastComments Image Chat, element ali vsebnik s sliko ter konfiguracijski objekt z vašim Tenant ID.
Namestitev
Dodajte skripto Image Chat na svojo stran:

Osnovna implementacija
Tukaj je minimalen primer:
Run 
Zamenjajte 'demo' s svojim dejanskim FastComments Tenant ID, če tega še niste storili. Najdete ga v svoji nadzorni plošči FastComments.
Kako deluje
Ko je enkrat inicializiran, lahko uporabniki kliknejo kjerkoli na sliki. Ko pride do klika, se na tej lokaciji prikaže vizualni kvadratni označevalnik in odpre se okno za klepet. Drugi uporabniki lahko vidijo vse označevalnike in kliknejo nanje, da si ogledajo ali sodelujejo v teh razpravah. Vse razprave se v realnem času sinhronizirajo med vsemi obiskovalci.
Gradnik uporablja pozicioniranje na osnovi odstotkov, tako da označevalniki ostanejo na pravilni lokaciji tudi, ko se slika spremeni velikost ali si jo ogledujejo na različnih velikostih zaslonov.
Predstavitev v živo
Image Chat v akciji si lahko ogledate na naši strani predstavitve v živo.
Naslednji koraki
Zdaj, ko imate osnove v delovanju, lahko prilagodite videz in vedenje v vodiču Configuration Options. Oglejte si vodič Responsive Design, da razumete, kako deluje pozicioniranje na osnovi odstotkov. Naučite se o oblikovanju in podpori za temni način v vodiču Customization. Za napredne integracije raziščite API Reference.
Frontend knjižnice
Vse FastComments frontend knjižnice (react, vue, angular itd.) vključujejo Image Chat.
Primeri 
Osnovni primer
Najpreprostejši način za uporabo Image Chat je ciljati en sam element slike. Ta primer prikazuje, kako omogočiti interaktivne razprave na sliki:
Run 
Primer z vsebnim elementom
Lahko tudi posredujete vsebnik, ki vsebuje sliko:
Run 
Primer z lastnim URL ID
Privzeto Image Chat uporablja URL strani v kombinaciji z virom slike in koordinatami za identifikacijo pogovorov. Lahko določite lasten urlId:
Run 
To je uporabno, če se struktura vaših URL-jev spremeni, vendar želite obdržati iste pogovore, ali če želite deliti iste točke razprave na več straneh.
Primer s temnim načinom
Če ima vaše spletno mesto temno ozadje in pripomoček tega ne zazna samodejno, lahko ročno omogočimo podporo za temni način:
Run 
Primer z nastavljeno velikostjo kvadratka
Velikost klikabilnih kvadratkov, ki se pojavijo na sliki, lahko prilagodite. Velikost je izražena kot odstotek širine slike:
Run 
Primer s povratnim klicem za število komentarjev
Sledite, kdaj so komentarji dodani ali posodobljeni, z uporabo povratnega klica commentCountUpdated:

Primer z več slikami
Image Chat lahko inicializirate na več slikah. Vsaka slika bo imela svoje neodvisne točke razprave:
Run 
Možnosti konfiguracije 
Pregled
FastComments Image Chat razširja standardni widget za komentarje FastComments, zato podeduje vse konfiguracijske možnosti osnovnega widgeta in doda nekaj specifičnih za slikovne pripombe.
Zahtevana konfiguracija
tenantId
Vaš FastComments Tenant ID je obvezen. Najdete ga v svoji FastComments nadzorni plošči.
FastCommentsImageChat(imageElement, {
tenantId: 'demo'
});
Možnosti, specifične za Image Chat
urlId
Privzeto Image Chat ustvari enolični identifikator za vsako pogovor na podlagi URL-ja strani, vira slike ter koordinat X/Y. To lahko preglasite s svojim urlId.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
urlId: 'my-custom-image-id'
});
To je uporabno, kadar se struktura vaših URL-jev lahko spremeni, a želite ohraniti iste pogovore, ali kadar želite pripombe deliti med več stranmi.
chatSquarePercentage
Nadzoruje velikost klikabilnih označevalcev pogovora kot odstotek širine slike. Privzeta vrednost je 5 %, kar pomeni, da je vsak označevalec 5 % širine slike.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
chatSquarePercentage: 8 // Večji, bolj vidni označevalci
});
Manjše vrednosti ustvarijo manj moteče označevalce, ki so bolj primerni za podrobne slike. Večje vrednosti naredijo označevalce lažje vidne in klikljive na gosto poslikanih straneh ali za uporabnike na mobilnih napravah.
hasDarkBackground
Omogočite temen slog, kadar ima vaša stran temno ozadje.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
hasDarkBackground: true
});
commentCountUpdated
Povratna funkcija, ki se sproži vsakič, ko se spremeni število komentarjev. Uporabna je za posodabljanje elementov vmesnika, kot so značke ali naslovi strani.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
commentCountUpdated: function(count) {
console.log('Total comments:', count);
document.getElementById('badge').textContent = count;
}
});
Podedovane konfiguracijske možnosti
Ker Image Chat razširja standardni widget za komentarje, lahko uporabite katero koli konfiguracijsko možnost osnovnega widgeta FastComments. Tukaj je nekaj pogosto uporabljenih možnosti:
locale
Nastavite jezik vmesnika widgeta. FastComments podpira ducate jezikov.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
locale: 'es' // Španščina
});
readonly
Naredite vse pogovore samo za branje. Uporabniki si lahko ogledajo obstoječe označevalce in razprave, ne morejo pa ustvarjati novih ali odgovarjati.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
readonly: true
});
sso in simpleSSO
Integrirajte se s svojim sistemom avtentikacije z uporabo enotne prijave (Single Sign-On).
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
sso: {
// Konfiguracija SSO
}
});
Za podrobnosti o možnostih avtentikacije si oglejte dokumentacijo SSO.
maxReplyDepth
Nadzorujte, koliko nivojev globoko lahko gredo odgovori. Privzeto Image Chat nastavi to vrednost na 0, kar pomeni, da so vsi komentarji ravni (brez ugnezdenih odgovorov). To lahko spremenite, če želite razvejane pogovore.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
maxReplyDepth: 3 // Dovoli 3 nivoje ugnezditev
});
Notranja konfiguracija
Te možnosti nastavi Image Chat samodejno in jih ne smete preglasiti:
productId je samodejno nastavljen na 2 za Image Chat. Razširitev floating-chat se samodejno naloži in zagotovi funkcionalnost okna pogovora. Widget samodejno zazna mobilne naprave (zaslone širše manj kot 768px) in ustrezno prilagodi vmesnik s celozaslonskimi okni pogovora.
Prilagodljivost ciljnega elementa
Prvi parameter funkcije FastCommentsImageChat je lahko neposredno element <img> ali vsebnik s sliko znotraj:
// Neposreden element slike
FastCommentsImageChat(document.getElementById('my-image'), config);
// Vsebnik s sliko znotraj
FastCommentsImageChat(document.querySelector('.image-wrapper'), config);
Če podate element vsebnika, bo widget sliko našel samodejno.
Popoln primer
Tukaj je primer, ki prikazuje več konfiguracijskih možnosti skupaj:
FastCommentsImageChat(document.getElementById('product-image'), {
tenantId: 'demo',
urlId: 'product-v2-main',
chatSquarePercentage: 6,
hasDarkBackground: false,
locale: 'en',
commentCountUpdated: function(count) {
document.title = count > 0 ? `(${count}) Product Photo` : 'Product Photo';
},
sso: {
// Vaša SSO konfiguracija
},
maxReplyDepth: 1
});
Za popoln seznam vseh razpoložljivih konfiguracijskih možnosti, podedovanih iz osnovnega widgeta, si oglejte glavno dokumentacijo konfiguracije FastComments.
Prilagodljiv dizajn 
Odstotkovno pozicioniranje
Image Chat uporablja odstotkovne koordinate namesto koordinat v piksilih za pozicioniranje označevalcev klepeta na slikah. Ko uporabnik klikne na sliko, pripomoček pretvori koordinate klika v piksilih v odstotke širine in višine slike. Ta pristop zagotavlja, da označevalci ostanejo na pravilnem mestu ne glede na to, kako je slika prikazana.
Na primer, če uporabnik klikne 250 pikslov od levega roba slike široke 1000px, pripomoček to shrani kot 25 % od leve. Ko drug uporabnik ista slika prikže široko 500px na mobilni napravi, se označevalec prikaže 125 pikslov od leve, kar je še vedno 25 % širine.
Prednosti za odzivne postavitve
Ta odstotkovni sistem omogoča, da Image Chat brez težav deluje na vseh velikostih in usmerjenostih naprav. Vaše slike so morda prikazane v različnih velikostih, odvisno od širine zaslona, pravil CSS ali omejitev vsebnika, vendar se označevalci vedno pravilno poravnajo z želenimi lokacijami.
Uporabniki na namiznih računalnikih z velikimi zasloni vidijo označevalce na istih relativnih položajih kot uporabniki pametnih telefonov z majhnimi zasloni. Označevalci se razmeroma povečujejo s samo sliko.
Povečevanje slik in razmerje stranic
Dokler vaša slika ob povečevanju ohranja razmerje stranic (kar je privzeto vedenje brskalnika), bodo odstotkovni označevalci ostali popolnoma poravnani. Pripomoček predpostavlja, da se slike povečujejo sorazmerno, in izračunuje položaje na podlagi te predpostavke.
Če uporabite CSS, ki popači razmerje stranic slike (na primer object-fit: cover z določenimi dimenzijami), se položaji označevalcev morda ne bodo pravilno poravnali. Za najboljše rezultate pustite, da se slike naravno povečujejo, ali uporabite object-fit: contain za ohranjanje razmerja stranic.
Velikost klepetalnih kvadratkov
Vidna velikost označevalcev klepeta je prav tako odstotkovna. Možnost konfiguracije chatSquarePercentage ima privzeto vrednost 5 %, kar pomeni, da je vsak kvadratek 5 % širine slike. To zagotavlja dosledno vizualno težo pri različnih velikostih slik.
Na sliki široki 1000px s privzeto nastavitvijo 5 % so označevalci kvadratki 50px. Na sliki široki 500px so isti označevalci kvadratki 25px. Ostanejo sorazmerni z velikostjo slike.
Vedenje na mobilnih napravah
Na zaslonih, ožjih od 768px, Image Chat preklopi na mobilno optimizirano postavitev. Klepetalna okna se odprejo v celozaslonskem načinu namesto da bi lebdeli ob označevalcu. To zagotavlja boljšo uporabnost na majhnih zaslonih, kjer bi ležeča okna zakrivala preveč slike.
Označevalci sami ostanejo vidni in klikljivi na svojih odstotkovnih položajih. Uporabniki lahko še vedno vidijo, kje se nahajajo vse razprave, in tapnejo označevalce, da odprejo celozaslonski klepetalni vmesnik.
Dinamično nalaganje slik
Odstotkovni sistem deluje pravilno tudi, ko se slike nalagajo asinhrono ali spremenijo velikost po nalaganju strani. Pripomoček spremlja element slike in znova izračuna položaje označevalcev, kadar koli se dimenzije slike spremenijo.
Če lenobno nalagate slike ali izvajate odzivne slike z različnimi velikostmi pri različnih prelomnih točkah, se označevalci samodejno prilagodijo, ko se velikost slike spremeni.
Doslednost med napravami
Ker so koordinate v podatkovni bazi shranjene kot odstotki, se razprava, ustvarjena na namiznem računalniku, prikaže na popolnoma istem relativnem mestu, ko si jo ogledujete na tablici ali telefonu. Uporabniki lahko sodelujejo med napravami brez kakršnih koli nedoslednosti pri pozicioniranju.
To deluje v obeh smereh. Razprava, ustvarjena s tapkanjem določene točke na mobilni napravi, se prikaže na istem relativnem položaju, ko si jo ogledujete na velikem namiznem zaslonu.
Vidno območje
Pripomoček izračunava odstotke glede na sam element slike, ne glede na vidno območje. To pomeni, da drsenje strani ali spreminjanje velikosti okna brskalnika ne vpliva na položaje označevalcev. Označevalci ostanejo sidrani na svojih lokacijah na sliki ne glede na spremembe vidnega območja.
Prihodnja odpornost vsebine
Odstotkovni pristop naredi vaše slikovne razprave odporne na spremembe postavitve, oblikovanja ali ekosistema naprav. Ko se pojavijo nove velikosti zaslonov in naprave, bodo obstoječe razprave še naprej pravilno prikazane brez potrebe po posodobitvah ali migracijah.
Prilagajanje 
Podpora temnega načina
Image Chat vključuje vgrajeno podporo temnega načina. Ko v svoji konfiguraciji nastavite hasDarkBackground: true, se klepetalna okna in elementi uporabniškega vmesnika samodejno prilagodijo, da dobro delujejo na temnih ozadjih.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
hasDarkBackground: true
});
Stiliranje za temni način se uporablja za klepetalna okna, označevalne kvadrate in vse interaktivne elemente. Če ima vaše spletno mesto stikalo za temni način, lahko pripomoček znova inicializirate, ko se način spremeni, ali uporabite pristop z razredom body, opisan spodaj.
Dinamični temni način
Če je temni način na vašem spletnem mestu nadzorovan z dodajanjem razreda .dark elementu body, bo Image Chat UI to samodejno upošteval brez potrebe po ponovni inicializaciji. Slogi pripomočka so zasnovani tako, da se odzovejo na prisotnost tega razreda.
/* Vaš CSS za temni način */
body.dark {
background: #1a1a1a;
color: #ffffff;
}
Prilagajanje slogov s CSS
S CSS lahko prilagodite videz označevalcev, klepetalnih oken in drugih elementov. Pripomoček doda specifične razrede, na katere lahko ciljate v svoji datoteki s slogom.
Označevalni kvadrati in okna klepeta uporabljajo sistem za oblikovanje komentarnih oblačkov FastComments, zato bodo vse prilagoditve, ki ste jih uporabili za standardni pripomoček za komentiranje, vplivale tudi na Image Chat.
Velikost označevalnih kvadratov
Možnost chatSquarePercentage nadzoruje velikost klikljivih označevalcev. Privzeto je 5% širine slike:
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
chatSquarePercentage: 7 // Večji, bolj vidni kvadrati
});
Manjše vrednosti ustvarijo bolj diskretne označevalce, ki se zlijejo s sliko. Večje vrednosti naredijo označevalce bolj izrazite in lažje za klik, še posebej na mobilnih napravah ali zaradi dostopnosti.
Obnašanje na mobilnih napravah
Na zaslonih, ožjih od 768px, se Image Chat samodejno preklopi na postavitev, optimizirano za mobilne naprave. Klepetalna okna se prikažejo v celozaslonskem načinu namesto lebdenja ob označevalcih, kar zagotavlja boljšo uporabnost na majhnih zaslonih.
Označevalci ostanejo vidni na svojih odzivnih položajih na sliki. Uporabniki lahko tapnejo kateri koli označevalec za odpiranje celozaslonskega vmesnika klepeta. To vedenje je vgrajeno in ne zahteva dodatne konfiguracije.
Videz klepetalnih oken
Klepetalna okna so na namizju široka 300px z 16px puščico, ki kaže na označevalec. Okna se samodejno pozicionirajo glede na razpoložljivi prostor v pogledu, z uporabo razredov za pozicioniranje, kot so to-right, to-left, to-top in to-bottom.
Lahko dodate lastni CSS za prilagoditev barv, pisav, razmikov ali drugih vizualnih lastnosti teh oken. Klepetalna okna uporabljajo isto strukturo komponent kot standardni pripomoček FastComments, zato dedujejo vse globalne prilagoditve, ki ste jih uporabili.
Odložena inicializacija
Klepetalna okna se inicializirajo ob premiku miške za uporabnike na namizju ali takoj ob ustvarjanju. To zmanjša začetno obremenitev z nalaganjem, saj se vmesnik klepeta upodobi le, ko uporabniki dejansko sodelujejo z označevalcem.
Odložena inicializacija se zgodi prosojno. Uporabniki ne opazijo zamude, vendar brskalnik ne potrebuje upodabljati ducatov skritih klepetalnih oken, če imate na sliki veliko označevalcev.
Lokalizacija
Image Chat podpira vse enake možnosti lokalizacije kot standardni pripomoček FastComments. Nastavite možnost locale, da prikažete besedilo vmesnika v različnih jezikih:
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
locale: 'fr' // Francoščina
});
FastComments podpira desetine jezikov. Nastavitev locale vpliva na vse besedilo vmesnika, vključno z navodili, gumbi in nadomestnim besedilom.
Podedovane možnosti prilagajanja
Ker Image Chat razširja standardni pripomoček za komentiranje, podeduje vse možnosti prilagajanja osnovnega pripomočka. To vključuje lastne CSS razrede, lastne prevode, prilagajanje avatarjev, oblikovanje datumov in še veliko več.
Oglejte si glavno dokumentacijo za prilagajanje FastComments za popoln seznam razpoložljivih možnosti prilagajanja.
Delo s prilagojenimi pisavami
Če vaše spletno mesto uporablja prilagojene pisave, jih bo Image Chat UI podedoval iz CSS vaše strani. Klepetalna okna se upodabljajo znotraj DOM vaše strani in spoštujejo obstoječe tipografske nastavitve.
Za najboljše rezultate poskrbite, da bodo vaše prilagojene pisave naložene pred inicializacijo Image Chat, ali pa sprejmite, da se lahko med nalaganjem pisav pojavi kratek utrip nestilirane pisave.
Vizualna zasnova označevalcev
Kvadratni označevalci imajo subtilno vizualno zasnovo, zaradi katere so opazni, ne da bi preplavili sliko. Njihov videz lahko prilagodite s CSS, če želite drugačno vizualno obdelavo.
Označevalci vključujejo stanja ob premiku miške, ki nudijo povratne informacije, ko uporabniki premaknejo miško nad njimi. Na napravah na dotik pa interakcija s tapom zagotovi takojšnje povratne informacije z odpiranjem klepetalnega okna.
Sinhronizacija v živo 
Posodobitve v realnem času
Image Chat uporablja WebSocket povezave za sinhronizacijo vseh pogovorov v realnem času med vsemi povezanimi uporabniki. Ko nekdo ustvari nov marker, doda komentar ali izbriše razpravo, vsi drugi uporabniki, ki gledajo isto sliko, vidijo posodobitev takoj brez osvežitve.
Kako deluje WebSocket sinhronizacija
Ko inicializirate Image Chat, pripomoček vzpostavi WebSocket povezavo s strežniki FastComments. Ta povezava ostane odprta za trajanje uporabnikove seje in posluša posodobitve, povezane z trenutno sliko.
WebSocket sistem uporablja tri vrste oddajnih sporočil za Image Chat. Dogodek new-image-chat se sproži, ko nekdo ustvari nov marker na sliki. Dogodek image-chat-updated se sproži, ko nekdo posodobi obstoječ pogovor. Dogodek deleted-image-chat se sproži, ko nekdo izbriše marker.
Sistem Broadcast ID
Da bi preprečili učinek odmeva, kjer uporabniki vidijo svoje lastne akcije, poslane nazaj, vsaka posodobitev vključuje edinstven broadcastId. Ko uporabnik ustvari ali posodobi marker, njegov odjemalec ustvari UUID za to operacijo. Ko WebSocket odda posodobitev nazaj vsem odjemalcem, izvorni odjemalec to posodobitev ignorira, ker se ujema z njegovim broadcastId.
To zagotavlja gladko interakcijo, kjer uporabniki vidijo svoje spremembe takoj v uporabniškem vmesniku brez čakanja na povratno pot do strežnika, medtem ko še vedno zagotavlja, da vsi drugi uporabniki prejmejo posodobitev.
Odpornost povezave
Če WebSocket povezava pade zaradi težav z omrežjem ali vzdrževanja strežnika, pripomoček samodejno poskusi znova vzpostaviti povezavo. Med obdobjem ponovne povezave lahko uporabniki še vedno sodelujejo z obstoječimi markerji, vendar ne bodo videli posodobitev v realnem času od drugih uporabnikov, dokler povezava ni ponovno vzpostavljena.
Ko je povezava ponovno vzpostavljena, se pripomoček ponovno sinhronizira, da se zagotovi, da ni bilo zamujenih posodobitev. To se zgodi transparentno, brez potrebe po posegu uporabnika.
Premisleki glede pasovne širine
WebSocket sporočila so lahka in vsebujejo le bistvene informacije, potrebne za sinhronizacijo stanja. Ustvarjanje novega markerja običajno porabi manj kot 1KB pasovne širine. Sistem vključuje tudi inteligentno združevanje sporočil, da zmanjša pogostost pošiljanja v obdobjih velike aktivnosti.
Vaše meritve uporabe v nadzorni plošči FastComments spremljajo pubSubMessageCount in pubSubBandwidth, tako da lahko spremljate dejavnost sinhronizacije v realnem času na vaših spletnih mestih.
Sinhronizacija med zavihki
Če ima uporabnik isto stran odprto v več zavihkih brskalnika, se posodobitve v enem zavihku takoj pojavijo v drugih zavihkih. To deluje preko istega mehanizma WebSocket sinhronizacije in ne zahteva dodatne konfiguracije.
Uporabniki lahko imajo vašo stran odprto na več napravah hkrati in vse bodo ostale sinhronizirane. Marker, ustvarjen na namiznem računalniku, se takoj pojavi na uporabnikovi tablici, če obe napravi gledata isto sliko.
Varnost
WebSocket sporočila se prenašajo preko varnih povezav (WSS) in vključujejo preverjanje najemnika (tenant validation), da se zagotovi, da uporabniki prejemajo le posodobitve za pogovore, do katerih so pooblaščeni. Strežnik preveri vse operacije pred njihovim oddajanjem, da prepreči nepooblaščen dostop ali manipulacijo.
Obnašanje brez povezave
Ko so uporabniki popolnoma brez povezave, lahko še vedno ogledajo obstoječe markerje, vendar ne morejo ustvarjati novih ali videti posodobitev drugih. Pripomoček zazna stanje brez povezave in prikaže ustrezno sporočilo.
Če uporabnik poskusi ustvariti marker, medtem ko je brez povezave, in se nato znova poveže, bo operacija neuspešna namesto da bi se postavila v čakalno vrsto, s čimer se zagotovi konsistentnost podatkov. Uporabniki naj poskusijo znova, ko je njihova povezava obnovljena.
Vpliv na zmogljivost
Povezava WebSocket ima minimalen vpliv na zmogljivost. Povezava je neaktivna, kadar ne potekajo posodobitve, in obdeluje sporočila le, ko se pojavi aktivnost. Na tipični sliki z zmerno aktivnostjo markerjev WebSocket porabi manj CPU kot samo upodabljanje slike.
Za strani s stovkami sočasnih uporabnikov in visoko aktivnostjo ustvarjanja markerjev se sistem horizontalno razširi, da ohrani zmogljivost, ne da bi vplival na posamezne odjemalske povezave.
Sodelovalni primeri uporabe
Sinhronizacija v realnem času naredi Image Chat še posebej močan za sodelovalne delovne tokove. Oblikovalne ekipe lahko skupaj pregledujejo makete in vsi vidijo pozicioniranje markerjev v realnem času. Ekipe za podporo strankam lahko skupaj označujejo posnetke zaslona, da prepoznajo težave. Izobraževalne skupine lahko razpravljajo o diagramih, pri čemer vsi udeleženci vidijo markerje drugih, ko so ustvarjeni.
Takojšnja povratna informacija ustvarja bolj privlačno in produktivno sodelovalno izkušnjo v primerjavi s tradicionalnimi sistemi komentarjev, kjer morajo uporabniki osvežiti stran, da vidijo posodobitve.
Referenca API-ja 
Pregled API-ja
Image Chat ponuja tri REST API končne točke za programsko upravljanje slikovnih pogovorov. Te končne točke omogočajo pridobivanje, ustvarjanje in brisanje markerjev brez uporabe brskalniškega gradnika.
Vse API končne točke zahtevajo avtentikacijo in sledijo standardnim vzorcem FastComments API. To so javne končne točke, ki se avtentikirajo prek brskalniških piškotkov, ne prek API ključev.
Osnovni URL
Vse Image Chat API končne točke so pod:
https://fastcomments.com/comment-image-chats
Avtentikacija
Te končne točke avtentikirajo uporabnike prek brskalniških piškotkov. Ne uporabljajo API ključev. Uporabniki morajo biti v svojem brskalniku prijavljeni v FastComments, da dostopajo do teh končnih točk.
Pridobivanje vseh pogovorov
Pridobite vse slikovne pogovore za določeno sliko.
Končna točka
GET /comment-image-chats/:tenantId?urlId=<urlId>
Parametri
tenantId (parameter poti, obvezen) je vaš FastComments Tenant ID.
urlId (parameter poizvedbe, obvezen) je identifikator slike, za katero želite pridobiti pogovore.
Odziv
Odziv vključuje status API, informacije o trenutni uporabniški seji, če je uporabnik avtentikiran, polje pogovorov z njihovimi ID-ji, URL-ji in koordinatami X/Y, očiščen URL identifikator, zastavico, ki označuje, ali je trenutni uporabnik skrbnik ali moderator spletnega mesta, ter podrobnosti o WebSocket povezavi za sinhronizacijo v živo, vključno s tenantIdWS, urlIdWS in userIdWS.
Primer zahteve
curl "https://fastcomments.com/comment-image-chats/demo?urlId=my-product-image" \
--cookie "your-session-cookie"
Primer odziva
{
"status": "success",
"user": {
"id": "user123",
"username": "john_doe"
},
"conversations": [
{
"_id": "conv123",
"urlId": "my-product-image:/images/product.jpg:25:30",
"x": 25.5,
"y": 30.2
},
{
"_id": "conv456",
"urlId": "my-product-image:/images/product.jpg:60:45",
"x": 60.8,
"y": 45.1
}
],
"urlIdClean": "my-product-image",
"isSiteAdmin": false,
"tenantIdWS": "demo",
"urlIdWS": "my-product-image",
"userIdWS": "user123"
}
Ustvarjanje pogovora
Ustvarite nov slikovni pogovor za določeno lokacijo na sliki.
Končna točka
POST /comment-image-chats/:tenantId
Parametri
tenantId (parameter poti, obvezen) je vaš FastComments Tenant ID.
Telo zahteve mora biti v formatu JSON in vključevati naslednja obvezna polja.
urlId (niz, obvezen) je osnovni identifikator strani.
windowUrlId (niz, obvezen) je URL, združen z virom slike in koordinatami, na primer my-page:/images/photo.jpg:25.5:30.2.
pageTitle (niz, obvezen) je naslov strani.
src (niz, obvezen) je URL vira slike.
x (številka, obvezna) je koordinata X kot odstotek (0-100).
y (številka, obvezna) je koordinata Y kot odstotek (0-100).
createdFromCommentId (niz, obvezen) je ID komentarja, ki je sprožil ta pogovor.
broadcastId (niz, obvezen) je UUID za sinhronizacijo v živo, da se preprečijo odmevni učinki.
Odziv
Odziv vključuje status API in ID novo ustvarjenega pogovora.
Primer zahteve
curl -X POST "https://fastcomments.com/comment-image-chats/demo" \
--cookie "your-session-cookie" \
-H "Content-Type: application/json" \
-d '{
"urlId": "my-product-image",
"windowUrlId": "my-product-image:/images/product.jpg:25.5:30.2",
"pageTitle": "Product Gallery",
"src": "/images/product.jpg",
"x": 25.5,
"y": 30.2,
"createdFromCommentId": "comment789",
"broadcastId": "550e8400-e29b-41d4-a716-446655440000"
}'
Primer odziva
{
"status": "success",
"createdChatId": "conv789"
}
Brisanje pogovora
Izbrišite obstoječi slikovni pogovor. Ta končna točka zahteva skrbniška ali moderatorska dovoljenja, ali pa mora biti pogovor ustvarjen s strani avtentikiranega uporabnika.
Končna točka
DELETE /comment-image-chats/:tenantId/:chatId
Parametri
tenantId (parameter poti, obvezen) je vaš FastComments Tenant ID.
chatId (parameter poti, obvezen) je ID pogovora za brisanje.
broadcastId (telo zahteve, obvezno) je UUID za sinhronizacijo v živo.
Primer zahteve
curl -X DELETE "https://fastcomments.com/comment-image-chats/demo/conv789" \
--cookie "your-session-cookie" \
-H "Content-Type: application/json" \
-d '{
"broadcastId": "550e8400-e29b-41d4-a716-446655440001"
}'
Primer odziva
{
"status": "success"
}
Sistem koordinat
Koordinati X in Y sta shranjeni kot odstotki dimenzij slike. X predstavlja vodoravni položaj od levega roba (0 = levi rob, 100 = desni rob). Y predstavlja navpični položaj od zgornjega roba (0 = zgornji rob, 100 = spodnji rob).
Te odstotne vrednosti lahko vključujejo decimalke za natančnost. Na primer, x: 25.5 pomeni 25,5 % od levega roba slike.
Omejevanje hitrosti
Te končne točke so predmet standardnega omejevanja hitrosti FastComments API. Vmesna programska oprema za omejevanje hitrosti deluje na nivoju najemnika, da prepreči zlorabe, hkrati pa omogoča normalne vzorce uporabe.
Odzivi napak
Vse končne točke vračajo standardne HTTP statusne kode. Odziv 400 označuje neveljavne parametre zahteve. Odziv 401 pomeni, da je avtentikacija spodletela. Odziv 403 označuje nezadostna dovoljenja. Odziv 404 pomeni, da pogovora ni bilo mogoče najti. Odziv 429 označuje prekoračitev omejitve hitrosti.
Odzivi napak vključujejo telo JSON s podrobnostmi:
{
"status": "error",
"message": "Conversation not found"
}
Sledenje uporabi
Ustvarjanje pogovorov poveča vašo metriko uporabe conversationCreateCount. Vska dejavnost WebSocket sinhronizacije poveča pubSubMessageCount in pubSubBandwidth. Te metrike lahko spremljate v nadzorni plošči FastComments pod analitiko uporabe.
Imate vprašanja?
To je vse za FastComments Image Chat! Če imate kakšna vprašanja, potrebujete pomoč pri implementaciji ali imate predloge za funkcije, nam jih prosim sporočite spodaj ali se obrnite na našo ekipo za podporo.
Oglejte si živo predstavitev na naši demo strani, da vidite Image Chat v akciji.