fix: TokenPocket mobile deep-link login, desktop empty-state, toast above modal
- Mobile TokenPocket now opens the tpoutside:// sign deep link and returns to the original browser to finish login (no wallet in-app browser); desktop keeps the QR. Fixes mobile login + logout being trapped in TP's browser. - Desktop without an injected wallet shows a clear message instead of a dead button; TokenPocket login card is always available as a working path. - Raise toast z-index above the login modal so feedback is visible. - Add native TokenPocket-login strings across 7 locales. - Document that the live backend lacks favorites + TokenPocket routes (404), the real blocker for those features in production. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -5,11 +5,39 @@
|
||||
>
|
||||
> **核心结论:后端目前几乎已经满足前端全部需求。本次重设计与 bug 修复基本是纯前端工作。后端真正需要新增的只有少量「可选项」,外加几处需要确认的契约。请不要把已完成的功能再派一遍。**
|
||||
|
||||
日期:2026-06-02
|
||||
日期:2026-06-02(2026-06-02 更新:新增 §0.5 部署阻塞)
|
||||
相关分支:`terry-wallet-login`
|
||||
|
||||
---
|
||||
|
||||
## 0.5 🔴 关键阻塞:线上后端是旧版本,收藏与 TokenPocket 端点未部署
|
||||
|
||||
> 源码(`Arkie-Library-Backend`)里这些端点都有;但**当前线上 / dev 代理指向的后端**(`https://ark-library.com/apnew`)是**旧构建**,下列路由全部 404。
|
||||
> **前端已就绪,但收藏与 TokenPocket 扫码登录在生产上无法工作,直到后端把含这些路由的版本部署上线。** 这正是用户实测「收藏用不了、扫码登录用不了」的根因。
|
||||
|
||||
curl 实证(经 vite dev 代理打到线上后端,2026-06-02):
|
||||
|
||||
| 端点 | 方法 | 实测状态 | 结论 |
|
||||
|---|---|---|---|
|
||||
| `/api/auth/wallet/nonce` | POST | **200** | ✅ 已部署 |
|
||||
| `/api/auth/wallet/verify` | POST | **400**(入参错误)| ✅ 已部署 |
|
||||
| `/api/auth/wallet/me` | GET | **401**(需鉴权)| ✅ 已部署 |
|
||||
| `/api/auth/wallet/tp-login-request` | POST | **404** | ❌ 未部署 |
|
||||
| `/api/auth/wallet/tp-result` | GET | **404** | ❌ 未部署 |
|
||||
| `/api/auth/wallet/tp-callback` | POST | **404** | ❌ 未部署 |
|
||||
| `/api/me/favorites` | GET | **404**(应为 401)| ❌ 未部署 |
|
||||
| `/api/me/favorites/ids` | GET | **404** | ❌ 未部署 |
|
||||
| `/api/me/favorites/{id}` | POST | **404** | ❌ 未部署 |
|
||||
|
||||
**后端动作(必做,按优先级最高):**
|
||||
1. 部署包含 favorites(`internal/handlers/favorites.go`)+ TokenPocket(`internal/handlers/wallet_tp.go`)路由的后端版本(`cmd/server/main.go` 已注册这些路由)。
|
||||
2. 为 TokenPocket 登录设置 `PUBLIC_BASE_URL`(`buildTokenPocketSignURL` 需要它生成回调 URL,否则 tp-login-request 会 500)。
|
||||
3. 确保 `wallet_tp_login_requests` / `user_favorites` 等表已迁移(`EnsureWalletAuthSchema` 会建表)。
|
||||
|
||||
> 复测命令:`curl -s -o /dev/null -w "%{http_code}" -X POST https://ark-library.com/apnew/api/auth/wallet/tp-login-request -d '{}'` 应返回 200(且 body 的 `qrUrl` 形如 `tpoutside://pull.activity?param=...`)。
|
||||
|
||||
---
|
||||
|
||||
## 0. 一句话给后端
|
||||
|
||||
> 钱包认证、TokenPocket 扫码、收藏列表/筛选/分页/可用性,**都已实现且符合前端契约**。
|
||||
|
||||
Reference in New Issue
Block a user