Browse Source

修复UI显示

XSXS 1 month ago
parent
commit
61d6361f6d

+ 2 - 1
components/DropdownMenu.vue

@@ -1,7 +1,8 @@
 <template>
   <view class="dropdown-container">
     <view class="dropdown-trigger" @tap="toggleDropdown">
-      <text class="fa fa-ellipsis-h"></text>
+      <!--  -->
+       <image src="@/static/icon/more2.png" style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
     </view>
     <view class="dropdown-menu" v-if="show">
       <view 

+ 2 - 2
components/PageHeader/PageHeader.vue

@@ -4,7 +4,7 @@
     <view class="navbar" :style="cssStyle">
       <view class="navbar-left">
         <view class="back-icon" @click="isBack ? goBack() : back()">
-          <uni-icons type="left" size="20" color="#000000"></uni-icons>
+          <uni-icons type="left left-back" size="20" color="#000000"></uni-icons>
         </view>
       </view>
       <view class="navbar-title">
@@ -76,7 +76,7 @@ export default {
 .navbar-title {
   flex: 1;
   text-align: center;
-  font-size: 36rpx;
+  font-size: 32rpx;
   font-weight: bold;
   display: flex;
   align-items: center;

+ 2 - 2
components/WorkItem/WorkItem.vue

@@ -53,7 +53,7 @@ export default {
       left: 0;
       top: 0;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-      box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
+      // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
       border-radius: 16rpx;
       &:active {
         transform: scale(0.98);
@@ -65,7 +65,7 @@ export default {
         left: 14rpx;
         top: 14rpx;
         background: rgba(0, 0, 0, 0.3);
-        border-radius: 24rpx;
+        border-radius: 12rpx;
         font-family: "PingFang SC-Medium";
         font-size: 20rpx;
         font-weight: 400;

+ 4 - 1
components/checkIn-popUp-window/checkIn-popUp-window.vue

@@ -202,7 +202,7 @@ export default {
 			display: flex;
 			align-items: center;
 			justify-content: space-between;
-			margin-top: 20rpx;
+			margin-top: 10rpx;
 			font-size: 28rpx;
 			color: #333333;
 
@@ -445,6 +445,9 @@ export default {
 		justify-content: center;
 		width: 100%;
 		margin-top: 30rpx;
+		font-weight: 400;
+		font-family: "PingFang SC-Bold";
+		font-size: 32rpx;
 	}
 
 	.sign-switch {

+ 1 - 2
pages.json

@@ -59,8 +59,7 @@
 		}, {
 			"path": "pages/AboutUs/pay_xy",
 			"style": {
-				"navigationBarTitleText": "协议",
-				"navigationStyle": "custom",
+				"navigationBarTitleText": "M币充值协议", 
 				"navigationBarBackgroundColor": "#ffffff"
 			}
 		}, {

+ 95 - 44
pages/index/Search.vue

@@ -20,7 +20,7 @@
     <view class="search-history" v-if="searchStatus && historyList.length > 0">
       <view class="history-header">
         <text class="title">搜索历史</text>
-        <uni-icons type="trash" size="17" color="#999" @click="clearHistory"></uni-icons>
+        <image @click="clearHistory" style="width: 32rpx;height: 32rpx;" class="deleteAll" src="@/static/home/sy_icon_shanchu.png"></image>
       </view>
       <view class="history-list">
         <view class="history-item" v-for="(item, index) in displayedHistoryList" :key="index"
@@ -35,8 +35,10 @@
         </view>
         <view class="expandBtn" @click="toggleHistory">
           <view v-if="!isExpanded">
+          <template v-if="historyList.length > 5">
             查看全部
             <image src="@/static/home/sy_icon_chakanquanbu.png"></image>
+          </template>
           </view>
           <view v-else class="fold">
             折叠历史记录
@@ -75,7 +77,7 @@
           </view>
         </view>
 
-        <view v-show="currentTab === 1" class="follow-list">
+        <view v-show="currentTab === 1" class="follow-list" style="padding: 0 30rpx;">
           <block v-if="recommendList.length > 0">
             <view class="follow-item" v-for="(item, index) in recommendList" :key="index" @click="goToUserHomepage(item.id)"> 
               <CircleAvatar  @click="goToUserHomepage(item.user_id)" class="avator" :src="item.avator"></CircleAvatar>
@@ -200,16 +202,22 @@ export default {
 
     // 清空历史记录
     clearHistory() {
-      uni.showModal({
+
+      this.$refs['DialogBox'].confirm({
         title: '提示',
         content: '确定要清空搜索历史吗?',
-        success: (res) => {
-          if (res.confirm) {
-            this.historyList = [];
+        DialogType: 'inquiry',
+        btn1: '否',
+        btn2: '是',
+        animation: 0
+      }).then((res) => {
+        if (res.isConfirm) {
+          this.historyList = [];
             uni.setStorageSync(HISTORY_KEY, '[]');
-          }
         }
-      });
+      })
+
+   
     },
     // 清空单个历史记录
     deleteHistoryItem(item) {
@@ -548,6 +556,9 @@ export default {
 .search-container {
   background-color: #ffffff;
   min-height: 100vh;
+  width: 100%;
+  overflow-x: hidden;
+  position: relative;
 
   .search-header {
     background-color: #ffffff;
@@ -562,6 +573,8 @@ export default {
     left: 0;
     top: 0;
     z-index: 9;
+    width: 100%;
+    box-sizing: border-box;
 
     .search-box {
       flex: 1;
@@ -571,6 +584,7 @@ export default {
       display: flex;
       align-items: center;
       padding: 0 24rpx;
+      padding-left: 14rpx;
       width: 622rpx;
       height: 72rpx;
       background: #FFFFFF;
@@ -579,6 +593,8 @@ export default {
       position: relative;
       left: 0;
       top: 0;
+      box-sizing: border-box;
+      max-width: calc(100% - 60rpx);
 
       input {
         flex: 1;
@@ -586,6 +602,8 @@ export default {
         margin: 0 16rpx;
         font-size: 24rpx;
         font-family: 'PingFang SC-Medium';
+        width: auto;
+        min-width: 0;
       }
 
       .searchImgBox {
@@ -598,8 +616,9 @@ export default {
         justify-content: center;
         position: absolute;
         top: 50%;
-        right: 4rpx;
-		transform: translateY(-50%);
+        right: 6rpx;
+        transform: translateY(-50%);
+        flex-shrink: 0;
 
         .image {
           width: 36rpx;
@@ -614,24 +633,29 @@ export default {
       height: 100%;
       margin-right: 24rpx;
       font-weight: 700;
+      flex-shrink: 0;
     }
   }
 
   .reserveASeat {
-    width: 100vh;
+    width: 100%;
     height: calc(108rpx + var(--status-bar-height));
   }
 
   .search-history {
     background-color: #ffffff;
-    margin-top: 20rpx;
     padding: 30rpx;
+    padding-top: 15rpx;
+    width: 100%;
+    box-sizing: border-box;
 
     .history-header {
       display: flex;
       justify-content: space-between;
       align-items: center;
       margin-bottom: 15rpx;
+      width: 100%;
+      box-sizing: border-box;
 
       .title {
         font-size: 30rpx;
@@ -643,12 +667,16 @@ export default {
     .history-list {
       transition: all 1s;
       overflow: hidden;
+      width: 100%;
+      box-sizing: border-box;
 
       .history-item {
         display: flex;
         align-items: center;
-        padding: 13rpx 0;
+        padding: 18rpx 0;
         justify-content: space-between;
+        width: 100%;
+        box-sizing: border-box;
 
         .history-text {
           font-size: 28rpx;
@@ -660,38 +688,22 @@ export default {
           color: #1F1F1F;
           margin-left: 6rpx;
           font-family: 'PingFang SC-Bold';
+          flex: 1;
+          overflow: hidden;
+          min-width: 0;
 
           image {
             width: 32rpx;
             height: 32rpx;
             margin-right: 16rpx;
+            flex-shrink: 0;
           }
         }
 
         .deleteBtn {
           width: 30rpx;
           height: 30rpx;
-        }
-      }
-    }
-
-    .expandBtn {
-      view {
-        font-family: 'PingFang SC-Bold';
-        color: #999999;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-
-        &.fold {
-          image {
-            transform: rotate(180deg) translateY(-2rpx);
-          }
-        }
-
-        image {
-          width: 28rpx;
-          height: 28rpx;
+          flex-shrink: 0;
         }
       }
     }
@@ -701,13 +713,18 @@ export default {
     background-color: #ffffff;
     margin-top: 20rpx;
     min-height: 200rpx;
+    width: 100%;
+    box-sizing: border-box;
 
     .tab-nav {
       display: flex;
       justify-content: flex-start;
       padding: 20rpx 20rpx;
+      padding-top: 0;
       box-sizing: border-box;
       background: #ffffff;
+      width: 100%;
+      overflow-x: hidden;
 
       .tab-item {
         padding: 10rpx 38rpx;
@@ -719,6 +736,9 @@ export default {
         position: relative;
         left: 0;
         top: 0;
+        line-height: 1;
+        flex-shrink: 0;
+        white-space: nowrap;
 
         .indicator-triangle {
           position: absolute;
@@ -745,37 +765,49 @@ export default {
     }
 
     .follow-list {
-      padding: 0 20px;
+      padding: 0;
+      width: 100%;
+      box-sizing: border-box;
 
       .follow-item {
         display: flex;
         align-items: center;
-        padding: 15px 0;
+        padding: 20rpx 0;
+        width: 100%;
+        box-sizing: border-box;
 
         .avator {
           width: 120rpx;
           height: 120rpx;
           margin-right: 24rpx;
+          flex-shrink: 0;
         }
 
         .info {
           flex: 1;
+          min-width: 0;
 
           .top-box {
             display: flex;
             align-items: center;
+            width: 100%;
+            box-sizing: border-box;
 
             .name {
               font-size: 32rpx;
               font-weight: 500;
               margin-bottom: 8rpx;
               max-width: 200rpx;
+              overflow: hidden;
+              text-overflow: ellipsis;
+              white-space: nowrap;
             }
 
             >image {
               width: 36rpx;
               margin-left: 8rpx;
               margin-right: 10rpx;
+              flex-shrink: 0;
             }
 
             .level {
@@ -786,13 +818,9 @@ export default {
               border-radius: 8rpx;
               padding: 2rpx 8rpx;
               display: inline-block;
+              flex-shrink: 0;
             }
           }
-
-          .desc {
-            font-size: 24rpx;
-            color: #999;
-          }
         }
 
         .unfollow-btn {
@@ -802,12 +830,13 @@ export default {
           display: flex;
           justify-content: center;
           align-items: center;
-          color: #666;
+          color: #1f1f1f;
           background: #fff;
-          border: 2rpx solid #000;
+          border: 2rpx solid #1f1f1f;
           border-radius: 112rpx;
           margin: 0;
           font-family: 'PingFang SC-Bold';
+          flex-shrink: 0;
 
           image {
             display: none;
@@ -836,12 +865,34 @@ export default {
     justify-content: center;
     padding: 60rpx 0;
     background-color: #fff;
+    width: 100%;
+    box-sizing: border-box;
 
     text {
       color: #808080;
       font-size: 28rpx;
     }
   }
-
 }
+
+    .expandBtn {
+      view {
+        font-family: 'PingFang SC-Bold';
+        color: #999999;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+
+        &.fold {
+          image {
+            transform: rotate(180deg) translateY(-2rpx);
+          }
+        }
+
+        image {
+          width: 28rpx;
+          height: 28rpx;
+        }
+      }
+    }
 </style>

+ 1 - 1
pages/index/articleDetail.vue

@@ -30,7 +30,7 @@
 					<image v-if="!isItMe" @click="showActionSheet(0)" src="@/static/icon/sy_icon_fenxiang.png"
 						mode="widthFix"></image>
 					<view v-else class="navbar-right" @click="showActionSheet(1)">
-						<text class="fa fa-ellipsis-h"></text>
+						 <image src="@/static/icon/more2.png" style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
 					</view>
 				</template>
 				<image v-else @click="showActionSheet(2)" src="@/static/icon/sy_icon_fenxiang.png" mode="widthFix">

+ 3 - 3
pages/index/index.scss

@@ -19,7 +19,7 @@
   background: #ffffff;
 
   .tab-item {
-    padding: 10rpx 38rpx;
+    padding: 15rpx 38rpx;
     color: #1f1f1f;
     font-size: 28rpx;
     background: #f2f6f2;
@@ -30,10 +30,10 @@
     top: 0;
     transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
     // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
-
+    line-height: 1;
     &:active {
       transform: scale(0.95);
-      box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
+      // box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
     }
 
     .indicator-triangle {

+ 1 - 1
pages/index/workDetail.vue

@@ -39,7 +39,7 @@
         <image v-if="!isItMe" @click="showActionSheet(0)" src="../../static/icon/sy_icon_fenxiang.png" mode="widthFix">
         </image>
         <view v-else class="navbar-right" @click="showActionSheet(1)">
-          <text class="fa fa-ellipsis-h"></text>
+           <image src="@/static/icon/more2.png" style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
         </view>
       </view>
     </view>

+ 1 - 0
pages/make/fabuArticle.scss

@@ -74,6 +74,7 @@ page {
   padding: 0;
   padding-right: 40rpx;
   padding-left: 33rpx;
+  padding-top: var(--status-bar-height);
   box-sizing: border-box;
 
   .left {

+ 3 - 1
pages/make/fabuArticle.vue

@@ -1,5 +1,6 @@
 <template>
 	<view class="page">
+
 		<view class="nav-bar">
 			<view class="left">
 				<view class="uni-btn-icon" @click="goBack">&#xe601;</view>
@@ -11,6 +12,7 @@
 				<view class="btn" @click="onSubmit" v-else>更新</view>
 			</view>
 		</view>
+
 		<view class="enterContentDetails">
 			<view class="content-title">
 				<input class="edit" v-model="ainfo.title" maxlength="20" placeholder="标题(必填)" />
@@ -41,7 +43,7 @@
 			<view class="optionalWorks" @click="onManage">
 				<view class="title">
 					可选作品
-					<text v-if="id < 1">(图片或作品必选一个发布)</text>
+					<text style="font-weight: normal;" v-if="id < 1">(图片或作品必选一个发布)</text>
 				</view>
 				<view class="selectLeft">
 					<text class="prompt" v-if="id > 1">已选择一个作品</text>

+ 1 - 0
pages/make/relatedWorks.vue

@@ -141,6 +141,7 @@ page {
 	padding: 0;
 	padding-right: 40rpx;
 	padding-left: 33rpx;
+	padding-top: var(--status-bar-height);
 	box-sizing: border-box;
 
 	.left {

+ 1 - 1
pages/makedetail/makeDetail.vue

@@ -23,7 +23,7 @@
 				</view>
 			</view>
 			<view class="navbar-right" @click="showActionSheet">
-				<text class="fa fa-ellipsis-h"></text>
+				 <image src="@/static/icon/more2.png" style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
 			</view>
 		</view>
 		<view class="topStatusBar inProgress" v-if="fileInformation.status == 2"

+ 2 - 2
pages/makedetail/makeImgDetail.scss

@@ -106,7 +106,7 @@
     background: #fff;
     border-radius: 20rpx;
     padding: 20rpx;
-    box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
+    // box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
     animation: fadeIn 0.5s ease;
     ::v-deep .uni-textarea-textarea,
     ::v-deep .uni-input-input {
@@ -254,7 +254,7 @@
       color: #666;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
       border: 1rpx solid transparent;
-      box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
+      // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
       border: 2rpx solid #e6e6e6;
       background: #ffffff;
       position: relative;

+ 18 - 13
pages/makedetail/makeMusicDetail.scss

@@ -102,7 +102,7 @@
     background: #fff;
     border-radius: 20rpx;
     padding: 20rpx;
-    box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
+    // box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
     ::v-deep .uni-textarea-textarea,
     ::v-deep .uni-input-input {
       font-size: 28rpx;
@@ -225,17 +225,18 @@
         font-family: "PingFang SC-Bold";
         color: #1f1f1f;
         position: relative;
-        margin-bottom: 20rpx;
+        padding-bottom: 20rpx;
+        display: inline-block;
       }
 
       .input-field {
         width: 100%;
         height: 88rpx;
         border-radius: 16rpx;
-        border: 2rpx solid #e8e8e8;
+        // border: 2rpx solid #e8e8e8;
         padding: 0 30rpx;
         font-size: 28rpx;
-        background: #fff;
+        background: #f2f6f2;
         transition: all 0.3s ease;
 
         &:focus {
@@ -247,10 +248,10 @@
       .textarea-field {
         width: 100%;
         border-radius: 16rpx;
-        border: 2rpx solid #e8e8e8;
+        // border: 2rpx solid #e8e8e8;
         padding: 30rpx;
         font-size: 28rpx;
-        background: #fff;
+        background: #f2f6f2;
         transition: all 0.3s ease;
 
         &:focus {
@@ -283,16 +284,16 @@
       }
       .lyricCount {
         position: absolute;
-        bottom: 50rpx;
+        bottom: 45rpx;
         right: 40rpx;
       }
     }
 
     .style-section {
       .label {
-        font-size: 32rpx;
+        font-size: 28rpx;
         font-weight: 600;
-        margin-bottom: 20rpx;
+        // margin-bottom: 20rpx;
         display: block;
         color: #2b2b2b;
       }
@@ -343,7 +344,7 @@
         background: #ffffff;
 
         .tab-item {
-          padding: 10rpx 38rpx;
+          padding: 15rpx 38rpx;
           color: #1f1f1f;
           font-size: 28rpx;
           background: #f2f6f2;
@@ -352,6 +353,7 @@
           position: relative;
           left: 0;
           top: 0;
+          line-height: 1;
           .indicator-triangle {
             position: absolute;
             bottom: -10rpx;
@@ -380,6 +382,9 @@
         box-sizing: border-box;
         background: #ffffff;
         padding-bottom: 30rpx;
+        line-height: 1;
+        padding-left: 0;
+        padding-bottom: 10rpx;
         text {
           padding: 12rpx 38rpx;
           color: #1f1f1f;
@@ -391,11 +396,11 @@
           left: 0;
           top: 0;
           transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
-          box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
+          // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
           
           &:active {
             transform: scale(0.95);
-            box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
+            // box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
           }
 
           .indicator-triangle {
@@ -439,7 +444,7 @@
           color: #666;
           transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
           border: 1rpx solid transparent;
-          box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
+          // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
           border: 2rpx solid #e6e6e6;
           background: #ffffff;
           position: relative;

+ 2 - 2
pages/my/adolescent.vue

@@ -96,7 +96,7 @@ page {
 .PageHeader {
 	background: url("../../static/me/wd_bg_bianjiziliao.png") center top / 100% auto no-repeat,
 		#f2f6f2;
-	// background-position-y: var(--status-bar-height);
+	background-position-y: -var(--status-bar-height);
 }
 
 .content-box {
@@ -212,7 +212,7 @@ page {
 			text-align: center;
 			color: #0084FF;
 			font-weight: 400;
-			font-size: 24rpx;
+			font-size: 28rpx;
 			color: #0084FF;
 			padding-top: 24rpx;
 		}

+ 2 - 1
pages/my/editInfo.vue

@@ -2,7 +2,7 @@
 	<view class="page">
 		<PageHeader title="" class="PageHeader">
 			<template v-slot:center>
-				基本资料
+				<view style="font-size: 32rpx;">基本资料</view>
 			</template>
 		</PageHeader>
 		<view class="reserveASeat"></view>
@@ -763,4 +763,5 @@ page{
 		}
 	}
 }
+ 
 </style>

+ 14 - 8
pages/my/follow.scss

@@ -3,7 +3,9 @@
   background-color: #fff;
   padding-top: 10px;
 }
-
+.follow-reserveASeat{
+	height: calc(90rpx + var(--status-bar-height)) !important;
+}
 .tabs {
   display: flex;
   height: 100%;
@@ -29,13 +31,15 @@
 }
 
 .follow-list {
-  padding: 0 20px;
+  padding: 0 40rpx;
 
   .follow-item {
     display: flex;
     align-items: center;
-    padding: 15px 0;
-
+    padding: 20rpx 0;
+	&:first-child{
+		padding-top: 0;
+	}
     .avator {
      width: 120rpx ;
 	 height: 120rpx ;
@@ -44,13 +48,15 @@
 
     .info {
       flex: 1;
+	  display: flex;
+	  align-items: center;
       .top-box {
         display: flex;
         align-items: center;
         .name {
           font-size: 32rpx;
           font-weight: 500;
-          margin-bottom: 8rpx;
+          // margin-bottom: 8rpx;
         }
         > image {
           width: 36rpx;
@@ -76,15 +82,15 @@
 
     .unfollow-btn {
       font-size: 24rpx;
-	  width: 144rpx;
+	  width: 122rpx;
 	  height: 52rpx;
 	  display: flex;
 	  justify-content: center;
 	  align-items: center;
-      color: #666;
+      color: #1f1f1f;
       background: none;
       border: 2rpx solid #000;
-      border-radius:12rpx; 
+      border-radius:36rpx; 
       margin: 0;
 	  font-family: 'PingFang SC-Bold';
 	  image{

+ 1 - 1
pages/my/follow.vue

@@ -10,7 +10,7 @@
 				</view>
 			</template>
 		</PageHeader>
-		<view class="reserveASeat"></view>
+		<view class="reserveASeat follow-reserveASeat"></view>
 
 		<view class="follow-list">
 			<view class="follow-item" v-for="(item, index) in currentList" :key="index"

+ 31 - 12
pages/my/job.scss

@@ -43,7 +43,7 @@ page {
     .avator {
       width: 100rpx;
       height: 100rpx;
-      border: 4rpx solid #fff;
+      border: 6rpx solid #fff;
       margin-right: 28rpx;
     }
     .title-area {
@@ -81,13 +81,13 @@ page {
 // 星愿打卡区域
 .starWishCheckIn {
   width: 710rpx;
-  height: 380rpx;
+  height: 356rpx;
   background: url("../../static/me/job/rw_bg_02.png") top left/100% no-repeat,
     #ffffff;
-  box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(231, 231, 231, 0.29);
+  // box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(231, 231, 231, 0.29);
   border-radius: 20rpx;
   padding: 20rpx;
-  padding-top: 96rpx;
+  padding-top: 95rpx;
   margin-bottom: 20rpx;
   display: flex;
   justify-content: space-between;
@@ -98,15 +98,20 @@ page {
   .title {
     position: absolute;
     left: 20rpx;
-    top: 20rpx;
+    top: 0rpx;
     width: 200rpx;
     height: 104rpx;
   }
   .card {
     width: 328rpx;
-    height: 238rpx;
+    height: 244rpx;
     padding: 28rpx 26rpx 22rpx 24rpx;
     box-sizing: border-box;
+    border-radius: 20rpx;
+    overflow: hidden;
+    position: relative;
+    left: 0;
+    top: 0;
     .card-title {
       font-weight: 700;
       font-size: 28rpx;
@@ -119,15 +124,19 @@ page {
       color: rgba(255, 255, 255, 0.8);
       width: 180rpx;
       padding-bottom: 20rpx;
+      padding-top: 10rpx;
     }
     .card-btn {
-      width: 276rpx;
-      height: 64rpx;
+      width: 328rpx;
+      height: 112rpx;
       display: flex;
       align-items: center;
       justify-content: center;
       padding-bottom: 10rpx;
-
+      position: absolute;
+      left: 0;
+      bottom: 0;
+      font-family: "PingFang SC-Bold";
       font-weight: 400;
       font-size: 28rpx;
 
@@ -152,6 +161,7 @@ page {
         position: absolute;
         left: 0;
         top: 0;
+        z-index: 5;
         border-radius:15rpx;
         width: 100%;
         height: 100%;
@@ -174,7 +184,7 @@ page {
 
 // 任务列表
 .task-list-box {
-  box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(231, 231, 231, 0.29);
+  // box-shadow: 0rpx 6rpx 8rpx 0rpx rgba(231, 231, 231, 0.29);
   border-radius: 20rpx;
   background: url("../../static/me/job/rw_bg_02.png") top left/100% no-repeat,
     #ffffff;
@@ -183,7 +193,7 @@ page {
   .task-header {
     display: flex;
     align-items: center;
-
+    padding-bottom: 10rpx;
     image {
       width: 200rpx;
       height: 50rpx;
@@ -239,9 +249,13 @@ page {
       display: flex;
       align-items: center;
       justify-content: center;
+      font-weight: 400;
+      font-family: "PingFang SC-Bold";
+  
       image {
         width: 36rpx;
         height: 36rpx;
+        margin-bottom: 10rpx;
       }
     }
 
@@ -258,7 +272,10 @@ page {
       font-size: 24rpx;
       color: #acf934;
       border: 2rpx solid #1f1f1f;
-
+      text{
+        font-weight: 400;
+      font-family: "PingFang SC-Bold";
+      }
       &.task-completed {
         background-color: #fff;
         color: #1f1f1f;
@@ -444,6 +461,7 @@ page {
       font-size: 24rpx;
       color: rgba(255, 255, 255, 0.8);
       margin-bottom: 30rpx;
+      padding-top: 10rpx;
     }
 
     .card-reward {
@@ -536,6 +554,7 @@ page {
       color: #90d369;
       font-weight: bold;
       margin-right: 20rpx;
+ 
     }
 
     .task-btn {

+ 1 - 1
pages/my/job.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="page">
 		<!-- 顶部黄色背景 -->
-		<PageHeader class="PageHeader">
+		<PageHeader class="PageHeader" >
 			<template slot="center"> 任务中心 </template>
 			<template slot="right">
 				<DropdownMenu :options="dropdownOptions" @select="handleDropdownSelect" />

+ 24 - 15
pages/my/my.scss

@@ -166,7 +166,8 @@ page {
           font-size: 28rpx;
           color: #333;
           image {
-            width: 36rpx;
+            width: 32rpx;
+            height: 32rpx;
             margin-left: 6rpx;
           }
         }
@@ -224,8 +225,8 @@ page {
   padding: 20rpx;
   padding-top: 48rpx;
   background: linear-gradient(225deg, #cdff9f 0%, #acff5f 30%, #d0ffa5 100%);
-  min-height: 720rpx;
-  margin-bottom: calc(-160rpx + var(--status-bar-height));
+  min-height: 620rpx;
+  margin-bottom: calc(-60rpx + var(--status-bar-height));
   &.header-isvip {
     margin-bottom: calc(-240rpx + var(--status-bar-height));
   }
@@ -281,7 +282,7 @@ page {
         display: flex;
         padding-right: 24rpx;
         padding-left: 24rpx;
-        padding-top: 8rpx;
+        padding-top: 18rpx;
         .avator {
           width: 120rpx;
           height: 120rpx;
@@ -296,6 +297,7 @@ page {
             justify-content: flex-start;
             align-items: center;
             display: flex;
+            padding-bottom: 12rpx;
             > text {
               max-width: 380rpx;
               font-family: "PingFang SC-Bold";
@@ -309,7 +311,7 @@ page {
             }
             .level {
               font-weight: 400;
-              font-size: 20rpx;
+              font-size: 22rpx;
               font-family: "PingFang SC-Bold";
               background: linear-gradient(360deg, #acf934 0%, #ffe439 100%);
               border-radius: 8rpx;
@@ -317,14 +319,14 @@ page {
             }
           }
           .label {
-            height: 50rpx;
+            height: 40rpx;
             // height: 110rpx;
             overflow: hidden;
             > view {
               color: #acf934;
               font-family: "PingFang SC-Medium";
               font-weight: 400;
-              font-size: 20rpx;
+              font-size: 24rpx;
               background: #1f1f1f;
               border-radius: 6px 6px 6px 6px;
               display: inline-block;
@@ -341,12 +343,17 @@ page {
         align-items: center;
         padding-right: 24rpx;
         padding-left: 24rpx;
+        padding-top: 12rpx;
+        padding-bottom: 12rpx;
         .intro_text {
           color: #1f1f1f;
           font-size: 24rpx;
           font-family: "PingFang SC-Bold";
           font-weight: 400;
           padding-right: 0rpx;
+          ::v-deep.uv-text__value{
+            font-size: 26rpx !important;
+          }
         }
         .add_icon {
           width: 28rpx;
@@ -370,7 +377,7 @@ page {
           display: flex;
           align-items: center;
           justify-content: space-between;
-          width: 340rpx;
+          max-width: 300rpx;
           .follow-box {
             display: flex;
             flex-direction: column;
@@ -386,7 +393,7 @@ page {
           }
           .label {
             width: 100%;
-            font-size: 28rpx;
+            font-size: 24rpx;
             color: #999;
           }
           .separator {
@@ -450,8 +457,8 @@ page {
       }
 
       > image {
-        width: 34rpx;
-        height: 26rpx;
+        width: 44rpx;
+        height: 44rpx;
         transition: all 0.3s ease;
       }
       .content-box {
@@ -484,13 +491,14 @@ page {
   flex-direction: column;
   border-radius: 28rpx 28rpx 0 0;
   padding: 24rpx 20rpx;
+  padding-top: 14rpx;
   justify-content: flex-start;
   box-sizing: border-box;
   background: #fff;
   .line {
     width: 100%;
     height: 2rpx;
-    background: #f0f0f0;
+    background: #f2f6f2;
     margin-bottom: 8rpx;
     margin-top: 32rpx;
   }
@@ -516,7 +524,7 @@ page {
     box-sizing: border-box;
     background: #ffffff;
     .item {
-      padding: 10rpx 38rpx;
+      padding: 15rpx 38rpx;
       color: #1f1f1f;
       font-size: 28rpx;
       background: #f2f6f2;
@@ -524,13 +532,14 @@ page {
       border-radius: 30rpx;
       position: relative;
       left: 0;
-      top: 0;
+      top: 0; 
+      line-height: 1;
       transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
       // box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05);
       
       &:active {
         transform: scale(0.95);
-        box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
+        // box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
       }
 
       .indicator-triangle {

+ 37 - 14
pages/my/my.vue

@@ -38,7 +38,7 @@
 								<text class="intro_text two-omit">添加简介</text>
 								<image src="@/static/icon/wd_icon_edit.png" mode="widthFix" class="add_icon"></image>
 							</block>
-							<uv-text v-else :text="myinfo.content" class="intro_text two-omit">
+							<uv-text v-else :text="formatText( myinfo.content)" class="intro_text two-omit">
 
 							</uv-text>
 						</view>
@@ -46,17 +46,17 @@
 						<view class="bom">
 							<view class="follow_info" @click="navigateToFollow">
 								<view class="follow-box">
-									<view class="num">{{ myinfo.num_attention }}</view>
+									<view class="num">{{scientificCounting( myinfo.num_attention) }}</view>
 									<view class="label">关注</view>
 								</view>
 								<view class="separator"></view>
 								<view class="follow-box">
-									<view class="num">{{ myinfo.num_fans }}</view>
+									<view class="num">{{scientificCounting( myinfo.num_fans) }}</view>
 									<view class="label">粉丝</view>
 								</view>
 								<view class="separator"></view>
 								<view class="follow-box">
-									<view class="num">{{ myinfo.num_like }}</view>
+									<view class="num">{{scientificCounting( myinfo.num_like) }}</view>
 									<view class="label">获赞</view>
 								</view>
 							</view>
@@ -81,7 +81,7 @@
 							<image v-else-if="0" src="@/static/me/icon-vip1.png" mode=""></image>
 							<image v-else src="@/static/me/icon-vip0.png" mode=""></image>
 							<text v-if="myinfo.is_vip == 0">开启专属会员权益</text>
-							<text v-else style="font-size: 24rpx;">会员权益生效中   <text style="color: rgba(172 ,249 ,52, .5);"> ({{myinfo.vip_date}})  </text>  </text>
+							<text v-else style="font-size: 28rpx;">会员权益生效中   <text style="font-size: 24rpx; color: rgba(172 ,249 ,52, .5);"> ({{myinfo.vip_date}})  </text>  </text>
 						</view>
 						<!-- <view class=""> -->
 						
@@ -117,8 +117,8 @@
 					<view class="numlist1" v-if="activeTab === 0" style="margin-top: 15rpx">
 						<WorkItem v-for="(item, index) in worksList" :secrecy="true" :subtitle="true" :key="index"
 							:item="item" @click="goWork(item)" />
-						<!-- 暂无内容提示 -->
-						<view v-if="worksList.length === 0" class="empty-state">
+						<!-- 修改空状态显示条件 -->
+						<view v-if="isDataLoaded && worksList.length === 0" class="empty-state">
 							<image src="@/static/icon/xx_img_zanwuxiaoxi.png" mode="aspectFit" class="empty-image">
 							</image>
 							<text class="empty-text">暂无作品</text>
@@ -173,8 +173,8 @@
 								</view>
 							</view>
 						</view>
-						<!-- 暂无内容提示 -->
-						<view v-if="worksList.length === 0" class="empty-state">
+						<!-- 修改空状态显示条件 -->
+						<view v-if="isDataLoaded && worksList.length === 0" class="empty-state">
 							<image src="@/static/icon/xx_img_zanwuxiaoxi.png" mode="aspectFit" class="empty-image">
 							</image>
 							<text class="empty-text">暂无生成中的作品</text>
@@ -219,8 +219,8 @@
 								</view>
 							</view>
 						</view>
-						<!-- 暂无内容提示 -->
-						<view v-if="worksList.length === 0" class="empty-state">
+						<!-- 修改空状态显示条件 -->
+						<view v-if="isDataLoaded && worksList.length === 0" class="empty-state">
 							<image src="@/static/icon/xx_img_zanwuxiaoxi.png" mode="aspectFit" class="empty-image">
 							</image>
 							<text class="empty-text">暂无帖子</text>
@@ -290,6 +290,7 @@ export default {
 			offset: 0,
 			hasMore: true,
 			isLoading: false,
+			isDataLoaded: false,
 			worksList: [],
 			showShare: false,
 			shareTitle: "",
@@ -482,6 +483,7 @@ export default {
 		loadWorksList() {
 			if (this.isLoading) return;
 			this.isLoading = true;
+			this.isDataLoaded = false;
 
 			// 根据activeTab选择不同的API
 			let apiUrl = "";
@@ -499,9 +501,9 @@ export default {
 				data: {
 					uuid: getApp().globalData.uuid,
 					skey: getApp().globalData.skey,
-					type: "my", // 固定为my,表示获取自己的作品
+					type: "my",
 					offset: this.offset,
-					status: this.activeTab === 0 ? 1 : undefined, // 只有我的作品需要status参数
+					status: this.activeTab === 0 ? 1 : undefined,
 				},
 				header: {
 					"content-type": "application/json",
@@ -520,9 +522,9 @@ export default {
 						}
 					} else {
 						this.hasMore = false;
+						this.worksList = [];
 					}
 
-					// 只有在"我的作品"标签下才更新data_list
 					if (this.activeTab === 0) {
 						this.updateDataList();
 					}
@@ -530,10 +532,13 @@ export default {
 				},
 				complete: () => {
 					this.isLoading = false;
+					this.isDataLoaded = true;
 				},
 				fail: (e) => {
 					console.log("请求列表失败:", e);
 					this.isLoading = false;
+					this.isDataLoaded = true;
+					this.worksList = [];
 				},
 			});
 		},
@@ -615,6 +620,24 @@ export default {
 				url: "/pages/my/follow",
 			});
 		},
+		formatText(text) {
+			if (!text) return '';
+			return text.length > 20 ? text.substring(0, 20) + '...' : text;
+		},
+		scientificCounting(num) {
+			if (!num) {
+				return 0;
+			}
+			if (num < 1000) {
+				return num;
+			} else if (num < 1000000) {
+				return (num / 1000).toFixed(1) + 'k';
+			} else if (num < 1000000000) {
+				return (num / 1000000).toFixed(1) + 'M';
+			} else {
+				return (num / 1000000000).toFixed(1) + 'B';
+			}
+		},
 	},
 };
 </script>

+ 1 - 1
pages/my/myStar.vue

@@ -120,7 +120,7 @@
 				</view>
 
 				<view class="navbar-right" @click="showShare = true">
-					<text class="fa fa-ellipsis-h"></text>
+					 <image src="@/static/icon/more2.png" style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
 				</view>
 			</view>
 

+ 8 - 7
pages/my/normal.scss

@@ -194,12 +194,13 @@ page {
     flex-wrap: wrap;
     width: 690rpx;
     padding: 20rpx;
+    padding-top: 4rpx;
     .tag {
       border-radius: 12rpx;
-      margin-right: 10rpx;
-      margin-top: 10rpx;
+      margin-right: 16rpx;
+      margin-top: 16rpx;
       padding: 8rpx 16rpx;
-      height: 60rpx;
+      height: 56rpx;
       border: 2rpx solid #eee;
       color: #333;
       display: flex;
@@ -327,7 +328,7 @@ page {
 }
 .btn_submit {
   width: 660rpx;
-  height: 96rpx;
+  height:88rpx;
   position: fixed;
   bottom: 50rpx;
   left: 45rpx;
@@ -414,13 +415,12 @@ page {
   height: 300rpx;
 }
 .info_card {
-  width: 690rpx;
+  width: 710rpx;
   min-height: 120rpx;
   background: #ffffff;
   border-radius: 24rpx;
   padding: 0;
   margin-top: 0rpx;
-  box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
 
   .info_item {
     height: 100rpx;
@@ -428,6 +428,7 @@ page {
     align-items: center;
     padding: 0 30rpx;
     border-bottom: 1rpx solid #f5f5f5;
+    padding-right: 20rpx;
 
     &:last-child {
       border-bottom: none;
@@ -463,7 +464,7 @@ page {
   font-size: 26rpx;
   color: #1f1f1f;
   font-weight: 600;
-  margin: 70rpx 0 20rpx 30rpx;
+  margin: 32rpx 0 20rpx 30rpx;
   font-family: "PingFang SC-Medium";
   width: 690rpx;
 }

+ 55 - 49
pages/vip/M_purchase.scss

@@ -3,7 +3,7 @@ page {
   background-color: #f2f6f2;
 }
 .page {
-  background-color: #eee;
+  background-color: #f2f6f2;
   width: 100%;
   min-height: 100vh;
 }
@@ -12,6 +12,11 @@ page {
 }
 .topBody {
   width: 750rpx;
+  min-height: 100vh;
+  padding-bottom: 220rpx;
+  position: relative;
+  left: 0;
+  top: 0;
   .PageHeader {
     background-color: #f2f6f2;
 
@@ -59,7 +64,7 @@ page {
             right: 0;
             bottom: 0;
             height: 1rpx;
-            background-color: #eeeeee;
+            background-color: #f2f6f2;
           }
 
           &:active {
@@ -77,7 +82,7 @@ page {
   .myGoldCoin-box {
     width: 686rpx;
     height: 196rpx;
-    background: linear-gradient(90deg, #1f1f1f 0%, #444444 100%);
+    background: linear-gradient(to right, #444444, #1f1f1f);
     border-radius: 20rpx;
     margin: 0 auto;
     padding-top: 50rpx;
@@ -132,7 +137,7 @@ page {
   padding-top: 80rpx;
 }
 .myinfo {
-  width: 720rpx;
+  width: 686rpx;
   display: flex;
   flex-direction: column;
   justify-content: flex-start;
@@ -147,7 +152,7 @@ page {
       display: flex;
       justify-content: center;
       flex-direction: column;
-
+      align-items: center;
       width: 218rpx;
       height: 168rpx;
       background: #ffffff;
@@ -160,10 +165,11 @@ page {
         align-items: center;
         font-weight: 400;
         font-size: 40rpx;
-        color: rgba(32, 32, 32, 0.7);
         .name {
           font-size: 36rpx;
-          margin-top: 10rpx;
+          color: #1f1f1f;
+          padding-left: 4rpx;
+          font-weight: 600;
         }
         image {
           width: 40rpx;
@@ -172,7 +178,7 @@ page {
       }
       .num2 {
         text-align: center;
-        display: flex;
+        display: inline-flex;
         flex-direction: column;
         justify-content: center;
         align-items: center;
@@ -204,13 +210,12 @@ page {
   }
   .jinchu {
     padding-top: 30rpx;
-    padding-left: 32rpx;
-	padding-bottom: 20rpx;
-
+    padding-bottom: 20rpx;
+    font-weight: 600;
     font-size: 28rpx;
     color: rgba(32, 32, 32, 1);
   }
-  .mingxiList { 
+  .mingxiList {
     display: flex;
     flex-direction: row;
     justify-content: space-between;
@@ -220,19 +225,19 @@ page {
     height: 88rpx;
     background: #ffffff;
     border-radius: 20rpx;
-	margin: 0 auto;
-	margin-bottom: 10rpx;
-	padding: 0 ;
-	padding-left: 25rpx;
-	padding-right: 20rpx;
+    margin: 0 auto;
+    margin-bottom: 16rpx;
+    padding: 0;
+    padding-left: 25rpx;
+    padding-right: 20rpx;
     .left {
       display: flex;
       flex-direction: row;
       justify-content: flex-start;
-      align-items: center; 
-      .icon { 
+      align-items: center;
+      .icon {
         width: 48rpx;
-      } 
+      }
       background: rgba(22, 22, 22, 0);
       border-radius: 0rpx 0rpx 0rpx 0rpx;
     }
@@ -240,10 +245,11 @@ page {
       display: flex;
       flex-direction: row;
       justify-content: flex-start;
-      align-items: center; 
+      align-items: center;
 
-      .icon { 
+      .icon {
         height: 32rpx;
+        width: 32rpx;
       }
     }
   }
@@ -255,37 +261,37 @@ page {
     border-radius: 0rpx 0rpx 0rpx 0rpx;
   }
 
- 
   .agree {
-	width: 90%;
-	margin: 0 auto;
-	color: #666666;
-	font-size: 24rpx;
-	margin-top: 40rpx;
-	display: flex;
-	align-items: center;
-	text-align: left;
-	line-height: 32rpx;
+    width: 90%;
+   
+    color: #666666;
+    font-size: 24rpx;
+    margin-top: 40rpx;
+    display: flex;
+    align-items: center;
+    text-align: left;
+    line-height: 32rpx;
 
-	.agree2 {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-		align-items: center;
-		padding-right: 8rpx;
-		flex-shrink: 0;
-	}
+    .agree2 {
+      display: flex;
+      flex-direction: row;
+      justify-content: flex-start;
+      align-items: center;
+      padding-right: 8rpx;
+      flex-shrink: 0;
+    }
 
-	.xy {
-		color: #0084FF;
-		display: inline;
-	}
+    .xy {
+      color: #0084ff;
+      display: inline;
+    }
 
-	image {
-		width: 32rpx;
-		height: 32rpx;
-	}
-}
+    image {
+      width: 32rpx;
+      height: 32rpx;
+    }
+  }
+ 
 }
 .blankHeight {
   height: 100rpx;

+ 26 - 20
pages/vip/M_purchase.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="page">
     <view class="topBody">
-      <PageHeader title="会员" class="PageHeader">
+      <PageHeader title="M币充值" class="PageHeader">
         <template v-slot:right>
           <DropdownMenu 
             :options="dropdownOptions" 
@@ -19,7 +19,7 @@
         </view> 
       </view>
       <view class="myinfo">
-        <view class="purchaseList" style="margin-top: 60rpx">
+        <view class="purchaseList" style="margin-top: 32rpx">
           <view
             class="item"
             :class="index == sel ? 'itemSel' : ''"
@@ -32,7 +32,7 @@
               <view class="name">{{ item.num_gmm| formatNumberToK }} </view>
             </view>
             <view class="num2">
-              <view class="name">{{ item.money }}{{ $t("txt.¥") }}</view>
+              <view class="name">{{ $t("txt.¥") }}{{ item.money }}</view>
             </view>
           </view>
         </view>
@@ -60,7 +60,7 @@
                   ? '../../static/icon/wd_icon_gouxuan04.png'
                   : '../../static/icon/wd_icon_gouxuan05.png'
               "
-              mode="heightFix"
+             
             />
           </view>
         </view>
@@ -84,20 +84,23 @@
                   ? '../../static/icon/wd_icon_gouxuan04.png'
                   : '../../static/icon/wd_icon_gouxuan05.png'
               "
-              mode="heightFix"
+               
             />
           </view>
         </view>
         <!-- <view class="line"></view> -->
-        <view class="agree">
+
+      </view>
+
+      <view class="agree">
           <view class="agree2" @click="agreeChk()">
             <image
-              mode="widthFix"
+               
               src="../../static/icon/wd_icon_gouxuan04.png"
               v-if="is_agree == 0"
             ></image>
             <image
-              mode="widthFix"
+              
               src="../../static/icon/wd_icon_gouxuan05.png"
               v-if="is_agree == 1"
             ></image>
@@ -106,8 +109,8 @@
             同意
             <text class="xy" @click="goPage('/pages/AboutUs/pay_xy')">
               《充值服务协议》 </text
-            >,充值M币仅【萌创星球】使用点击查看
-            <text class="xy" @click="goPage('yszc')"> 充值记录 </text>
+            >,充值M币仅【萌创星球】使用点击查看
+            <text class="xy" @click="goPage('/pages/vip/record?type=coin')"> 充值记录 </text>
           </view>
         </view>
         <view class="btn_submit" :class="{'btn-loading': isSubmitting}" @click="submitData">
@@ -115,8 +118,6 @@
           <text v-if="!isSubmitting">确认充值</text>
           <view v-if="isSubmitting" class="loading-spinner"></view>
         </view>
-      </view>
-
       <view class="blankHeight"></view>
     </view>
 
@@ -405,20 +406,23 @@ export default {
   width: 90%;
   margin: 0 auto;
   color: #666666;
-  font-size: 24rpx;
-  margin-top: 40rpx;
+  font-size: 24rpx; 
   display: flex;
   align-items: center;
   text-align: left;
   line-height: 32rpx;
-
+ position: absolute;
+    bottom: 215rpx;
+    left: 50%;
+    transform: translateX(-50%);
   .agree2 {
     display: flex;
     flex-direction: row;
     justify-content: flex-start;
     align-items: center;
     padding-right: 8rpx;
-    flex-shrink: 0;
+    flex-shrink: 0; 
+    padding-bottom: 34rpx;
   }
 
   .xy {
@@ -435,7 +439,7 @@ export default {
 .btn_submit {
   width: 626rpx;
   height: 88rpx;
-  background: linear-gradient(90deg, #1f1f1f 0%, #444444 100%);
+  background: linear-gradient(to left, #1f1f1f  , #444444  );
   border-radius: 76rpx;
   margin: 0 auto;
   margin-top: 70rpx;
@@ -448,7 +452,10 @@ export default {
   position: relative;
   overflow: hidden;
   transition: all 0.3s ease;
-  
+  position: absolute;
+    bottom: 100rpx;
+    left: 50%;
+    transform: translateX(-50%);
   &.btn-loading {
     opacity: 0.7;
     pointer-events: none;
@@ -463,8 +470,7 @@ export default {
     animation: spin 1s linear infinite;
   }
 
-  text {
-    font-size: 44rpx;
+  text { 
     display: inline-block;
     margin-right: 10rpx;
   }

+ 200 - 137
pages/vip/index.vue

@@ -1,11 +1,20 @@
 <template>
-	<view class="vip-container">
+	<view class="vip-container" >
 		<view class="heard-box" :class="`active${selectedPrice}`">
 			<!-- 自定义头部 -->
-			<PageHeader title="" class="PageHeader">
+			<PageHeader title="" class="PageHeader" :class="{ 'whitePhageHeader': headerOpacity > 0.2 }"
+				:style="{ opacity: headerOpacity < 0.2 ? 1 : headerOpacity }">
+				<template v-slot:center>
+					<view class="center-title" style="font-size: 32rpx;color: #fff;">会员中心</view>
+
+				</template>
 				<template v-slot:right>
 					<view class="more-options" @tap="toggleDropdown">
-						<text class="fa fa-ellipsis-h"></text>
+						<image src="@/static/icon/more3.png" v-if="headerOpacity < 0.2" style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
+
+						<image src="@/static/icon/more2.png" v-else style="width: 64rpx;height: 64rpx;  margin-top: 15rpx;" mode="widthFix"></image>
+
+
 						<view class="dropdown-menu" v-if="showDropdown">
 							<view class="dropdown-item" @tap="handleOption('vipRecord')">VIP记录</view>
 							<view class="dropdown-item" @tap="handleOption('contact')">联系客服</view>
@@ -52,8 +61,7 @@
 				</view>
 			</view>
 
-			<uv-notice-bar direction="column" speed="250" color="#333"
-				:text="memberInformation"></uv-notice-bar>
+			<uv-notice-bar direction="column" speed="250" color="#333" :text="memberInformation"></uv-notice-bar>
 
 			<!-- 会员特权列表 -->
 			<view class="vip-privileges">
@@ -68,30 +76,33 @@
 					</view>
 				</view>
 			</view>
-			<view class="agree">
-				<view class="agree2" @click="agreeChk()">
-					<image mode="widthFix" src="../../static/icon/wd_icon_gouxuan04.png" v-if="is_agree == 0"></image>
-					<image mode="widthFix" src="../../static/icon/wd_icon_gouxuan05.png" v-if="is_agree == 1"></image>
-				</view>
-				<view>
-					同意
-					<text class="xy" @click="goPage('/pages/AboutUs/pay_xy')">
-						《充值服务协议》
-					</text>,充值M币仅【萌创星球】使用点击查看
-					<text class="xy" @click="goPage('/pages/vip/record?type=vip')">
-						充值记录
-					</text>
-				</view>
+
+		</view>
+		<view class="agree">
+			<view class="agree2" @click="agreeChk()">
+				<image style="width: 32rpx;height: 32rpx;" src="../../static/icon/wd_icon_gouxuan04.png"
+					v-if="is_agree == 0">
+				</image>
+				<image style="width: 32rpx;height: 32rpx;" src="../../static/icon/wd_icon_gouxuan05.png"
+					v-if="is_agree == 1">
+				</image>
 			</view>
-			<view class="bottom-pay-btn-bottom" 
-				v-if="priceOptions && priceOptions[selectedPrice] && priceOptions[selectedPrice].price"
-				:class="{'btn-loading': isSubmitting}" 
-				@tap="showPaymentOptions">
-				<text v-if="!isSubmitting">¥{{ priceOptions[selectedPrice].price }}</text>
-				<text v-if="!isSubmitting">立即购买</text>
-				<view v-if="isSubmitting" class="loading-spinner"></view>
+			<view>
+				同意
+				<text class="xy" @click="goPage('/pages/AboutUs/pay_xy')">
+					《充值服务协议》
+				</text>,充值M币仅【萌创星球】使用,点击查看
+				<text class="xy" @click="goPage('/pages/vip/record?type=vip')">
+					充值记录
+				</text>
 			</view>
-
+		</view>
+		<view class="bottom-pay-btn-bottom"
+			v-if="priceOptions && priceOptions[selectedPrice] && priceOptions[selectedPrice].price"
+			:class="{ 'btn-loading': isSubmitting }" @tap="showPaymentOptions">
+			<text class="price-value" v-if="!isSubmitting">¥{{ priceOptions[selectedPrice].price }}</text>
+			<text v-if="!isSubmitting">立即购买</text>
+			<view v-if="isSubmitting" class="loading-spinner"></view>
 		</view>
 
 		<!-- 支付方式选择弹窗 -->
@@ -134,50 +145,51 @@ export default {
 				is_vip: false,
 				vip_date: '2023-10-23'
 			},
-			memberInformation:[
-			'墨色** 于10分钟前开通了月会员',
-			'雾散时** 于24分钟前开通了季会员',
-			'Jox** 于17分钟前开通了月会员',
-			'漂亮的** 于19分钟前开通了年会员',
-			'Ri** 于30分钟前开通了季会员',
-			'山桃** 于15分钟前开通了月会员',
-			'zx** 于19分钟前开通了年会员',
-			'** 于13分钟前开通了年会员',
-			'CarrollSo** 于21分钟前开通了季会员',
-			'Nanng** 于17分钟前开通了月会员',
-			'芭比B** 于9分钟前开通了年会员',
-			'小周不是** 于29分钟前开通了季会员',
-			'落雪_** 于26分钟前开通了月会员',
-			'雾岛听蝉9** 于19分钟前开通了年会员',
-			'如** 于19分钟前开通了季会员',
-			'言川Art** 于25分钟前开通了月会员',
-			'兔子君mrbun** 于30分钟前开通了月会员',
-			'呼哧Hac** 于6分钟前开通了年会员',
-			'alxe_不爱吹** 于17分钟前开通了季会员',
-			'飞清** 于25分钟前开通了月会员',
-		],
-		// 	memberInformation:[
-		// 	'墨色轨迹于10分钟前开通了月会员',
-		// 	'雾散时见山于24分钟前开通了季会员',
-		// 	'Joxin于17分钟前开通了月会员',
-		// 	'漂亮的倾城于19分钟前开通了年会员',
-		// 	'Rick于30分钟前开通了季会员',
-		// 	'山桃始华于15分钟前开通了月会员',
-		// 	'zx浊酒于19分钟前开通了年会员',
-		// 	'桥九于13分钟前开通了年会员',
-		// 	'CarrollSong于21分钟前开通了季会员',
-		// 	'Nanngua于17分钟前开通了月会员',
-		// 	'芭比Box于9分钟前开通了年会员',
-		// 	'小周不是小粥于29分钟前开通了季会员',
-		// 	'落雪_桃桃于26分钟前开通了月会员',
-		// 	'雾岛听蝉999于19分钟前开通了年会员',
-		// 	'如青稞于19分钟前开通了季会员',
-		// 	'言川Artie于25分钟前开通了月会员',
-		// 	'兔子君mrbunny于30分钟前开通了月会员',
-		// 	'呼哧Hachi于6分钟前开通了年会员',
-		// 	'alxe_不爱吹泡泡于17分钟前开通了季会员',
-		// 	'飞清云淡于25分钟前开通了月会员',
-		// ],
+			headerOpacity: 0,
+			memberInformation: [
+				'墨色** 于10分钟前开通了月会员',
+				'雾散时** 于24分钟前开通了季会员',
+				'Jox** 于17分钟前开通了月会员',
+				'漂亮的** 于19分钟前开通了年会员',
+				'Ri** 于30分钟前开通了季会员',
+				'山桃** 于15分钟前开通了月会员',
+				'zx** 于19分钟前开通了年会员',
+				'** 于13分钟前开通了年会员',
+				'CarrollSo** 于21分钟前开通了季会员',
+				'Nanng** 于17分钟前开通了月会员',
+				'芭比B** 于9分钟前开通了年会员',
+				'小周不是** 于29分钟前开通了季会员',
+				'落雪_** 于26分钟前开通了月会员',
+				'雾岛听蝉9** 于19分钟前开通了年会员',
+				'如** 于19分钟前开通了季会员',
+				'言川Art** 于25分钟前开通了月会员',
+				'兔子君mrbun** 于30分钟前开通了月会员',
+				'呼哧Hac** 于6分钟前开通了年会员',
+				'alxe_不爱吹** 于17分钟前开通了季会员',
+				'飞清** 于25分钟前开通了月会员',
+			],
+			// 	memberInformation:[
+			// 	'墨色轨迹于10分钟前开通了月会员',
+			// 	'雾散时见山于24分钟前开通了季会员',
+			// 	'Joxin于17分钟前开通了月会员',
+			// 	'漂亮的倾城于19分钟前开通了年会员',
+			// 	'Rick于30分钟前开通了季会员',
+			// 	'山桃始华于15分钟前开通了月会员',
+			// 	'zx浊酒于19分钟前开通了年会员',
+			// 	'桥九于13分钟前开通了年会员',
+			// 	'CarrollSong于21分钟前开通了季会员',
+			// 	'Nanngua于17分钟前开通了月会员',
+			// 	'芭比Box于9分钟前开通了年会员',
+			// 	'小周不是小粥于29分钟前开通了季会员',
+			// 	'落雪_桃桃于26分钟前开通了月会员',
+			// 	'雾岛听蝉999于19分钟前开通了年会员',
+			// 	'如青稞于19分钟前开通了季会员',
+			// 	'言川Artie于25分钟前开通了月会员',
+			// 	'兔子君mrbunny于30分钟前开通了月会员',
+			// 	'呼哧Hachi于6分钟前开通了年会员',
+			// 	'alxe_不爱吹泡泡于17分钟前开通了季会员',
+			// 	'飞清云淡于25分钟前开通了月会员',
+			// ],
 			priceOptions: [
 			],
 			selectedPrice: 1, // 默认选中的价格选项索引
@@ -201,16 +213,16 @@ export default {
 				icon: '../../static/vip/hy_icon_quanyi04.png',
 				desc: '深度思考,提升50%'
 			},
-			// {
-			// 	name: 'VIP专属通道',
-			// 	icon: '../../static/vip/hy_icon_quanyi05.png',
-			// 	desc: '创作加速,更快生成'
-			// },
-			// {
-			// 	name: '免广告',
-			// 	icon: '../../static/vip/hy_icon_quanyi06.png',
-			// 	desc: '无广告免费体验'
-			// }
+				// {
+				// 	name: 'VIP专属通道',
+				// 	icon: '../../static/vip/hy_icon_quanyi05.png',
+				// 	desc: '创作加速,更快生成'
+				// },
+				// {
+				// 	name: '免广告',
+				// 	icon: '../../static/vip/hy_icon_quanyi06.png',
+				// 	desc: '无广告免费体验'
+				// }
 			],
 			paymentMethod: 'alipay', // 默认支付方式
 			privilegesHeight: 0, // 添加存储特权区域高度的变量
@@ -225,7 +237,7 @@ export default {
 		...mapState('hideModule', ['isWeChatPay'])
 	},
 	onShow() {
-		this.isSubmitting = false ;
+		this.isSubmitting = false;
 	},
 	onLoad() {
 		// 获取用户信息,检查是否为VIP
@@ -235,6 +247,16 @@ export default {
 		// 页面渲染完成后获取vip-privileges的高度
 		this.getPrivilegesHeight();
 	},
+	onPageScroll(e) {
+		console.log(e.scrollTop, "滚动高度");
+		var scrollTop = e.scrollTop - 10;
+		if (scrollTop > 0) {
+			this.headerOpacity = Math.min(scrollTop / 100, 1);
+		}
+		if (e.scrollTop == 0) {
+			this.headerOpacity = 0;
+		}
+	},
 	methods: {
 		// 获取用户信息
 		getUserInfo() {
@@ -282,7 +304,7 @@ export default {
 						res.data.list.length > 0
 					) {
 						console.log(res.data.list, "会员列表数据");
-						this.priceOptions=[]
+						this.priceOptions = []
 						res.data.list.reverse()
 						res.data.list.forEach(v => {
 							this.priceOptions.push({
@@ -350,9 +372,9 @@ export default {
 				return;
 			}
 			this.lastClickTime = now;
-			
+
 			if (this.isSubmitting) return;
-			
+
 			if (this.is_agree == 0) {
 				uni.showToast({
 					title: "请确认并选择协议",
@@ -565,15 +587,15 @@ export default {
 					});
 					break;
 				case 'contact':
-					 
-				this.openCustomPopup();
+
+					this.openCustomPopup();
 
 					break;
 			}
 		},
 		openCustomPopup() {
-      this.$refs.customerServicePopup.open();
-    },
+			this.$refs.customerServicePopup.open();
+		},
 		goPage(page) {
 			uni.navigateTo({
 				url: page,
@@ -595,7 +617,10 @@ export default {
 
 .vip-container {
 	min-height: 100vh;
-	padding-bottom: 100rpx;
+	padding-bottom: 360rpx;
+	position: relative;
+	left: 0;
+	top: 0;
 
 	.heard-box {
 		.PageHeader {
@@ -611,13 +636,25 @@ export default {
 			.fa {
 				color: #fff;
 			}
+
+			&.whitePhageHeader {
+				background-image: none !important;
+				background: #fff;
+				.center-title {
+					color: #1f1f1f !important;
+				}
+
+				::v-deep .uni-icons {
+					color: #000 !important;
+				}
+			}
 		}
 
 		.vip-card-box {
 			width: 100%;
 			padding: 0 36rpx;
 			height: 300rpx;
-			padding-top: 50rpx;
+			padding-top: 40rpx;
 
 			.vip-header {
 				width: 100%;
@@ -626,6 +663,8 @@ export default {
 				padding-top: 110rpx;
 
 				.vip-info {
+					padding-top: 10rpx;
+					padding-left: 4rpx;
 					display: flex;
 
 					.vip-info-left {
@@ -637,14 +676,14 @@ export default {
 
 					.vip-info-right {
 						.vip-nickname {
-							font-size: 24rpx;
+							font-size: 26rpx;
 							font-weight: 400;
 							font-family: 'PingFang SC-Bold';
 
 						}
 
 						.vip-expire {
-							font-size: 20rpx;
+							font-size: 22rpx;
 							font-family: 'PingFang SC-Medium';
 						}
 					}
@@ -743,6 +782,7 @@ export default {
 			display: flex;
 			justify-content: space-between;
 			padding: 32rpx;
+			padding-bottom: 24rpx;
 			margin-top: -60rpx;
 
 			.price-option {
@@ -757,7 +797,7 @@ export default {
 				position: relative;
 				transition: all 0.3s;
 				border-radius: 20rpx;
-				border: 4rpx solid #E9E9E9;
+				border: 6rpx solid #E9E9E9;
 				padding-top: 48rpx;
 				padding-bottom: 34rpx;
 
@@ -766,8 +806,8 @@ export default {
 					height: 48rpx;
 					padding: 6rpx 12rpx 14rpx 12rpx;
 					position: absolute;
-					left: -6rpx;
-					top: -4rpx;
+					left: -11rpx;
+					top: -6rpx;
 					background: url("../../static/vip/hy_biaoqian_02.png") center/100% 100% no-repeat;
 					font-weight: 400;
 					font-size: 10px;
@@ -806,8 +846,10 @@ export default {
 					font-size: 68rpx;
 					font-weight: bold;
 					color: #4A4A4A;
-					padding-top: 10rpx;
-					padding-bottom: 5rpx;
+					// padding-top: -10rpx;
+					line-height: 1;
+					padding-top: 8rpx;
+					padding-bottom: 2rpx;
 				}
 
 				.originalPrice {
@@ -822,6 +864,10 @@ export default {
 					border-color: #1f1f1f;
 					transform: scale(1.05);
 
+					.price-tag {
+						background: #1f1f1f;
+					}
+
 					.price-left-img {
 						background: url("../../static/vip/hy_biaoqian_01.png") center/100% no-repeat;
 						color: #ACF934;
@@ -865,7 +911,7 @@ export default {
 				padding: 26rpx;
 				padding-right: 0;
 				// padding-left: 20rpx;
-				margin-bottom: 26rpx;
+				margin-bottom: 20rpx;
 				display: flex;
 				align-items: center;
 			}
@@ -878,9 +924,10 @@ export default {
 
 			.privilege-name {
 				font-size: 28rpx;
-				font-weight: 400;
-				color: #1C2C00;
+				font-weight:400;
+				color: #1f1f1f;
 				margin-bottom: 10rpx;
+				font-family: 'PingFang SC-Bold';
 			}
 
 			.privilege-desc {
@@ -889,43 +936,7 @@ export default {
 			}
 		}
 
-		.bottom-pay-btn-bottom {
-			width: 626rpx;
-			height: 88rpx;
-			background: linear-gradient(90deg, #1F1F1F 0%, #444444 100%);
-			border-radius: 76rpx;
-			margin: 0 auto;
-			margin-top: 70rpx;
-			color: #ACF934;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			font-size: 32rpx;
-			line-height: 0;
-			position: relative;
-			overflow: hidden;
-			transition: all 0.3s ease;
-			
-			&.btn-loading {
-				opacity: 0.7;
-				pointer-events: none;
-			}
-			
-			.loading-spinner {
-				width: 40rpx;
-				height: 40rpx;
-				border: 4rpx solid rgba(255, 255, 255, 0.3);
-				border-radius: 50%;
-				border-top-color: #fff;
-				animation: spin 1s linear infinite;
-			}
 
-			text {
-				font-size: 44rpx;
-				display: inline-block;
-				margin-right: 10rpx;
-			}
-		}
 	}
 
 
@@ -1079,6 +1090,7 @@ export default {
 			z-index: 100;
 			transform-origin: top right;
 			animation: dropdownAnimation 0.2s ease-out;
+			overflow: hidden;
 
 			.dropdown-item {
 				padding: 24rpx 0;
@@ -1134,6 +1146,10 @@ export default {
 	align-items: center;
 	text-align: left;
 	line-height: 32rpx;
+	position: absolute;
+	bottom: 210rpx;
+	left: 50%;
+	transform: translateX(-50%);
 
 	.agree2 {
 		display: flex;
@@ -1142,6 +1158,7 @@ export default {
 		align-items: center;
 		padding-right: 8rpx;
 		flex-shrink: 0;
+		margin-bottom: 34rpx;
 	}
 
 	.xy {
@@ -1154,4 +1171,50 @@ export default {
 		height: 32rpx;
 	}
 }
+
+.bottom-pay-btn-bottom {
+	width: 626rpx;
+	height: 88rpx;
+	background: linear-gradient(to left, #1F1F1F, #444444);
+	border-radius: 76rpx;
+	margin: 0 auto;
+	margin-top: 70rpx;
+	color: #ACF934;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	font-size: 32rpx;
+	line-height: 0;
+	position: relative;
+	overflow: hidden;
+	transition: all 0.3s ease;
+	position: absolute;
+	bottom: 100rpx;
+	left: 50%;
+	transform: translateX(-50%);
+
+	.price-value {
+		font-size: 44rpx;
+		font-family: 'CustomFont';
+	}
+
+	&.btn-loading {
+		opacity: 0.7;
+		pointer-events: none;
+	}
+
+	.loading-spinner {
+		width: 40rpx;
+		height: 40rpx;
+		border: 4rpx solid rgba(255, 255, 255, 0.3);
+		border-radius: 50%;
+		border-top-color: #fff;
+		animation: spin 1s linear infinite;
+	}
+
+	text {
+		display: inline-block;
+		margin-right: 10rpx;
+	}
+}
 </style>

+ 12 - 6
pages/vip/record.vue

@@ -184,15 +184,18 @@ export default {
     width: 140rpx;
     height: 48rpx;
     font-size: 32rpx;
-    font-family: "PingFang SC-Bold";
     color: #999;
-    font-weight: 400;
     text-align: center;
     margin: 0 20rpx;
     transition: all .5s;
+    padding-right: 10rpx;
+    font-family: 'PingFang SC-Medium';
+    font-weight: normal;
     &.active {
+      font-weight: 400;
+      font-family: "PingFang SC-Bold";
       color: #1f1f1f;
-      background: url("../../static/me/wd_img_qiehuan.png") center / cover no-repeat;
+      background: url("../../static/me/wd_img_qiehuan.png")  right center / auto 100% no-repeat;
     }
   }
 }
@@ -212,7 +215,9 @@ export default {
         font-size: 32rpx;
         color: #333;
         margin-bottom: 8rpx;
-        font-weight: 500;
+        font-weight: 400;
+        font-family: "PingFang SC-Bold";
+        
       }
 
       .record-time {
@@ -226,10 +231,11 @@ export default {
       text-align: right;
       font-size: 32rpx;
       color: #333;
-      font-weight: 500;
+      font-weight: 400;
+      font-family: "PingFang SC-Bold";
 
       &.income {
-        color: #07c160;
+        color: #1f1f1f;
       }
 
       &.expense {

BIN
static/icon/more2.png


BIN
static/icon/more3.png


BIN
static/me/icon_alipay.png


BIN
static/me/icon_wechat.png


+ 1 - 2
uni_modules/uv-input/components/uv-input/uv-input.vue

@@ -58,8 +58,7 @@
         </view>
         <view class="uv-input__content__subfix-icon">
           <slot name="suffix">
-            <uv-icon
-							v-if="suffixIcon"
+            <uv-icon v-if="suffixIcon"
               :name="suffixIcon"
               size="18"
               :customStyle="suffixIconStyle"