
Jezik 🇸🇮 Slovenščina
Začetek
Konfiguracija
Prilagajanje
Napredno
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 je odličen za povratne informacije o oblikovanju, kjer ekipe potrebujejo razpravo o določenih elementih v maketah ali posnetkih zaslona. Spletne strani z ocenami izdelkov lahko omogočajo strankam razpravo o določenih značilnostih, vidnih na fotografijah izdelkov. Izobraževalne platforme ga lahko uporabijo za razpravo o diagramih, zemljevidih ali znanstvenih slikah. Foto galerije lahko postanejo interaktivne z lokacijsko specifičnimi komentarji. Nepremičninske strani lahko obiskovalcem omogočijo razpravo o določenih značilnostih, vidnih na fotografijah nepremičnin.
Hiter začetek
Zagon Image Chat je preprost. Potrebujete FastComments Image Chat skripto, element slike ali vsebnik s sliko ter konfiguracijski objekt z vašo Tenant ID.
Namestitev
Add the Image Chat script to your page:

Osnovna implementacija
Here's a minimal example:
Run 
Zamenjajte 'demo' z vašim dejanskim FastComments Tenant ID, če ni že nastavljen; najdete ga v svoji nadzorni plošči FastComments.
Kako deluje
Ko je inicializiran, lahko uporabniki kliknejo kjerkoli na sliko. Ko klik nastane, se na tem mestu prikaže vizualni kvadratni marker in odpre se klepetalno okno. Drugi uporabniki lahko vidijo vse markerje in nanje kliknejo, da si ogledajo ali sodelujejo v teh razpravah. Vse razprave se sinhronizirajo v realnem času med vsemi obiskovalci.
Pripomoček uporablja pozicioniranje na osnovi odstotkov, zato markerji ostanejo na pravilnem mestu tudi, ko se slika spremeni velikost ali je ogledana na različnih velikostih zaslonov.
Živa predstavitev
Image Chat si lahko ogledate v akciji na naši strani žive predstavitve.
Naslednji koraki
Zdaj, ko imate osnovno delujoče, lahko prilagodite videz in vedenje v vodniku Možnosti konfiguracije. Oglejte si vodnik o odzivnem oblikovanju, da razumete, kako deluje pozicioniranje na osnovi odstotkov. Naučite se o stilizaciji in podpori temnega načina v vodniku za prilagajanje. Za napredne integracije raziščite API referenco.
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 pripomoček za komentiranje FastComments, zato deduje vse možnosti konfiguracije iz osnovnega pripomočka in dodaja nekaj, specifičnih za oznake na slikah.
Zahtevana konfiguracija
tenantId
Za uporabo potrebujete FastComments Tenant ID. Najdete ga v svoji FastComments nadzorni plošči.
FastCommentsImageChat(imageElement, {
tenantId: 'demo'
});
Možnosti, specifične za Image Chat
urlId
Privzeto Image Chat ustvari edinstven identifikator za vsak pogovor na podlagi URL-ja strani, vira slike in X/Y koordinat. To lahko presežete z lastnim urlId.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
urlId: 'my-custom-image-id'
});
To je uporabno, kadar se struktura vaših URL-jev lahko spremeni, vendar želite obdržati iste pogovore, ali kadar želite deliti oznake med več stranmi.
chatSquarePercentage
Nadzoruje velikost klikabilnih oznak za klepet kot odstotek širine slike. Privzeto je 5 %, kar pomeni, da je vsaka oznaka 5 % širine slike.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
chatSquarePercentage: 8 // Večji, bolj vidni markerji
});
Manjše vrednosti ustvarijo manj vsiljive oznake, ki bolje delujejo pri podrobnih slikah. Večje vrednosti naredijo oznake lažje vidne in klikljive na zasedenih slikah ali za uporabnike na mobilnih napravah.
hasDarkBackground
Omogoči temno oblikovanje, kadar ima vaša stran temno ozadje.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
hasDarkBackground: true
});
commentCountUpdated
Funkcija povratnega klica, ki se sproži vsakič, ko se število komentarjev spremeni. To je uporabno za posodabljanje elementov uporabniškega 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;
}
});
Dedičene možnosti konfiguracije
Ker Image Chat razširja standardni pripomoček za komentiranje, lahko uporabite katerokoli možnost konfiguracije iz osnovnega pripomočka FastComments. Tukaj je nekaj pogosto uporabljenih možnosti:
locale
Nastavite jezik za uporabniški vmesnik pripomočka. FastComments podpira desetine jezikov.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
locale: 'es' // španščina
});
readonly
Naredite vse pogovore samo za branje. Uporabniki lahko gledajo obstoječe oznake in razprave, vendar ne morejo ustvarjati novih ali odgovarjati.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
readonly: true
});
sso and simpleSSO
Integrirajte z vašim sistemom za overjanje z uporabo enkratnega prijavljanja (Single Sign-On).
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
sso: {
// konfiguracija SSO
}
});
Oglejte si dokumentacijo o SSO za podrobnosti o možnostih overjanja.
maxReplyDepth
Nadzoruje, koliko nivojev globoko lahko segajo odgovori. Privzeto je Image Chat nastavil to na 0, kar pomeni, da so vsi komentarji ploski (brez gnezdenih odgovorov). To lahko spremenite, če želite naviti pogovore.
FastCommentsImageChat(imageElement, {
tenantId: 'demo',
maxReplyDepth: 3 // Dovoli 3 ravni gnezdenja
});
Notranja konfiguracija
Te možnosti Image Chat samodejno nastavi in jih ne bi smeli preglasiti:
Vrednost productId je samodejno nastavljena na 2 za Image Chat. Razširitev floating-chat se samodejno naloži, da zagotovi funkcionalnost okna za klepet. Pripomoček samodejno zazna mobilne naprave (zasloni oz. širine pod 768px) in ustrezno prilagodi uporabniški vmesnik z okni za klepet v celozaslonskem načinu.
Fleksibilnost ciljanega elementa
Prvi parameter za FastCommentsImageChat je lahko bodisi neposredni element <img>, bodisi element vsebnika s sliko znotraj:
// Neposredni element slike
FastCommentsImageChat(document.getElementById('my-image'), config);
// Kontejner s sliko znotraj
FastCommentsImageChat(document.querySelector('.image-wrapper'), config);
Pripomoček bo samodejno poiskal sliko, če posredujete element vsebnika.
Celoten primer
Tukaj je primer, ki prikazuje več možnosti konfiguracije 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 možnosti konfiguracije, ki se podedujejo iz osnovnega pripomočka, si oglejte glavno dokumentacijo o konfiguraciji FastComments.
Prilagodljiv dizajn 
Percentage-Based Positioning
Image Chat uporablja koordinate, izražene v odstotkih, namesto pikselskih koordinat za pozicioniranje oznak klepeta na slikah. Ko uporabnik klikne na sliko, pripomoček pretvori pikselske koordinate klika v odstotke širine in višine slike. Ta pristop zagotavlja, da oznake ostanejo na pravem mestu ne glede na to, kako je slika prikazana.
Na primer, če uporabnik klikne 250 slikovnih pik od levega roba slike širine 1000 px, pripomoček to shrani kot 25% od leve strani. Ko drug uporabnik pogleda isto sliko na mobilni napravi, kjer je široka 500 px, se oznaka prikaže 125 slikovnih pik od leve, kar je še vedno 25% širine.
Benefits for Responsive Layouts
Ta sistem z odstotki omogoča, da Image Chat nemoteno deluje na vseh velikostih in orientacijah naprav. Vaše slike so lahko prikazane v različnih velikostih glede na širino zaslona, CSS pravila ali omejitve vsebnika, vendar se oznake vedno pravilno poravnajo s predvidenimi lokacijami.
Uporabniki na namiznih računalnikih z velikimi monitorji vidijo oznake na enakih sorazmernih položajih kot uporabniki na pametnih telefonih z majhnimi zasloni. Oznake se skalirajo sorazmerno s samo sliko.
Image Scaling and Aspect Ratio
Dokler vaša slika pri spreminjanju velikosti ohranja svoj razmerje stranic (kar je privzeto vedenje brskalnika), bodo oznake, izražene v odstotkih, ostale popolnoma poravnane. Pripomoček predvideva, da se slike skalirajo sorazmerno in izračunava položaje na podlagi tega predpostavka.
Če uporabite CSS, ki izkrivlja razmerje stranic slike (na primer z uporabo object-fit: cover s specifičnimi dimenzijami), se položaji oznak morda ne bodo pravilno poravnali. Za najboljše rezultate dovolite slikam, da se naravno skalirajo, ali uporabite object-fit: contain, da ohranite razmerje stranic.
Chat Square Sizing
Vidna velikost oznak klepeta je prav tako izražena v odstotkih. Konfiguracijska možnost chatSquarePercentage privzeto znaša 5%, kar pomeni, da je vsako polje veliko 5% širine slike. To zagotavlja enako vizualno težo na različnih velikostih slik.
Na sliki širine 1000 px z privzeto nastavitvijo 5% so oznake kvadratne s 50 px. Na sliki širine 500 px so iste oznake kvadratne s 25 px. Ostanejo sorazmerne velikosti slike.
Mobile Behavior
Na zaslonih, ožjih od 768 px, se Image Chat preklopi na postavitev, optimizirano za mobilne naprave. Okna klepeta se odprejo celozaslonsko namesto plavajoče ob oznaki. To izboljša uporabnost na majhnih zaslonih, kjer bi plavajoča okna preveč zakrivala sliko.
Sami oznake ostanejo vidne in klikabilne na svojih položajih, izraženih v odstotkih. Uporabniki lahko še vedno vidijo, kje so vse razprave, in tapnejo oznake, da odprejo celozaslonsni vmesnik klepeta.
Dynamic Image Loading
Sistem, ki temelji na odstotkih, deluje pravilno tudi, ko se slike nalagajo asinhrono ali spremenijo velikost po nalaganju strani. Pripomoček spremlja element slike in ponovno izračuna položaje oznak vsakič, ko se spremenijo dimenzije slike.
Če uporabljate odloženo nalaganje slik ali uvajate odzivne slike z različnimi velikostmi na različnih prelomih, se oznake samodejno prilagodijo, ko se velikost slike spremeni.
Cross-Device Consistency
Ker so koordinate shranjene v bazi kot odstotki, se razprava, ustvarjena na namiznem računalniku, prikaže na enakem sorazmernem mestu tudi na tablici ali telefonu. Uporabniki lahko sodelujejo med napravami brez neskladij v pozicioniranju.
To deluje v obe smeri. Razprava, ustvarjena z dotikom določene točke na mobilni napravi, se prikaže na enakem sorazmernem položaju, ko jo pogledate na velikem namiznem monitorju.
Viewport Considerations
Pripomoček izračunava odstotke glede na sam element slike, ne na pogledno okno (viewport). To pomeni, da pomikanje po strani ali spreminjanje velikosti okna brskalnika ne vpliva na položaje oznak. Oznake ostanejo pritrjene na svojih lokacijah na sliki ne glede na spremembe viewporta.
Future-Proofing Content
Pristop, ki temelji na odstotkih, naredi vaše razprave o slikah odporne na spremembe postavitve, dizajna ali ekosistema naprav. Ko se pojavijo nove velikosti zaslonov in naprave, se obstoječe razprave še naprej pravilno prikazujejo 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 
API Overview
Image Chat zagotavlja tri REST API končne točke za upravljanje pogovorov o slikah programatično. Te končne točke vam omogočajo pridobivanje, ustvarjanje in brisanje oznak brez uporabe vtičnika v brskalniku.
Vse API končne točke zahtevajo overjanje in sledijo standardnim vzorcem FastComments API. To so javne končne točke, ki se overjajo preko piškotkov brskalnika, ne preko API ključev.
Base URL
Vse Image Chat API končne točke so pod:
https://fastcomments.com/comment-image-chatsAuthentication
Te končne točke overjajo uporabnike preko piškotkov v brskalniku. Ne uporabljajo API ključev. Uporabniki morajo biti v svojem brskalniku prijavljeni v FastComments, da lahko dostopajo do teh končnih točk.
Get All Conversations
Pridobite vse pogovore o sliki za določeno sliko.
Endpoint
GET /comment-image-chats/:tenantId?urlId=<urlId>Parameters
tenantId (path parameter, required) je vaš FastComments Tenant ID.
urlId (query parameter, required) je identifikator slike, za katero želite pridobiti pogovore.
Response
Odgovor vključuje stanje API, informacije o trenutni uporabniški seji, če je overjena, polje z nizi pogovorov z njihovimi ID-ji, URL-ji in X/Y koordinatami, očiščen identifikator URL, zastavico, ki označuje ali je trenutni uporabnik skrbnik spletnega mesta ali moderator, in podrobnosti povezave WebSocket za sinhronizacijo v živo vključno z tenantIdWS, urlIdWS in userIdWS.
Example Request
curl "https://fastcomments.com/comment-image-chats/demo?urlId=my-product-image" \
--cookie "your-session-cookie"
Example Response
{
"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"
}
Create Conversation
Ustvarite nov pogovor o sliki za določeno lokacijo na sliki.
Endpoint
POST /comment-image-chats/:tenantIdParameters
tenantId (path parameter, required) je vaš FastComments Tenant ID.
Telo zahteve mora biti v formatu JSON in mora vsebovati ta obvezna polja.
urlId (string, required) je osnovni identifikator strani.
windowUrlId (string, required) je URL združen z izvorom slike in koordinatami, na primer my-page:/images/photo.jpg:25.5:30.2.
pageTitle (string, required) je naslov strani.
src (string, required) je URL vira slike.
x (number, required) je X koordinata kot odstotek (0-100).
y (number, required) je Y koordinata kot odstotek (0-100).
createdFromCommentId (string, required) je ID komentarja, ki je sprožil ta klepet.
broadcastId (string, required) je UUID za sinhronizacijo v živo, da prepreči efekt odmeva.
Response
Odgovor vključuje stanje API in ID novo ustvarjenega pogovora.
Example Request
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"
}'
Example Response
{
"status": "success",
"createdChatId": "conv789"
}
Delete Conversation
Izbrišite obstoječ pogovor o sliki. Ta končna točka zahteva skrbniške ali moderatorske pravice ali pa mora biti pogovor ustvaril overjeni uporabnik.
Endpoint
DELETE /comment-image-chats/:tenantId/:chatIdParameters
tenantId (path parameter, required) je vaš FastComments Tenant ID.
chatId (path parameter, required) je ID pogovora, ki ga želite izbrisati.
broadcastId (request body, required) je UUID za sinhronizacijo v živo.
Example Request
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"
}'
Example Response
{
"status": "success"
}
Coordinate System
Koordinate X in Y so shranjene kot odstotki dimenzij slike. X predstavlja horizontalni položaj od levega roba (0 = levi rob, 100 = desni rob). Y predstavlja vertikalni položaj od zgornjega roba (0 = zgornji rob, 100 = spodnji rob).
Ti odstotni vrednosti lahko vključujejo decimalke za natančnost. Na primer, x: 25.5 pomeni 25.5% od levega roba slike.
Rate Limiting
Te končne točke so predmet standardnega omejevanja zahtev FastComments API. Middleware za omejevanje hitrosti se uporablja na nivoju najemnika (tenant), da prepreči zlorabe, hkrati pa omogoči normalne vzorce uporabe.
Error Responses
Vse končne točke vračajo standardne HTTP statusne kode. Odgovor 400 pomeni neveljavne parametre zahteve. Odgovor 401 pomeni, da overjanje ni uspelo. Odgovor 403 pomeni nezadostne pravice. Odgovor 404 pomeni, da pogovor ni bil najden. Odgovor 429 pomeni preseženo omejitev zahtev.
Odgovori z napako vključujejo JSON telo s podrobnostmi:
{
"status": "error",
"message": "Conversation not found"
}
Usage Tracking
Ustvarjanje pogovorov poveča vašo metriko uporabe conversationCreateCount. Vsa WebSocket sinhronizacija 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 kakršnakoli vprašanja, potrebujete pomoč pri implementaciji ali imate predloge za nove funkcije, nam jih sporočite spodaj ali se obrnite na našo podporno ekipo.
Oglejte si živo predstavitev na naši demo strani, da vidite Image Chat v akciji.