Root cause is JSSDK entry-URL mismatch after SPA post-OAuth, not camera permission. Hard-navigate on iOS, keep OAuth query in sign URL, skip redundant bind OAuth, and prompt refresh/re-auth on failure.
Co-authored-by: Cursor <cursoragent@cursor.com>
Phone re-login + OAuth on iOS left SPA on a different path than the WebView entry URL, so scanQRCode failed until a full reopen. Sign with the document entry URL again and warm up after auth.
Co-authored-by: Cursor <cursoragent@cursor.com>
Store list/detail package flow, configurable WeChat mini brand assets and customer service, shop H5 home refresh.
Co-authored-by: Cursor <cursoragent@cursor.com>
- HQ stores: partner column uses companyName/name/phone via partnerOptionLabel
- Dev plan: version RELEASED auto-marks tasks RELEASED and tickets PUBLISHED with releasedVersionNo
- mini-user/h5-shop/h5-partner v3.4.13 UX fixes (store UI, iOS scan OAuth, partner login guard)
- Docs: v3.4.13 dev doc + status audit updates
Co-authored-by: Cursor <cursoragent@cursor.com>
Refund rollback, winery T+3, multi withdraw, mini-user store detail, dev plan batch edit and WeCom dispatch, support ticket edit/attachments/batch status, package imageUrl.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add client-logging SDK, expanded event taxonomy, API observability, admin domain events UI, and move SENTRY_DSN to HQ system settings with @sentry/node bootstrap after config preload.
Co-authored-by: Cursor <cursoragent@cursor.com>
Support 1-2 hour segments and optional avgPrice; show bank settlement on HQ store detail; enforce pickup min 2 bottles; Chinese order statuses; block shop reopen after permanent close.
Co-authored-by: Cursor <cursoragent@cursor.com>
Hide WeChat login for shop and partner users, keep verified sessions for seven days, and allow JSSDK camera or album access without an OpenID binding.
Co-authored-by: Cursor <cursoragent@cursor.com>
Quick login required agreement without a checkbox; move the consent row above CTAs across partner/shop/user/mini login pages so it stays visible on short screens.
Co-authored-by: Cursor <cursoragent@cursor.com>
Serve user/shop/partner H5 under /user/, /shop/, /partner/ on a single authorized domain; update nginx, SSL script, and router base paths.
Co-authored-by: Cursor <cursoragent@cursor.com>