Partner H5 no longer requires store phone SMS on create; qualification overlay uses height auto with widthFix.
Co-authored-by: Cursor <cursoragent@cursor.com>
Wire WeChat share on home and benefit tabs; serve mine qualification
from OSS; mask phones on admin users and wechat bindings pages.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add benefitUsageRule on store create/edit (HQ + partner) and C-end detail between intro and env gallery.
Co-authored-by: Cursor <cursoragent@cursor.com>
Store create/edit on HQ and partner can pick coords via Tencent locpicker; client-config exposes TENCENT_LBS_KEY; seed empty system settings from env.
Co-authored-by: Cursor <cursoragent@cursor.com>
HQ store detail can set coordinates and open Baidu Map search by name/address; admin update API persists lat/lng.
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>
Remove secrets file from the index (keep local). Mine page can choose avatar and nickname via WeChat components.
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>
Production builds were baking localhost:3000 after the local-dev default change, causing failed to fetch on product list.
Co-authored-by: Cursor <cursoragent@cursor.com>
Keep back buttons and header layout. mini-user only hides titles on H5; partner/shop hide .app-page-title and legal titles; shared PageHeader defaults showTitle=false.
Merge used to drop wxOpenId so OAuth created a new guest without phone every time. Now migrate WeChat identity, recover legacy merged openIds, return accountMerged and force page reload, and only soft-prompt when phone is truly unbound.
Phone bind discarded the new JWT after account merge, so the next page 401'd back to login. Also harden 401 race, location deny cache, unpaid repay CTA, and finishLoginNavigate.
Vite was bundling plugin-framework-react runtime twice, so tab pages crashed with useContext is not a function on enter/switch.
Co-authored-by: Cursor <cursoragent@cursor.com>