From e6e969ad460293d3e14ca5ed89fd3b1df82e37c3 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 15 一月 2026 10:45:54 +0800
Subject: [PATCH] 页面调整优化
---
pages/tabbar/user/utils/tool.vue | 34
pages/product/goods.vue | 4
pages.json | 284 +++++-----
pages/kitchen/KitchenCustomize.vue | 3
pages/tabbar/index/home.vue | 2
pages/cusbar/video/video.vue | 2
/dev/null | 0
pages/tabbar/user/my.vue | 148 ++---
pages/kitchen/KitchenCover.vue | 3
pages/mine/help/customerService.vue | 285 ++++++++++
pages/tabbar/user/my copy.vue | 749 +++++++++++++++++++++++++++
components/custom-tabbar.vue | 59 +
pages/cusbar/cart/cartList.vue | 2
13 files changed, 1,307 insertions(+), 268 deletions(-)
diff --git a/components/custom-tabbar.vue b/components/custom-tabbar.vue
index 4894ea5..00dc5bd 100644
--- a/components/custom-tabbar.vue
+++ b/components/custom-tabbar.vue
@@ -1,6 +1,6 @@
<!-- components/custom-tabbar.vue -->
<template>
- <view class="custom-tabbar" :style="{backgroundColor: bgColor, marginBottom: marginBottom + 'px'}">
+ <view class="custom-tabbar" :style="{backgroundColor: bgColor, paddingBottom: paddingBottom + 'px'}">
<view v-for="(item, index) in list" :key="index" class="tabbar-item" @click="switchTab(item)">
<image :src="selected === item.key ? item.selectedIconPath : item.iconPath"
:class="{'tabbar-icon': true, 'video-add': item.key == 'video'}" />
@@ -26,17 +26,21 @@
},
selectedTextColor: {
type: String,
- default: '#ff573e'
+ default: '#25a885'
+ },
+ fillBottom: {
+ type: Boolean,
+ default: false
}
},
data() {
return {
color: '#999999',
- marginBottom: 0,
+ paddingBottom: 0,
list: [{
"pagePath": "/pages/tabbar/index/home",
- "iconPath": "/static/tabbar/home.png",
- "selectedIconPath": "/static/tabbar/home-s.png",
+ "iconPath": "/static/tabbar/home-new.png",
+ "selectedIconPath": "/static/tabbar/home-new-s.png",
"text": "棣栭〉",
"key": 'index'
},
@@ -45,28 +49,28 @@
// "pagePath": "/pages/tabbar/category/category",
"pagePath": "/pages/kitchen/KitchenCover",
- "iconPath": "/static/tabbar/category.png",
- "selectedIconPath": "/static/tabbar/category-s.png",
+ "iconPath": "/static/tabbar/category-new.png",
+ "selectedIconPath": "/static/tabbar/category-new-s.png",
"text": "绁炲帹",
"key": 'kitchen'
},
{
"pagePath": "/pages/cusbar/video/video",
- "iconPath": "/static/tabbar/video1.png",
- "selectedIconPath": "/static/tabbar/video1-selected.png",
+ "iconPath": "/static/tabbar/video1-new.png",
+ "selectedIconPath": "/static/tabbar/video1-new-s.png",
"key": 'video'
},
{
"pagePath": "/pages/cusbar/cart/cartList",
- "iconPath": "/static/tabbar/cart.png",
- "selectedIconPath": "/static/tabbar/cart-s.png",
+ "iconPath": "/static/tabbar/cart-new.png",
+ "selectedIconPath": "/static/tabbar/cart-new-s.png",
"text": "璐墿杞�",
"key": 'buyCar'
},
{
"pagePath": "/pages/tabbar/user/my",
- "iconPath": "/static/tabbar/mine.png",
- "selectedIconPath": "/static/tabbar/mine-s.png",
+ "iconPath": "/static/tabbar/mine-new.png",
+ "selectedIconPath": "/static/tabbar/mine-new-s.png",
"text": "鎴戠殑",
"key": 'my'
}
@@ -75,7 +79,9 @@
},
created() {
console.log("搴曢儴瀹夊叏鍖哄煙", uni.getSystemInfoSync().safeAreaInsets);
- this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
+ if (!this.fillBottom) {
+ this.paddingBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
+ }
},
methods: {
switchTab(item) {
@@ -95,14 +101,19 @@
bottom: 0;
left: 0;
right: 0;
- height: 50px;
+
+ /* 绋嶅井璋冧綆楂樺害鑷� 55px锛屽苟淇濇寔鍗婇�忔槑鏁堟灉 */
+ height: calc(50px + constant(safe-area-inset-bottom));
+ height: calc(50px + env(safe-area-inset-bottom));
display: flex;
- align-items: center;
+ align-items: flex-start;
+ padding-top: 2rpx;
justify-content: space-around;
- border-top: 1rpx solid rgba(255, 255, 255, 0.1);
+ border-top: 1rpx solid rgba(0, 0, 0, 0.05);
box-sizing: border-box;
- backdrop-filter: blur(10px);
- -webkit-backdrop-filter: blur(10px);
+ backdrop-filter: blur(15px);
+ -webkit-backdrop-filter: blur(15px);
+ z-index: 999;
}
.tabbar-item {
@@ -110,16 +121,12 @@
flex-direction: column;
align-items: center;
justify-content: center;
- }
-
- .video-add {
- width: 30px !important;
- height: 30px !important;
+ height: 55px; /* 鍚屾楂樺害 */
}
.tabbar-icon {
- width: 24px;
- height: 24px;
+ width: 26px;
+ height: 26px;
margin-bottom: 4px;
}
diff --git a/pages.json b/pages.json
index 98bcec1..4e60068 100644
--- a/pages.json
+++ b/pages.json
@@ -12,7 +12,9 @@
"preloadRule": {
"pages/prize/PrizeDetail/PrizeDetail": {
"network": "all",
- "packages": ["pages/prize"]
+ "packages": [
+ "pages/prize"
+ ]
}
},
"pages": [
@@ -26,7 +28,6 @@
"componentPlaceholder": {
"u-icon": "view"
}
-
// 闅愯棌椤堕儴瀵艰埅鏍�
}
},
@@ -36,7 +37,6 @@
"navigationBarTitleText": ""
}
}
-
// {
// "path": "pages/tabbar/home/index",
// "style": {
@@ -85,7 +85,6 @@
// {
// // "path": "pages/tabbar/category/category",
// "path": "pages/commodity-square/commoditySquare",
-
// "style": {
// "navigationBarTitleText": "鍟嗗搧骞垮満",
// "navigationStyle": "custom", // 闅愯棌绯荤粺瀵艰埅鏍�
@@ -750,6 +749,17 @@
}
},
{
+ "path": "help/customerService",
+ "style": {
+ "navigationBarTitleText": "鑱旂郴瀹㈡湇",
+ "componentPlaceholder":{
+ "u-icon": "view"
+ }
+
+
+ }
+ },
+ {
"path": "help/tips",
"style": {
"navigationBarTitleText": "",
@@ -1217,10 +1227,10 @@
"path": "home-page",
"style": {
"navigationBarTitleText": "TA鐨勪富椤�",
- "componentPlaceholder": {
- "u-icon": "view",
- "u-loadmore": "view"
- }
+ "componentPlaceholder": {
+ "u-icon": "view",
+ "u-loadmore": "view"
+ }
}
},
{
@@ -1239,15 +1249,15 @@
"path": "video-edit",
"style": {
"navigationBarTitleText": "瑙嗛缂栬緫",
- "componentPlaceholder": {
- "u-popup": "view",
- "u-button": "view",
- "u-icon": "view",
- "u-form": "view",
- "u-form-item": "view",
- "u-input": "view",
- "u-search": "view"
- }
+ "componentPlaceholder": {
+ "u-popup": "view",
+ "u-button": "view",
+ "u-icon": "view",
+ "u-form": "view",
+ "u-form-item": "view",
+ "u-input": "view",
+ "u-search": "view"
+ }
}
},
{
@@ -1265,7 +1275,6 @@
"navigationBarTitleText": ""
}
},
-
{
"path": "video-goods-detail-swiper",
"style": {
@@ -1572,28 +1581,27 @@
"path": "complain/complain",
"style": {
"navigationBarTitleText": "璁㈠崟鍟嗗搧鎶曡瘔",
- "componentPlaceholder": {
- "u-popup": "view",
- "u-icon": "view",
- "u-line": "view",
- "u-image": "view",
- "u-select": "view",
- "u-input": "view",
- "u-upload": "view"
-
- }
+ "componentPlaceholder": {
+ "u-popup": "view",
+ "u-icon": "view",
+ "u-line": "view",
+ "u-image": "view",
+ "u-select": "view",
+ "u-input": "view",
+ "u-upload": "view"
+ }
}
},
{
"path": "complain/complainInfo",
"style": {
"navigationBarTitleText": "鎶曡瘔璇︽儏",
- "componentPlaceholder": {
- "u-image": "view",
- "u-cell-group": "view",
- "u-cell-item": "view",
- "u-input": "view"
- }
+ "componentPlaceholder": {
+ "u-image": "view",
+ "u-cell-group": "view",
+ "u-cell-item": "view",
+ "u-input": "view"
+ }
}
},
{
@@ -1754,19 +1762,19 @@
},
{
"path": "afterSales/afterSalesDetailExpress",
- "style": {
- "componentPlaceholder":{
- "u-image": "view",
- "u-icon": "view",
- "u-form": "view",
- "u-form-item": "view",
- "u-input": "view",
- "u-button": "view",
- "u-select": "view",
- "u-calendar": "view",
- "u-toast": "view"
- }
- }
+ "style": {
+ "componentPlaceholder": {
+ "u-image": "view",
+ "u-icon": "view",
+ "u-form": "view",
+ "u-form-item": "view",
+ "u-input": "view",
+ "u-button": "view",
+ "u-select": "view",
+ "u-calendar": "view",
+ "u-toast": "view"
+ }
+ }
},
{
"path": "afterSales/afterSalesSelect",
@@ -1775,14 +1783,13 @@
"componentPlaceholder": {
"u-image": "view",
"u-icon": "view",
- "u-form": "view",
- "u-form-item": "view",
- "u-input": "view",
- "u-button": "view",
- "u-select": "view",
- "u-calendar": "view",
- "u-toast": "view"
-
+ "u-form": "view",
+ "u-form-item": "view",
+ "u-input": "view",
+ "u-button": "view",
+ "u-select": "view",
+ "u-calendar": "view",
+ "u-toast": "view"
}
}
},
@@ -1834,61 +1841,57 @@
}
},
{
- "path" : "claim-coupon/claim-coupon",
- "style" :
- {
- "navigationBarTitleText" : "鍟嗗搧鍏戞崲鍒搁鍙�",
- "enablePullDownRefresh" : true,
- "componentPlaceholder": {
- "u-image": "view",
- "u-tag": "view",
- "u-loading": "view",
- "u-empty": "view",
- "u-modal":"view"
- }
- }
+ "path": "claim-coupon/claim-coupon",
+ "style": {
+ "navigationBarTitleText": "鍟嗗搧鍏戞崲鍒搁鍙�",
+ "enablePullDownRefresh": true,
+ "componentPlaceholder": {
+ "u-image": "view",
+ "u-tag": "view",
+ "u-loading": "view",
+ "u-empty": "view",
+ "u-modal": "view"
+ }
+ }
},
{
- "path" : "editOrderAddress/editOrderAddress",
- "style" :
- {
- "navigationBarTitleText" : "淇敼璁㈠崟",
- "componentPlaceholder": {
- "u-image": "view",
- "u-row": "view",
- "u-col": "view",
- "u-input": "view",
- "u-icon": "view",
- "u-select": "view",
- "u-notice-bar": "view"
- }
- }
+ "path": "editOrderAddress/editOrderAddress",
+ "style": {
+ "navigationBarTitleText": "淇敼璁㈠崟",
+ "componentPlaceholder": {
+ "u-image": "view",
+ "u-row": "view",
+ "u-col": "view",
+ "u-input": "view",
+ "u-icon": "view",
+ "u-select": "view",
+ "u-notice-bar": "view"
+ }
+ }
},
{
- "path" : "cardPack",
- "style" :
- {
- "navigationBarTitleText" : "浼樻儬鍔靛崱鍖�",
- "componentPlaceholder": {
- "u-navbar": "view",
- "u-checkbox-group": "view",
- "u-checkbox": "view",
- "u-swipe-action": "view",
- "u-image": "view",
- "u-icon": "view",
- "u-count-down": "view",
- "u-modal": "view",
- "u-popup": "view",
- "u-empty": "view"
- }
- }
+ "path": "cardPack",
+ "style": {
+ "navigationBarTitleText": "浼樻儬鍔靛崱鍖�",
+ "componentPlaceholder": {
+ "u-navbar": "view",
+ "u-checkbox-group": "view",
+ "u-checkbox": "view",
+ "u-swipe-action": "view",
+ "u-image": "view",
+ "u-icon": "view",
+ "u-count-down": "view",
+ "u-modal": "view",
+ "u-popup": "view",
+ "u-empty": "view"
+ }
+ }
},
{
- "path" : "constomize/constomize",
- "style" :
- {
- "navigationBarTitleText" : "瀹氬埗淇℃伅"
- }
+ "path": "constomize/constomize",
+ "style": {
+ "navigationBarTitleText": "瀹氬埗淇℃伅"
+ }
}
]
},
@@ -2293,43 +2296,40 @@
}
]
},
- {
- "root": "pages/storeClaim",
- "pages": [{
- "path" : "store-claim",
- "style" :
- {
- "navigationBarTitleText" : "浼樻儬鍗烽鍙�",
- "componentPlaceholder":{
- "u-card": "view",
- "u-navbar": "view",
- "u-tag": "view",
- "u-icon": "view",
- "u-button": "view",
- "u-empty": "view"
-
- }
- }
- },
- {
- "path" : "storePrizeClaim",
- "style" :
- {
- "navigationBarTitleText" : "棰嗗彇鎶藉鏈轰細",
- "componentPlaceholder":{
- "u-card": "view",
- "u-navbar": "view",
- "u-tag": "view",
- "u-icon": "view",
- "u-button": "view",
- "u-empty": "view",
- "u-image":"view"
-
- }
- }
- }]
- }
-
+ {
+ "root": "pages/storeClaim",
+ "pages": [
+ {
+ "path": "store-claim",
+ "style": {
+ "navigationBarTitleText": "浼樻儬鍗烽鍙�",
+ "componentPlaceholder": {
+ "u-card": "view",
+ "u-navbar": "view",
+ "u-tag": "view",
+ "u-icon": "view",
+ "u-button": "view",
+ "u-empty": "view"
+ }
+ }
+ },
+ {
+ "path": "storePrizeClaim",
+ "style": {
+ "navigationBarTitleText": "棰嗗彇鎶藉鏈轰細",
+ "componentPlaceholder": {
+ "u-card": "view",
+ "u-navbar": "view",
+ "u-tag": "view",
+ "u-icon": "view",
+ "u-button": "view",
+ "u-empty": "view",
+ "u-image": "view"
+ }
+ }
+ }
+ ]
+ }
],
"globalStyle": {
"navigationBarTextStyle": "black",
@@ -2395,4 +2395,4 @@
// "query": "" //鍚姩鍙傛暟锛屽湪椤甸潰鐨刼nLoad鍑芥暟閲岄潰寰楀埌
// }]
}
-}
+}
\ No newline at end of file
diff --git a/pages/cusbar/cart/cartList.vue b/pages/cusbar/cart/cartList.vue
index 1324eda..8ffcfe9 100644
--- a/pages/cusbar/cart/cartList.vue
+++ b/pages/cusbar/cart/cartList.vue
@@ -181,7 +181,7 @@
</view>
</div>
<u-toast ref="uToast" />
- <custom-tabbar bgColor="#ffffff" selected="buyCar"></custom-tabbar>
+ <custom-tabbar bgColor="#ffffff" selected="buyCar" selectedTextColor="#25a885"></custom-tabbar>
</view>
</template>
<script>
diff --git a/pages/cusbar/video/video.vue b/pages/cusbar/video/video.vue
index e5d6cdd..9ab13df 100644
--- a/pages/cusbar/video/video.vue
+++ b/pages/cusbar/video/video.vue
@@ -200,7 +200,7 @@
</view>
</u-popup>
- <custom-tabbar bgColor="#ffffff" selected="video"></custom-tabbar>
+ <custom-tabbar bgColor="#ffffff" selected="video" selectedTextColor="#25a885"></custom-tabbar>
</view>
</template>
diff --git a/pages/kitchen/KitchenCover.vue b/pages/kitchen/KitchenCover.vue
index 69d646e..fcb9839 100644
--- a/pages/kitchen/KitchenCover.vue
+++ b/pages/kitchen/KitchenCover.vue
@@ -7,7 +7,8 @@
<!-- 搴曢儴鐣欏嚭瀵艰埅鏍忛珮搴︾殑绌洪棿 -->
<view class="safe-area-bottom"></view>
</scroll-view>
- <custom-tabbar bgColor="rgba(0, 0, 0, 0.3)" selectedTextColor="#ffffff" selected="kitchen"></custom-tabbar>
+ <custom-tabbar bgColor="#ffffff" selectedTextColor="#25a885" selected="kitchen" ></custom-tabbar>
+ <!-- <custom-tabbar bgColor="#ffffff" selectedTextColor="#07c160" selected="kitchen" :fillBottom="true"></custom-tabbar> -->
</view>
</template>
diff --git a/pages/kitchen/KitchenCustomize.vue b/pages/kitchen/KitchenCustomize.vue
index 42f2fbf..76bd733 100644
--- a/pages/kitchen/KitchenCustomize.vue
+++ b/pages/kitchen/KitchenCustomize.vue
@@ -27,7 +27,7 @@
<view class="product-info">
<view class="product-remark">{{ item.remark }}</view>
<view class="product-bottom">
- <view class="product-orign-price">
+ <view class="product-orign-price" v-if="item.orginPrice > item.price">
<text class="symbol">鍘熶环锟�</text>
<text class="value">{{ item.orginPrice }}</text>
</view>
@@ -286,7 +286,6 @@
.product-top {
flex: 1;
- margin-left: 20rpx;
display: flex;
// flex-direction: column;
// justify-content: space-between;
diff --git a/pages/mine/help/customerService.vue b/pages/mine/help/customerService.vue
new file mode 100644
index 0000000..f4e4f81
--- /dev/null
+++ b/pages/mine/help/customerService.vue
@@ -0,0 +1,285 @@
+<template>
+ <view class="container">
+ <view class="content-box">
+ <!-- 浜岀淮鐮侀儴鍒� - 鏄捐憲鏀惧ぇ -->
+ <view class="qr-card">
+ <view class="qr-frame">
+ <image class="qr-code" :src="qrCodeImg" mode="aspectFit"></image>
+ </view>
+
+ <view class="qr-info">
+ <view class="wechat-id" @click="copyText('meiyikuang')">
+ <text>寰俊鍙凤細meiyikuang</text>
+ </view>
+ </view>
+ </view>
+
+ <!-- 淇℃伅鍒楄〃閮ㄥ垎 -->
+ <view class="info-section">
+ <view class="section-title">
+ <view class="line"></view>
+ <text>鏇村鑱旂郴鏂瑰紡</text>
+ </view>
+
+ <view class="info-card">
+ <view class="info-item" @click="makePhoneCall('19980834650')">
+ <view class="icon-box hot">
+ <u-icon name="phone-fill" color="#fff" size="32"></u-icon>
+ </view>
+ <view class="item-content">
+ <text class="label">瀹㈡湇鐑嚎 1</text>
+ <text class="value phone">19980834650</text>
+ </view>
+ <u-icon name="arrow-right" color="#ccc" size="28"></u-icon>
+ </view>
+
+ <view class="info-item" @click="makePhoneCall('13880719801')">
+ <view class="icon-box hot">
+ <u-icon name="phone-fill" color="#fff" size="32"></u-icon>
+ </view>
+ <view class="item-content">
+ <text class="label">瀹㈡湇鐑嚎 2</text>
+ <text class="value phone">13880719801</text>
+ </view>
+ <u-icon name="arrow-right" color="#ccc" size="28"></u-icon>
+ </view>
+
+ <view class="info-item" @click="makePhoneCall('028-84472936')">
+ <view class="icon-box complain">
+ <u-icon name="error-circle-fill" color="#fff" size="32"></u-icon>
+ </view>
+ <view class="item-content">
+ <text class="label">鎶曡瘔鐢佃瘽</text>
+ <text class="value phone">028-84472936</text>
+ </view>
+ <u-icon name="arrow-right" color="#ccc" size="28"></u-icon>
+ </view>
+
+ <view class="info-item" @click="makePhoneCall('13730617649')">
+ <view class="icon-box business">
+ <u-icon name="clock-fill" color="#fff" size="32"></u-icon>
+ </view>
+ <view class="item-content">
+ <text class="label">鍟嗗姟娲借皥</text>
+ <text class="value phone">13730617649</text>
+ </view>
+ <u-icon name="arrow-right" color="#ccc" size="28"></u-icon>
+ </view>
+
+ <view class="info-item no-click">
+ <view class="icon-box time">
+ <u-icon name="clock-fill" color="#fff" size="32"></u-icon>
+ </view>
+ <view class="item-content">
+ <text class="label">宸ヤ綔鏃堕棿</text>
+ <text class="value">9:00 - 22:00</text>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <view class="footer-tip">
+ 鎴戜滑灏嗙璇氫负鎮ㄦ湇鍔�
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+import qrCodeImg from './qrcode.png';
+
+export default {
+ data() {
+ return {
+ qrCodeImg
+ };
+ },
+ methods: {
+ copyText(text) {
+ uni.setClipboardData({
+ data: text,
+ success: () => {
+ uni.showToast({
+ title: '澶嶅埗鎴愬姛',
+ icon: 'success'
+ });
+ }
+ });
+ },
+ makePhoneCall(phoneNumber) {
+ uni.makePhoneCall({
+ phoneNumber: phoneNumber
+ });
+ }
+ }
+};
+</script>
+
+<style lang="scss" scoped>
+.container {
+ min-height: 100vh;
+ background-color: #f8f8f8;
+}
+
+.content-box {
+ padding: 30rpx;
+}
+
+// 浜岀淮鐮佸崱鐗囨牱寮�
+.qr-card {
+ background-color: #fff;
+ border-radius: 24rpx;
+ padding: 40rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-bottom: 40rpx;
+ box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.05);
+
+ .qr-header {
+ display: flex;
+ align-items: center;
+ margin-bottom: 30rpx;
+
+ .title {
+ font-size: 34rpx;
+ font-weight: bold;
+ color: #333;
+ margin-left: 12rpx;
+ }
+ }
+
+ .qr-frame {
+ position: relative;
+ padding: 20rpx;
+ background-color: #fff;
+ margin-bottom: 30rpx;
+
+ .qr-code {
+ width: 700rpx; // 鏀惧ぇ浜岀淮鐮�
+ height: 700rpx;
+ background-color: #fafafa;
+ display: block;
+ }
+ }
+
+ .qr-info {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ .wechat-id {
+ display: flex;
+ align-items: center;
+ background-color: #f0fdf4;
+ padding: 12rpx 30rpx;
+ border-radius: 100rpx;
+ margin-bottom: 16rpx;
+ border: 1rpx solid #dcfce7;
+
+ text {
+ font-size: 28rpx;
+ color: #07c160;
+ font-weight: 500;
+ margin-right: 8rpx;
+ }
+ }
+
+ .qr-tip {
+ font-size: 24rpx;
+ color: #999;
+ }
+ }
+}
+
+// 淇℃伅鍒楄〃閮ㄥ垎鏍峰紡
+.info-section {
+ .section-title {
+ display: flex;
+ align-items: center;
+ margin-bottom: 24rpx;
+ padding-left: 10rpx;
+
+ .line {
+ width: 8rpx;
+ height: 32rpx;
+ background: linear-gradient(180deg, #07c160, #22c55e);
+ border-radius: 4rpx;
+ margin-right: 16rpx;
+ }
+
+ text {
+ font-size: 30rpx;
+ font-weight: bold;
+ color: #333;
+ }
+ }
+
+ .info-card {
+ background-color: #fff;
+ border-radius: 24rpx;
+ padding: 0 30rpx;
+ box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.05);
+
+ .info-item {
+ display: flex;
+ align-items: center;
+ padding: 36rpx 0;
+ border-bottom: 1rpx solid #f5f5f5;
+
+ &:last-child {
+ border-bottom: none;
+ }
+
+ &.no-click {
+ pointer-events: none;
+ }
+
+ .icon-box {
+ width: 72rpx;
+ height: 72rpx;
+ border-radius: 20rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 24rpx;
+
+ &.hot { background: linear-gradient(135deg, #3b82f6, #2563eb); }
+ &.complain { background: linear-gradient(135deg, #f59e0b, #d97706); }
+ &.business { background: linear-gradient(135deg, #8b5cf6, #7c3aed); }
+ &.time { background: linear-gradient(135deg, #64748b, #475569); }
+ }
+
+ .item-content {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+
+ .label {
+ font-size: 24rpx;
+ color: #999;
+ margin-bottom: 4rpx;
+ }
+
+ .value {
+ font-size: 30rpx;
+ color: #333;
+ font-weight: 500;
+
+ &.phone {
+ color: #333;
+ }
+ }
+ }
+ }
+ }
+}
+
+.footer-tip {
+ text-align: center;
+ font-size: 24rpx;
+ color: #ccc;
+ margin-top: 60rpx;
+ padding-bottom: 40rpx;
+}
+</style>
diff --git a/pages/product/goods.vue b/pages/product/goods.vue
index c15caa8..500a4c0 100644
--- a/pages/product/goods.vue
+++ b/pages/product/goods.vue
@@ -209,7 +209,7 @@
<view class="page-bottom mp-iphonex-bottom" id="pageBottom">
<view class="icon-btn">
<view class="icon-btn-item" @click="navigateToStore(goodsDetail.storeId)">
- <u-icon size="34" class="red" name="home-fill"></u-icon>
+ <image style="width: 34rpx; height: 34rpx;" src="/static/tabbar/home-new-s.png" mode="aspectFit"></image>
<view class="red icon-btn-name">搴楅摵</view>
</view>
<!-- <view class="icon-btn-item" @click="linkMsgDetail()">
@@ -217,7 +217,7 @@
<view class="icon-btn-name">瀹㈡湇</view>
</view> -->
<view class="icon-btn-item" @click="reluchToCart()">
- <u-icon size="34" name="storeping-cart"></u-icon>
+ <image style="width: 34rpx; height: 34rpx;" src="/static/tabbar/cart-new.png" mode="aspectFit"></image>
<view class="icon-btn-name">璐墿杞�</view>
<view v-if="nums && nums > 0" class="num-icon">{{ nums }}</view>
</view>
diff --git a/pages/tabbar/index/home.vue b/pages/tabbar/index/home.vue
index 3613931..080f683 100644
--- a/pages/tabbar/index/home.vue
+++ b/pages/tabbar/index/home.vue
@@ -247,7 +247,7 @@
</uni-popup>
- <custom-tabbar bgColor="#333333" selected="index" selectedTextColor="#ffffff"></custom-tabbar>
+ <custom-tabbar bgColor="rgba(255, 255, 255, 0.9)" selected="index" selectedTextColor="#25a885"></custom-tabbar>
<ActivityPopup :show="activityPopup.show" :activityTitle="activityPopup.title"
:activityDesc="activityPopup.desc" :activityImage="activityPopup.image" :endTime="activityPopup.endTime"
diff --git a/pages/tabbar/user/my copy.vue b/pages/tabbar/user/my copy.vue
new file mode 100644
index 0000000..a6c78d1
--- /dev/null
+++ b/pages/tabbar/user/my copy.vue
@@ -0,0 +1,749 @@
+<template>
+ <view class="user">
+ <!-- 涓汉淇℃伅 -->
+ <view class="status_bar">
+ <!-- 杩欓噷鏄姸鎬佹爮 -->
+ </view>
+ <view class="header" @click="userDetail" :style="{ backgroundImage: `url(${base64image2.userInfoBg})` }">
+ <view class="head-1">
+ <image v-if="userInfo.face" :src="endpoint + '/' + userInfo.face"></image>
+ <image v-else :src="userImage"></image>
+ </view>
+ <view class="head-2" v-if="userInfo.id">
+ <view class="user-name">{{ userInfo.nickName }}</view>
+ </view>
+ <view class="head-2" v-else>
+ <view class="user-name">鐧诲綍/娉ㄥ唽</view>
+ </view>
+ <u-icon style="display: flex;align-items: flex-start;" name="arrow-right"></u-icon>
+ </view>
+ <!-- <button type="default" @click="goTOSuccess">绔嬪嵆鏌ョ湅</button> -->
+ <view class="member-gradient-bg" v-if="prizeActivity.enableStatus === 'ON'"
+ :style="{ backgroundImage: `url(${base64image.prizeActivityBg})` }"
+ >
+ <view class="member-gradient-bg" @click="gotoPrizeActivity" >
+ <!-- <view class="activity-content">
+
+ <view class="activity-icon">
+ <view class="floating-btn-content">
+ <text class="floating-btn-icon">馃巵</text>
+ </view>
+
+ </view>
+
+ <view class="activity-info">
+ <p class="activity-name">{{ prizeActivity.activityName }}</p>
+ <p class="activity-desc">{{ prizeActivity.activityDes }}</p>
+ <p class="activity-desc">{{ formatDate(prizeActivity.beginTime) }} - {{ formatDate(prizeActivity.endTime)}}</p>
+ </view>
+ <view class="activity-enter">
+ <text class="enter-text">绔嬪嵆鍙備笌</text>
+ <u-icon name="arrow-right"></u-icon>
+ </view>
+ </view> -->
+ </view>
+ </view>
+ <!-- 绉垎锛屼紭鎯犲埜锛屽叧娉紝 -->
+ <div class="pointBox box">
+ <u-row text-align="center" gutter="16" class="point">
+ <u-col text-align="center" span="4" @click="navigateTo('/pages/mine/deposit/operation')">
+ <view>浣欓</view>
+ <view class="money">{{ walletNum | unitPrice }}</view>
+ </u-col>
+
+ <u-col text-align="center" span="4" @click="navigateTo('/pages/cart/coupon/myCoupon')">
+ <view>浼樻儬鍒�</view>
+ <view>{{ couponNum || 0 }}</view>
+ </u-col>
+
+ <u-col text-align="center" span="4" @click="navigateTo('/pages/mine/myTracks')">
+ <view>瓒宠抗</view>
+ <view>{{ footNum || 0 }}</view>
+ </u-col>
+ </u-row>
+ <!-- 鎴戠殑璁㈠崟锛屼唬浠樻 -->
+ <view class="order">
+ <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=1')">
+ <div class="bag bag2">
+ <u-icon name="bag-fill" size="35" color="#fff"></u-icon>
+ </div>
+ <view>寰呬粯娆�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=3')">
+ <div class="bag bag3">
+ <u-icon name="car-fill" size="35" color="#fff"></u-icon>
+ </div>
+ <view>寰呮敹璐�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/evaluate/myEvaluate')">
+ <div class="bag bag4">
+ <u-icon name="star-fill" size="35" color="#fff"></u-icon>
+ </div>
+ <view>寰呰瘎浠�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/afterSales/afterSales')">
+ <div class="bag bag5">
+ <u-icon name="server-fill" size="35" color="#fff"></u-icon>
+ </div>
+ <view>鍞悗</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=0')">
+ <div class="bag bag1">
+ <u-icon name="order" size="35" color="#fff"></u-icon>
+ </div>
+ <view>鎴戠殑璁㈠崟</view>
+ </view>
+ </view>
+ </div>
+
+ <!-- 瑙嗛鐩稿叧锛� -->
+ <div class="pointBox box" style="margin-top: 20rpx;">
+ <view class="order">
+ <view class="order-item" @click="jumpToVideoHome()">
+ <view>
+ <text class="iconfont"></text>
+ </view>
+ <view>鎴戠殑瑙嗛</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/mine/myAttention')">
+ <view>
+ <text class="iconfont"></text>
+ </view>
+ <view>鎴戠殑鍏虫敞</view>
+ </view>
+<!-- <view class="order-item" @click="navigateTo('/pages/mine/myCollect/myCollect')">
+ <view>
+ <text class="iconfont"></text>
+ </view>
+ <view>鏀惰棌鍒楄〃</view>
+ </view -->
+ <view class="order-item" @click="navigateTo('/pages/mine/activity/myActivity')">
+ <view>
+ <text class="iconfont"></text>
+ </view>
+ <view>鎴戠殑娲诲姩</view>
+ </view>
+<!-- <view class="order-item" @click="navigateTo('/pages/mine/myTracks')">
+ <view>
+ <text class="iconfont"></text>
+ </view>
+ <view>娴忚璁板綍</view>
+ </view> -->
+ </view>
+ </div>
+
+ <!-- 甯哥敤宸ュ叿 -->
+ <view class="pointBox box" style="margin-top: 20rpx;">
+ <tool />
+ </view>
+ <!-- 鎾戣捣涓嬫柟 -->
+ <view style="height:64px;">
+
+ </view>
+ <custom-tabbar bgColor="#ffffff" selected="my"></custom-tabbar>
+
+ </view>
+</template>
+<script>
+import '@/pages/subComponents/uview-components/uview-ui';
+import tool from "@/pages/tabbar/user/utils/tool.vue";
+import { getSTSToken } from "@/api/common.js";
+import { getCouponsNum, getFootprintNum,bindMemberAndStore } from "@/api/members.js";
+import { getUserWallet } from "@/api/members";
+import configs from '@/config/config'
+import storage from '@/utils/storage.js'
+import { getSessionId, userAction } from "@/api/userAction.js";
+import {getONPrizeActivity} from "@/api/prize-activity";
+import UIcon from "../../subComponents/uview-components/uview-ui/components/u-icon/u-icon.vue";
+import base64image from '@/static/mine/base64image.js';
+import base64image2 from '@/static/mine/base64image2.js';
+export default {
+ components: {
+ UIcon,
+ tool
+ },
+ data() {
+ return {
+ base64image,
+ base64image2,
+ prizeActivity: {},
+ endpoint: '',
+ configs,
+ userImage:configs.defaultUserPhoto,
+ coverTransform: "translateY(0px)",
+ coverTransition: "0s",
+ moving: false,
+ userInfo: {},
+ couponNum: "",
+ footNum: "",
+ walletNum: "",
+ pageSessionNo:"",
+ actionParam:{
+ sessionId:'',
+ actionType:"PAGE",
+ joinType:"SELF",
+ pageCode:"TBA_BAR_MY",
+ pageParams:"{}",
+ pageStatus:"JOIN",
+ pageType:"DETAIL"
+ }
+ };
+ },
+ onLoad(option) {
+ this.actionParam.pageParams = JSON.stringify(option)
+ console.log('-----------鍒嗕韩鍑虹殑鏁版嵁---------->', option)
+ let shareStoreId = null;
+ let shareTime = null;
+ // 妫�鏌ユ槸鍚﹀瓨鍦╭鍙傛暟
+ if (option.q) {
+ // 鍙岄噸瑙g爜锛氬井淇″URL杩涜浜嗕袱娆$紪鐮�
+ const decodedUrl = decodeURIComponent(decodeURIComponent(option.q));
+ console.log('鍘熷URL:', decodedUrl);
+
+ // 瑙f瀽URL涓殑鏌ヨ鍙傛暟
+ const params = this.parseUrlParams(decodedUrl);
+ shareStoreId = params.shareStoreId;
+ try {
+ // 灏嗘暟鎹瓨鍌ㄥ埌鏈湴缂撳瓨
+ uni.setStorageSync('shareStoreId', shareStoreId);
+ //鍒涘缓涓�涓壂鐮佺殑鏃堕棿
+ // 鑾峰彇褰撳墠鏃堕棿骞舵牸寮忓寲涓� yyyy-MM-dd HH:mm:ss
+ const now = new Date();
+ const year = now.getFullYear();
+ const month = String(now.getMonth() + 1).padStart(2, '0'); // 鏈堜唤浠�0寮�濮嬶紝闇�瑕�+1
+ const day = String(now.getDate()).padStart(2, '0');
+ const hours = String(now.getHours()).padStart(2, '0');
+ const minutes = String(now.getMinutes()).padStart(2, '0');
+ const seconds = String(now.getSeconds()).padStart(2, '0');
+
+ shareTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+ uni.setStorageSync('shareTime', shareTime);
+ console.log('鏁版嵁瀛樺偍鎴愬姛');
+ } catch (e) {
+ console.error('瀛樺偍澶辫触锛�', e);
+ }
+ }
+ this.initCOS()
+ },
+ onUnload() {
+ let param = Object.assign({}, this.actionParam);
+ if (this.sendOnShow)return
+ param.pageStatus = "LEAVE"
+ userAction(param)
+ },
+ onHide() {
+ this.startHidenTime = Date.now()
+ let param =Object.assign({}, this.actionParam);
+ this.sendOnShow = true;
+ param.pageStatus = "LEAVE"
+ userAction(param)
+ },
+ // onLoad(options) {
+ //
+ // this.initCOS()
+ // },
+ onShow() {
+ this.getONPrizeActivity();
+ getSessionId().then(res=>{
+ this.pageSessionNo = res.data.data
+ this.actionParam.sessionId = res.data.data
+ if(this.pageSessionNo){
+ let param = Object.assign({}, this.actionParam);
+ param.sessionId = this.pageSessionNo
+ userAction(param)
+ }
+ })
+
+ this.userInfo = this.$options.filters.isLogin() || {};
+ if (this.$options.filters.isLogin("auth")) {
+ this.getUserOrderNum();
+ } else {
+ this.walletNum = 0;
+ this.couponNum = 0;
+ this.footNum = 0;
+ }
+
+ let shareStoreId = uni.getStorageSync('shareStoreId');
+ let shareTime = uni.getStorageSync('shareTime');
+ console.log('浠庣紦瀛樿鍙栧弬鏁�:', { shareStoreId, shareTime });
+ if (shareStoreId && shareTime) {
+ console.log('妫�娴嬪埌鏈夋晥鍙傛暟锛岃皟鐢ㄥ悗绔帴鍙�');
+ this.bindMemberAndStore(shareStoreId, shareTime);
+ } else {
+ console.log('鏃犳湁鏁堝弬鏁帮紝鎵ц姝e父閫昏緫');
+ }
+ },
+ onPullDownRefresh() {
+ this.getUserOrderNum();
+ this.userInfo = this.$options.filters.isLogin();
+ this.getONPrizeActivity(); // 涓嬫媺鍒锋柊鍚屾鏈�鏂版椿鍔ㄧ姸鎬�
+ },
+ // #ifndef MP
+ onNavigationBarButtonTap(e) {
+ const index = e.index;
+ if (index === 0) {
+ this.navigateTo("/pages/mine/set/setUp");
+ }
+ },
+ // #endif
+
+ mounted() { },
+ methods: {
+ formatDate(isoTime) {
+ if (!isoTime) return '';
+ const date = new Date(isoTime);
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, '0');
+ const day = String(date.getDate()).padStart(2, '0');
+ return `${year}骞�${month}鏈�${day}鏃; // 杞崲涓轰腑鏂囨牸寮�
+ },
+ getONPrizeActivity(){
+ getONPrizeActivity().then(res =>{
+ if(res.statusCode=== 200){
+ //鍚庣娌℃煡鍒板紑鍚殑鎶藉娲诲姩 res.data.data.id鍊间负null
+ this.prizeActivity = res.data.data; // 瀛樺偍瀹屾暣娲诲姩鏁版嵁
+ if (this.prizeActivity.endTime) {
+ }else {
+ this.prizeActivity = {}; // 鏃犳椿鍔ㄦ椂娓呯┖
+ }
+ }
+ })
+ },
+ gotoPrizeActivity(){
+ uni.navigateTo({
+ url:'/pages/prize/PrizeDetail/PrizeDetail?id=' + this.prizeActivity.id,
+ });
+ },
+ // 瑙f瀽URL鍙傛暟
+ parseUrlParams(url) {
+ const params = {};
+ // 澶勭悊鍙兘瀛樺湪鐨刪ash锛堝鏋滄湁鐨勮瘽锛�
+ const cleanUrl = url.split('#')[0];
+ const queryStr = cleanUrl.split('?')[1] || '';
+
+ queryStr.split('&').forEach(pair => {
+ const [key, value] = pair.split('=');
+ if (key) {
+ // 濡傛灉鍊煎瓨鍦紝鍒欒В鐮侊紝鍚﹀垯璁句负绌哄瓧绗︿覆
+ params[key] = value ? decodeURIComponent(value) : '';
+ }
+ });
+
+ return params;
+ },
+ async bindMemberAndStore(shareStoreId, shareTime){
+ let form ={
+ shareStoreId: shareStoreId,
+ shareTime: shareTime
+ }
+ // let form ={
+ // shareStoreId: "1376433565247471616",
+ // shareTime: "2025-09-26 16:18:00"
+ // }
+ try {
+ const res = await bindMemberAndStore(form);
+ if(res.statusCode === 200){
+ //娓呴櫎缂撳瓨
+ uni.removeStorageSync('shareStoreId');
+ uni.removeStorageSync('shareTime');
+ }
+ }
+ catch(error) {
+ console.error('鍑洪敊:', error);
+ };
+ },
+ // goTOSuccess(){
+ // uni.redirectTo({
+ // url:"/pages/cart/payment/success?paymentMethod=WECHAT" +
+ // "&payPrice=" +
+ // 10,
+ // });
+ // },
+ // 鍒濆鍖栬吘璁簯cos瀹㈡埛绔�
+ initCOS() {
+ // 璋冪敤鍚庣鑾峰彇sts涓存椂璁块棶鍑瘉
+ getSTSToken().then(res => {
+ this.endpoint = res.data.data.endpoint
+ })
+ },
+ // 璺宠浆瑙嗛涓婚〉
+ jumpToVideoHome() {
+ uni.navigateTo({
+ url: '/pages/video/home-page?authorId=' + storage.getUserInfo().id
+ });
+ },
+ /**
+ * 缁熶竴璺宠浆鎺ュ彛,鎷︽埅鏈櫥褰曡矾鐢�
+ * navigator鏍囩鐜板湪榛樿娌℃湁杞満鍔ㄧ敾锛屾墍浠ョ敤view
+ */
+ navigateTo(url) {
+ uni.navigateTo({
+ url,
+ });
+ },
+ userDetail() {
+ this.userInfo.id
+ ? this.navigateTo("/pages/mine/set/personMsg")
+ : this.$options.filters.navigateToLogin();;
+ },
+ async getUserOrderNum() {
+ uni.stopPullDownRefresh();
+
+ Promise.all([
+ getCouponsNum(), //浼樻儬鍒�
+ getFootprintNum(), //娴忚鏁伴噺
+ getUserWallet(), //棰勫瓨娆�
+ ]).then((res) => {
+ this.couponNum = res[0].data.result;
+ this.footNum = res[1].data.result;
+ this.walletNum = res[2].data.result.memberWallet;
+ });
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+ @import url("/pages/subComponents/static/bgStyle.css");
+html,
+body {
+ overflow: auto;
+}
+ .floating-btn-content {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ z-index: 1;
+ position: relative;
+ }
+ .floating-btn-icon {
+ font-size: 75rpx;
+ color: white;
+ filter: drop-shadow(0 2rpx 4rpx rgba(0, 0, 0, 0.2));
+ margin-bottom: 5rpx;
+ }
+ .floating-btn-text {
+ font-size: 20rpx;
+ color: white;
+ z-index: 1;
+ position: relative;
+ text-shadow: 0 1rpx 3rpx rgba(0, 0, 0, 0.2);
+ white-space: nowrap;
+ }
+.member-gradient-bg {
+ width: 98%;
+ height: 250rpx;
+ margin: 1% 1%;
+ border-radius: 24rpx;
+ box-shadow: 0 8rpx 30rpx rgba(255, 82, 82, 0.3);
+ transition: all 0.3s ease;
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ &:active {
+ transform: scale(0.98);
+ }
+ cursor: pointer; // 澧炲姞鐐瑰嚮鎸囬拡鏍峰紡
+ overflow: hidden; // 闃叉鍐呭婧㈠嚭
+ .activity-content {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ padding: 0 40rpx;
+ box-sizing: border-box;
+ }
+
+ // 娲诲姩鍥炬爣
+ .activity-icon {
+ width: 130rpx;
+ height: 130rpx;
+ margin-right: 24rpx;
+ border-radius: 16rpx;
+ overflow: hidden;
+ image {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+ }
+ }
+
+ // 娲诲姩淇℃伅鍖哄煙
+ .activity-info {
+ flex: 1;
+ .activity-name {
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #fff;
+ margin: 0 0 8rpx 0;
+ text-shadow: 0 2rpx 4rpx rgba(0,0,0,0.1);
+ }
+ .activity-desc {
+ font-size: 22rpx;
+ color: rgba(255,255,255,0.9);
+ margin: 0;
+ }
+ }
+
+ // 鍊掕鏃舵牱寮�
+ .activity-countdown {
+ display: flex;
+ align-items: center;
+ margin-top: 12rpx;
+ .countdown-label {
+ font-size: 20rpx;
+ color: rgba(255,255,255,0.8);
+ margin-right: 8rpx;
+ }
+ .countdown-box {
+ display: flex;
+ align-items: center;
+ }
+ .countdown-item {
+ display: inline-block;
+ width: 36rpx;
+ height: 36rpx;
+ line-height: 36rpx;
+ background: rgba(255,255,255,0.3);
+ border-radius: 8rpx;
+ color: #fff;
+ font-size: 20rpx;
+ text-align: center;
+ margin: 0 4rpx;
+ }
+ .countdown-sep {
+ color: #fff;
+ font-size: 22rpx;
+ margin: 0 4rpx;
+ }
+ }
+
+ // 绔嬪嵆鍙備笌鍏ュ彛
+ .activity-enter {
+ display: flex;
+ align-items: center;
+ .enter-text {
+ font-size: 24rpx;
+ color: #fff;
+ margin-right: 8rpx;
+ font-weight: 500;
+ }
+ }
+}
+
+/* 鍐呭鍖哄煙 */
+.member-content {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ align-items: center;
+ padding: 0 40rpx;
+ box-sizing: border-box;
+}
+/* 浼氬憳淇℃伅 */
+.vip-info {
+ flex: 1;
+ .vip-level {
+ font-size: 40rpx;
+ font-weight: bold;
+ color: #FFFFFF;
+ margin: 0;
+ line-height: 1;
+ text-shadow: 0 2rpx 4rpx rgba(0, 0, 0, 0.1);
+ }
+
+ .vip-validity {
+ font-size: 26rpx;
+ color: rgba(255, 255, 255, 0.9);
+ margin: 10rpx 0 0 0;
+ }
+}
+
+/* 浼氬憳鍥炬爣 */
+.vip-icon {
+ width: 100rpx;
+ height: 100rpx;
+ margin-right: 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background-color: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+}
+
+.vip-icon image {
+ width: 60rpx;
+ height: 60rpx;
+}
+/* 鐗规潈鏍囪瘑 */
+.vip-badge {
+ padding: 8rpx 20rpx;
+ background-color: rgba(255, 215, 0, 0.9);
+ border-radius: 30rpx;
+ box-shadow: 0 3rpx 6rpx rgba(0, 0, 0, 0.1);
+}
+
+.badge-text {
+ font-size: 24rpx;
+ color: #E63946;
+ font-weight: 600;
+}
+
+.money {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.user {
+ background: #e7e7e7;
+ .header {
+ max-width: 100%;
+ padding: calc(50rpx + var(--status-bar-height)) 30rpx 0 6%;
+ height: calc(360rpx);
+ background-size: cover;
+ border-bottom-left-radius: 30rpx;
+ border-bottom-right-radius: 30rpx;
+ background-size: cover;
+ background-position: center;
+ background-repeat: no-repeat;
+ color: #ffffff;
+ display: flex;
+ justify-content: space-between;
+
+ .head-1 {
+ text-align: center;
+ width: 152rpx;
+ position: relative;
+ display: flex;
+ align-items: center;
+
+ image {
+ width: 152rpx;
+ height: 144rpx;
+ border-radius: 50%;
+ margin-bottom: 30rpx;
+ border: 3px solid #fff;
+ }
+
+ .edti-head {
+ position: absolute;
+ width: 40rpx;
+ height: 40rpx;
+ border-radius: 50%;
+ background-color: rgba(255, 255, 255, 0.3);
+ top: 100rpx;
+ right: 0;
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+
+ .head-2 {
+ flex: 1;
+ margin-left: 30rpx;
+ margin-top: 100rpx;
+ line-height: 1;
+ }
+
+ /deep/ .u-icon,
+ .u-icon {
+ margin-top: 106rpx;
+ }
+ }
+
+ .point {
+ text-align: center;
+ height: 160rpx;
+
+ font-size: $font-sm;
+ // #ifdef MP-WEIXIN
+ padding: 24rpx;
+
+ // #endif
+ .u-col {
+ view {
+ color: $u-main-color;
+ font-size: 28rpx;
+ }
+
+ view:last-child {
+ margin-top: 8rpx;
+ color: $main-color;
+ font-size: $font-lg;
+ }
+ }
+ }
+
+ .order {
+ height: 140rpx;
+ text-align: center;
+ font-size: $font-sm;
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ padding: 0 3%;
+ color: #666;
+ background: #fff;
+ border-radius: 20rpx;
+ box-shadow: 0 4rpx 24rpx 0 #f6f6f6;
+ margin: 0 20rpx;
+
+ .order-item {
+ position: relative;
+ line-height: 2em;
+ width: 96rpx;
+
+ :first-child {
+ font-size: 48rpx;
+ margin-bottom: 12rpx;
+ color: #333;
+ }
+ }
+ }
+
+}
+
+.box {
+ width: 95%;
+ margin: auto;
+ background: #fff;
+ border-radius: 20rpx;
+ box-shadow: 0 4rpx 24rpx 0 #f6f6f6;
+}
+
+.user-name {
+ font-size: 34rpx;
+}
+
+.bag {
+ width: 56rpx;
+ height: 56rpx;
+ border-radius: 50%;
+ margin: 0 auto;
+}
+
+.bag1 {
+ background: #ff4a48;
+}
+
+.bag2 {
+ background: #ff992f;
+}
+
+.bag3 {
+ background: #009ee0;
+}
+
+.bag4 {
+ background: #00d5d5;
+}
+
+.bag5 {
+ background: #28ccb0;
+}
+</style>
diff --git a/pages/tabbar/user/my.vue b/pages/tabbar/user/my.vue
index 90c3ead..4817278 100644
--- a/pages/tabbar/user/my.vue
+++ b/pages/tabbar/user/my.vue
@@ -20,68 +20,67 @@
</view>
<u-icon style="display: flex;align-items: flex-start;" name="arrow-right"></u-icon>
</view>
-
- <!-- 绉垎锛屼紭鎯犲埜锛屽叧娉紝 -->
- <div class="pointBox1">
- <view class="point">
- <view class="point-col" @click="navigateTo('/pages/cart/coupon/myCoupon')">
- <view class="point-item">
- <text class="label">浼樻儬鍒�</text>
- <text class="value">{{ couponNum || 0 }}</text>
- <text class="label">寮�</text>
- </view>
- </view>
- <view class="point-col" @click="navigateTo('/pages/mine/deposit/operation')">
- <view class="point-item">
- <text class="label">浣欓</text>
- <text class="value">{{ walletNum | unitPrice }}</text>
- </view>
- </view>
- </view>
- <!-- 鎴戠殑璁㈠崟锛屼唬浠樻 -->
- <view class="order">
- <view class="order-header" @click="navigateTo('/pages/order/myOrder?status=0')">
- <view class="left">鎴戠殑璁㈠崟</view>
- <view class="right">
- <text>鍏ㄩ儴璁㈠崟</text>
- <u-icon name="arrow-right" size="24" color="#999"></u-icon>
- </view>
- </view>
- <view class="order-content">
- <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=1')">
- <view class="icon-box">
- <image src="/static/tool/寰呬粯娆�.png" mode="aspectFit"></image>
- </view>
- <view>寰呬粯娆�</view>
- </view>
- <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=2')">
- <view class="icon-box">
- <image src="/static/tool/寰呭彂璐�.png" mode="aspectFit"></image>
- </view>
- <view>寰呭彂璐�</view>
- </view>
- <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=3')">
- <view class="icon-box">
- <image src="/static/tool/寰呮敹璐�.png" mode="aspectFit"></image>
- </view>
- <view>寰呮敹璐�</view>
- </view>
- <view class="order-item" @click="navigateTo('/pages/order/evaluate/myEvaluate')">
- <view class="icon-box">
- <image src="/static/tool/璇勪环涓績.png" mode="aspectFit"></image>
- </view>
- <view>寰呰瘎浠�</view>
- </view>
- <view class="order-item" @click="navigateTo('/pages/order/afterSales/afterSales')">
- <view class="icon-box">
- <image src="/static/tool/鎴戠殑璁㈠崟-閫�璐鍞悗.png" mode="aspectFit"></image>
- </view>
- <view>鍞悗</view>
- </view>
- </view>
- </view>
- </div>
</view>
+ <!-- 绉垎锛屼紭鎯犲埜锛屽叧娉紝 -->
+ <div class="pointBox1">
+ <view class="point">
+ <view class="point-col" @click="navigateTo('/pages/cart/coupon/myCoupon')">
+ <view class="point-item">
+ <text class="label">浼樻儬鍒�</text>
+ <text class="value">{{ couponNum || 0 }}</text>
+ <text class="label">寮�</text>
+ </view>
+ </view>
+ <view class="point-col" @click="navigateTo('/pages/mine/deposit/operation')">
+ <view class="point-item">
+ <text class="label">浣欓</text>
+ <text class="value">{{ walletNum | unitPrice }}</text>
+ </view>
+ </view>
+ </view>
+ <!-- 鎴戠殑璁㈠崟锛屼唬浠樻 -->
+ <view class="order">
+ <view class="order-header" @click="navigateTo('/pages/order/myOrder?status=0')">
+ <view class="left">鎴戠殑璁㈠崟</view>
+ <view class="right">
+ <text>鍏ㄩ儴璁㈠崟</text>
+ <u-icon name="arrow-right" size="24" color="#999"></u-icon>
+ </view>
+ </view>
+ <view class="order-content">
+ <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=1')">
+ <view class="icon-box">
+ <image src="/static/tool/unpaid.png" mode="aspectFit"></image>
+ </view>
+ <view>寰呬粯娆�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=2')">
+ <view class="icon-box">
+ <image src="/static/tool/unshipped.png" mode="aspectFit"></image>
+ </view>
+ <view>寰呭彂璐�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/myOrder?status=3')">
+ <view class="icon-box">
+ <image src="/static/tool/unreceived.png" mode="aspectFit"></image>
+ </view>
+ <view>寰呮敹璐�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/evaluate/myEvaluate')">
+ <view class="icon-box">
+ <image src="/static/tool/comment.png" mode="aspectFit"></image>
+ </view>
+ <view>寰呰瘎浠�</view>
+ </view>
+ <view class="order-item" @click="navigateTo('/pages/order/afterSales/afterSales')">
+ <view class="icon-box">
+ <image src="/static/tool/refund.png" mode="aspectFit"></image>
+ </view>
+ <view>鍞悗</view>
+ </view>
+ </view>
+ </view>
+ </div>
<view class="member-gradient-bg" v-if="prizeActivity.enableStatus === 'ON'"
:style="{ backgroundImage: `url(${base64image.prizeActivityBg})` }">
<view class="member-gradient-bg" @click="gotoPrizeActivity">
@@ -117,11 +116,7 @@
<view class="pointBox box" style="margin-top: 20rpx;">
<tool />
</view>
- <!-- 鎾戣捣涓嬫柟 -->
- <view style="height:64px;">
-
- </view>
- <custom-tabbar bgColor="#ffffff" selected="my"></custom-tabbar>
+ <custom-tabbar bgColor="#ffffff" selected="my" selectedTextColor="#25a885"></custom-tabbar>
</view>
</template>
@@ -151,12 +146,8 @@
endpoint: '',
configs,
userImage: configs.defaultUserPhoto,
- coverTransform: "translateY(0px)",
- coverTransition: "0s",
- moving: false,
userInfo: {},
couponNum: "",
- footNum: "",
walletNum: "",
pageSessionNo: "",
actionParam: {
@@ -241,7 +232,6 @@
} else {
this.walletNum = 0;
this.couponNum = 0;
- this.footNum = 0;
}
let shareStoreId = uni.getStorageSync('shareStoreId');
@@ -270,14 +260,6 @@
mounted() { },
methods: {
- formatDate(isoTime) {
- if (!isoTime) return '';
- const date = new Date(isoTime);
- const year = date.getFullYear();
- const month = String(date.getMonth() + 1).padStart(2, '0');
- const day = String(date.getDate()).padStart(2, '0');
- return `${year}骞�${month}鏈�${day}鏃; // 杞崲涓轰腑鏂囨牸寮�
- },
getONPrizeActivity() {
getONPrizeActivity().then(res => {
if (res.statusCode === 200) {
@@ -376,7 +358,6 @@
getUserWallet(), //棰勫瓨娆�
]).then((res) => {
this.couponNum = res[0].data.result;
- this.footNum = res[1].data.result;
this.walletNum = res[2].data.result.memberWallet;
});
},
@@ -597,8 +578,8 @@
}
.user {
- background: #e7e7e7;
-
+ background: #f5f5f5;
+ height: 100vh;
.header-wrapper {
background-size: 100% auto;
background-repeat: no-repeat;
@@ -606,6 +587,7 @@
}
.header {
+ min-height: 360rpx;
max-width: 100%;
padding: 100rpx 30rpx 0 5%;
display: flex;
@@ -778,7 +760,7 @@
background: #f5f5f5;
border-radius: 40rpx 40rpx 0 0;
box-shadow: 0 -4rpx 24rpx 0 rgba(0, 0, 0, 0.05);
- margin-top: 40rpx;
+ margin-top: -40rpx;
}
.box {
diff --git a/pages/tabbar/user/utils/tool.vue b/pages/tabbar/user/utils/tool.vue
index 02dc5ff..b8bcdb8 100644
--- a/pages/tabbar/user/utils/tool.vue
+++ b/pages/tabbar/user/utils/tool.vue
@@ -5,19 +5,22 @@
<view class="paddingBox">
<view class="interact-container">
-
+ <view class="interact-item" @click="navigateTo('/pages/mine/help/customerService')">
+ <image src="/static/tool/service.png" mode=""></image>
+ <view>鑱旂郴瀹㈡湇</view>
+ </view>
<view class="interact-item" @click="navigateTo('/pages/mine/set/setUp')">
- <image src="/static/tool/璁剧疆.png" mode=""></image>
+ <image src="/static/tool/settings.png" mode=""></image>
<view>璁剧疆</view>
</view>
<view class="interact-item" @click="navigateTo('/pages/mine/address/addressManage')">
- <image src="/static/tool/鏀惰揣鍦板潃.png" mode=""></image>
+ <image src="/static/tool/address.png" mode=""></image>
<view>鏀惰揣鍦板潃</view>
</view>
<view class="interact-item" @click="navigateTo('/pages/mine/myTracks')">
- <image src="/static/tool/娴忚璁板綍.png" mode=""></image>
+ <image src="/static/tool/history.png" mode=""></image>
<view>娴忚璁板綍</view>
</view>
@@ -27,7 +30,7 @@
</view> -->
<view class="interact-item" @click="navigateTo('/pages/mine/point/myPoint')">
- <image src="/static/tool/绉垎.png" mode=""></image>
+ <image src="/static/tool/points.png" mode=""></image>
<view>鎴戠殑绉垎</view>
</view>
<!-- <view class="interact-item" @click="linkMsgDetail()">
@@ -124,12 +127,12 @@
<view class="interact-item" @click="navigateTo('/pages/passport/entry/seller/index')">
- <image src="/static/tool/渚涘簲鍟嗗叆椹�.png" mode=""></image>
+ <image src="/static/tool/supplier.png" mode=""></image>
<view>渚涘簲鍟嗗叆椹�</view>
</view>
<view class="interact-item" @click="navigateTo('/pages/mine/set/editionIntro')">
- <image src="/static/tool/鍏充簬鎴戜滑.png" mode=""></image>
+ <image src="/static/tool/about.png" mode=""></image>
<view>鍏充簬鎴戜滑</view>
</view>
@@ -211,6 +214,7 @@
navigateTo(url) {
const ignores = [
'/pages/mine/set/setUp',
+ '/pages/mine/help/customerService',
'/pages/mine/set/editionIntro',
'/pages/mine/set/feedBack',
'/pages/goods-manager/goodsList/goodsList',
@@ -312,10 +316,22 @@
text-align: center;
.interact-item {
- font-size: $font-sm;
+ font-size: 24rpx;
width: 25%;
height: 160rpx;
- padding: 30rpx;
+ padding: 30rpx 10rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ box-sizing: border-box;
+
+ view {
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ }
}
}
}
diff --git a/static/tabbar/cart-s.png b/static/tabbar/cart-s.png
deleted file mode 100644
index 70052fd..0000000
--- a/static/tabbar/cart-s.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/cart.png b/static/tabbar/cart.png
deleted file mode 100644
index df374d6..0000000
--- a/static/tabbar/cart.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/category-s.png b/static/tabbar/category-s.png
deleted file mode 100644
index 2718e4f..0000000
--- a/static/tabbar/category-s.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/category.png b/static/tabbar/category.png
deleted file mode 100644
index 77e73a7..0000000
--- a/static/tabbar/category.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/home-s.png b/static/tabbar/home-s.png
deleted file mode 100644
index 2dc5322..0000000
--- a/static/tabbar/home-s.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/home.png b/static/tabbar/home.png
deleted file mode 100644
index c33705c..0000000
--- a/static/tabbar/home.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/mine-s.png b/static/tabbar/mine-s.png
deleted file mode 100644
index 10df912..0000000
--- a/static/tabbar/mine-s.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/mine.png b/static/tabbar/mine.png
deleted file mode 100644
index 0d5ca01..0000000
--- a/static/tabbar/mine.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/video-selected.png b/static/tabbar/video-selected.png
deleted file mode 100644
index bdacf06..0000000
--- a/static/tabbar/video-selected.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/video.png b/static/tabbar/video.png
deleted file mode 100644
index 35b80c0..0000000
--- a/static/tabbar/video.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/video1-selected.png b/static/tabbar/video1-selected.png
deleted file mode 100644
index b913f35..0000000
--- a/static/tabbar/video1-selected.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/video1.png b/static/tabbar/video1.png
deleted file mode 100644
index ad236ef..0000000
--- a/static/tabbar/video1.png
+++ /dev/null
Binary files differ
diff --git a/static/tabbar/vip.png b/static/tabbar/vip.png
deleted file mode 100644
index fa796e6..0000000
--- a/static/tabbar/vip.png
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\344\276\233\345\272\224\345\225\206\345\205\245\351\251\273.png" "b/static/tool/\344\276\233\345\272\224\345\225\206\345\205\245\351\251\273.png"
deleted file mode 100644
index 0c5f1ac..0000000
--- "a/static/tool/\344\276\233\345\272\224\345\225\206\345\205\245\351\251\273.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\345\205\263\344\272\216\346\210\221\344\273\254.png" "b/static/tool/\345\205\263\344\272\216\346\210\221\344\273\254.png"
deleted file mode 100644
index c50aa1d..0000000
--- "a/static/tool/\345\205\263\344\272\216\346\210\221\344\273\254.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\345\256\242\346\234\215.png" "b/static/tool/\345\256\242\346\234\215.png"
deleted file mode 100644
index ec51e77..0000000
--- "a/static/tool/\345\256\242\346\234\215.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\345\276\205\344\273\230\346\254\276.png" "b/static/tool/\345\276\205\344\273\230\346\254\276.png"
deleted file mode 100644
index 54e4f1f..0000000
--- "a/static/tool/\345\276\205\344\273\230\346\254\276.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\345\276\205\345\217\221\350\264\247.png" "b/static/tool/\345\276\205\345\217\221\350\264\247.png"
deleted file mode 100644
index 3b84601..0000000
--- "a/static/tool/\345\276\205\345\217\221\350\264\247.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\345\276\205\346\224\266\350\264\247.png" "b/static/tool/\345\276\205\346\224\266\350\264\247.png"
deleted file mode 100644
index e493e20..0000000
--- "a/static/tool/\345\276\205\346\224\266\350\264\247.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\346\210\221\347\232\204\350\256\242\345\215\225-\351\200\200\350\264\247_\345\224\256\345\220\216.png" "b/static/tool/\346\210\221\347\232\204\350\256\242\345\215\225-\351\200\200\350\264\247_\345\224\256\345\220\216.png"
deleted file mode 100644
index 5d15367..0000000
--- "a/static/tool/\346\210\221\347\232\204\350\256\242\345\215\225-\351\200\200\350\264\247_\345\224\256\345\220\216.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\346\224\266\350\264\247\345\234\260\345\235\200.png" "b/static/tool/\346\224\266\350\264\247\345\234\260\345\235\200.png"
deleted file mode 100644
index f91e3fa..0000000
--- "a/static/tool/\346\224\266\350\264\247\345\234\260\345\235\200.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\346\265\217\350\247\210\350\256\260\345\275\225.png" "b/static/tool/\346\265\217\350\247\210\350\256\260\345\275\225.png"
deleted file mode 100644
index 07c9a0c..0000000
--- "a/static/tool/\346\265\217\350\247\210\350\256\260\345\275\225.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\347\247\257\345\210\206.png" "b/static/tool/\347\247\257\345\210\206.png"
deleted file mode 100644
index 5c5bb69..0000000
--- "a/static/tool/\347\247\257\345\210\206.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\350\256\276\347\275\256.png" "b/static/tool/\350\256\276\347\275\256.png"
deleted file mode 100644
index ea1a022..0000000
--- "a/static/tool/\350\256\276\347\275\256.png"
+++ /dev/null
Binary files differ
diff --git "a/static/tool/\350\257\204\344\273\267\344\270\255\345\277\203.png" "b/static/tool/\350\257\204\344\273\267\344\270\255\345\277\203.png"
deleted file mode 100644
index 25f90e9..0000000
--- "a/static/tool/\350\257\204\344\273\267\344\270\255\345\277\203.png"
+++ /dev/null
Binary files differ
--
Gitblit v1.8.0