velt/preview
Composer 安装命令:
composer require velt/preview
包简介
Module Preview pour VeltPHP - Prévisualisation mobile via QR code
README 文档
README
Gestion des dépendances
Les dépendances sont centralisées au niveau du dossier velt-preview :
cd velt-preview
composer install
Un seul composer.json gère toutes les dépendances des 7 sous-modules.
Mission
Ce sous-module connecte le monde Web et le monde mobile preview. Il gere les sessions de preview, expose les endpoints JSON et fournit les donnees necessaires au QR code.
Le but du Module 1 n'est pas de faire un Expo Go complet, mais de prouver que Velt peut rendre une meme page en Web et en JSON mobile.
Preview est un module d'integration. Il doit donc etre plus strict sur ses contrats : format JSON stable, erreurs propres, session preview testable et aucune dependance cachee a une implementation UI ou HTTP non documentee.
Perimetre
Inclus :
- session de preview ;
- mapping session vers page Velt ;
- endpoint
GET /api/preview/{id}; - endpoint
GET /api/session/{id}; - payload QR code ;
- stockage fichier simple pour le MVP ;
- schema JSON preview versionne ;
- erreurs 404/410/500 normalisees ;
- parser Velt pour fichiers .velt ;
- structure AST pour les composants ;
- VeltView avec fromSession() et toJson() ;
- génération d'image QR code (SVG).
Exclus :
- WebSocket ;
- hot reload ;
- rendu natif complet ;
- app mobile officielle complete.
Comment tester sans client mobile officiel
Le Module 1 n'a pas besoin d'une vraie app mobile pour valider Preview.
- Creer une page Velt fake ou une implementation
JsonableInterfacefake. - Creer une session preview dans un store fichier temporaire.
- Appeler le controller ou handler preview avec une request fake.
- Verifier que le JSON contient
screen,schemaVersion,componentsetmeta. - Verifier les cas d'erreur : session inconnue, page introuvable, JSON invalide.
- Verifier que le payload QR-ready contient une URL HTTP exploitable et l'identifiant de session.
Le test bout-en-bout avec le vrai UI et le vrai HTTP appartient au sous-module 07. Les tests unitaires de Preview doivent rester rapides et isolables.
Architecture des nouveaux modules
velt-ast
Structure de l'AST (Abstract Syntax Tree) pour les composants Velt :
NodeInterface- Interface de base pour tous les nœudsVStack,HStack- Conteneurs vertical/horizontalText,Button,Input- Composants de baseContainer- Conteneur génériqueAST- Racine de l'arbre avec méthodetoArray()
velt-parser
Parser pour les fichiers .velt :
VeltParser- Transforme le contenu d'un fichier .velt en AST- Supporte l'indentation pour la structure hiérarchique
- Parse les props au format
key="value"
velt-view
Couche de chargement et rendu des vues :
VeltView- Classe principale avecfromSession()ettoJson()VeltPageRepository- Repository implémentantPageRepositoryInterface- Charge les fichiers
.veltdepuis le système de fichiers
Format des fichiers .velt
VStack class="flex-1 p-4"
Text value="Se connecter" class="text-2xl font-bold mb-4"
Input name="email" label="Email" type="email" class="mb-4"
Input name="password" label="Mot de passe" type="password" class="mb-4"
Button text="Connexion" class="bg-blue-500 text-white"
Flux complet
fichier .velt → VeltParser → AST → VeltView::toJson() → JSON → API Preview
Génération QR code
Le module Preview utilise la librairie bacon/bacon-qr-code pour générer des images QR code au format SVG :
- CLI :
php bin/velt preview auth.logingénère un fichier SVG - Service :
preview.qr_generatordisponible dans le container - Formats : SVG par défaut (extension PNG disponible si GD/Imagick installé)
- Stockage :
storage/qrcodes/{session_id}.svg
Issues
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 2
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2026-06-18