From 9df90c11768aeec4aaaa702805d341852e2cb806 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com>
Date: Thu, 16 Jul 2026 01:18:42 +0800
Subject: [PATCH] =?UTF-8?q?feat(address):=20=E6=96=B0=E5=A2=9E=E6=94=B6?=
=?UTF-8?q?=E8=B4=A7=E5=9C=B0=E5=9D=80=E4=B8=8E=E5=94=AE=E5=90=8E=E7=94=B3?=
=?UTF-8?q?=E8=AF=B7=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 新增地址编辑页面,支持地址智能识别、地图选点、地区选择和默认地址设置
- 实现地址列表页面,支持地址查看、删除、设为默认及选择返回结算页
- 新增售后申请页面,支持退款类型选择、商品选择、原因填写、图片上传和提交审核
- 修复 passport 分包配置,移除不存在分包并补充缺失声明,避免 Taro 编译报错
- 新增地址类型定义,增强前端地址数据结构类型安全
- 优化页面交互体验,完善表单校验及错误提示逻辑
- 统一代码格式与命名规范,保持代码风格一致性
---
.idea/vcs.xml | 6 +
.idea/workspace.xml | 556 +
...d3038127a38b710567283f1da199d8c7585b928b7e | Bin 0 -> 2561552 bytes
.workbuddy/memory/2026-07-16.md | 16 +
README.md | 263 +
babel.config.js | 11 +
config/app.ts | 7 +
config/dev.ts | 17 +
config/env.js | 28 +
config/index.ts | 120 +
config/prod.ts | 12 +
models.json | 316 +
package.json | 90 +
pnpm-lock.yaml | 18401 ++++++++++++++++
postcss.config.js | 7 +
project.config.json | 55 +
project.private.config.json | 23 +
src/api/cms/cmsAd/index.ts | 115 +
src/api/cms/cmsAd/model/index.ts | 60 +
src/api/cms/cmsAdRecord/index.ts | 106 +
src/api/cms/cmsAdRecord/model/index.ts | 35 +
src/api/cms/cmsArticle/index.ts | 218 +
src/api/cms/cmsArticle/model/index.ts | 132 +
src/api/cms/cmsArticleCategory/index.ts | 108 +
src/api/cms/cmsArticleCategory/model/index.ts | 59 +
src/api/cms/cmsArticleComment/index.ts | 106 +
src/api/cms/cmsArticleComment/model/index.ts | 47 +
src/api/cms/cmsArticleContent/index.ts | 106 +
src/api/cms/cmsArticleContent/model/index.ts | 25 +
src/api/cms/cmsArticleCount/index.ts | 106 +
src/api/cms/cmsArticleCount/model/index.ts | 25 +
src/api/cms/cmsArticleLike/index.ts | 106 +
src/api/cms/cmsArticleLike/model/index.ts | 25 +
src/api/cms/cmsComponents/index.ts | 106 +
src/api/cms/cmsComponents/model/index.ts | 43 +
src/api/cms/cmsDesign/index.ts | 102 +
src/api/cms/cmsDesign/model/index.ts | 60 +
src/api/cms/cmsDesignRecord/index.ts | 106 +
src/api/cms/cmsDesignRecord/model/index.ts | 51 +
src/api/cms/cmsDocs/index.ts | 106 +
src/api/cms/cmsDocs/model/index.ts | 45 +
src/api/cms/cmsDocsBook/index.ts | 106 +
src/api/cms/cmsDocsBook/model/index.ts | 37 +
src/api/cms/cmsDocsContent/index.ts | 106 +
src/api/cms/cmsDocsContent/model/index.ts | 25 +
src/api/cms/cmsDomain/index.ts | 151 +
src/api/cms/cmsDomain/model/index.ts | 44 +
src/api/cms/cmsForm/index.ts | 106 +
src/api/cms/cmsForm/model/index.ts | 53 +
src/api/cms/cmsFormRecord/index.ts | 106 +
src/api/cms/cmsFormRecord/model/index.ts | 41 +
src/api/cms/cmsLang/index.ts | 105 +
src/api/cms/cmsLang/model/index.ts | 39 +
src/api/cms/cmsLangLog/index.ts | 105 +
src/api/cms/cmsLangLog/model/index.ts | 27 +
src/api/cms/cmsLink/index.ts | 106 +
src/api/cms/cmsLink/model/index.ts | 43 +
src/api/cms/cmsModel/index.ts | 106 +
src/api/cms/cmsModel/model/index.ts | 57 +
src/api/cms/cmsMp/index.ts | 106 +
src/api/cms/cmsMp/model/index.ts | 61 +
src/api/cms/cmsMpAd/index.ts | 106 +
src/api/cms/cmsMpAd/model/index.ts | 47 +
src/api/cms/cmsMpField/index.ts | 106 +
src/api/cms/cmsMpField/model/index.ts | 35 +
src/api/cms/cmsMpMenu/index.ts | 106 +
src/api/cms/cmsMpMenu/model/index.ts | 79 +
src/api/cms/cmsMpPages/index.ts | 106 +
src/api/cms/cmsMpPages/model/index.ts | 47 +
src/api/cms/cmsNavigation/index.ts | 138 +
src/api/cms/cmsNavigation/model/index.ts | 117 +
src/api/cms/cmsOrder/index.ts | 106 +
src/api/cms/cmsOrder/model/index.ts | 69 +
src/api/cms/cmsSpec/index.ts | 106 +
src/api/cms/cmsSpec/model/index.ts | 35 +
src/api/cms/cmsSpecValue/index.ts | 106 +
src/api/cms/cmsSpecValue/model/index.ts | 29 +
src/api/cms/cmsWebsite/index.ts | 147 +
src/api/cms/cmsWebsite/model/index.ts | 138 +
src/api/cms/cmsWebsiteField/index.ts | 129 +
src/api/cms/cmsWebsiteField/model/index.ts | 63 +
src/api/cms/link/index.ts | 113 +
src/api/cms/link/model/index.ts | 31 +
src/api/cms/mpOfficialMenu/index.ts | 106 +
src/api/cms/mpOfficialMenu/model/index.ts | 37 +
src/api/index.ts | 61 +
src/api/json/china-provinces.geo.json | 1 +
src/api/json/industry-data.json | 1 +
src/api/json/regions-data.json | 1 +
src/api/layout/index.ts | 116 +
src/api/layout/model/index.ts | 29 +
src/api/passport/login/index.ts | 75 +
src/api/passport/login/model/index.ts | 52 +
src/api/passport/qr-login/index.ts | 244 +
src/api/passport/wx-login/index.ts | 127 +
src/api/share.ts | 23 +
src/api/shop/shopActivity/index.ts | 110 +
src/api/shop/shopActivity/model/index.ts | 89 +
src/api/shop/shopAfterSale/index.ts | 154 +
src/api/shop/shopArticle/index.ts | 101 +
src/api/shop/shopArticle/model/index.ts | 123 +
src/api/shop/shopBooking/index.ts | 121 +
src/api/shop/shopBooking/model/index.ts | 53 +
src/api/shop/shopCart/index.ts | 153 +
src/api/shop/shopCart/model/index.ts | 80 +
src/api/shop/shopChatConversation/index.ts | 101 +
.../shop/shopChatConversation/model/index.ts | 37 +
src/api/shop/shopChatMessage/index.ts | 115 +
src/api/shop/shopChatMessage/model/index.ts | 66 +
src/api/shop/shopCommissionRecord.ts | 29 +
src/api/shop/shopCommissionRole/index.ts | 101 +
.../shop/shopCommissionRole/model/index.ts | 35 +
src/api/shop/shopCoupon/index.ts | 115 +
src/api/shop/shopCoupon/model/index.ts | 97 +
src/api/shop/shopCustomerService/index.ts | 17 +
src/api/shop/shopCustomerService/model.ts | 26 +
src/api/shop/shopDealerApply/index.ts | 155 +
src/api/shop/shopDealerApply/model/index.ts | 47 +
src/api/shop/shopDealerCapital/index.ts | 101 +
src/api/shop/shopDealerCapital/model.ts | 109 +
src/api/shop/shopDealerCapital/model/index.ts | 41 +
src/api/shop/shopDealerOrder/index.ts | 101 +
src/api/shop/shopDealerOrder/model/index.ts | 60 +
src/api/shop/shopDealerReferee/index.ts | 101 +
src/api/shop/shopDealerReferee/model/index.ts | 31 +
src/api/shop/shopDealerSetting/index.ts | 101 +
src/api/shop/shopDealerSetting/model/index.ts | 25 +
src/api/shop/shopDealerUser/index.ts | 103 +
src/api/shop/shopDealerUser/model/index.ts | 53 +
src/api/shop/shopDealerWithdraw/index.ts | 145 +
.../shop/shopDealerWithdraw/model/index.ts | 48 +
src/api/shop/shopEvaluation/index.ts | 119 +
src/api/shop/shopEvaluation/model/index.ts | 77 +
src/api/shop/shopEvent/index.ts | 80 +
src/api/shop/shopEvent/model/index.ts | 96 +
src/api/shop/shopExpress/index.ts | 101 +
src/api/shop/shopExpress/model/index.ts | 35 +
src/api/shop/shopExpressTemplate/index.ts | 101 +
.../shop/shopExpressTemplate/model/index.ts | 41 +
.../shop/shopExpressTemplateDetail/index.ts | 101 +
.../shopExpressTemplateDetail/model/index.ts | 45 +
src/api/shop/shopGift/index.ts | 260 +
src/api/shop/shopGift/model/index.ts | 127 +
src/api/shop/shopGiftCard/index.ts | 21 +
src/api/shop/shopGiftCard/model.ts | 29 +
src/api/shop/shopGoods/index.ts | 112 +
src/api/shop/shopGoods/model/index.ts | 160 +
src/api/shop/shopGoodsBrowse/index.ts | 52 +
src/api/shop/shopGoodsBrowse/model/index.ts | 39 +
src/api/shop/shopGoodsCategory/index.ts | 101 +
src/api/shop/shopGoodsCategory/model/index.ts | 64 +
src/api/shop/shopGoodsComment/index.ts | 69 +
src/api/shop/shopGoodsComment/model.ts | 77 +
src/api/shop/shopGoodsEvaluate/index.ts | 22 +
src/api/shop/shopGoodsEvaluate/model.ts | 39 +
src/api/shop/shopGoodsFavorite/index.ts | 48 +
src/api/shop/shopGoodsFavorite/model.ts | 24 +
src/api/shop/shopGoodsRoleCommission/index.ts | 101 +
.../shopGoodsRoleCommission/model/index.ts | 35 +
src/api/shop/shopGoodsSku/index.ts | 113 +
src/api/shop/shopGoodsSku/model/index.ts | 50 +
src/api/shop/shopGoodsSpec/index.ts | 101 +
src/api/shop/shopGoodsSpec/model/index.ts | 29 +
src/api/shop/shopGroupBuy/index.ts | 36 +
src/api/shop/shopGroupBuy/model.ts | 61 +
src/api/shop/shopInvite/index.ts | 283 +
src/api/shop/shopInvite/model/index.ts | 279 +
src/api/shop/shopInvoiceTitle/index.ts | 166 +
src/api/shop/shopInvoiceTitle/model.ts | 155 +
src/api/shop/shopLogistics/index.ts | 258 +
src/api/shop/shopMemberBenefit.ts | 29 +
src/api/shop/shopMemberCenter.ts | 113 +
src/api/shop/shopMemberRegister.ts | 108 +
src/api/shop/shopMerchant/index.ts | 101 +
src/api/shop/shopMerchant/model/index.ts | 95 +
src/api/shop/shopMerchantAccount/index.ts | 101 +
.../shop/shopMerchantAccount/model/index.ts | 39 +
src/api/shop/shopMerchantApply/index.ts | 115 +
src/api/shop/shopMerchantApply/model/index.ts | 72 +
src/api/shop/shopMerchantCount/index.ts | 103 +
src/api/shop/shopMerchantCount/model/index.ts | 29 +
src/api/shop/shopMerchantType/index.ts | 103 +
src/api/shop/shopMerchantType/model/index.ts | 30 +
src/api/shop/shopMessage/index.ts | 37 +
src/api/shop/shopMessage/model/index.ts | 20 +
src/api/shop/shopNotification/index.ts | 140 +
src/api/shop/shopNotification/model/index.ts | 25 +
src/api/shop/shopOrder/index.ts | 196 +
src/api/shop/shopOrder/model/index.ts | 281 +
src/api/shop/shopOrderGoods/index.ts | 30 +
src/api/shop/shopOrderGoods/model/index.ts | 70 +
src/api/shop/shopOrderRefund/index.ts | 52 +
src/api/shop/shopPointsOrder/index.ts | 66 +
src/api/shop/shopPointsOrder/model/index.ts | 62 +
src/api/shop/shopPointsProduct/index.ts | 44 +
src/api/shop/shopPointsProduct/model/index.ts | 51 +
src/api/shop/shopRecharge/index.ts | 35 +
src/api/shop/shopRecharge/model/index.ts | 17 +
src/api/shop/shopRechargeCode/index.ts | 48 +
src/api/shop/shopRechargeCode/model/index.ts | 28 +
src/api/shop/shopRechargeOrder.ts | 40 +
src/api/shop/shopSeckill/index.ts | 31 +
src/api/shop/shopSeckill/model.ts | 48 +
src/api/shop/shopSetting/index.ts | 138 +
src/api/shop/shopSetting/model/index.ts | 43 +
src/api/shop/shopSigninConfig/index.ts | 31 +
src/api/shop/shopSigninConfig/model/index.ts | 29 +
src/api/shop/shopSigninRecord/index.ts | 58 +
src/api/shop/shopSigninRecord/model/index.ts | 33 +
src/api/shop/shopSpec/index.ts | 101 +
src/api/shop/shopSpec/model/index.ts | 38 +
src/api/shop/shopSpecValue/index.ts | 101 +
src/api/shop/shopSpecValue/model/index.ts | 29 +
src/api/shop/shopStore/index.ts | 130 +
src/api/shop/shopStore/model/index.ts | 81 +
src/api/shop/shopStoreFence/index.ts | 101 +
src/api/shop/shopStoreFence/model/index.ts | 43 +
src/api/shop/shopStoreRider/index.ts | 101 +
src/api/shop/shopStoreRider/model/index.ts | 71 +
src/api/shop/shopStoreUser/index.ts | 116 +
src/api/shop/shopStoreUser/model/index.ts | 36 +
src/api/shop/shopStoreWarehouse/index.ts | 101 +
.../shop/shopStoreWarehouse/model/index.ts | 53 +
src/api/shop/shopUserAddress.ts | 41 +
src/api/shop/shopUserAddress/index.ts | 112 +
src/api/shop/shopUserAddress/model.ts | 19 +
src/api/shop/shopUserAddress/model/index.ts | 53 +
src/api/shop/shopUserCard/index.ts | 71 +
src/api/shop/shopUserCard/model/index.ts | 28 +
src/api/shop/shopUserCoupon/index.ts | 155 +
src/api/shop/shopUserCoupon/model/index.ts | 84 +
src/api/shop/shopUserReferee/index.ts | 101 +
src/api/shop/shopUserReferee/model/index.ts | 33 +
src/api/shop/shopWithdrawRecord.ts | 50 +
src/api/system/access-key/index.ts | 59 +
src/api/system/access-key/model/index.ts | 20 +
src/api/system/appstore/index.ts | 11 +
src/api/system/appstore/model/index.ts | 13 +
src/api/system/cache/index.ts | 76 +
src/api/system/cache/model/index.ts | 18 +
src/api/system/chat/index.ts | 157 +
src/api/system/chat/model/index.ts | 49 +
src/api/system/chatConversation/index.ts | 106 +
.../system/chatConversation/model/index.ts | 37 +
src/api/system/chatMessage/index.ts | 120 +
src/api/system/chatMessage/model/index.ts | 49 +
src/api/system/company/index.ts | 161 +
src/api/system/company/model/index.ts | 120 +
src/api/system/companyComment/index.ts | 106 +
src/api/system/companyComment/model/index.ts | 43 +
src/api/system/companyContent/index.ts | 106 +
src/api/system/companyContent/model/index.ts | 25 +
src/api/system/companyGit/index.ts | 106 +
src/api/system/companyGit/model/index.ts | 41 +
src/api/system/companyParameter/index.ts | 106 +
.../system/companyParameter/model/index.ts | 33 +
src/api/system/companyUrl/index.ts | 106 +
src/api/system/companyUrl/model/index.ts | 39 +
src/api/system/dict-data/index.ts | 87 +
src/api/system/dict-data/model/index.ts | 46 +
src/api/system/dict/index.ts | 61 +
src/api/system/dict/model/index.ts | 29 +
src/api/system/dictionary-data/index.ts | 87 +
src/api/system/dictionary-data/model/index.ts | 33 +
src/api/system/dictionary/index.ts | 61 +
src/api/system/dictionary/model/index.ts | 29 +
src/api/system/environment/index.ts | 125 +
src/api/system/environment/model/index.ts | 25 +
src/api/system/file/index.ts | 140 +
src/api/system/file/model/index.ts | 54 +
src/api/system/login-record/index.ts | 32 +
src/api/system/login-record/model/index.ts | 38 +
src/api/system/menu/index.ts | 98 +
src/api/system/menu/model/index.ts | 67 +
src/api/system/modules/index.ts | 118 +
src/api/system/modules/model/index.ts | 22 +
src/api/system/operation-record/index.ts | 32 +
.../system/operation-record/model/index.ts | 56 +
src/api/system/order/index.ts | 105 +
src/api/system/order/model/index.ts | 93 +
src/api/system/orderGoods/index.ts | 115 +
src/api/system/orderGoods/model/index.ts | 58 +
src/api/system/organization/index.ts | 86 +
src/api/system/organization/model/index.ts | 42 +
src/api/system/parameter/index.ts | 106 +
src/api/system/parameter/model/index.ts | 31 +
src/api/system/payment/index.ts | 144 +
src/api/system/payment/model/index.ts | 55 +
src/api/system/plug/index.ts | 125 +
src/api/system/plug/model/index.ts | 67 +
src/api/system/role/index.ts | 119 +
src/api/system/role/model/index.ts | 27 +
src/api/system/setting/index.ts | 126 +
src/api/system/setting/model/index.ts | 127 +
src/api/system/tenant/index.ts | 178 +
src/api/system/tenant/model/index.ts | 46 +
src/api/system/url/index.ts | 106 +
src/api/system/url/model/index.ts | 37 +
src/api/system/user-collection/index.ts | 106 +
src/api/system/user-collection/model/index.ts | 25 +
src/api/system/user-file/index.ts | 89 +
src/api/system/user-file/model/index.ts | 39 +
src/api/system/user-group/index.ts | 120 +
src/api/system/user-group/model/index.ts | 23 +
src/api/system/user/balance-log/index.ts | 31 +
.../system/user/balance-log/model/index.ts | 23 +
src/api/system/user/balance.ts | 23 +
src/api/system/user/index.ts | 261 +
src/api/system/user/model/count.ts | 15 +
src/api/system/user/model/index.ts | 35 +
src/api/system/user/points/index.ts | 44 +
src/api/system/user/points/model/index.ts | 13 +
src/api/system/user/withdraw/index.ts | 18 +
src/api/system/user/withdraw/model/index.ts | 19 +
src/api/system/userRole/index.ts | 47 +
src/api/system/userRole/model/index.ts | 30 +
src/api/system/userVerify/index.ts | 130 +
src/api/system/userVerify/model/index.ts | 58 +
src/api/system/version/index.ts | 119 +
src/api/system/version/model/index.ts | 26 +
src/api/system/white-domain/index.ts | 146 +
src/api/system/white-domain/model/index.ts | 27 +
src/app.config.ts | 183 +
src/app.scss | 80 +
src/app.tsx | 92 +
src/assets/icons/cart.svg | 1 +
src/assets/icons/index.ts | 3 +
src/assets/logo.png | Bin 0 -> 158093 bytes
src/assets/tabbar/README.md | 27 +
src/assets/tabbar/cart-active.png | Bin 0 -> 1251 bytes
src/assets/tabbar/cart.png | Bin 0 -> 1229 bytes
src/assets/tabbar/category-active.png | Bin 0 -> 3534 bytes
src/assets/tabbar/category.png | Bin 0 -> 3512 bytes
src/assets/tabbar/home-active.png | Bin 0 -> 2028 bytes
src/assets/tabbar/home.png | Bin 0 -> 1976 bytes
src/assets/tabbar/order-active.png | Bin 0 -> 2272 bytes
src/assets/tabbar/order.png | Bin 0 -> 2205 bytes
src/assets/tabbar/points-active.png | Bin 0 -> 4794 bytes
src/assets/tabbar/points.png | Bin 0 -> 4650 bytes
src/assets/tabbar/user-active.png | Bin 0 -> 2839 bytes
src/assets/tabbar/user.png | Bin 0 -> 2696 bytes
src/components/ErrorBoundary.scss | 87 +
src/components/ErrorBoundary.tsx | 75 +
src/components/NavBar/index.tsx | 33 +
src/components/QRLoginScanner.tsx | 135 +
src/components/SharePoster/index.tsx | 204 +
src/components/business/AddressCard/index.tsx | 121 +
src/components/business/CouponCard/index.tsx | 113 +
.../business/CouponSelect/index.tsx | 185 +
src/components/business/MemberBadge/index.tsx | 27 +
src/components/business/PayModal/index.tsx | 122 +
src/components/business/SkuSelector/index.tsx | 355 +
src/components/common/ArrowRight/index.tsx | 42 +
src/components/common/Badge/index.tsx | 72 +
src/components/common/BottomButton/index.scss | 59 +
src/components/common/BottomButton/index.tsx | 42 +
src/components/common/EmptyState/index.tsx | 48 +
src/components/common/FixedButton/index.tsx | 43 +
src/components/common/LazyImage/index.tsx | 58 +
src/components/common/LoadMore/index.tsx | 29 +
src/components/common/Loading/index.tsx | 48 +
src/components/common/OrderCard/index.tsx | 166 +
src/components/common/Price/index.tsx | 67 +
src/components/common/ProductCard/index.tsx | 68 +
src/components/common/VirtualList/index.tsx | 69 +
src/config/app.ts | 1 +
src/contexts/AppContext.tsx | 15 +
src/contexts/CartContext.tsx | 247 +
src/contexts/UserContext.tsx | 156 +
src/hooks/index.ts | 30 +
src/hooks/useAddress.ts | 120 +
src/hooks/useAppContext.ts | 12 +
src/hooks/useCountDown.ts | 145 +
src/hooks/useCountUp.ts | 130 +
src/hooks/useCoupon.ts | 104 +
src/hooks/useNewOrderDetector.ts | 129 +
src/hooks/usePagination.ts | 110 +
src/hooks/usePayment.ts | 77 +
src/hooks/useRequest.ts | 335 +
src/hooks/useScrollHeight.ts | 24 +
src/hooks/useShare.ts | 98 +
src/hooks/useTheme.ts | 42 +
src/hooks/useUser.ts | 63 +
src/hooks/useVipStatus.ts | 48 +
src/index.html | 12 +
src/pages/activity/detail/index.config.ts | 5 +
src/pages/activity/detail/index.tsx | 276 +
src/pages/activity/list/index.config.ts | 3 +
src/pages/activity/list/index.tsx | 220 +
src/pages/after-sale/apply/index.config.ts | 3 +
src/pages/after-sale/apply/index.tsx | 251 +
src/pages/after-sale/list/index.config.ts | 3 +
src/pages/after-sale/list/index.tsx | 180 +
src/pages/after-sale/progress/index.config.ts | 3 +
src/pages/after-sale/progress/index.tsx | 175 +
src/pages/apply.config.ts | 3 +
src/pages/apply.tsx | 151 +
src/pages/balance-log.tsx | 169 +
src/pages/balance.config.ts | 3 +
src/pages/balance.tsx | 187 +
src/pages/booking.config.ts | 3 +
src/pages/booking.tsx | 167 +
src/pages/booking/detail/index.config.ts | 3 +
src/pages/booking/detail/index.tsx | 242 +
src/pages/booking/list/index.config.ts | 3 +
src/pages/booking/list/index.tsx | 226 +
src/pages/booking/reschedule/index.config.ts | 3 +
src/pages/booking/reschedule/index.tsx | 229 +
src/pages/commission.config.ts | 3 +
src/pages/commission.tsx | 92 +
src/pages/dashboard.tsx | 198 +
src/pages/detail.config.ts | 3 +
src/pages/detail.tsx | 147 +
src/pages/event/detail/index.config.ts | 5 +
src/pages/event/detail/index.tsx | 228 +
src/pages/event/list/index.config.ts | 3 +
src/pages/event/list/index.tsx | 147 +
src/pages/event/my/index.config.ts | 3 +
src/pages/event/my/index.tsx | 170 +
src/pages/event/register/index.config.ts | 3 +
src/pages/event/register/index.tsx | 317 +
src/pages/exchange.config.ts | 4 +
src/pages/exchange.tsx | 226 +
src/pages/favorite-list.tsx | 97 +
src/pages/gift-card/balance/index.config.ts | 3 +
src/pages/gift-card/balance/index.tsx | 187 +
src/pages/gift-card/exchange/index.config.ts | 3 +
src/pages/gift-card/exchange/index.tsx | 205 +
src/pages/gift-card/purchase/index.config.ts | 3 +
src/pages/gift-card/purchase/index.tsx | 143 +
src/pages/group-buy-detail.config.ts | 3 +
src/pages/group-buy-detail.tsx | 324 +
src/pages/group-buy-list.tsx | 120 +
src/pages/help-center.tsx | 146 +
src/pages/help-detail.tsx | 50 +
src/pages/history-list.tsx | 114 +
src/pages/index/article-detail.tsx | 28 +
src/pages/index/article-list.config.ts | 3 +
src/pages/index/article-list.tsx | 126 +
src/pages/index/coupon-center.config.ts | 3 +
src/pages/index/coupon-center.tsx | 125 +
src/pages/index/coupon-center/index.config.ts | 3 +
src/pages/index/coupon-center/index.tsx | 164 +
src/pages/index/index.config.ts | 8 +
src/pages/index/index.scss | 9 +
src/pages/index/index.tsx | 410 +
src/pages/index/notification.tsx | 87 +
src/pages/index/search.tsx | 115 +
src/pages/invite-record.config.ts | 3 +
src/pages/invite-record.tsx | 89 +
src/pages/invoice/apply/index.tsx | 153 +
src/pages/invoice/records/index.tsx | 224 +
src/pages/invoice/title/index.tsx | 297 +
src/pages/list.config.ts | 3 +
src/pages/list.tsx | 131 +
src/pages/member.config.ts | 3 +
src/pages/member.tsx | 137 +
src/pages/message/detail/index.config.ts | 3 +
src/pages/message/detail/index.tsx | 169 +
src/pages/message/list/index.config.ts | 3 +
src/pages/message/list/index.tsx | 262 +
src/pages/order-list.tsx | 221 +
src/pages/order/after-sale-apply.tsx | 341 +
src/pages/order/after-sale-detail.tsx | 258 +
src/pages/order/after-sale-list.tsx | 174 +
src/pages/order/detail.tsx | 560 +
src/pages/order/evaluate-detail.config.ts | 3 +
src/pages/order/evaluate-detail.tsx | 186 +
.../order/evaluate-detail/index.config.ts | 3 +
src/pages/order/evaluate-detail/index.tsx | 190 +
src/pages/order/evaluate-list.config.ts | 3 +
src/pages/order/evaluate-list.tsx | 238 +
src/pages/order/evaluate-list/index.config.ts | 3 +
src/pages/order/evaluate-list/index.tsx | 238 +
src/pages/order/evaluate.config.ts | 3 +
src/pages/order/evaluate.tsx | 186 +
src/pages/order/evaluate/index.config.ts | 3 +
src/pages/order/evaluate/index.tsx | 186 +
src/pages/order/list.tsx | 257 +
src/pages/order/logistics.tsx | 324 +
src/pages/order/order.config.ts | 6 +
src/pages/order/order.scss | 9 +
src/pages/order/order.tsx | 65 +
src/pages/order/refund-detail.tsx | 93 +
src/pages/order/refund.tsx | 113 +
src/pages/points-rules.tsx | 168 +
src/pages/points/exchange.tsx | 87 +
src/pages/points/exchange/index.config.ts | 4 +
src/pages/points/exchange/index.tsx | 226 +
src/pages/points/index.config.ts | 3 +
src/pages/points/index.tsx | 117 +
src/pages/points/order-list/index.tsx | 223 +
src/pages/points/points-rules/index.tsx | 168 +
src/pages/points/product-detail.config.ts | 5 +
src/pages/points/product-detail.tsx | 201 +
src/pages/points/product-list/index.config.ts | 3 +
src/pages/points/product-list/index.tsx | 171 +
src/pages/points/signin.tsx | 149 +
src/pages/progress.config.ts | 3 +
src/pages/progress.tsx | 170 +
src/pages/promotion.config.ts | 3 +
src/pages/promotion.tsx | 110 +
src/pages/purchase.config.ts | 3 +
src/pages/purchase.tsx | 145 +
src/pages/rebate/records/index.tsx | 259 +
src/pages/rebate/withdraw/index.tsx | 117 +
src/pages/records.tsx | 224 +
src/pages/redeem.config.ts | 3 +
src/pages/redeem.tsx | 294 +
src/pages/reschedule.config.ts | 3 +
src/pages/reschedule.tsx | 158 +
src/pages/sales.tsx | 227 +
src/pages/seckill-detail.config.ts | 3 +
src/pages/seckill-detail.tsx | 280 +
src/pages/seckill-list.config.ts | 3 +
src/pages/seckill-list.tsx | 150 +
src/pages/share/index.config.ts | 5 +
src/pages/share/index.tsx | 132 +
src/pages/shop/cart.tsx | 286 +
src/pages/shop/category.tsx | 288 +
src/pages/shop/checkout.tsx | 625 +
.../shop/group-buy-detail/index.config.ts | 5 +
src/pages/shop/group-buy-detail/index.tsx | 355 +
src/pages/shop/group-buy-list/index.tsx | 120 +
src/pages/shop/index.config.ts | 5 +
src/pages/shop/index.tsx | 398 +
src/pages/shop/product-detail.config.ts | 5 +
src/pages/shop/product-detail.tsx | 497 +
src/pages/shop/seckill-detail/index.config.ts | 5 +
src/pages/shop/seckill-detail/index.tsx | 310 +
src/pages/shop/seckill-list/index.config.ts | 3 +
src/pages/shop/seckill-list/index.tsx | 150 +
src/pages/statistics/dashboard/index.tsx | 197 +
src/pages/statistics/sales/index.tsx | 226 +
src/pages/statistics/users/index.tsx | 194 +
src/pages/store/booking/index.config.ts | 3 +
src/pages/store/booking/index.scss | 69 +
src/pages/store/booking/index.tsx | 389 +
src/pages/store/center/index.config.ts | 3 +
src/pages/store/center/index.tsx | 254 +
src/pages/store/goods/index.tsx | 1054 +
src/pages/store/list/index.config.ts | 3 +
src/pages/store/list/index.tsx | 347 +
src/pages/store/login/index.config.ts | 5 +
src/pages/store/login/index.scss | 137 +
src/pages/store/login/index.tsx | 142 +
src/pages/store/orders/index.tsx | 758 +
src/pages/store/users/index.tsx | 445 +
src/pages/team.config.ts | 3 +
src/pages/team.tsx | 127 +
src/pages/title.tsx | 297 +
src/pages/user/about/index.config.ts | 3 +
src/pages/user/about/index.tsx | 280 +
src/pages/user/address-edit.tsx | 647 +
src/pages/user/address-list.tsx | 116 +
src/pages/user/balance-log/index.tsx | 169 +
.../user/benefit-exchange-confirm/index.scss | 200 +
.../user/benefit-exchange-confirm/index.tsx | 179 +
.../user/benefit-exchange-list/index.scss | 158 +
.../user/benefit-exchange-list/index.tsx | 170 +
src/pages/user/benefit-packages/index.scss | 136 +
src/pages/user/benefit-packages/index.tsx | 98 +
src/pages/user/commission/index.config.ts | 3 +
src/pages/user/commission/index.scss | 159 +
src/pages/user/commission/index.tsx | 151 +
src/pages/user/coupon-list.tsx | 259 +
.../user/customer-service/index.config.ts | 3 +
src/pages/user/customer-service/index.tsx | 439 +
src/pages/user/favorite-list/index.tsx | 104 +
src/pages/user/help-center/index.tsx | 157 +
src/pages/user/help-detail/index.tsx | 50 +
src/pages/user/history-list/index.tsx | 239 +
src/pages/user/index.tsx | 223 +
src/pages/user/invite-record/index.config.ts | 3 +
src/pages/user/invite-record/index.tsx | 89 +
.../user/invite-subordinate/index.config.ts | 5 +
src/pages/user/invite-subordinate/index.tsx | 348 +
src/pages/user/member-upgrade/index.config.ts | 5 +
src/pages/user/member-upgrade/index.tsx | 261 +
src/pages/user/member/index.config.ts | 3 +
src/pages/user/member/index.tsx | 271 +
src/pages/user/points-record.tsx | 260 +
src/pages/user/profile.tsx | 229 +
src/pages/user/promotion/index.config.ts | 5 +
src/pages/user/promotion/index.tsx | 131 +
src/pages/user/recharge-record/index.tsx | 196 +
src/pages/user/recharge.tsx | 213 +
src/pages/user/redeem/index.config.ts | 3 +
src/pages/user/redeem/index.tsx | 294 +
src/pages/user/register-pay/index.config.ts | 3 +
src/pages/user/register-pay/index.tsx | 240 +
src/pages/user/setting.tsx | 77 +
src/pages/user/shop-setting/index.tsx | 217 +
src/pages/user/team/index.config.ts | 3 +
src/pages/user/team/index.tsx | 127 +
src/pages/user/user.config.ts | 6 +
src/pages/user/user.scss | 9 +
src/pages/user/user.tsx | 325 +
src/pages/user/vip-review/index.tsx | 389 +
src/pages/user/vip-upgrade/index.config.ts | 5 +
src/pages/user/vip-upgrade/index.tsx | 216 +
src/pages/user/wallet.tsx | 102 +
src/pages/user/withdraw-list/index.scss | 139 +
src/pages/user/withdraw-list/index.tsx | 169 +
src/pages/user/withdraw/index.scss | 105 +
src/pages/user/withdraw/index.tsx | 163 +
src/pages/users.tsx | 195 +
src/pages/withdraw.tsx | 116 +
src/passport/agreement.config.ts | 4 +
src/passport/agreement.scss | 55 +
src/passport/agreement.tsx | 178 +
src/passport/auth-flow.ts | 112 +
src/passport/forget.config.ts | 4 +
src/passport/forget.tsx | 37 +
src/passport/invite/index.config.ts | 5 +
src/passport/invite/index.tsx | 508 +
src/passport/login.config.ts | 4 +
src/passport/login.scss | 392 +
src/passport/login.tsx | 398 +
src/passport/pay/index.config.ts | 5 +
src/passport/pay/index.tsx | 400 +
src/passport/phone-auth/index.tsx | 355 +
src/passport/qr-confirm/index.config.ts | 5 +
src/passport/qr-confirm/index.tsx | 359 +
src/passport/qr-login/index.config.ts | 5 +
src/passport/qr-login/index.tsx | 191 +
src/passport/register.config.ts | 5 +
src/passport/register.tsx | 319 +
src/passport/setting.config.ts | 4 +
src/passport/setting.tsx | 82 +
src/passport/sms-login.config.ts | 4 +
src/passport/sms-login.scss | 332 +
src/passport/sms-login.tsx | 327 +
src/passport/unified-qr/index.config.ts | 4 +
src/passport/unified-qr/index.tsx | 177 +
src/passport/webview/index.config.ts | 5 +
src/passport/webview/index.tsx | 22 +
src/styles/global.scss | 36 +
src/types/address.ts | 8 +
src/types/coupon.ts | 17 +
src/types/global.d.ts | 57 +
src/types/index.ts | 5 +
src/types/member.ts | 27 +
src/types/order.ts | 83 +
src/types/product.ts | 36 +
src/utils/auth.ts | 65 +
src/utils/common.ts | 35 +
src/utils/geofence.ts | 131 +
src/utils/image.ts | 96 +
src/utils/index.ts | 114 +
src/utils/invite.ts | 66 +
src/utils/login-guard.ts | 95 +
src/utils/privacy.ts | 79 +
src/utils/request.ts | 284 +
src/utils/server.ts | 23 +
src/utils/vip.ts | 68 +
tailwind.config.js | 27 +
tsconfig.json | 33 +
658 files changed, 85984 insertions(+)
create mode 100644 .idea/vcs.xml
create mode 100644 .idea/workspace.xml
create mode 100644 .swc/plugins/v7_macos_aarch64_0.104.8/7ca3755447b46c29f7e44fd3038127a38b710567283f1da199d8c7585b928b7e
create mode 100644 .workbuddy/memory/2026-07-16.md
create mode 100644 README.md
create mode 100644 babel.config.js
create mode 100644 config/app.ts
create mode 100644 config/dev.ts
create mode 100644 config/env.js
create mode 100644 config/index.ts
create mode 100644 config/prod.ts
create mode 100644 models.json
create mode 100644 package.json
create mode 100644 pnpm-lock.yaml
create mode 100644 postcss.config.js
create mode 100644 project.config.json
create mode 100644 project.private.config.json
create mode 100644 src/api/cms/cmsAd/index.ts
create mode 100644 src/api/cms/cmsAd/model/index.ts
create mode 100644 src/api/cms/cmsAdRecord/index.ts
create mode 100644 src/api/cms/cmsAdRecord/model/index.ts
create mode 100644 src/api/cms/cmsArticle/index.ts
create mode 100644 src/api/cms/cmsArticle/model/index.ts
create mode 100644 src/api/cms/cmsArticleCategory/index.ts
create mode 100644 src/api/cms/cmsArticleCategory/model/index.ts
create mode 100644 src/api/cms/cmsArticleComment/index.ts
create mode 100644 src/api/cms/cmsArticleComment/model/index.ts
create mode 100644 src/api/cms/cmsArticleContent/index.ts
create mode 100644 src/api/cms/cmsArticleContent/model/index.ts
create mode 100644 src/api/cms/cmsArticleCount/index.ts
create mode 100644 src/api/cms/cmsArticleCount/model/index.ts
create mode 100644 src/api/cms/cmsArticleLike/index.ts
create mode 100644 src/api/cms/cmsArticleLike/model/index.ts
create mode 100644 src/api/cms/cmsComponents/index.ts
create mode 100644 src/api/cms/cmsComponents/model/index.ts
create mode 100644 src/api/cms/cmsDesign/index.ts
create mode 100644 src/api/cms/cmsDesign/model/index.ts
create mode 100644 src/api/cms/cmsDesignRecord/index.ts
create mode 100644 src/api/cms/cmsDesignRecord/model/index.ts
create mode 100644 src/api/cms/cmsDocs/index.ts
create mode 100644 src/api/cms/cmsDocs/model/index.ts
create mode 100644 src/api/cms/cmsDocsBook/index.ts
create mode 100644 src/api/cms/cmsDocsBook/model/index.ts
create mode 100644 src/api/cms/cmsDocsContent/index.ts
create mode 100644 src/api/cms/cmsDocsContent/model/index.ts
create mode 100644 src/api/cms/cmsDomain/index.ts
create mode 100644 src/api/cms/cmsDomain/model/index.ts
create mode 100644 src/api/cms/cmsForm/index.ts
create mode 100644 src/api/cms/cmsForm/model/index.ts
create mode 100644 src/api/cms/cmsFormRecord/index.ts
create mode 100644 src/api/cms/cmsFormRecord/model/index.ts
create mode 100644 src/api/cms/cmsLang/index.ts
create mode 100644 src/api/cms/cmsLang/model/index.ts
create mode 100644 src/api/cms/cmsLangLog/index.ts
create mode 100644 src/api/cms/cmsLangLog/model/index.ts
create mode 100644 src/api/cms/cmsLink/index.ts
create mode 100644 src/api/cms/cmsLink/model/index.ts
create mode 100644 src/api/cms/cmsModel/index.ts
create mode 100644 src/api/cms/cmsModel/model/index.ts
create mode 100644 src/api/cms/cmsMp/index.ts
create mode 100644 src/api/cms/cmsMp/model/index.ts
create mode 100644 src/api/cms/cmsMpAd/index.ts
create mode 100644 src/api/cms/cmsMpAd/model/index.ts
create mode 100644 src/api/cms/cmsMpField/index.ts
create mode 100644 src/api/cms/cmsMpField/model/index.ts
create mode 100644 src/api/cms/cmsMpMenu/index.ts
create mode 100644 src/api/cms/cmsMpMenu/model/index.ts
create mode 100644 src/api/cms/cmsMpPages/index.ts
create mode 100644 src/api/cms/cmsMpPages/model/index.ts
create mode 100644 src/api/cms/cmsNavigation/index.ts
create mode 100644 src/api/cms/cmsNavigation/model/index.ts
create mode 100644 src/api/cms/cmsOrder/index.ts
create mode 100644 src/api/cms/cmsOrder/model/index.ts
create mode 100644 src/api/cms/cmsSpec/index.ts
create mode 100644 src/api/cms/cmsSpec/model/index.ts
create mode 100644 src/api/cms/cmsSpecValue/index.ts
create mode 100644 src/api/cms/cmsSpecValue/model/index.ts
create mode 100644 src/api/cms/cmsWebsite/index.ts
create mode 100644 src/api/cms/cmsWebsite/model/index.ts
create mode 100644 src/api/cms/cmsWebsiteField/index.ts
create mode 100644 src/api/cms/cmsWebsiteField/model/index.ts
create mode 100644 src/api/cms/link/index.ts
create mode 100644 src/api/cms/link/model/index.ts
create mode 100644 src/api/cms/mpOfficialMenu/index.ts
create mode 100644 src/api/cms/mpOfficialMenu/model/index.ts
create mode 100644 src/api/index.ts
create mode 100644 src/api/json/china-provinces.geo.json
create mode 100644 src/api/json/industry-data.json
create mode 100644 src/api/json/regions-data.json
create mode 100644 src/api/layout/index.ts
create mode 100644 src/api/layout/model/index.ts
create mode 100644 src/api/passport/login/index.ts
create mode 100644 src/api/passport/login/model/index.ts
create mode 100644 src/api/passport/qr-login/index.ts
create mode 100644 src/api/passport/wx-login/index.ts
create mode 100644 src/api/share.ts
create mode 100644 src/api/shop/shopActivity/index.ts
create mode 100644 src/api/shop/shopActivity/model/index.ts
create mode 100644 src/api/shop/shopAfterSale/index.ts
create mode 100644 src/api/shop/shopArticle/index.ts
create mode 100644 src/api/shop/shopArticle/model/index.ts
create mode 100644 src/api/shop/shopBooking/index.ts
create mode 100644 src/api/shop/shopBooking/model/index.ts
create mode 100644 src/api/shop/shopCart/index.ts
create mode 100644 src/api/shop/shopCart/model/index.ts
create mode 100644 src/api/shop/shopChatConversation/index.ts
create mode 100644 src/api/shop/shopChatConversation/model/index.ts
create mode 100644 src/api/shop/shopChatMessage/index.ts
create mode 100644 src/api/shop/shopChatMessage/model/index.ts
create mode 100644 src/api/shop/shopCommissionRecord.ts
create mode 100644 src/api/shop/shopCommissionRole/index.ts
create mode 100644 src/api/shop/shopCommissionRole/model/index.ts
create mode 100644 src/api/shop/shopCoupon/index.ts
create mode 100644 src/api/shop/shopCoupon/model/index.ts
create mode 100644 src/api/shop/shopCustomerService/index.ts
create mode 100644 src/api/shop/shopCustomerService/model.ts
create mode 100644 src/api/shop/shopDealerApply/index.ts
create mode 100644 src/api/shop/shopDealerApply/model/index.ts
create mode 100644 src/api/shop/shopDealerCapital/index.ts
create mode 100644 src/api/shop/shopDealerCapital/model.ts
create mode 100644 src/api/shop/shopDealerCapital/model/index.ts
create mode 100644 src/api/shop/shopDealerOrder/index.ts
create mode 100644 src/api/shop/shopDealerOrder/model/index.ts
create mode 100644 src/api/shop/shopDealerReferee/index.ts
create mode 100644 src/api/shop/shopDealerReferee/model/index.ts
create mode 100644 src/api/shop/shopDealerSetting/index.ts
create mode 100644 src/api/shop/shopDealerSetting/model/index.ts
create mode 100644 src/api/shop/shopDealerUser/index.ts
create mode 100644 src/api/shop/shopDealerUser/model/index.ts
create mode 100644 src/api/shop/shopDealerWithdraw/index.ts
create mode 100644 src/api/shop/shopDealerWithdraw/model/index.ts
create mode 100644 src/api/shop/shopEvaluation/index.ts
create mode 100644 src/api/shop/shopEvaluation/model/index.ts
create mode 100644 src/api/shop/shopEvent/index.ts
create mode 100644 src/api/shop/shopEvent/model/index.ts
create mode 100644 src/api/shop/shopExpress/index.ts
create mode 100644 src/api/shop/shopExpress/model/index.ts
create mode 100644 src/api/shop/shopExpressTemplate/index.ts
create mode 100644 src/api/shop/shopExpressTemplate/model/index.ts
create mode 100644 src/api/shop/shopExpressTemplateDetail/index.ts
create mode 100644 src/api/shop/shopExpressTemplateDetail/model/index.ts
create mode 100644 src/api/shop/shopGift/index.ts
create mode 100644 src/api/shop/shopGift/model/index.ts
create mode 100644 src/api/shop/shopGiftCard/index.ts
create mode 100644 src/api/shop/shopGiftCard/model.ts
create mode 100644 src/api/shop/shopGoods/index.ts
create mode 100644 src/api/shop/shopGoods/model/index.ts
create mode 100644 src/api/shop/shopGoodsBrowse/index.ts
create mode 100644 src/api/shop/shopGoodsBrowse/model/index.ts
create mode 100644 src/api/shop/shopGoodsCategory/index.ts
create mode 100644 src/api/shop/shopGoodsCategory/model/index.ts
create mode 100644 src/api/shop/shopGoodsComment/index.ts
create mode 100644 src/api/shop/shopGoodsComment/model.ts
create mode 100644 src/api/shop/shopGoodsEvaluate/index.ts
create mode 100644 src/api/shop/shopGoodsEvaluate/model.ts
create mode 100644 src/api/shop/shopGoodsFavorite/index.ts
create mode 100644 src/api/shop/shopGoodsFavorite/model.ts
create mode 100644 src/api/shop/shopGoodsRoleCommission/index.ts
create mode 100644 src/api/shop/shopGoodsRoleCommission/model/index.ts
create mode 100644 src/api/shop/shopGoodsSku/index.ts
create mode 100644 src/api/shop/shopGoodsSku/model/index.ts
create mode 100644 src/api/shop/shopGoodsSpec/index.ts
create mode 100644 src/api/shop/shopGoodsSpec/model/index.ts
create mode 100644 src/api/shop/shopGroupBuy/index.ts
create mode 100644 src/api/shop/shopGroupBuy/model.ts
create mode 100644 src/api/shop/shopInvite/index.ts
create mode 100644 src/api/shop/shopInvite/model/index.ts
create mode 100644 src/api/shop/shopInvoiceTitle/index.ts
create mode 100644 src/api/shop/shopInvoiceTitle/model.ts
create mode 100644 src/api/shop/shopLogistics/index.ts
create mode 100644 src/api/shop/shopMemberBenefit.ts
create mode 100644 src/api/shop/shopMemberCenter.ts
create mode 100644 src/api/shop/shopMemberRegister.ts
create mode 100644 src/api/shop/shopMerchant/index.ts
create mode 100644 src/api/shop/shopMerchant/model/index.ts
create mode 100644 src/api/shop/shopMerchantAccount/index.ts
create mode 100644 src/api/shop/shopMerchantAccount/model/index.ts
create mode 100644 src/api/shop/shopMerchantApply/index.ts
create mode 100644 src/api/shop/shopMerchantApply/model/index.ts
create mode 100644 src/api/shop/shopMerchantCount/index.ts
create mode 100644 src/api/shop/shopMerchantCount/model/index.ts
create mode 100644 src/api/shop/shopMerchantType/index.ts
create mode 100644 src/api/shop/shopMerchantType/model/index.ts
create mode 100644 src/api/shop/shopMessage/index.ts
create mode 100644 src/api/shop/shopMessage/model/index.ts
create mode 100644 src/api/shop/shopNotification/index.ts
create mode 100644 src/api/shop/shopNotification/model/index.ts
create mode 100644 src/api/shop/shopOrder/index.ts
create mode 100644 src/api/shop/shopOrder/model/index.ts
create mode 100644 src/api/shop/shopOrderGoods/index.ts
create mode 100644 src/api/shop/shopOrderGoods/model/index.ts
create mode 100644 src/api/shop/shopOrderRefund/index.ts
create mode 100644 src/api/shop/shopPointsOrder/index.ts
create mode 100644 src/api/shop/shopPointsOrder/model/index.ts
create mode 100644 src/api/shop/shopPointsProduct/index.ts
create mode 100644 src/api/shop/shopPointsProduct/model/index.ts
create mode 100644 src/api/shop/shopRecharge/index.ts
create mode 100644 src/api/shop/shopRecharge/model/index.ts
create mode 100644 src/api/shop/shopRechargeCode/index.ts
create mode 100644 src/api/shop/shopRechargeCode/model/index.ts
create mode 100644 src/api/shop/shopRechargeOrder.ts
create mode 100644 src/api/shop/shopSeckill/index.ts
create mode 100644 src/api/shop/shopSeckill/model.ts
create mode 100644 src/api/shop/shopSetting/index.ts
create mode 100644 src/api/shop/shopSetting/model/index.ts
create mode 100644 src/api/shop/shopSigninConfig/index.ts
create mode 100644 src/api/shop/shopSigninConfig/model/index.ts
create mode 100644 src/api/shop/shopSigninRecord/index.ts
create mode 100644 src/api/shop/shopSigninRecord/model/index.ts
create mode 100644 src/api/shop/shopSpec/index.ts
create mode 100644 src/api/shop/shopSpec/model/index.ts
create mode 100644 src/api/shop/shopSpecValue/index.ts
create mode 100644 src/api/shop/shopSpecValue/model/index.ts
create mode 100644 src/api/shop/shopStore/index.ts
create mode 100644 src/api/shop/shopStore/model/index.ts
create mode 100644 src/api/shop/shopStoreFence/index.ts
create mode 100644 src/api/shop/shopStoreFence/model/index.ts
create mode 100644 src/api/shop/shopStoreRider/index.ts
create mode 100644 src/api/shop/shopStoreRider/model/index.ts
create mode 100644 src/api/shop/shopStoreUser/index.ts
create mode 100644 src/api/shop/shopStoreUser/model/index.ts
create mode 100644 src/api/shop/shopStoreWarehouse/index.ts
create mode 100644 src/api/shop/shopStoreWarehouse/model/index.ts
create mode 100644 src/api/shop/shopUserAddress.ts
create mode 100644 src/api/shop/shopUserAddress/index.ts
create mode 100644 src/api/shop/shopUserAddress/model.ts
create mode 100644 src/api/shop/shopUserAddress/model/index.ts
create mode 100644 src/api/shop/shopUserCard/index.ts
create mode 100644 src/api/shop/shopUserCard/model/index.ts
create mode 100644 src/api/shop/shopUserCoupon/index.ts
create mode 100644 src/api/shop/shopUserCoupon/model/index.ts
create mode 100644 src/api/shop/shopUserReferee/index.ts
create mode 100644 src/api/shop/shopUserReferee/model/index.ts
create mode 100644 src/api/shop/shopWithdrawRecord.ts
create mode 100644 src/api/system/access-key/index.ts
create mode 100644 src/api/system/access-key/model/index.ts
create mode 100644 src/api/system/appstore/index.ts
create mode 100644 src/api/system/appstore/model/index.ts
create mode 100644 src/api/system/cache/index.ts
create mode 100644 src/api/system/cache/model/index.ts
create mode 100644 src/api/system/chat/index.ts
create mode 100644 src/api/system/chat/model/index.ts
create mode 100644 src/api/system/chatConversation/index.ts
create mode 100644 src/api/system/chatConversation/model/index.ts
create mode 100644 src/api/system/chatMessage/index.ts
create mode 100644 src/api/system/chatMessage/model/index.ts
create mode 100644 src/api/system/company/index.ts
create mode 100644 src/api/system/company/model/index.ts
create mode 100644 src/api/system/companyComment/index.ts
create mode 100644 src/api/system/companyComment/model/index.ts
create mode 100644 src/api/system/companyContent/index.ts
create mode 100644 src/api/system/companyContent/model/index.ts
create mode 100644 src/api/system/companyGit/index.ts
create mode 100644 src/api/system/companyGit/model/index.ts
create mode 100644 src/api/system/companyParameter/index.ts
create mode 100644 src/api/system/companyParameter/model/index.ts
create mode 100644 src/api/system/companyUrl/index.ts
create mode 100644 src/api/system/companyUrl/model/index.ts
create mode 100644 src/api/system/dict-data/index.ts
create mode 100644 src/api/system/dict-data/model/index.ts
create mode 100644 src/api/system/dict/index.ts
create mode 100644 src/api/system/dict/model/index.ts
create mode 100644 src/api/system/dictionary-data/index.ts
create mode 100644 src/api/system/dictionary-data/model/index.ts
create mode 100644 src/api/system/dictionary/index.ts
create mode 100644 src/api/system/dictionary/model/index.ts
create mode 100644 src/api/system/environment/index.ts
create mode 100644 src/api/system/environment/model/index.ts
create mode 100644 src/api/system/file/index.ts
create mode 100644 src/api/system/file/model/index.ts
create mode 100644 src/api/system/login-record/index.ts
create mode 100644 src/api/system/login-record/model/index.ts
create mode 100644 src/api/system/menu/index.ts
create mode 100644 src/api/system/menu/model/index.ts
create mode 100644 src/api/system/modules/index.ts
create mode 100644 src/api/system/modules/model/index.ts
create mode 100644 src/api/system/operation-record/index.ts
create mode 100644 src/api/system/operation-record/model/index.ts
create mode 100644 src/api/system/order/index.ts
create mode 100644 src/api/system/order/model/index.ts
create mode 100644 src/api/system/orderGoods/index.ts
create mode 100644 src/api/system/orderGoods/model/index.ts
create mode 100644 src/api/system/organization/index.ts
create mode 100644 src/api/system/organization/model/index.ts
create mode 100644 src/api/system/parameter/index.ts
create mode 100644 src/api/system/parameter/model/index.ts
create mode 100644 src/api/system/payment/index.ts
create mode 100644 src/api/system/payment/model/index.ts
create mode 100644 src/api/system/plug/index.ts
create mode 100644 src/api/system/plug/model/index.ts
create mode 100644 src/api/system/role/index.ts
create mode 100644 src/api/system/role/model/index.ts
create mode 100644 src/api/system/setting/index.ts
create mode 100644 src/api/system/setting/model/index.ts
create mode 100644 src/api/system/tenant/index.ts
create mode 100644 src/api/system/tenant/model/index.ts
create mode 100644 src/api/system/url/index.ts
create mode 100644 src/api/system/url/model/index.ts
create mode 100644 src/api/system/user-collection/index.ts
create mode 100644 src/api/system/user-collection/model/index.ts
create mode 100644 src/api/system/user-file/index.ts
create mode 100644 src/api/system/user-file/model/index.ts
create mode 100644 src/api/system/user-group/index.ts
create mode 100644 src/api/system/user-group/model/index.ts
create mode 100644 src/api/system/user/balance-log/index.ts
create mode 100644 src/api/system/user/balance-log/model/index.ts
create mode 100644 src/api/system/user/balance.ts
create mode 100644 src/api/system/user/index.ts
create mode 100644 src/api/system/user/model/count.ts
create mode 100644 src/api/system/user/model/index.ts
create mode 100644 src/api/system/user/points/index.ts
create mode 100644 src/api/system/user/points/model/index.ts
create mode 100644 src/api/system/user/withdraw/index.ts
create mode 100644 src/api/system/user/withdraw/model/index.ts
create mode 100644 src/api/system/userRole/index.ts
create mode 100644 src/api/system/userRole/model/index.ts
create mode 100644 src/api/system/userVerify/index.ts
create mode 100644 src/api/system/userVerify/model/index.ts
create mode 100644 src/api/system/version/index.ts
create mode 100644 src/api/system/version/model/index.ts
create mode 100644 src/api/system/white-domain/index.ts
create mode 100644 src/api/system/white-domain/model/index.ts
create mode 100644 src/app.config.ts
create mode 100644 src/app.scss
create mode 100644 src/app.tsx
create mode 100644 src/assets/icons/cart.svg
create mode 100644 src/assets/icons/index.ts
create mode 100644 src/assets/logo.png
create mode 100644 src/assets/tabbar/README.md
create mode 100644 src/assets/tabbar/cart-active.png
create mode 100644 src/assets/tabbar/cart.png
create mode 100644 src/assets/tabbar/category-active.png
create mode 100644 src/assets/tabbar/category.png
create mode 100644 src/assets/tabbar/home-active.png
create mode 100644 src/assets/tabbar/home.png
create mode 100644 src/assets/tabbar/order-active.png
create mode 100644 src/assets/tabbar/order.png
create mode 100644 src/assets/tabbar/points-active.png
create mode 100644 src/assets/tabbar/points.png
create mode 100644 src/assets/tabbar/user-active.png
create mode 100644 src/assets/tabbar/user.png
create mode 100644 src/components/ErrorBoundary.scss
create mode 100644 src/components/ErrorBoundary.tsx
create mode 100644 src/components/NavBar/index.tsx
create mode 100644 src/components/QRLoginScanner.tsx
create mode 100644 src/components/SharePoster/index.tsx
create mode 100644 src/components/business/AddressCard/index.tsx
create mode 100644 src/components/business/CouponCard/index.tsx
create mode 100644 src/components/business/CouponSelect/index.tsx
create mode 100644 src/components/business/MemberBadge/index.tsx
create mode 100644 src/components/business/PayModal/index.tsx
create mode 100644 src/components/business/SkuSelector/index.tsx
create mode 100644 src/components/common/ArrowRight/index.tsx
create mode 100644 src/components/common/Badge/index.tsx
create mode 100644 src/components/common/BottomButton/index.scss
create mode 100644 src/components/common/BottomButton/index.tsx
create mode 100644 src/components/common/EmptyState/index.tsx
create mode 100644 src/components/common/FixedButton/index.tsx
create mode 100644 src/components/common/LazyImage/index.tsx
create mode 100644 src/components/common/LoadMore/index.tsx
create mode 100644 src/components/common/Loading/index.tsx
create mode 100644 src/components/common/OrderCard/index.tsx
create mode 100644 src/components/common/Price/index.tsx
create mode 100644 src/components/common/ProductCard/index.tsx
create mode 100644 src/components/common/VirtualList/index.tsx
create mode 100644 src/config/app.ts
create mode 100644 src/contexts/AppContext.tsx
create mode 100644 src/contexts/CartContext.tsx
create mode 100644 src/contexts/UserContext.tsx
create mode 100644 src/hooks/index.ts
create mode 100644 src/hooks/useAddress.ts
create mode 100644 src/hooks/useAppContext.ts
create mode 100644 src/hooks/useCountDown.ts
create mode 100644 src/hooks/useCountUp.ts
create mode 100644 src/hooks/useCoupon.ts
create mode 100644 src/hooks/useNewOrderDetector.ts
create mode 100644 src/hooks/usePagination.ts
create mode 100644 src/hooks/usePayment.ts
create mode 100644 src/hooks/useRequest.ts
create mode 100644 src/hooks/useScrollHeight.ts
create mode 100644 src/hooks/useShare.ts
create mode 100644 src/hooks/useTheme.ts
create mode 100644 src/hooks/useUser.ts
create mode 100644 src/hooks/useVipStatus.ts
create mode 100644 src/index.html
create mode 100644 src/pages/activity/detail/index.config.ts
create mode 100644 src/pages/activity/detail/index.tsx
create mode 100644 src/pages/activity/list/index.config.ts
create mode 100644 src/pages/activity/list/index.tsx
create mode 100644 src/pages/after-sale/apply/index.config.ts
create mode 100644 src/pages/after-sale/apply/index.tsx
create mode 100644 src/pages/after-sale/list/index.config.ts
create mode 100644 src/pages/after-sale/list/index.tsx
create mode 100644 src/pages/after-sale/progress/index.config.ts
create mode 100644 src/pages/after-sale/progress/index.tsx
create mode 100644 src/pages/apply.config.ts
create mode 100644 src/pages/apply.tsx
create mode 100644 src/pages/balance-log.tsx
create mode 100644 src/pages/balance.config.ts
create mode 100644 src/pages/balance.tsx
create mode 100644 src/pages/booking.config.ts
create mode 100644 src/pages/booking.tsx
create mode 100644 src/pages/booking/detail/index.config.ts
create mode 100644 src/pages/booking/detail/index.tsx
create mode 100644 src/pages/booking/list/index.config.ts
create mode 100644 src/pages/booking/list/index.tsx
create mode 100644 src/pages/booking/reschedule/index.config.ts
create mode 100644 src/pages/booking/reschedule/index.tsx
create mode 100644 src/pages/commission.config.ts
create mode 100644 src/pages/commission.tsx
create mode 100644 src/pages/dashboard.tsx
create mode 100644 src/pages/detail.config.ts
create mode 100644 src/pages/detail.tsx
create mode 100644 src/pages/event/detail/index.config.ts
create mode 100644 src/pages/event/detail/index.tsx
create mode 100644 src/pages/event/list/index.config.ts
create mode 100644 src/pages/event/list/index.tsx
create mode 100644 src/pages/event/my/index.config.ts
create mode 100644 src/pages/event/my/index.tsx
create mode 100644 src/pages/event/register/index.config.ts
create mode 100644 src/pages/event/register/index.tsx
create mode 100644 src/pages/exchange.config.ts
create mode 100644 src/pages/exchange.tsx
create mode 100644 src/pages/favorite-list.tsx
create mode 100644 src/pages/gift-card/balance/index.config.ts
create mode 100644 src/pages/gift-card/balance/index.tsx
create mode 100644 src/pages/gift-card/exchange/index.config.ts
create mode 100644 src/pages/gift-card/exchange/index.tsx
create mode 100644 src/pages/gift-card/purchase/index.config.ts
create mode 100644 src/pages/gift-card/purchase/index.tsx
create mode 100644 src/pages/group-buy-detail.config.ts
create mode 100644 src/pages/group-buy-detail.tsx
create mode 100644 src/pages/group-buy-list.tsx
create mode 100644 src/pages/help-center.tsx
create mode 100644 src/pages/help-detail.tsx
create mode 100644 src/pages/history-list.tsx
create mode 100644 src/pages/index/article-detail.tsx
create mode 100644 src/pages/index/article-list.config.ts
create mode 100644 src/pages/index/article-list.tsx
create mode 100644 src/pages/index/coupon-center.config.ts
create mode 100644 src/pages/index/coupon-center.tsx
create mode 100644 src/pages/index/coupon-center/index.config.ts
create mode 100644 src/pages/index/coupon-center/index.tsx
create mode 100644 src/pages/index/index.config.ts
create mode 100644 src/pages/index/index.scss
create mode 100644 src/pages/index/index.tsx
create mode 100644 src/pages/index/notification.tsx
create mode 100644 src/pages/index/search.tsx
create mode 100644 src/pages/invite-record.config.ts
create mode 100644 src/pages/invite-record.tsx
create mode 100644 src/pages/invoice/apply/index.tsx
create mode 100644 src/pages/invoice/records/index.tsx
create mode 100644 src/pages/invoice/title/index.tsx
create mode 100644 src/pages/list.config.ts
create mode 100644 src/pages/list.tsx
create mode 100644 src/pages/member.config.ts
create mode 100644 src/pages/member.tsx
create mode 100644 src/pages/message/detail/index.config.ts
create mode 100644 src/pages/message/detail/index.tsx
create mode 100644 src/pages/message/list/index.config.ts
create mode 100644 src/pages/message/list/index.tsx
create mode 100644 src/pages/order-list.tsx
create mode 100644 src/pages/order/after-sale-apply.tsx
create mode 100644 src/pages/order/after-sale-detail.tsx
create mode 100644 src/pages/order/after-sale-list.tsx
create mode 100644 src/pages/order/detail.tsx
create mode 100644 src/pages/order/evaluate-detail.config.ts
create mode 100644 src/pages/order/evaluate-detail.tsx
create mode 100644 src/pages/order/evaluate-detail/index.config.ts
create mode 100644 src/pages/order/evaluate-detail/index.tsx
create mode 100644 src/pages/order/evaluate-list.config.ts
create mode 100644 src/pages/order/evaluate-list.tsx
create mode 100644 src/pages/order/evaluate-list/index.config.ts
create mode 100644 src/pages/order/evaluate-list/index.tsx
create mode 100644 src/pages/order/evaluate.config.ts
create mode 100644 src/pages/order/evaluate.tsx
create mode 100644 src/pages/order/evaluate/index.config.ts
create mode 100644 src/pages/order/evaluate/index.tsx
create mode 100644 src/pages/order/list.tsx
create mode 100644 src/pages/order/logistics.tsx
create mode 100644 src/pages/order/order.config.ts
create mode 100644 src/pages/order/order.scss
create mode 100644 src/pages/order/order.tsx
create mode 100644 src/pages/order/refund-detail.tsx
create mode 100644 src/pages/order/refund.tsx
create mode 100644 src/pages/points-rules.tsx
create mode 100644 src/pages/points/exchange.tsx
create mode 100644 src/pages/points/exchange/index.config.ts
create mode 100644 src/pages/points/exchange/index.tsx
create mode 100644 src/pages/points/index.config.ts
create mode 100644 src/pages/points/index.tsx
create mode 100644 src/pages/points/order-list/index.tsx
create mode 100644 src/pages/points/points-rules/index.tsx
create mode 100644 src/pages/points/product-detail.config.ts
create mode 100644 src/pages/points/product-detail.tsx
create mode 100644 src/pages/points/product-list/index.config.ts
create mode 100644 src/pages/points/product-list/index.tsx
create mode 100644 src/pages/points/signin.tsx
create mode 100644 src/pages/progress.config.ts
create mode 100644 src/pages/progress.tsx
create mode 100644 src/pages/promotion.config.ts
create mode 100644 src/pages/promotion.tsx
create mode 100644 src/pages/purchase.config.ts
create mode 100644 src/pages/purchase.tsx
create mode 100644 src/pages/rebate/records/index.tsx
create mode 100644 src/pages/rebate/withdraw/index.tsx
create mode 100644 src/pages/records.tsx
create mode 100644 src/pages/redeem.config.ts
create mode 100644 src/pages/redeem.tsx
create mode 100644 src/pages/reschedule.config.ts
create mode 100644 src/pages/reschedule.tsx
create mode 100644 src/pages/sales.tsx
create mode 100644 src/pages/seckill-detail.config.ts
create mode 100644 src/pages/seckill-detail.tsx
create mode 100644 src/pages/seckill-list.config.ts
create mode 100644 src/pages/seckill-list.tsx
create mode 100644 src/pages/share/index.config.ts
create mode 100644 src/pages/share/index.tsx
create mode 100644 src/pages/shop/cart.tsx
create mode 100644 src/pages/shop/category.tsx
create mode 100644 src/pages/shop/checkout.tsx
create mode 100644 src/pages/shop/group-buy-detail/index.config.ts
create mode 100644 src/pages/shop/group-buy-detail/index.tsx
create mode 100644 src/pages/shop/group-buy-list/index.tsx
create mode 100644 src/pages/shop/index.config.ts
create mode 100644 src/pages/shop/index.tsx
create mode 100644 src/pages/shop/product-detail.config.ts
create mode 100644 src/pages/shop/product-detail.tsx
create mode 100644 src/pages/shop/seckill-detail/index.config.ts
create mode 100644 src/pages/shop/seckill-detail/index.tsx
create mode 100644 src/pages/shop/seckill-list/index.config.ts
create mode 100644 src/pages/shop/seckill-list/index.tsx
create mode 100644 src/pages/statistics/dashboard/index.tsx
create mode 100644 src/pages/statistics/sales/index.tsx
create mode 100644 src/pages/statistics/users/index.tsx
create mode 100644 src/pages/store/booking/index.config.ts
create mode 100644 src/pages/store/booking/index.scss
create mode 100644 src/pages/store/booking/index.tsx
create mode 100644 src/pages/store/center/index.config.ts
create mode 100644 src/pages/store/center/index.tsx
create mode 100644 src/pages/store/goods/index.tsx
create mode 100644 src/pages/store/list/index.config.ts
create mode 100644 src/pages/store/list/index.tsx
create mode 100644 src/pages/store/login/index.config.ts
create mode 100644 src/pages/store/login/index.scss
create mode 100644 src/pages/store/login/index.tsx
create mode 100644 src/pages/store/orders/index.tsx
create mode 100644 src/pages/store/users/index.tsx
create mode 100644 src/pages/team.config.ts
create mode 100644 src/pages/team.tsx
create mode 100644 src/pages/title.tsx
create mode 100644 src/pages/user/about/index.config.ts
create mode 100644 src/pages/user/about/index.tsx
create mode 100644 src/pages/user/address-edit.tsx
create mode 100644 src/pages/user/address-list.tsx
create mode 100644 src/pages/user/balance-log/index.tsx
create mode 100644 src/pages/user/benefit-exchange-confirm/index.scss
create mode 100644 src/pages/user/benefit-exchange-confirm/index.tsx
create mode 100644 src/pages/user/benefit-exchange-list/index.scss
create mode 100644 src/pages/user/benefit-exchange-list/index.tsx
create mode 100644 src/pages/user/benefit-packages/index.scss
create mode 100644 src/pages/user/benefit-packages/index.tsx
create mode 100644 src/pages/user/commission/index.config.ts
create mode 100644 src/pages/user/commission/index.scss
create mode 100644 src/pages/user/commission/index.tsx
create mode 100644 src/pages/user/coupon-list.tsx
create mode 100644 src/pages/user/customer-service/index.config.ts
create mode 100644 src/pages/user/customer-service/index.tsx
create mode 100644 src/pages/user/favorite-list/index.tsx
create mode 100644 src/pages/user/help-center/index.tsx
create mode 100644 src/pages/user/help-detail/index.tsx
create mode 100644 src/pages/user/history-list/index.tsx
create mode 100644 src/pages/user/index.tsx
create mode 100644 src/pages/user/invite-record/index.config.ts
create mode 100644 src/pages/user/invite-record/index.tsx
create mode 100644 src/pages/user/invite-subordinate/index.config.ts
create mode 100644 src/pages/user/invite-subordinate/index.tsx
create mode 100644 src/pages/user/member-upgrade/index.config.ts
create mode 100644 src/pages/user/member-upgrade/index.tsx
create mode 100644 src/pages/user/member/index.config.ts
create mode 100644 src/pages/user/member/index.tsx
create mode 100644 src/pages/user/points-record.tsx
create mode 100644 src/pages/user/profile.tsx
create mode 100644 src/pages/user/promotion/index.config.ts
create mode 100644 src/pages/user/promotion/index.tsx
create mode 100644 src/pages/user/recharge-record/index.tsx
create mode 100644 src/pages/user/recharge.tsx
create mode 100644 src/pages/user/redeem/index.config.ts
create mode 100644 src/pages/user/redeem/index.tsx
create mode 100644 src/pages/user/register-pay/index.config.ts
create mode 100644 src/pages/user/register-pay/index.tsx
create mode 100644 src/pages/user/setting.tsx
create mode 100644 src/pages/user/shop-setting/index.tsx
create mode 100644 src/pages/user/team/index.config.ts
create mode 100644 src/pages/user/team/index.tsx
create mode 100644 src/pages/user/user.config.ts
create mode 100644 src/pages/user/user.scss
create mode 100644 src/pages/user/user.tsx
create mode 100644 src/pages/user/vip-review/index.tsx
create mode 100644 src/pages/user/vip-upgrade/index.config.ts
create mode 100644 src/pages/user/vip-upgrade/index.tsx
create mode 100644 src/pages/user/wallet.tsx
create mode 100644 src/pages/user/withdraw-list/index.scss
create mode 100644 src/pages/user/withdraw-list/index.tsx
create mode 100644 src/pages/user/withdraw/index.scss
create mode 100644 src/pages/user/withdraw/index.tsx
create mode 100644 src/pages/users.tsx
create mode 100644 src/pages/withdraw.tsx
create mode 100644 src/passport/agreement.config.ts
create mode 100644 src/passport/agreement.scss
create mode 100644 src/passport/agreement.tsx
create mode 100644 src/passport/auth-flow.ts
create mode 100644 src/passport/forget.config.ts
create mode 100644 src/passport/forget.tsx
create mode 100644 src/passport/invite/index.config.ts
create mode 100644 src/passport/invite/index.tsx
create mode 100644 src/passport/login.config.ts
create mode 100644 src/passport/login.scss
create mode 100644 src/passport/login.tsx
create mode 100644 src/passport/pay/index.config.ts
create mode 100644 src/passport/pay/index.tsx
create mode 100644 src/passport/phone-auth/index.tsx
create mode 100644 src/passport/qr-confirm/index.config.ts
create mode 100644 src/passport/qr-confirm/index.tsx
create mode 100644 src/passport/qr-login/index.config.ts
create mode 100644 src/passport/qr-login/index.tsx
create mode 100644 src/passport/register.config.ts
create mode 100644 src/passport/register.tsx
create mode 100644 src/passport/setting.config.ts
create mode 100644 src/passport/setting.tsx
create mode 100644 src/passport/sms-login.config.ts
create mode 100644 src/passport/sms-login.scss
create mode 100644 src/passport/sms-login.tsx
create mode 100644 src/passport/unified-qr/index.config.ts
create mode 100644 src/passport/unified-qr/index.tsx
create mode 100644 src/passport/webview/index.config.ts
create mode 100644 src/passport/webview/index.tsx
create mode 100644 src/styles/global.scss
create mode 100644 src/types/address.ts
create mode 100644 src/types/coupon.ts
create mode 100644 src/types/global.d.ts
create mode 100644 src/types/index.ts
create mode 100644 src/types/member.ts
create mode 100644 src/types/order.ts
create mode 100644 src/types/product.ts
create mode 100644 src/utils/auth.ts
create mode 100644 src/utils/common.ts
create mode 100644 src/utils/geofence.ts
create mode 100644 src/utils/image.ts
create mode 100644 src/utils/index.ts
create mode 100644 src/utils/invite.ts
create mode 100644 src/utils/login-guard.ts
create mode 100644 src/utils/privacy.ts
create mode 100644 src/utils/request.ts
create mode 100644 src/utils/server.ts
create mode 100644 src/utils/vip.ts
create mode 100644 tailwind.config.js
create mode 100644 tsconfig.json
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..b56158b
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,556 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ "associatedIndex": 7
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1775881305279
+
+
+ 1775881305279
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1775896148590
+
+
+
+ 1775896148590
+
+
+
+ 1775901973624
+
+
+
+ 1775901973624
+
+
+
+ 1775902053962
+
+
+
+ 1775902053962
+
+
+
+ 1775904794443
+
+
+
+ 1775904794443
+
+
+
+ 1775905047844
+
+
+
+ 1775905047844
+
+
+
+ 1775905427131
+
+
+
+ 1775905427131
+
+
+
+ 1775905743204
+
+
+
+ 1775905743204
+
+
+
+ 1775908253789
+
+
+
+ 1775908253789
+
+
+
+ 1775908391880
+
+
+
+ 1775908391880
+
+
+
+ 1775909013060
+
+
+
+ 1775909013060
+
+
+
+ 1775909542310
+
+
+
+ 1775909542310
+
+
+
+ 1775909811705
+
+
+
+ 1775909811705
+
+
+
+ 1775920899787
+
+
+
+ 1775920899787
+
+
+
+ 1775921636640
+
+
+
+ 1775921636640
+
+
+
+ 1775962292970
+
+
+
+ 1775962292970
+
+
+
+ 1775965322794
+
+
+
+ 1775965322794
+
+
+
+ 1775965478226
+
+
+
+ 1775965478226
+
+
+
+ 1775966172496
+
+
+
+ 1775966172496
+
+
+
+ 1776018406658
+
+
+
+ 1776018406658
+
+
+
+ 1776019228297
+
+
+
+ 1776019228297
+
+
+
+ 1776019711439
+
+
+
+ 1776019711439
+
+
+
+ 1776019857647
+
+
+
+ 1776019857647
+
+
+
+ 1776021606260
+
+
+
+ 1776021606260
+
+
+
+ 1776021764419
+
+
+
+ 1776021764419
+
+
+
+ 1776065433562
+
+
+
+ 1776065433562
+
+
+
+ 1782803958326
+
+
+
+ 1782803958326
+
+
+
+ 1782803960387
+
+
+
+ 1782803960387
+
+
+
+ 1782803963602
+
+
+
+ 1782803963602
+
+
+
+ 1782804027400
+
+
+
+ 1782804027400
+
+
+
+ 1782804461646
+
+
+
+ 1782804461646
+
+
+
+ 1782805513768
+
+
+
+ 1782805513768
+
+
+
+ 1782808735147
+
+
+
+ 1782808735147
+
+
+
+ 1782808737652
+
+
+
+ 1782808737652
+
+
+
+ 1782808741979
+
+
+
+ 1782808741979
+
+
+
+ 1782810191833
+
+
+
+ 1782810191833
+
+
+
+ 1782814230613
+
+
+
+ 1782814230613
+
+
+
+ 1782814693982
+
+
+
+ 1782814693982
+
+
+
+ 1782814719111
+
+
+
+ 1782814719111
+
+
+
+ 1782879460607
+
+
+
+ 1782879460607
+
+
+
+ 1782881600013
+
+
+
+ 1782881600013
+
+
+
+ 1782881602732
+
+
+
+ 1782881602732
+
+
+
+ 1782881620199
+
+
+
+ 1782881620199
+
+
+
+ 1782881623335
+
+
+
+ 1782881623335
+
+
+
+ 1782881646712
+
+
+
+ 1782881646712
+
+
+
+ 1782899810526
+
+
+
+ 1782899810526
+
+
+
+ 1782899812498
+
+
+
+ 1782899812498
+
+
+
+ 1782979300991
+
+
+
+ 1782979300991
+
+
+
+ 1783003209100
+
+
+
+ 1783003209100
+
+
+
+ 1784131564427
+
+
+
+ 1784131564427
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.swc/plugins/v7_macos_aarch64_0.104.8/7ca3755447b46c29f7e44fd3038127a38b710567283f1da199d8c7585b928b7e b/.swc/plugins/v7_macos_aarch64_0.104.8/7ca3755447b46c29f7e44fd3038127a38b710567283f1da199d8c7585b928b7e
new file mode 100644
index 0000000000000000000000000000000000000000..568c684554f8ec280f5818a85d2a24972baec81b
GIT binary patch
literal 2561552
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