From c43defca3f8ed4c5d31fe75f8c3a817375d52f3f Mon Sep 17 00:00:00 2001 From: Jacy <18049821889@163.com> Date: Wed, 1 Jul 2026 00:19:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AB=AF=E8=B0=83=E6=95=B4?= =?UTF-8?q?=202.=E9=A6=96=E9=A1=B5=E5=95=86=E5=93=81=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=82=B9=E5=87=BB=E5=8C=BA=E5=9F=9F=203.?= =?UTF-8?q?=E6=B5=93=E9=A6=99=E5=9E=8B=20=E9=85=B1=E9=A6=99=E5=9E=8B=20?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E5=A2=9E=E5=8A=A0=E6=8F=90=E7=A4=BA=EF=BC=9A?= =?UTF-8?q?=E6=9A=82=E6=9C=AA=E5=BC=80=E6=94=BE=205.=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E9=A4=90=E5=88=B82=E5=AD=97=E6=9B=B4=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?=E2=80=9C=E5=A5=BD=E5=AE=A2=E6=9D=83=E7=9B=8A=E2=80=9D=206.?= =?UTF-8?q?=E9=97=A8=E5=BA=97=E9=A1=B5=E9=9D=A2=E5=9C=B0=E5=9D=80=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E5=8A=9F=E8=83=BD=20=EF=BC=88=E4=B8=89=E7=BA=A7?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=EF=BC=8C=E7=9C=81=E5=B8=82=E5=8C=BA=EF=BC=89?= =?UTF-8?q?=207.=E5=A5=BD=E5=AE=A2=E6=9D=83=E7=9B=8A=EF=BC=9A=E5=8E=BB?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E7=82=B9=E5=87=BB=E4=BA=A4=E4=BA=92=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E4=B8=BA=E6=A0=B8=E9=94=80=E9=A1=B5=E9=9D=A2=EF=BC=8C?= =?UTF-8?q?=E5=8D=95=E5=BC=A0=E5=A5=BD=E5=AE=A2=E6=9D=83=E7=9B=8A=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E6=A0=B8=E9=94=80=E9=A1=B5=E9=9D=A2=E5=B8=A6=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E5=92=8C=E9=87=91=E9=A2=9D=207.=E6=A0=B8=E9=94=80?= =?UTF-8?q?=E9=87=91=E9=A2=9D=E9=99=90=E5=88=B6=E4=B8=BA=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E4=BD=99=E9=A2=9D=E6=9C=80=E5=A4=A7=E6=95=B0=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E6=98=AF500=209.=E6=94=B6=E8=B4=A7=E5=9C=B0=E5=9D=80=E7=94=B5?= =?UTF-8?q?=E8=AF=9D=E5=8F=B7=E7=A0=81=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=EF=BC=8C=E9=95=BF=E5=BA=A6=E9=99=90=E5=88=B6=EF=BC=8C=E5=9C=B0?= =?UTF-8?q?=E5=9D=80=E6=88=96=E8=80=85=E6=9C=AA=E5=A1=AB=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=EF=BC=8C=E5=9C=B0=E5=8C=BA=E8=B0=83=E6=95=B4=E4=B8=BA=E7=9C=81?= =?UTF-8?q?=E5=B8=82=E5=8C=BA=E4=B8=89=E7=BA=A7=E8=8F=9C=E5=8D=95=2010.?= =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=8E=88=E6=9D=83=E4=BD=8D=E7=BD=AE=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E5=9C=A8=E6=89=8B=E6=9C=BA=E9=AA=8C=E8=AF=81=E7=A0=81?= =?UTF-8?q?=E4=B8=8B=E4=BE=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/h5-user/package.json | 3 +- apps/h5-user/src/components/AppToast.tsx | 8 + apps/h5-user/src/components/RegionPicker.tsx | 173 +++++++++++++++ apps/h5-user/src/lib/phone.ts | 19 ++ apps/h5-user/src/lib/region-data.ts | 100 +++++++++ apps/h5-user/src/pages/AddressEditPage.tsx | 154 +++++--------- apps/h5-user/src/pages/BenefitPage.tsx | 58 +++++- apps/h5-user/src/pages/HomePage.tsx | 56 +++-- apps/h5-user/src/pages/LoginPage.tsx | 44 ++-- apps/h5-user/src/pages/MinePage.tsx | 2 +- apps/h5-user/src/pages/RedeemPage.tsx | 68 ++++-- apps/h5-user/src/pages/StoreListPage.tsx | 41 +++- apps/h5-user/src/styles.css | 197 ++++++++++++++++-- packages/domain/src/index.test.ts | 8 +- packages/domain/src/index.ts | 8 +- packages/shared-ui/src/CouponBadge.tsx | 6 +- pnpm-lock.yaml | 15 ++ .../src/modules/benefit/benefit.service.ts | 2 - 18 files changed, 772 insertions(+), 190 deletions(-) create mode 100644 apps/h5-user/src/components/AppToast.tsx create mode 100644 apps/h5-user/src/components/RegionPicker.tsx create mode 100644 apps/h5-user/src/lib/phone.ts create mode 100644 apps/h5-user/src/lib/region-data.ts diff --git a/apps/h5-user/package.json b/apps/h5-user/package.json index 77dfe85..dfce210 100644 --- a/apps/h5-user/package.json +++ b/apps/h5-user/package.json @@ -9,8 +9,9 @@ "lint": "echo ok" }, "dependencies": { - "@dukang/shared-ui": "workspace:*", "@dukang/shared-types": "workspace:*", + "@dukang/shared-ui": "workspace:*", + "element-china-area-data": "^6.1.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-router-dom": "^6.26.0" diff --git a/apps/h5-user/src/components/AppToast.tsx b/apps/h5-user/src/components/AppToast.tsx new file mode 100644 index 0000000..8446ca5 --- /dev/null +++ b/apps/h5-user/src/components/AppToast.tsx @@ -0,0 +1,8 @@ +type AppToastProps = { + message: string; +}; + +export default function AppToast({ message }: AppToastProps) { + if (!message) return null; + return
没有更多门店了
)} + +