| | !doctype html> |
| | <html lang="ja"> |
| | <head> |
| | <meta charset="utf-8" /> |
| | <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| | <title>店舗チェックイン</title> |
| | <link rel="stylesheet" href="/static/styles.css" /> |
| | <script> |
| | window.API_BASE = ""; |
| | </script> |
| | </head> |
| | <body> |
| | <main class="container"> |
| | <h1>店舗チェックイン</h1> |
| | <div id="status" class="card"></div> |
| |
|
| |
|
| | <section class="card"> |
| | <h2>1) ウォレット</h2> |
| | <p>端末内で鍵を生成・保存します。(簡易ED25519)</p> |
| | <button id="gen" class="btn">鍵生成/読み込み</button> |
| | <div>あなたのアドレス: <code id="addr">-</code></div> |
| | </section> |
| |
|
| |
|
| | <section class="card"> |
| | <h2>2) チェックイン</h2> |
| | <p>QRから遷移したURLに <code>?session=...</code> が含まれます。</p> |
| | <button id="checkin" class="btn">この店舗にチェックイン</button> |
| | </section> |
| |
|
| |
|
| | <section class="card"> |
| | <h2>3) 残高</h2> |
| | <div>ポイント残高: <span id="balance">-</span></div> |
| | <button id="refresh" class="btn">残高更新</button> |
| | </section> |
| |
|
| |
|
| | <section class="card"> |
| | <h2>4) SNS共有</h2> |
| | <div class="share"> |
| | <a id="share-x" target="_blank">Xで共有</a> |
| | <a id="share-fb" target="_blank">Facebook</a> |
| | <a id="share-line" target="_blank">LINE</a> |
| | </div> |
| | </section> |
| |
|
| |
|
| | <section class="card"> |
| | <h2>(任意)ビーコン接続</h2> |
| | <button id="beacon" class="btn">ビーコンを探索</button> |
| | <p class="muted">Web Bluetooth対応ブラウザ限定。デモ用。</p> |
| | </section> |
| | </main> |
| |
|
| |
|
| | <script src="https://cdn.jsdelivr.net/npm/tweetnacl@1.0.3/nacl-fast.min.js"></script> |
| | <script src="/static/wallet.js"></script> |
| | <script src="/static/checkin.js"></script> |
| | <script src="/static/bluetooth.js"></script> |
| | </body> |
| | </html> |