How yb1320057104/tilian works
提链控制台 lets users configure and submit link-generation tasks through a Vue workbench. In distributed mode, the FastAPI backend records and dispatches tasks through Kafka; a Python Worker claims them, selects a channel adapter, and runs that channel’s engine as a subprocess. The engine returns link or payment-status material for the task result. The README documents nine channels, admin functions, and legacy execution; sampled source gives deeper evidence for event projection and some engine behavior, so unsampled internal wiring is shown only where the README establishes it.
Main entry points: engine_adapter.py Engine adapter · worker.py Task worker · tasks.py Task service · engine_sessions.py Engine sessions
Components 22
User workbench
- Vue workbench
frontend/src/App.vue - Admin console
frontend/src/views/AdminView.vue - API client
frontend/src/api/client.ts
Task orchestration
- FastAPI API
backend/app/main.py - Task service
backend/app/services/tasks.py - Task worker
backend/app/worker.py - Engine adapter
backend/app/engine_adapter.py - Engine sessions
backend/app/services/engine_sessions.py - Event projection
backend/app/engine_protocol.py
Payment channels
- PayPal engine
engines/freepp-backend - GoPay engine
gopay_engine - GCash engine
gcash_engine - MoMo engine
momo_engine - UPI engine
engines/pay153-checkout-link-main - BLIK engine
blik_engine - PIX engine
pix_engine - iDEAL engine
ideal_engine - Direct card
card_engine
Task state
- Task database
backend/app/database.py - Kafka messaging
backend/app/infra/messaging.py
Other components
- Operator
- Payment services
Connections 40
- Operator → Vue workbench: configures tasks
- Vue workbench → API client: submits requests
- Admin console → API client: calls admin API
- API client → FastAPI API: sends requests
- FastAPI API → Task service: handles tasks
- Task service → Task database: persists task state
- Task service → Kafka messaging: dispatches commands
- Task worker → Kafka messaging: consumes commands
- Task worker → Engine adapter: runs channel adapter
- Engine adapter → PayPal engine: starts subprocess
- Engine adapter → GoPay engine: starts subprocess
- Engine adapter → GCash engine: starts subprocess
- Engine adapter → MoMo engine: starts subprocess
- Engine adapter → UPI engine: starts subprocess
- Engine adapter → BLIK engine: starts subprocess
- Engine adapter → PIX engine: starts subprocess
- Engine adapter → iDEAL engine: starts subprocess
- Engine adapter → Direct card: starts subprocess
- PayPal engine → Payment services: requests checkout
- GoPay engine → Payment services: requests checkout
- GCash engine → Payment services: requests checkout
- MoMo engine → Payment services: requests checkout
- UPI engine → Payment services: requests checkout
- BLIK engine → Payment services: requests checkout
- PIX engine → Payment services: requests checkout
- iDEAL engine → Payment services: requests checkout
- Direct card → Payment services: requests checkout
- PayPal engine → Engine adapter: returns result
- GoPay engine → Engine adapter: returns result
- GCash engine → Engine adapter: returns result
- MoMo engine → Engine adapter: returns result
- UPI engine → Engine adapter: returns result
- BLIK engine → Engine adapter: returns result
- PIX engine → Engine adapter: returns result
- iDEAL engine → Engine adapter: returns result
- Direct card → Engine adapter: returns result
- Task worker → Engine sessions: handles engine events
- Engine sessions → Event projection: projects events
- Engine sessions → Task database: stores events and controls
- Task worker → Task database: updates task results