44 lines
1.3 KiB
Plaintext
44 lines
1.3 KiB
Plaintext
Portable mini-program QR PoC
|
|
|
|
Requirements:
|
|
- Python 3
|
|
- Node.js
|
|
|
|
CLI usage:
|
|
1) Fetch server data and generate GIF
|
|
python3 miniapp_qr_poc.py --member-id 114477 --json-out member_114477.json --gif-out member_114477.gif
|
|
|
|
2) Offline mode from an existing qr hex string
|
|
python3 miniapp_qr_poc.py --qr A92205FA05FA000E3C9E107C23EE7F1234560031050C0000000000000000000000000000000000000000000000000000000000000000003A0000 --gif-out out.gif
|
|
|
|
Web usage:
|
|
1) Install dependencies
|
|
python3 -m pip install -r requirements.txt
|
|
|
|
2) Start the web page
|
|
python3 web_app.py
|
|
|
|
3) Open:
|
|
http://127.0.0.1:8000
|
|
|
|
Docker usage:
|
|
1) Build
|
|
docker build -t miniapp-qr-web .
|
|
|
|
2) Run
|
|
docker run --rm -p 8000:8000 -e TZ=Asia/Shanghai -e MINIAPP_QR_TIMEZONE=Asia/Shanghai miniapp-qr-web
|
|
|
|
Or use compose:
|
|
docker compose up --build
|
|
|
|
Features:
|
|
- Reads IDs from ./found_ids.txt
|
|
- Lets you select an ID from the page
|
|
- Calls the original API and generates the QR GIF in-browser
|
|
- Keeps the original CLI script available
|
|
|
|
Notes:
|
|
- The script looks for JS dependencies relative to itself under ./js/
|
|
- It reproduces the mini-program's getCommand(qr) wrapping and uses the bundled QR JS renderer
|
|
- Default timezone for QR payload generation is Asia/Shanghai; you can override it with MINIAPP_QR_TIMEZONE
|