paymove-qr-test-server
v1.0.0
Published
Test server for @paymove_io/qr-generator package
Readme
PayMove QR Generator - Test Server
Prosty serwer Node.js do testowania paczki @paymove_io/qr-generator z interfejsem webowym.
🚀 Szybki start
1. Instalacja zależności
npm install2. Linkowanie paczki (wymagane)
Przed uruchomieniem serwera musisz podlinkować swoją paczkę lokalnie:
# W katalogu z Twoją paczką @paymove_io/qr-generator
npm link
# W tym katalogu (paymove-qr-node-test)
npm link @paymove_io/qr-generator3. Uruchomienie serwera
# Tryb produkcyjny
npm start
# Tryb deweloperski (z auto-restart)
npm run devSerwer będzie dostępny pod adresem: http://localhost:3000
📋 Dostępne endpointy
GET /
- Interfejs webowy do testowania
GET /api/status
- Sprawdza status załadowania paczki
- Zwraca informacje o dostępnych funkcjach
POST /api/generate-banner
- Generuje banner HTML z QR kodem
- Parametry:
data(string) - dane do zakodowania w QRformat(string) - format wyjściowy: "svg", "png", "jpg"width(number) - szerokość bannera w pxheight(number) - wysokość bannera w pxquality(number) - jakość dla PNG/JPG (0.1-1.0)qrOptions(object) - opcje QR kodu
POST /api/generate-qr
- Generuje sam QR kod (bez bannera)
- Parametry:
data(string) - dane do zakodowaniasize(number) - rozmiar QR w pxmargin(number) - margines w pxcolor(object) - kolory:{dark: string, light: string}
GET /api/test-formats
- Testuje wszystkie dostępne formaty wyjściowe
- Zwraca status dla każdego formatu
🎨 Funkcje interfejsu webowego
- Status paczki - sprawdza czy paczka została poprawnie załadowana
- Generator bannera - tworzy bannery HTML z QR kodami w różnych formatach
- Generator QR - generuje same QR kody
- Test formatów - sprawdza dostępność wszystkich formatów wyjściowych
🔧 Przykład użycia API
Generowanie bannera PNG
curl -X POST http://localhost:3000/api/generate-banner \
-H "Content-Type: application/json" \
-d '{
"data": "https://paymove.io",
"format": "png",
"width": 800,
"height": 200,
"quality": 0.95,
"qrOptions": {
"size": 120,
"margin": 4,
"color": {
"dark": "#000000",
"light": "#FFFFFF"
}
}
}'Generowanie QR kodu
curl -X POST http://localhost:3000/api/generate-qr \
-H "Content-Type: application/json" \
-d '{
"data": "https://paymove.io",
"size": 200,
"margin": 4,
"color": {
"dark": "#000000",
"light": "#FFFFFF"
}
}'🐛 Rozwiązywanie problemów
Paczka nie jest załadowana
Jeśli widzisz błąd "Paczka @paymove_io/qr-generator nie jest dostępna":
- Sprawdź czy wykonałeś
npm linkw katalogu z paczką - Sprawdź czy wykonałeś
npm link @paymove_io/qr-generatorw tym katalogu - Sprawdź czy paczka ma poprawną strukturę eksportów
Błędy podczas generowania
- Sprawdź logi serwera w konsoli
- Upewnij się że wszystkie wymagane parametry są przekazane
- Sprawdź czy format jest obsługiwany
📁 Struktura projektu
paymove-qr-node-test/
├── server.js # Główny plik serwera
├── package.json # Zależności i skrypty
├── public/
│ └── index.html # Interfejs webowy
└── README.md # Ta dokumentacja🔧 Uwagi dotyczące ES6 modules
Projekt używa ES6 modules ("type": "module" w package.json), więc:
- Wszystkie importy używają składni
importzamiastrequire __dirnamejest konfigurowane ręcznie dla kompatybilności z ES modules- Twoja paczka
@paymove_io/qr-generatorpowinna eksportować funkcje jako named exports lub default export
🔗 Linki
- Express.js
- Satori - do generowania SVG z JSX
- QR Code Generator - do generowania QR kodów
