From 1b67138962faee65ae152c6aacc62d91db54ff5c Mon Sep 17 00:00:00 2001 From: "1054425342@qq.com" <1054425342@qq.com> Date: Mon, 28 Jul 2025 11:06:29 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E9=A6=96=E9=A1=B5=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E9=9D=99=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vercel/project.json | 1 + components/CustomTabBar.vue | 167 +++--- components/DynamicIsland.vue | 502 ++++++++++++++++++ components/ProductSection.vue | 355 +++++++++++++ components/WaterfallLayout.vue | 352 ++++++++++++ components/header.vue | 202 +++++-- package-lock.json | 27 +- pages.json | 16 +- pages/index/index.vue | 318 +++++++---- pages/index/timeShopBank.vue | 255 +++++++++ static/image/heart.png | 3 + subPackages/timeShop/index.vue | 8 + .../uni-transition/createAnimation.js | 6 + .../uni-transition/uni-transition.vue | 5 + 14 files changed, 1996 insertions(+), 221 deletions(-) create mode 100644 .vercel/project.json create mode 100644 components/DynamicIsland.vue create mode 100644 components/ProductSection.vue create mode 100644 components/WaterfallLayout.vue create mode 100644 pages/index/timeShopBank.vue create mode 100644 static/image/heart.png create mode 100644 subPackages/timeShop/index.vue diff --git a/.vercel/project.json b/.vercel/project.json new file mode 100644 index 0000000..66779c9 --- /dev/null +++ b/.vercel/project.json @@ -0,0 +1 @@ +{"projectName":"trae_l237eu51"} \ No newline at end of file diff --git a/components/CustomTabBar.vue b/components/CustomTabBar.vue index adc7b85..be846bc 100644 --- a/components/CustomTabBar.vue +++ b/components/CustomTabBar.vue @@ -1,100 +1,111 @@ \ No newline at end of file + diff --git a/components/DynamicIsland.vue b/components/DynamicIsland.vue new file mode 100644 index 0000000..812b1dd --- /dev/null +++ b/components/DynamicIsland.vue @@ -0,0 +1,502 @@ + + + + + diff --git a/components/ProductSection.vue b/components/ProductSection.vue new file mode 100644 index 0000000..345519d --- /dev/null +++ b/components/ProductSection.vue @@ -0,0 +1,355 @@ + + + + + diff --git a/components/WaterfallLayout.vue b/components/WaterfallLayout.vue new file mode 100644 index 0000000..9191858 --- /dev/null +++ b/components/WaterfallLayout.vue @@ -0,0 +1,352 @@ + + + + + diff --git a/components/header.vue b/components/header.vue index ad6bf3b..0462420 100644 --- a/components/header.vue +++ b/components/header.vue @@ -1,56 +1,160 @@ \ No newline at end of file +.header { + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 20rpx; + background-color: #fff; + + &.header-fixed { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 999; + } +} + +.header-placeholder { + width: 100%; +} + +.left-section { + display: flex; + align-items: center; + flex: 1; + + .location-selector { + display: flex; + align-items: center; + padding: 8rpx 16rpx; + // border: 2rpx solid #e0e0e0; + border-radius: 20rpx; + background-color: #fff; + min-width: 100rpx; + margin-right: 20rpx; + + .location-text { + font-size: 30rpx; + color: #333; + margin-right: 8rpx; + } + + .dropdown-icon { + width: 24rpx; + height: 16rpx; + } + } + + .search-icon { + height: 36.16rpx; + } +} + +.logo { + height: 36.16rpx; + position: absolute; + left: 50%; + transform: translateX(-50%); +} + +.right-section { + flex: 1; +} + diff --git a/package-lock.json b/package-lock.json index 50708b2..53483a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,33 @@ { "name": "cgc_wechat", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "cgc_wechat", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "moment": "^2.30.1", + "ydui-district": "^1.1.0" + }, + "devDependencies": {} + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/ydui-district": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/ydui-district/-/ydui-district-1.1.0.tgz", + "integrity": "sha512-MBhvfaR5Gkn6MUmEnrH1A7IFB5igALuDgtIF+gz3dRwNwW9+KOmih7z+xZFfGluMsEbWaT7C3lWOckYsLZQnFg==" + } + }, "dependencies": { "moment": { "version": "2.30.1", diff --git a/pages.json b/pages.json index 2e70951..c75c98a 100644 --- a/pages.json +++ b/pages.json @@ -47,7 +47,16 @@ "navigationBarTitleText": "登录", "navigationStyle": "custom" } - } + }, + { + "path": "pages/index/timeShopBank", + "style": { + "navigationBarTitleText": "时间银行", + "navigationStyle": "custom" + } + } + + ], "subPackages": [ { @@ -177,6 +186,7 @@ "navigationBarTitleText": "搜索" } } + ] }, { @@ -386,8 +396,8 @@ "visible": false }, { - "pagePath": "pages/index/sensoryStore", - "text": "有感商店", + "pagePath": "pages/index/timeShopBank", + "text": "时间银行", "visible": false }, { diff --git a/pages/index/index.vue b/pages/index/index.vue index b15ae75..b2b2649 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -1,99 +1,237 @@ diff --git a/pages/index/timeShopBank.vue b/pages/index/timeShopBank.vue new file mode 100644 index 0000000..52817ea --- /dev/null +++ b/pages/index/timeShopBank.vue @@ -0,0 +1,255 @@ + + + + + diff --git a/static/image/heart.png b/static/image/heart.png new file mode 100644 index 0000000..8be288e --- /dev/null +++ b/static/image/heart.png @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/subPackages/timeShop/index.vue b/subPackages/timeShop/index.vue new file mode 100644 index 0000000..02409e3 --- /dev/null +++ b/subPackages/timeShop/index.vue @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/uni_modules/uni-transition/components/uni-transition/createAnimation.js index 5f54365..a9c8776 100644 --- a/uni_modules/uni-transition/components/uni-transition/createAnimation.js +++ b/uni_modules/uni-transition/components/uni-transition/createAnimation.js @@ -126,3 +126,9 @@ export function createAnimation(option, _this) { clearTimeout(_this.timer) return new MPAnimation(option, _this) } + +// #ifdef MP-WEIXIN +module.exports = { + createAnimation +} +// #endif diff --git a/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue index 0d739bd..2078dd3 100644 --- a/uni_modules/uni-transition/components/uni-transition/uni-transition.vue +++ b/uni_modules/uni-transition/components/uni-transition/uni-transition.vue @@ -3,7 +3,12 @@