Browse Source

Merge branch 'master' of http://150.158.33.144:3000/lalalashen/MoeNovaClient

ck@123911.net 7 tháng trước cách đây
mục cha
commit
0ca6c4ad4d

+ 1 - 1
components/SharePopup/SharePopup.vue

@@ -53,7 +53,7 @@ export default {
         // { id: 'qq', title: 'QQ好友', icon: '../../static/icon/sy_icon_qq.png' },
         { id: 'copy', title: '复制链接', icon: '/static/icon/sy_icon_fuzhilianjie.png' },
         { id: 'report', title: '举报', icon: '/static/icon/sy_icon_jubao01.png' },
-        { id: 'more', title: '更多', icon: '../../static/icon/sy_icon_gengduo.png' } 
+        // { id: 'more', title: '更多', icon: '../../static/icon/sy_icon_gengduo.png' } 
       ],
       from_id: 0
     }

+ 3 - 2
components/card/card.vue

@@ -56,8 +56,9 @@
         ></image>
         <text class="value" style="color: #fff">{{ item.num_view }}</text>
       </view>
-      <view class="item" style="background-color: #1f1f1f">
-        <text class="value" style="color: #acf934">精选</text>
+      <!-- <view class="item" style="background-color: #1f1f1f"> -->
+      <view class="item" style=" background: url('../../static/home/jingxuan.png') no-repeat center left / 100% 100%;  width: 96rpx; height: 36rpx;padding: 0; padding-left: 42rpx;  ">
+        <text class="value" style="color: #acf934; ">精选</text>
       </view>
     </view>
   </view>

+ 36 - 22
pages/index/articleDetail.vue

@@ -26,7 +26,7 @@
 						@click="followTheAuthor(0)">已关注</text>
 				</template>
 
-				<template v-if="isMessage"> 
+				<template v-if="isMessage">
 					<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)">
@@ -64,7 +64,7 @@
 					<view class="cardLink" v-if="workInfo.id" @click="goToDetails(workInfo.id)">
 						<image :src="workInfo.images" mode="heightFix"></image>
 						<view class="content">
-							<view class="tit">{{workInfo.title || "暂无标题"}}</view>
+							<view class="tit">{{ workInfo.title || "暂无标题" }}</view>
 							<view class="tex">{{
 								cutTime(workInfo.create_time) || "暂无时间"
 							}}</view>
@@ -121,8 +121,9 @@
 		</template>
 		<!-- 评论区域 -->
 		<template v-if="articleInfo.status == 1">
-			<CommentSection style="background: #fff; border-top: #F2F6F2 2rpx solid;" v-if="userInfo.id != 0" ref="commentSection" @totalNumberOfComments="totalNumberOfComments"
-				:articleInfo="articleInfo" :myInfo="myInfo" :userInfo="userInfo" :articleId="arcID" :type="'article'">
+			<CommentSection style="background: #fff; border-top: #F2F6F2 2rpx solid;" v-if="userInfo.id != 0"
+				ref="commentSection" @totalNumberOfComments="totalNumberOfComments" :articleInfo="articleInfo"
+				:myInfo="myInfo" :userInfo="userInfo" :articleId="arcID" :type="'article'">
 			</CommentSection>
 		</template>
 		<view class="thread2"></view>
@@ -139,8 +140,8 @@
 			</view>
 		</CustomPopup>
 		<DialogBox ref="DialogBox"></DialogBox>
-		<SharePopup :visible="showShare" :userId="userId" :share-title="shareTitle" :share-desc="shareDesc" :share-img="shareImg" view="makeDetail"
-			@close="showShare = false" />
+		<SharePopup :visible="showShare" :userId="userId" :share-title="shareTitle" :share-desc="shareDesc"
+			:share-img="shareImg" view="makeDetail" @close="showShare = false" />
 	</view>
 </template>
 
@@ -584,18 +585,18 @@ export default {
 
 		showActionSheet(n) {
 			uni.$emit('check_login', () => {
-				if (n==0) {
+				if (n == 0) {
 					// this.items = [
-                    //     {
-                    //         text: "分享作品",
-                    //         icon: "../../static/icon/cz_icon_fenxiangzuopin.png",
-                    //     },
-                    // ];
+					//     {
+					//         text: "分享作品",
+					//         icon: "../../static/icon/cz_icon_fenxiangzuopin.png",
+					//     },
+					// ];
 					// 如果只有一个分享按钮,直接唤醒分享弹窗
 					this.showShare = true;
 					return;
 				}
-				if (n==1) {
+				if (n == 1) {
 					this.items = [
 						{
 							text: "分享作品",
@@ -605,6 +606,10 @@ export default {
 							text: "修改帖子",
 							icon: "../../static/icon/cz_icon_xiugaifengmian.png",
 						},
+						{
+							text: "举报",
+							icon: "../../static/icon/jubao.png",
+						},
 						{
 							text: "删除作品",
 							icon: "../../static/icon/sy_icon_shanchu.png",
@@ -612,13 +617,13 @@ export default {
 						},
 					];
 				}
-				if (n==2) {
+				if (n == 2) {
 					// this.items = [
-                    //     {
-                    //         text: "分享消息",
-                    //         icon: "../../static/icon/cz_icon_fenxiangzuopin.png",
-                    //     },
-                    // ];
+					//     {
+					//         text: "分享消息",
+					//         icon: "../../static/icon/cz_icon_fenxiangzuopin.png",
+					//     },
+					// ];
 					// 如果只有一个分享按钮,直接唤醒分享弹窗
 					this.showShare = true;
 					return;
@@ -634,15 +639,24 @@ export default {
 			if (item.text === "分享作品") {
 				this.showShare = true;
 			} else if (item.text === "修改帖子") {
-				console.log("修改帖子");
 				uni.navigateTo({
 					url: "/pages/make/fabuArticle?id=" + this.articleInfo.id,
 				});
 			} else if (item.text === "删除作品") {
-				console.log("删除作品");
 				this.deleteArticle();
+			} else if (item.text === "举报") {
+				this.handleReport();
 			}
 		},
+		handleReport() {
+			// 实现举报功能
+			uni.$emit('check_login', () => {
+				uni.navigateTo({
+					url: '/pages/my/feedback'
+				})
+			})
+
+		},
 		imageString(str) {
 			if (!str) {
 				return [];
@@ -731,7 +745,7 @@ export default {
 				current: index,
 				indicator: 'number',
 				loop: true,
-				showmenu:false
+				showmenu: false
 			});
 		},
 	},

+ 460 - 448
pages/index/index.scss

@@ -1,448 +1,460 @@
-	@font-face {
-	    font-family: 'CustomFont';
-	    src: url('@/static/fonts/alibaba.otf') format('opentype');
-	    font-weight: normal;
-	    font-style: normal;
-	}
-	.page-top{
-		background:url("/static/home/home-top.png") 518rpx calc(-10rpx + var(--status-bar-height))/212rpx 296rpx no-repeat,url("/static/home/home-t.png") top center/100% auto no-repeat,linear-gradient(to top, #D0FFA5, #ACFF5F);
-	}
-	.tab-nav {
-		display: flex;
-		justify-content: flex-start;
-		padding: 20rpx 20rpx;
-		box-sizing: border-box;
-		background: #ffffff;
- 
-		.tab-item {
-			padding: 10rpx 38rpx;
-			color: #1F1F1F;
-			font-size: 28rpx;
-			background: #F2F6F2;
-			margin-right: 20rpx;
-			border-radius: 30rpx;
-			position: relative;
-			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);
-			
-			&:active {
-				transform: scale(0.95);
-				box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
-			}
-
-			.indicator-triangle {
-				position: absolute;
-				bottom: -10rpx;
-				left: 50%;
-				transform: translateX(-50%);
-				width: 0;
-				height: 0;
-				border-left: 10rpx solid transparent;
-				border-right: 10rpx solid transparent;
-				border-top: 10rpx solid #ACF934;
-				display: none;
-				transition: all 0.3s ease;
-			}
-			&.active {  
-				background: #ACF934;
-				font-family: "CustomFont" !important;
-				box-shadow: 0 4rpx 12rpx rgba(172, 249, 52, 0.3);
-				
-				.indicator-triangle {
-					display: block;
-					transform: translateX(-50%) scale(1.2);
-				}
-			}
-		}
-	}
-
-	.hot-topics {
-		padding: 20rpx;
-		// background: #fff;
-		margin: 20rpx;
-		border-radius: 16rpx;
-		border: #000000 solid 2rpx; 
-		 background:url("../../static/home/hot-topice-bg.png") center/100% 99%  no-repeat;
-		 
-		.hot-topics-header {
-			margin-bottom: 20rpx;
-		
-			.hot-topics-title { 
-				width: 140rpx;
-				height: 34rpx;
-			}
-		}
-
-		.hot-topics-swiper {
-			height: 220rpx;  
-			box-sizing: border-box;
-		}
-
-		.hot-topics-list {
-			padding: 0 26rpx; 
-			padding-bottom: 0;
-			height: 100%;
-			display: flex;
-			flex-direction: column;
-			justify-content: flex-start;
-			min-height: 220rpx;
-		}
-
-		.topic-item {
-			display: flex;
-			align-items: center;
-			padding: 10rpx 0;
-			justify-content: space-between;
-			width: 100%;
-			min-height: 50rpx;
-			margin-bottom: 10rpx;
-			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
-			
-			&:active {
-				transform: scale(0.98); 
-			}
-			
-			&:last-child {
-				margin-bottom: 0;
-			}
-			.hot-topics-left{
-				display: flex;
-				transition: all 0.3s ease;
-				.topic-index{
-					width: 30rpx;
-					height: 30rpx;
-					font-weight: 700;
-					font-size: 24rpx;
-					display: inline-flex;
-					align-items: center;
-					justify-content: center;
-					color: #fff;
-					border-radius: 5rpx;
-					margin-right: 18rpx; 
-					background: #CECECE;
-					transition: all 0.3s ease;
-					&.topic-index-img{
-						background: transparent;
-						color: transparent;
-						width: 36rpx;
-						height: 36rpx;
-						position: relative;
-						left: -2rpx;
-						top: 0;
-					}
-				} 
-				.topic-content{
-					font-size: 24rpx; 
-					max-width: 330rpx;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-					transition: all 0.3s ease;
-				}
-			}
-			.topic-participants{
-				font-size: 20rpx;
-				color: #999;
-				transition: all 0.3s ease;
-			}
-			.hot-tag {
-				width: 46rpx;
-				height: 22rpx;
-				margin: auto;
-				margin-left: 10rpx;
-				transition: all 0.3s ease;
-			}
-		}
-
-		.indicator-dots {
-			display: flex;
-			justify-content: center;
-			margin-top: 20rpx;
-
-			.dot {
-				width: 12rpx;
-				height: 12rpx;
-				border-radius: 50%;
-				background: #ffffff;
-				margin: 0 6rpx;
-
-				&.active {
-					background: #808080;
-				}
-			}
-		}
-	}
-
-	.follow-list {
-		padding: 20rpx;
-		background: #fff;
-		margin: 0rpx;
-		border-radius: 0rpx;
-
-		.works-list {
-			display: flex;
-			flex-wrap: wrap;
-			padding: 10rpx;
-
-			.work-item {
-				width: 48%;
-				margin: 1%;
-				margin-bottom: 20rpx;
-
-				.work-image {
-					width: 100%;
-					aspect-ratio: 1;
-					border-radius: 12rpx;
-				}
-
-				.work-title {
-					font-size: 28rpx;
-					color: #ffffff;
-					margin-top: 10rpx;
-					padding: 0 10rpx;
-					white-space: nowrap;
-					overflow: hidden;
-					text-overflow: ellipsis;
-				}
-			}
-		}
-
-		.no-data {
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			justify-content: center;
-			padding: 60rpx 0;
-			background-color: #fff;
-			text {
-				color: #808080;
-				font-size: 28rpx;
-			}
-		}
-	}
-
-	.no-data {
-		text-align: center;
-		padding: 40rpx 0;
-		color: #808080;
-		font-size: 28rpx;
-	}
-
-	.news-list {
-		padding: 20rpx;
-		background: #fff;
-
-		.news-grid {
-			display: flex;
-			flex-wrap: wrap;
-			justify-content: space-between;
-
-			.news-item {
-				width: 48%;
-				margin-bottom: 30rpx;
-				background: #28292D;
-				border-radius: 12rpx;
-				overflow: hidden;
-
-				.news-image {
-					width: 100%;
-					aspect-ratio: 1;
-					height: auto;
-					border-radius: 12rpx 12rpx 0 0;
-				}
-
-				.news-title {
-					font-size: 28rpx;
-					color: #ffffff;
-					padding: 15rpx;
-					white-space: nowrap;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					height: 60rpx;
-					line-height: 60rpx;
-				}
-
-				.news-footer {
-					display: flex;
-					justify-content: space-between;
-					align-items: center;
-					padding: 0 15rpx 15rpx;
-
-					.news-author {
-						font-size: 24rpx;
-						color: #808080;
-						max-width: 60%;
-						white-space: nowrap;
-						overflow: hidden;
-						text-overflow: ellipsis;
-					}
-
-					.news-views {
-						display: flex;
-						align-items: center;
-						font-size: 24rpx;
-						color: #808080;
-
-						.view-icon {
-							width: 26rpx;
-							height: 18rpx;
-							margin-right: 6rpx;
-						}
-					}
-				}
-			}
-		}
-	}
-
-	.float-btn {
-		position: fixed;
-		right: 30rpx;
-		bottom: 145rpx;
-		width: 120rpx;
-		height: 120rpx; 
-		border-radius: 50%;
-		display: flex;
-		justify-content: center;
-		align-items: center; 
-		z-index: 999;
-
-		.float-btn-icon {
-			width: 100%;
-			height: 100%;
-		}
-	}
-
-	.blankHeight {
-		// width: 500rpx;
-		// height: 500rpx;
-		width: 100%;
-		height: 144rpx;
-	}
-	.benner-box{
-		box-sizing: border-box;
-		padding:  20rpx; 
-		background: #fff;	
-		border-top-left-radius: 40rpx;
-		border-top-right-radius: 40rpx;
-		::v-deep.uv-swiper{
-			border-radius: 20rpx !important;
-			overflow: hidden;
-			transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
-			
-			&:active {
-				transform: scale(0.98); 
-			}
-		}
-		.classModel{
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			position: relative;
-			left: 0;
-			right: 0;
-			.benner-iconBom{
-				height: 18rpx;
-				width: 50rpx;
-				position: absolute;
-				top: calc(55% + 18rpx);
-				left: 50%;
-				transform: translateX(-50%);
-				z-index: 99;
-			}
-			.benner-icontop{
-				width: 45rpx;
-				height: 20rpx;
-				position: absolute;
-				top: 55%;
-				left: 50%;
-				transform: translateX(-50%);
-			
-			}
-			.benner-box{
-				height: 256rpx;
-				width: 344rpx;
-				position: relative;
-			}
-	
-			.benner-left-box{
-				background:url("../../static/home/benner-left.-bg.png") center/100% 99%  no-repeat;
-			.text1{
-				color: rgba(255,255,255, 0.8);
-				color: 28rpx;
-				position: absolute;
-				left: 26rpx;
-				top: 88rpx;
-				
-			}
-			.btn{
-				font-size: 24rpx;
-				background: #1F1F1F;
-				color: #ACF934 ;
-				display: inline-block;
-				border-radius: 390rpx;
-				padding: 8rpx 24rpx;
-				padding-bottom: 10rpx;
-				position: absolute;
-				bottom: 38rpx;
-				left: 26rpx;
-			}
-			}
-			.benner-right-box{
-				background:url("../../static/home/benner-right-bg.png") center/100% 99%  no-repeat;
-				display: flex;
-				flex-direction: column;
-				justify-content: space-evenly;
-				align-items: center; 
-				height: 256rpx;
-				.text{
-					color: #999;
-					font-size: 20rpx;
-					position: absolute;
-					top: 56rpx;
-					left: 26rpx; 	
-				}
-				.guard{
-					position: relative;
-					left: 0;
-					top: 0;
-					width: 312rpx;
-					height: 104rpx;
-					background: url("../../static/home/benner-right-btnTop.png") center/100%   no-repeat;
-					margin-bottom: 10rpx;
-				}
-				.match{
-					position: relative;
-					left: 0;
-					top: 0;
-					width: 312rpx;
-					height: 104rpx;
-					background: url("../../static/home/benner-right-btnBom.png") center/100%   no-repeat;
-				}
-			}
-			}
-		}
-		.waterfall-list-container{
-			background: #fff;
-		}
-		.navCenter{
-			.topBox{
-				display: flex;
-				flex-direction: row;
-				justify-content: center;
-				align-items: center;
-			}
-		}
-		.lhSelectCity{
-			background-color: #fff; 
-			position: fixed;
-			left: 0;
-			right: 0;
-			width: 100%;
-			height: 100vh;
-			padding: 0 25rpx;
-			padding-top:  var(--status-bar-height);
-				
-;
-		}
+@font-face {
+  font-family: "CustomFont";
+  src: url("@/static/fonts/alibaba.otf") format("opentype");
+  font-weight: normal;
+  font-style: normal;
+}
+.page-top {
+  background: url("/static/home/home-top.png") 518rpx
+      calc(-10rpx + var(--status-bar-height)) / 212rpx 296rpx no-repeat,
+    url("/static/home/home-t.png") top center/100% auto no-repeat,
+    linear-gradient(to top, #d0ffa5, #acff5f);
+}
+.tab-nav {
+  display: flex;
+  justify-content: flex-start;
+  padding: 20rpx 20rpx;
+  box-sizing: border-box;
+  background: #ffffff;
+
+  .tab-item {
+    padding: 10rpx 38rpx;
+    color: #1f1f1f;
+    font-size: 28rpx;
+    background: #f2f6f2;
+    margin-right: 20rpx;
+    border-radius: 30rpx;
+    position: relative;
+    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);
+
+    &:active {
+      transform: scale(0.95);
+      box-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.05);
+    }
+
+    .indicator-triangle {
+      position: absolute;
+      bottom: -10rpx;
+      left: 50%;
+      transform: translateX(-50%);
+      width: 0;
+      height: 0;
+      border-left: 10rpx solid transparent;
+      border-right: 10rpx solid transparent;
+      border-top: 10rpx solid #acf934;
+      display: none;
+      transition: all 0.3s ease;
+    }
+    &.active {
+      background: #acf934;
+      font-family: "CustomFont" !important;
+      box-shadow: 0 4rpx 12rpx rgba(172, 249, 52, 0.3);
+
+      .indicator-triangle {
+        display: block;
+        transform: translateX(-50%) scale(1.2);
+      }
+    }
+  }
+}
+
+.hot-topics {
+  padding: 20rpx;
+  // background: #fff;
+  margin: 20rpx;
+  border-radius: 16rpx;
+  border: #000000 solid 2rpx;
+  background: url("../../static/home/hot-topice-bg.png") center/100% 99%
+    no-repeat;
+
+  .hot-topics-header {
+    margin-bottom: 20rpx;
+
+    .hot-topics-title {
+      width: 140rpx;
+      height: 34rpx;
+    }
+  }
+
+  .hot-topics-swiper {
+    height: 220rpx;
+    box-sizing: border-box;
+  }
+
+  .hot-topics-list {
+    padding: 0 26rpx;
+    padding-bottom: 0;
+    height: 100%;
+    display: flex;
+    flex-direction: column;
+    justify-content: flex-start;
+    min-height: 220rpx;
+  }
+
+  .topic-item {
+    display: flex;
+    align-items: center;
+    padding: 10rpx 0;
+    justify-content: space-between;
+    width: 100%;
+    min-height: 50rpx;
+    margin-bottom: 10rpx;
+    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+
+    &:active {
+      transform: scale(0.98);
+    }
+
+    &:last-child {
+      margin-bottom: 0;
+    }
+    .hot-topics-left {
+      display: flex;
+      transition: all 0.3s ease;
+      .topic-index {
+        width: 30rpx;
+        height: 30rpx;
+        font-weight: 700;
+        font-size: 24rpx;
+        display: inline-flex;
+        align-items: center;
+        justify-content: center;
+        color: #fff;
+        border-radius: 5rpx;
+        margin-right: 18rpx;
+        background: #cecece;
+        transition: all 0.3s ease;
+        &.topic-index-img {
+          background: transparent;
+          color: transparent;
+          width: 36rpx;
+          height: 36rpx;
+          position: relative;
+          left: -2rpx;
+          top: 0;
+        }
+      }
+      .topic-content {
+        font-size: 24rpx;
+        max-width: 330rpx;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        white-space: nowrap;
+        transition: all 0.3s ease;
+      }
+    }
+    .topic-participants {
+      font-size: 20rpx;
+      color: #999;
+      transition: all 0.3s ease;
+    }
+    .hot-tag {
+      width: 46rpx;
+      height: 22rpx;
+      margin: auto;
+      margin-left: 10rpx;
+      transition: all 0.3s ease;
+    }
+  }
+
+  .indicator-dots {
+    display: flex;
+    justify-content: center;
+    margin-top: 20rpx;
+
+    .dot {
+      width: 12rpx;
+      height: 12rpx;
+      border-radius: 50%;
+      background: #ffffff;
+      margin: 0 6rpx;
+
+      &.active {
+        background: #808080;
+      }
+    }
+  }
+}
+
+.follow-list {
+  padding: 20rpx;
+  background: #fff;
+  margin: 0rpx;
+  border-radius: 0rpx;
+
+  .works-list {
+    display: flex;
+    flex-wrap: wrap;
+    padding: 10rpx;
+
+    .work-item {
+      width: 48%;
+      margin: 1%;
+      margin-bottom: 20rpx;
+
+      .work-image {
+        width: 100%;
+        aspect-ratio: 1;
+        border-radius: 12rpx;
+      }
+
+      .work-title {
+        font-size: 28rpx;
+        color: #ffffff;
+        margin-top: 10rpx;
+        padding: 0 10rpx;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+      }
+    }
+  }
+
+  .no-data {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    padding: 60rpx 0;
+    background-color: #fff;
+    text {
+      color: #808080;
+      font-size: 28rpx;
+    }
+  }
+}
+
+.no-data {
+  text-align: center;
+  padding: 40rpx 0;
+  color: #808080;
+  font-size: 28rpx;
+}
+
+.news-list {
+  padding: 20rpx;
+  background: #fff;
+
+  .news-grid {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-between;
+
+    .news-item {
+      width: 48%;
+      margin-bottom: 30rpx;
+      background: #28292d;
+      border-radius: 12rpx;
+      overflow: hidden;
+
+      .news-image {
+        width: 100%;
+        aspect-ratio: 1;
+        height: auto;
+        border-radius: 12rpx 12rpx 0 0;
+      }
+
+      .news-title {
+        font-size: 28rpx;
+        color: #ffffff;
+        padding: 15rpx;
+        white-space: nowrap;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        height: 60rpx;
+        line-height: 60rpx;
+      }
+
+      .news-footer {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        padding: 0 15rpx 15rpx;
+
+        .news-author {
+          font-size: 24rpx;
+          color: #808080;
+          max-width: 60%;
+          white-space: nowrap;
+          overflow: hidden;
+          text-overflow: ellipsis;
+        }
+
+        .news-views {
+          display: flex;
+          align-items: center;
+          font-size: 24rpx;
+          color: #808080;
+
+          .view-icon {
+            width: 26rpx;
+            height: 18rpx;
+            margin-right: 6rpx;
+          }
+        }
+      }
+    }
+  }
+}
+
+.float-btn {
+  position: fixed;
+  right: 30rpx;
+  bottom: 145rpx;
+  width: 120rpx;
+  height: 120rpx;
+  border-radius: 50%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  z-index: 999;
+
+  .float-btn-icon {
+    width: 100%;
+    height: 100%;
+  }
+}
+
+.blankHeight {
+  // width: 500rpx;
+  // height: 500rpx;
+  width: 100%;
+  height: 144rpx;
+}
+.benner-box {
+  box-sizing: border-box;
+  padding: 20rpx;
+  background: #fff;
+  border-top-left-radius: 40rpx;
+  border-top-right-radius: 40rpx;
+  ::v-deep.uv-swiper {
+    border-radius: 20rpx !important;
+    overflow: hidden;
+    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
+
+    &:active {
+      transform: scale(0.98);
+    }
+  }
+  .classModel {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    position: relative;
+    left: 0;
+    right: 0;
+    .benner-iconBom {
+      height: 18rpx;
+      width: 50rpx;
+      position: absolute;
+      top: calc(55% + 18rpx);
+      left: 50%;
+      transform: translateX(-50%);
+      z-index: 99;
+    }
+    .benner-icontop {
+      width: 45rpx;
+      height: 20rpx;
+      position: absolute;
+      top: 55%;
+      left: 50%;
+      transform: translateX(-50%);
+    }
+    .benner-box {
+      height: 256rpx;
+      width: 344rpx;
+      position: relative;
+    }
+
+    .benner-left-box {
+      background: url("../../static/home/benner-left.-bg.png") center/100% 99%
+        no-repeat;
+      .text1 {
+        color: rgba(255, 255, 255, 0.8);
+        color: 28rpx;
+        position: absolute;
+        left: 26rpx;
+        top: 88rpx;
+      }
+      .btn {
+        font-size: 24rpx;
+        background: #1f1f1f;
+        color: #acf934;
+        display: inline-block;
+        border-radius: 390rpx;
+        padding: 8rpx 24rpx;
+        padding-bottom: 10rpx;
+        position: absolute;
+        bottom: 38rpx;
+        left: 26rpx;
+      }
+    }
+    .benner-right-box {
+      background: url("../../static/home/benner-right-bg.png") center/100% 99%
+        no-repeat;
+      display: flex;
+      flex-direction: column;
+      justify-content: space-evenly;
+      align-items: center;
+      height: 256rpx;
+      .text {
+        color: #999;
+        font-size: 20rpx;
+        position: absolute;
+        top: 56rpx;
+        left: 26rpx;
+      }
+      .guard {
+        position: relative;
+        left: 0;
+        top: 0;
+        width: 312rpx;
+        height: 104rpx;
+        background: url("../../static/home/benner-right-btnTop.png") center/100%
+          no-repeat;
+        margin-bottom: 10rpx;
+      }
+      .match {
+        position: relative;
+        left: 0;
+        top: 0;
+        width: 312rpx;
+        height: 104rpx;
+        background: url("../../static/home/benner-right-btnBom.png") center/100%
+          no-repeat;
+      }
+    }
+  }
+}
+.waterfall-list-container {
+  background: #fff;
+}
+.navCenter {
+  .topBox {
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+    align-items: center;
+  }
+}
+.lhSelectCity {
+  background-color: #fff;
+  position: fixed;
+  left: 0;
+  right: 0;
+  width: 100%;
+  height: 100vh;
+  padding: 0 25rpx;
+  padding-top: var(--status-bar-height);
+}
+.homePage {
+  ::v-deep.zp-scroll-view-super {
+    // padding-top: 22rpx;
+    border-top-left-radius: 40rpx;
+    border-top-right-radius: 40rpx;
+    background-color: #fff;
+  }
+}

+ 6 - 5
pages/index/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<view :style="{ height: windowHeight + 'px' }">
+	<view class="homePage" :style="{ height: windowHeight + 'px' }">
 		<!-- <view style="display: flex; justify-content: flex-end">
 			<view class="view0 step1"></view>
 		</view>
@@ -54,7 +54,7 @@
 
 								<template #suffix>
 									<view class="input-box">
-										<image src="@/static/icon/search.png" style="width: 32rpx; height: 32rpx">
+										<image src="@/static/home/sy_icon_sousuo.png" style="width: 32rpx; height: 32rpx">
 										</image>
 									</view>
 								</template>
@@ -63,7 +63,8 @@
 					</template>
 				</page-navbar>
 			</template>
-			<z-paging-cell class="benner-box" style="padding-bottom: 0;">
+			<view class="benner-box" style="padding-bottom: 0;">
+				
 				<sortble :default-sorts="['uvSwiper', 'classModel', 'uvSwiperCard']">
 					<template #uvSwiper>
 						<uv-swiper style="border-radius: 20rpx;" :list="bannerList" keyName="image" :autoplay="true" circular :interval="5000"
@@ -91,9 +92,9 @@
 						</view>
 					</template>
 				</sortble>
-			</z-paging-cell>
+			</view>
 			<z-paging-cell style="background: #fff">
-				<view class="tab-nav">
+				<view class="tab-nav" style="position: sticky; top: 0; left: 0; z-index: 99;">
 					<view v-for="(tab, index) in tabs" :key="index"
 						:class="['tab-item', currentTab === index ? 'active' : '']" @click="switchTab(index)">
 						{{ tab }}

+ 17 - 2
pages/index/workDetail.vue

@@ -565,6 +565,10 @@ export default {
             //   text: "修改封面",
             //   icon: "../../static/icon/cz_icon_xiugaifengmian.png",
             // },
+            {
+              text: "举报",
+              icon: "../../static/icon/jubao.png",
+            },
             {
               text: "删除作品",
               icon: "../../static/icon/sy_icon_shanchu.png",
@@ -595,8 +599,19 @@ export default {
       } else if (item.text === "删除作品") {
         // 删除作品
         this.deleteWork();
-      }
-    },
+      } else if (item.text === "举报") {
+				this.handleReport();
+			}
+		},
+		handleReport() {
+			// 实现举报功能
+			uni.$emit('check_login', () => {
+				uni.navigateTo({
+					url: '/pages/my/feedback'
+				})
+			})
+
+		},
     // 修改封面
     editCover() {
       uni.showActionSheet({

+ 17 - 9
pages/login/login.vue

@@ -9,7 +9,7 @@
 		</view>
 
 		<view class="tbody">
-		<!-- <view class="tbody" style="position: fixed;top: 70%;left: 50%;transform: translate(-50%,-50%);"> -->
+			<!-- <view class="tbody" style="position: fixed;top: 70%;left: 50%;transform: translate(-50%,-50%);"> -->
 			<block v-if="type == 'onelogin'">
 				<image class="icon" mode="widthFix" src="../../static/me/avator.png"></image>
 				<text class="mobile">+ 86 1**********</text>
@@ -20,7 +20,7 @@
 					<view class="line"></view>
 					<view class="mob" @click="type = 'mobile'">手机号登录</view>
 				</view>
-			</block> 
+			</block>
 			<block v-if="type == 'pass' || type == 'mobile'">
 				<template v-if="isSmsLogin">
 					<view class="name">手机号码:</view>
@@ -57,7 +57,8 @@
 					<text class="btn_submit blick-btn-animation" @click="oneClickLoginFun">一键登录</text>
 				</template>
 				<template v-else>
-					<view style="width: 100%;height: 500rpx;display: flex;justify-content: center;align-items: flex-end;">
+					<view
+						style="width: 100%;height: 500rpx;display: flex;justify-content: center;align-items: flex-end;">
 						<text class="btn_submit blick-btn-animation" @click="oneClickLoginFun">一键登录</text>
 					</view>
 				</template>
@@ -93,7 +94,7 @@
 <script>
 import pubc from '@/common/public.js'
 import { mapState } from 'vuex'
-
+import channel from "@/common/channel.js";
 
 export default {
 	components: {},
@@ -162,11 +163,11 @@ export default {
 					"borderRadius": "0px" // 其他登录按钮圆角 默认值:"24px" (按钮高度的一半)
 				},
 				"privacyTerms": {
-					"defaultCheckBoxState": true, // 条款勾选框初始状态 默认值: true
+					"defaultCheckBoxState": false, // 条款勾选框初始状态 默认值: true
 					"isCenterHint": true, //未勾选服务条款时点击登录按钮的提示是否居中显示 默认值: false (3.7.13+ 版本支持)
 					"uncheckedImage": "/static/icon/wd_icon_gouxuan04.png", // 可选 条款勾选框未选中状态图片(仅支持本地图片 建议尺寸 24x24px)(3.2.0+ 版本支持)
 					"checkedImage": "/static/icon/wd_icon_gouxuan05.png", // 可选 条款勾选框选中状态图片(仅支持本地图片 建议尺寸24x24px)(3.2.0+ 版本支持)
-					"checkBoxSize": 16, // 可选 条款勾选框大小
+					"checkBoxSize": 20, // 可选 条款勾选框大小
 					"textColor": "#BBBBBB", // 文字颜色 默认值:#BBBBBB
 					"termsColor": "#5496E3", //  协议文字颜色 默认值: #5496E3
 					"prefix": "我已阅读并同意", // 条款前的文案 默认值:“我已阅读并同意”
@@ -201,7 +202,7 @@ export default {
 	onLoad() {
 		setTimeout(function () {
 			console.log(this.isSmsLogin, 'isSmsLogin');
-			
+
 			uni.setNavigationBarColor({
 				frontColor: '#ffffff',
 				backgroundColor: '#00000000',
@@ -222,7 +223,14 @@ export default {
 				console.log(err)
 			}
 		});
-		this.oneClickLoginFun();
+		let channelStr = channel && channel.getCurrentStore() && channel.getCurrentStore().channel;
+		if (channelStr && channelStr == 'huawei') {
+			this.univerifyStyle.privacyTerms.defaultCheckBoxState = false;
+		} else {
+			this.univerifyStyle.privacyTerms.defaultCheckBoxState = true;
+
+		}
+		this.oneClickLoginFun(channel);
 	},
 	onShow() {
 		// let hsign = pubc.Encrypt("aboa-wifl-kwfl-zjfk-wlaa_FA0412932BAE9D98506580ADB348BEF9");
@@ -619,7 +627,7 @@ export default {
 					title: "请插入SIM卡并且使用流量后再重试",
 					icon: "none",
 					duration: 3000
-				}) 
+				})
 			}, 500)
 
 

+ 14 - 2
pages/makedetail/makeDetail.vue

@@ -121,7 +121,8 @@
 		<ActionSheet ref="actionSheet" :items="[
 			{ text: '分享作品', icon: '../../static/icon/cz_icon_fenxiangzuopin.png' },
 			{ text: '修改封面', icon: '../../static/icon/cz_icon_xiugaifengmian.png' },
-			{ text: '删除作品', icon: '../../static/icon/sy_icon_shanchu.png', danger: true }
+			{ text: '举报', icon: '../../static/icon/jubao.png' },
+			{ text: '删除作品', icon: '../../static/icon/sy_icon_shanchu.png', danger: true },
 		]" @select="handleActionSelect" @cancel="handleActionCancel" />
 		<NicknamePopup title="添加说明" subtitle="" class="openContentPopUpWindow" ref="openContentPopUpWindow">
 			<template v-slot:content>
@@ -554,9 +555,20 @@ export default {
 					// 删除作品
 					this.deleteWork();
 					break;
+				case '举报':
+					this.handleReport();
+					break;
 			}
-		},
+		}, 
+		handleReport() {
+			// 实现举报功能
+			uni.$emit('check_login', () => {
+				uni.navigateTo({
+					url: '/pages/my/feedback'
+				})
+			})
 
+		},
 		handleActionCancel() {
 			console.log('ActionSheet cancelled');
 		},

+ 14 - 10
pages/message/mailMessage.scss

@@ -17,7 +17,7 @@
   display: flex;
   flex-direction: column;
   border-bottom: solid 2rpx #eeeeee;
-  // background: #fff;
+  background: #fff;
   padding-top: calc(var(--status-bar-height) + 40rpx);
   padding-bottom: 10rpx;
   position: fixed;
@@ -39,7 +39,7 @@
       font-family: "PingFang SC-Bold";
       color: #999;
       font-weight: 400;
-      transition: all 3s;
+      transition: all .5s;
       ::after {
         content: "";
         position: absolute;
@@ -73,10 +73,10 @@
   // background-color: #fff;
   padding: 0 32rpx;
   box-sizing: border-box;
-  position: absolute;
-  left: 50%;
-  top: 50%;
-  transform: translate(-50%, -50%);
+  // position: absolute;
+  // left: 50%;
+  // top: 50%;
+  // transform: translate(-50%, -50%);
   .item {
     margin-top: 20rpx;
     color: #333;
@@ -167,10 +167,10 @@
   align-items: center;
   padding: 0 28rpx;
   background: #f2f6f2;
-  position: absolute;
-  top: 50%;
-  left: 50%;
-  transform: translate(-50%, -50%);
+  // position: absolute;
+  // top: 50%;
+  // left: 50%;
+  // transform: translate(-50%, -50%);
 
 
   .item {
@@ -296,6 +296,10 @@
 	    display: flex;
 	    flex-direction: column;
 	    align-items: center;
+        position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
 		.tips-title{
 			padding: 50rpx 0;
       padding-bottom: 30rpx;

+ 36 - 23
pages/my/editInfo.vue

@@ -34,17 +34,17 @@
 					</view>
 				</view>
 
-				<view class="info_item">
+				<view class="info_item" @click="open()">
 					<text class="label">生日</text>
-					<view class="content" @click="open()">
+					<view class="content">
 						<!-- <picker mode="date" :value="birthday" :end="endDate" @change="onBirthdayChange"> -->
 						<input type="text" placeholder="选择你的生日" v-model="birthday" disabled="true" />
 						<!-- </picker> -->
 						<image class="arrow" src="../../static/me/arrow_right_gray.png" mode="widthFix" />
 					</view>
 
-					<uni-calendar :date="birthday||'2000-01-01'" ref="calendar" :insert="false" @confirm="confirm" />
 				</view>
+				<uni-calendar :date="birthday||'2000-01-01'" ref="calendar" :insert="false" @confirm="confirm" />
 
 				<view class="info_item">
 					<text class="label">星座</text>
@@ -483,30 +483,43 @@ export default {
 			const month = parseInt(birthday.split('-')[1]);
 			const day = parseInt(birthday.split('-')[2]);
 
-			// 星座日期数组
-			const constellationDates = [
-				[1, 20, "水瓶座"],
-				[2, 19, "双鱼座"],
-				[3, 21, "白羊座"],
-				[4, 20, "金牛座"],
-				[5, 21, "双子座"],
-				[6, 22, "巨蟹座"],
-				[7, 23, "狮子座"],
-				[8, 23, "处女座"],
-				[9, 23, "天秤座"],
-				[10, 24, "天蝎座"],
-				[11, 23, "射手座"],
-				[12, 22, "摩羯座"]
+			// 星座日期范围数组,每个元素包含 [月份, 起始日期, 结束日期, 星座名称]
+			const constellationRanges = [
+				[1, 1, 19, "摩羯座"],    // 1月1日-1月19日
+				[1, 20, 31, "水瓶座"],   // 1月20日-1月31日
+				[2, 1, 18, "水瓶座"],    // 2月1日-2月18日
+				[2, 19, 29, "双鱼座"],   // 2月19日-2月29日
+				[3, 1, 20, "双鱼座"],    // 3月1日-3月20日
+				[3, 21, 31, "白羊座"],   // 3月21日-3月31日
+				[4, 1, 19, "白羊座"],    // 4月1日-4月19日
+				[4, 20, 30, "金牛座"],   // 4月20日-4月30日
+				[5, 1, 20, "金牛座"],    // 5月1日-5月20日
+				[5, 21, 31, "双子座"],   // 5月21日-5月31日
+				[6, 1, 21, "双子座"],    // 6月1日-6月21日
+				[6, 22, 30, "巨蟹座"],   // 6月22日-6月30日
+				[7, 1, 22, "巨蟹座"],    // 7月1日-7月22日
+				[7, 23, 31, "狮子座"],   // 7月23日-7月31日
+				[8, 1, 22, "狮子座"],    // 8月1日-8月22日
+				[8, 23, 31, "处女座"],   // 8月23日-8月31日
+				[9, 1, 22, "处女座"],    // 9月1日-9月22日
+				[9, 23, 30, "天秤座"],   // 9月23日-9月30日
+				[10, 1, 23, "天秤座"],   // 10月1日-10月23日
+				[10, 24, 31, "天蝎座"],  // 10月24日-10月31日
+				[11, 1, 22, "天蝎座"],   // 11月1日-11月22日
+				[11, 23, 30, "射手座"],  // 11月23日-11月30日
+				[12, 1, 21, "射手座"],   // 12月1日-12月21日
+				[12, 22, 31, "摩羯座"]   // 12月22日-12月31日
 			];
 
-			let constellation = "";
-			if (day < constellationDates[month - 1][1]) {
-				constellation = constellationDates[month - 1][2];
-			} else {
-				constellation = constellationDates[month % 12][2];
+			// 查找对应的星座
+			for (const [m, startDay, endDay, constellation] of constellationRanges) {
+				if (month === m && day >= startDay && day <= endDay) {
+					return constellation;
+				}
 			}
 
-			return constellation;
+			// 如果没找到匹配的星座(这种情况理论上不会发生,因为日期范围是连续的)
+			return "未知星座";
 		},
 		showAddTagInput() {
 			this.showAddTag = true;

+ 1 - 0
pages/my/follow.scss

@@ -19,6 +19,7 @@
 	  font-family: 'PingFang SC-Bold'; 
       color: #999;
       font-weight: 400;
+      transition: all .5s;
     &.active {
 		color: #1F1F1F;
 		background: url("../../static/me/wd_img_qiehuan.png") center / cover no-repeat;

+ 597 - 568
pages/my/myStar.vue

@@ -198,669 +198,698 @@
 </template>
 
 <script>
-	import tabbarView from "@/components/tabbar/tabbar.vue";
-	import value from '../../uni_modules/uv-text/components/uv-text/value';
-	import {
-		mapMutations
-	} from 'vuex'
-	export default {
-		components: {
-			tabbarView,
-		},
-		data() {
-			return {
-				isLoading: false,
-				selectedGender: null,
-				tempGender: null,
-				tabbars: [],
-				ballColors: [
-					"#FF6B6B", // 红色
-					"#4ECDC4", // 青色
-					"#45B7D1", // 蓝色
-					"#96CEB4", // 绿色
-					"#FFEEAD", // 黄色
-					"#D4A5A5", // 粉色
-					"#9A8194", // 紫色
-					"#FF9F1C", // 橙色
-				],
-				showError: false,
-				formData: {
-					nickname: "",
-					sex: "其他",
-					description: "",
-					tags: [],
-				},
-				predefinedTags: [],
-				showInfo: false,
-				starImg: "",
-				noteContent: "",
-				starInfo: {},
-				state: 2, //0 是用户输入星灵基因重组仓的状态   1 是用户已经完成了匹星灵展示页面   2是用户匹配中加载的状态 3是匹配到了待点击进入设置界面 (根据其它字段判断是否失败)  4是用户设置星灵信息的页面  5是用户查看星灵信息的页面 待入驻 6是用户已经已经入驻星球了
-				sex: "",
-				selectTags: [],
-				info: {
-					"id": 0,
-					"sso_id": 0,
-					"image_id": 0,
-					"image": "",
-					"nickname": "",
-					"user_content": "",
-					"content": "",
-					"sex_id": 0,
-					"tags": "",
-					"status": 0
-				},
-				timeoutId: 0,
-				showShare: false,
-				shareTitle: "分享标题",
-				shareDesc: "",
-				shareImg: "",
-				userId: 0,
-				maxRetries: 10, // 最大重试次数
-				retryCount: 0, // 当前重试次数
-				pollingInterval: 30000, // 轮询间隔时间(毫秒)
-				editContent: '',
-			};
-		},
-		onLoad() {
-			this.aIpipeiGetinfo("get");
-			this.loadInfo()
-		},
-		methods: {
-			...mapMutations('switchingModule', ['setInformation', 'deleteInformation']),
-			// 返回上一页
-			goBack() {
-				console.log(66);
-
-				uni.navigateBack({
-					delta: 1
-				});
-			},
-			confirmGender() {
-				// this.selectedGender = this.noteContent;
-				this.isLoading = true;
-				this.closeContentPopUpWindow();
-				this.state = 2
-				this.apiPeiStar();
-			},
-			goToSetProfile() {
-				this.state = 4;
-				this.formData.nickname = ''
-				this.formData.sex = ''
-				this.formData.tags = ''
-
+import tabbarView from "@/components/tabbar/tabbar.vue";
+import value from '../../uni_modules/uv-text/components/uv-text/value';
+import {
+	mapMutations
+} from 'vuex'
+export default {
+	components: {
+		tabbarView,
+	},
+	data() {
+		return {
+			isLoading: false,
+			selectedGender: null,
+			tempGender: null,
+			tabbars: [],
+			ballColors: [
+				"#FF6B6B", // 红色
+				"#4ECDC4", // 青色
+				"#45B7D1", // 蓝色
+				"#96CEB4", // 绿色
+				"#FFEEAD", // 黄色
+				"#D4A5A5", // 粉色
+				"#9A8194", // 紫色
+				"#FF9F1C", // 橙色
+			],
+			showError: false,
+			formData: {
+				nickname: "",
+				sex: "其他",
+				description: "",
+				tags: [],
 			},
-			toggleTag(tag) {
-				const index = this.formData.tags.indexOf(tag);
-				if (index > -1) {
-					this.formData.tags.splice(index, 1);
-				} else {
-					this.formData.tags.push(tag);
-				}
-			},
-			handleJoin(type) {
-				if (type === 1) {
-					// 保存修改后的信息到服务器
-					uni.request({
-						url: this.$apiHost + "/AIpipei/gogogo",
-						data: {
-							uuid: getApp().globalData.uuid,
-							nickname: this.starInfo.nickname,
-							content: this.starInfo.content,
-						},
-						header: {
-							"content-type": "application/x-www-form-urlencoded",
-							sign: getApp().globalData.headerSign,
-						},
-						method: "POST",
-						success: (res) => {
-							this.aIpipeiGetinfo({
-								polling: false
-							});
-						}
-					});
-				} else {
-					// 已入驻状态,直接跳转
-					uni.navigateTo({
-						url: '/pages/isLand/homeLand'
-					});
-				}
+			predefinedTags: [],
+			showInfo: false,
+			starImg: "",
+			noteContent: "",
+			starInfo: {},
+			state: 2, //0 是用户输入星灵基因重组仓的状态   1 是用户已经完成了匹星灵展示页面   2是用户匹配中加载的状态 3是匹配到了待点击进入设置界面 (根据其它字段判断是否失败)  4是用户设置星灵信息的页面  5是用户查看星灵信息的页面 待入驻 6是用户已经已经入驻星球了
+			sex: "",
+			selectTags: [],
+			info: {
+				"id": 0,
+				"sso_id": 0,
+				"image_id": 0,
+				"image": "",
+				"nickname": "",
+				"user_content": "",
+				"content": "",
+				"sex_id": 0,
+				"tags": "",
+				"status": 0
 			},
+			timeoutId: 0,
+			showShare: false,
+			shareTitle: "分享标题",
+			shareDesc: "",
+			shareImg: "",
+			userId: 0,
+			maxRetries: 10, // 最大重试次数
+			retryCount: 0, // 当前重试次数
+			pollingInterval: 30000, // 轮询间隔时间(毫秒)
+			editContent: '',
+		};
+	},
+	onLoad() {
+		this.aIpipeiGetinfo("get");
+		this.loadInfo()
+	},
+	methods: {
+		...mapMutations('switchingModule', ['setInformation', 'deleteInformation']),
+		// 返回上一页
+		goBack() {
+			console.log(66);
+
+			uni.navigateBack({
+				delta: 1
+			});
+		},
+		confirmGender() {
+			// if (!this.noteContent) {
+			// 	uni.showToast({
+			// 		title: "请输入匹配条件",
+			// 		icon: "none",
+			// 	});
+			// 	return;
+			// }
+			// this.selectedGender = this.noteContent;
+			this.isLoading = true;
+			this.closeContentPopUpWindow();
+			this.state = 2
+			this.apiPeiStar();
+		},
+		goToSetProfile() {
+			this.state = 4;
+			this.formData.nickname = ''
+			this.formData.sex = ''
+			this.formData.tags = ''
 
-			// 提交用户 开始创建的命令
-			apiPeiStar() {
-				if (!this.noteContent) {
-					uni.showToast({
-						title: "请输入匹配条件",
-						icon: "none",
-					});
-					return;
-				}
+		},
+		toggleTag(tag) {
+			const index = this.formData.tags.indexOf(tag);
+			if (index > -1) {
+				this.formData.tags.splice(index, 1);
+			} else {
+				this.formData.tags.push(tag);
+			}
+		},
+		handleJoin(type) {
+			if (type === 1) {
+				// 保存修改后的信息到服务器
 				uni.request({
-					url: this.$apiHost + "/AIpipei/start",
+					url: this.$apiHost + "/AIpipei/gogogo",
 					data: {
 						uuid: getApp().globalData.uuid,
-						content: this.noteContent,
+						nickname: this.starInfo.nickname,
+						content: this.starInfo.content,
 					},
 					header: {
 						"content-type": "application/x-www-form-urlencoded",
 						sign: getApp().globalData.headerSign,
 					},
-					// 设置60秒超时
-					timeout: 60000,
-					method: 'POST',
+					method: "POST",
 					success: (res) => {
-						setTimeout(() => {
-							if (res.data.str != "开始匹配") {
-								uni.showToast({
-									title: res.data.str,
-									icon: "none",
-									duration: 2000,
-								});
-							}
-							if (res.data.str == "内容不能为空") {
-								this.openContentPopUpWindow();
-								this.state = 0
-								this.apiPeiStar();
-							}
-							if (res.data.str == "开始匹配") {
-								this.aIpipeiGetinfo({
-									polling: true
-								})
-
-							}
-
-						}, 3000);
-
-					},
-					fail: (err) => {
-						console.error("请求失败:", err);
-						// 显示错误提示
+						console.log("res.data", res.data);
 						uni.showToast({
-							title: "网络请求失败,请重试",
+							title: res.data.str,
 							icon: "none",
 							duration: 2000,
 						});
+						if (res.data.success === "yes") {
+							this.aIpipeiGetinfo({
+								polling: false
+							});
+						}
 
-						// 重置加载状态
-
-					},
-					complete: () => {
-
-					},
+					}
+				});
+			} else {
+				// 已入驻状态,直接跳转
+				uni.navigateTo({
+					url: '/pages/isLand/homeLand'
 				});
+			}
+		},
 
+		// 提交用户 开始创建的命令
+		apiPeiStar() {
 
-			},
-			loadInfo() {
-				console.log({
+			uni.request({
+				url: this.$apiHost + "/AIpipei/start",
+				data: {
 					uuid: getApp().globalData.uuid,
-					skey: getApp().globalData.skey,
-				});
-				uni.request({
-					url: this.$apiHost + "/User/getinfo",
-					data: {
-						uuid: getApp().globalData.uuid,
-						skey: getApp().globalData.skey,
-					},
-					header: {
-						"content-type": "application/json",
-						sign: getApp().globalData.headerSign,
-					},
-					success: (res) => {
-						console.log("----:", JSON.parse(JSON.stringify(res.data)));
-						if (res.data) {
-							this.userId = res.data.user_id
+					content: this.noteContent,
+				},
+				header: {
+					"content-type": "application/x-www-form-urlencoded",
+					sign: getApp().globalData.headerSign,
+				},
+				// 设置60秒超时
+				timeout: 60000,
+				method: 'POST',
+				success: (res) => {
+					setTimeout(() => {
+						if (res.data.str != "开始匹配") {
+							uni.showToast({
+								title: res.data.str,
+								icon: "none",
+								duration: 2000,
+							});
 						}
+						if (res.data.success == "no") {
 
-					},
-					complete: (com) => {
-						// uni.hideLoading();
-					},
-					fail: (e) => {
-						console.log("----e:", e);
-					},
-				});
-			},
-			// 查询Ai匹配信息
-			aIpipeiGetinfo({
-				polling
-			}) {
-				// 清除之前的定时器
-				if (this.timeoutId) {
-					clearTimeout(this.timeoutId);
-					this.timeoutId = 0;
-				}
+							setTimeout(() => {
+								this.state = 0
+								this.isLoading = false;
+								this.aIpipeiGetinfo("get");
+								this.loadInfo()
+							}, 2000);
+							// this.apiPeiStar();
+						}
+						if (res.data.str == "开始匹配") {
+							this.aIpipeiGetinfo({
+								polling: true
+							})
+
+						}
 
-				// 检查是否超过最大重试次数
-				if (polling && this.retryCount >= this.maxRetries) {
+					}, 3000);
+
+				},
+				fail: (err) => {
+					console.error("请求失败:", err);
+					// 显示错误提示
 					uni.showToast({
-						title: '匹配超时,请重新尝试',
-						icon: 'none',
-						duration: 2000
+						title: "网络请求失败,请重试",
+						icon: "none",
+						duration: 2000,
 					});
+
+					// 重置加载状态
+
+				},
+				complete: () => {
+
+				},
+			});
+
+
+		},
+		loadInfo() {
+			console.log({
+				uuid: getApp().globalData.uuid,
+				skey: getApp().globalData.skey,
+			});
+			uni.request({
+				url: this.$apiHost + "/User/getinfo",
+				data: {
+					uuid: getApp().globalData.uuid,
+					skey: getApp().globalData.skey,
+				},
+				header: {
+					"content-type": "application/json",
+					sign: getApp().globalData.headerSign,
+				},
+				success: (res) => {
+					console.log("----:", JSON.parse(JSON.stringify(res.data)));
+					if (res.data) {
+						this.userId = res.data.user_id
+					}
+
+				},
+				complete: (com) => {
+					// uni.hideLoading();
+				},
+				fail: (e) => {
+					console.log("----e:", e);
+				},
+			});
+		},
+		// 查询Ai匹配信息
+		aIpipeiGetinfo({
+			polling
+		}) {
+			// 清除之前的定时器
+			if (this.timeoutId) {
+				clearTimeout(this.timeoutId);
+				this.timeoutId = 0;
+			}
+
+			// 检查是否超过最大重试次数
+			if (polling && this.retryCount >= this.maxRetries) {
+				uni.showToast({
+					title: '匹配超时,请重新尝试',
+					icon: 'none',
+					duration: 2000
+				});
+				this.retryCount = 0;
+				this.state = 0;
+				return;
+			}
+
+			// 发起请求
+			uni.request({
+				url: this.$apiHost + "/AIpipei/getinfo",
+				data: {
+					uuid: getApp().globalData.uuid,
+				},
+				header: {
+					"content-type": "application/json",
+					sign: getApp().globalData.headerSign,
+				},
+				timeout: 60000,
+				success: (res) => {
+					console.log("查询到生成信息", res.data);
+					// 重置重试计数
 					this.retryCount = 0;
-					this.state = 0;
-					return;
-				}
 
-				// 发起请求
-				uni.request({
-					url: this.$apiHost + "/AIpipei/getinfo",
-					data: {
-						uuid: getApp().globalData.uuid,
-					},
-					header: {
-						"content-type": "application/json",
-						sign: getApp().globalData.headerSign,
-					},
-					timeout: 60000,
-					success: (res) => {
-						console.log("查询到生成信息", res.data);
-						// 重置重试计数
-						this.retryCount = 0;
-
-						if (res && res.data && res.data.info) {
-							if (res.data.info.content) {
-								res.data.info.content = res.data.info.content.replace(/^\n+/, '')
-								console.log(res.data.info.content);
-							}
-							if (res.data.info && res.data.info.tags != "") {
-								res.data.info.tags = res.data.info.tags.split(",");
-								this.predefinedTags = res.data.info.tags.map(tag => {
-									return {
-										text: tag,
-										value: tag
-									}
-								})
-								console.log(666, res);
-								this.setInformation(res.data.info)
-								this.shareTitle = res.data.info.nickname
-								this.shareDesc = res.data.info.content
-								this.shareImg = res.data.info.image
-								// this.userId = res.data.user_id
-							} else {
-								res.data.info.tags = []
-								this.deleteInformation()
-							}
-							// 实现状态的判断
-							// 更改状态为 用户还未匹配过 待输入匹配内容
-							if (res.data.str == "没有匹配过" && res.data.info) {
+					if (res && res.data && res.data.info) {
+						if (res.data.info.content) {
+							res.data.info.content = res.data.info.content.replace(/^\n+/, '')
+							console.log(res.data.info.content);
+						}
+						if (res.data.info && res.data.info.tags != "") {
+							res.data.info.tags = res.data.info.tags.split(",");
+							this.predefinedTags = res.data.info.tags.map(tag => {
+								return {
+									text: tag,
+									value: tag
+								}
+							})
+							console.log(666, res);
+							this.setInformation(res.data.info)
+							this.shareTitle = res.data.info.nickname
+							this.shareDesc = res.data.info.content
+							this.shareImg = res.data.info.image
+							// this.userId = res.data.user_id
+						} else {
+							res.data.info.tags = []
+							this.deleteInformation()
+						}
+						// 实现状态的判断
+						// 更改状态为 用户还未匹配过 待输入匹配内容
+						if (res.data.str == "没有匹配过" && res.data.info) {
+							this.state = 0
+							setTimeout(() => {
+								this.openContentPopUpWindow();
+							}, 300);
+						}
+						if (res.data.success == "no") {
+							uni.showToast({
+								title: res.data.str,
+								icon: "none",
+								duration: 2000,
+							});
+							setTimeout(() => {
 								this.state = 0
 								setTimeout(() => {
 									this.openContentPopUpWindow();
 								}, 300);
-							}
-							// 更改状态为 用户还匹配成功时 待点击设置心灵简介
-							if (res.data.info.image && res.data.info.status == 2) {
-								this.state = 1
-								this.isLoading = false
-								// this.openContentPopUpWindow();
-							}
-							if (res.data.info.image && res.data.info.status == 1) {
-								this.state = 6
-								this.isLoading = false
-							}
-							if (res.data.info.image && res.data.info.status == 3) {
-								this.state = 5
-								this.isLoading = false
-							}
-							this.starInfo = res.data.info;
-
-							if (res.data.info.content) {
-								this.formData.description = res.data.info.content;
-							}
+							}, 2000);
 						}
 
-					},
-					fail: (err) => {
-						console.error("请求失败:", err);
-						// 增加重试计数
-						this.retryCount++;
-
-						// 显示错误提示
-						uni.showToast({
-							title: `网络请求失败,第${this.retryCount}次重试`,
-							icon: "none",
-							duration: 2000,
-						});
-
-						// 如果是网络超时,自动重试
-						if (err.errMsg.includes("timeout")) {
-							setTimeout(() => {
-								console.log("请求超时,正在重试...");
-								this.aIpipeiGetinfo({
-									polling: true
-								});
-							}, 6000);
+						// 更改状态为 用户还匹配成功时 待点击设置心灵简介
+						if (res.data.info.image && res.data.info.status == 2) {
+							this.state = 1
+							this.isLoading = false
+							// this.openContentPopUpWindow();
 						}
-					},
-					complete: () => {
-						// 如果需要继续轮询,设置下一次请求
-						if (polling) {
-							this.timeoutId = setTimeout(() => {
-								this.aIpipeiGetinfo({
-									polling: true
-								});
-							}, this.pollingInterval);
+						if (res.data.info.image && res.data.info.status == 1) {
+							this.state = 6
+							this.isLoading = false
+						}
+						if (res.data.info.image && res.data.info.status == 3) {
+							this.state = 5
+							this.isLoading = false
+						}
+						this.starInfo = res.data.info;
+
+						if (res.data.info.content) {
+							this.formData.description = res.data.info.content;
 						}
 					}
-				});
-			},
-			// 保存表单信息
-			submitStar() {
-				this.formData.tags = this.selectTags.join(",");
-				let that = this;
-				uni.showLoading({
-					mask: true,
-				});
-				if (this.formData.sex) {
-					this.formData.sex = this.genderScreeningId(this.formData.sex);
+
+				},
+				fail: (err) => {
+					console.error("请求失败:", err);
+					// 增加重试计数
+					this.retryCount++;
+
+					// 显示错误提示
+					uni.showToast({
+						title: `网络请求失败,第${this.retryCount}次重试`,
+						icon: "none",
+						duration: 2000,
+					});
+
+					// 如果是网络超时,自动重试
+					if (err.errMsg.includes("timeout")) {
+						setTimeout(() => {
+							console.log("请求超时,正在重试...");
+							this.aIpipeiGetinfo({
+								polling: true
+							});
+						}, 6000);
+					}
+				},
+				complete: () => {
+					// 如果需要继续轮询,设置下一次请求
+					if (polling) {
+						this.timeoutId = setTimeout(() => {
+							this.aIpipeiGetinfo({
+								polling: true
+							});
+						}, this.pollingInterval);
+					}
 				}
-				console.log({
+			});
+		},
+		// 保存表单信息
+		submitStar() {
+			this.formData.tags = this.selectTags.join(",");
+			let that = this;
+			uni.showLoading({
+				mask: true,
+			});
+			if (this.formData.sex) {
+				this.formData.sex = this.genderScreeningId(this.formData.sex);
+			}
+			console.log({
+				uuid: getApp().globalData.uuid,
+				sex: this.formData.sex,
+				name: this.formData.nickname,
+				content: this.formData.description,
+				tags: this.formData.tags,
+
+			}, 2000);
+
+			uni.request({
+				url: this.$apiHost + "/AIpipei/save",
+				data: {
 					uuid: getApp().globalData.uuid,
 					sex: this.formData.sex,
-					name: this.formData.nickname,
+					nickname: this.formData.nickname,
 					content: this.formData.description,
 					tags: this.formData.tags,
 
-				}, 2000);
-
-				uni.request({
-					url: this.$apiHost + "/AIpipei/save",
-					data: {
-						uuid: getApp().globalData.uuid,
-						sex: this.formData.sex,
-						nickname: this.formData.nickname,
-						content: this.formData.description,
-						tags: this.formData.tags,
-
-					},
-					header: {
-						"content-type": "application/x-www-form-urlencoded",
-						sign: getApp().globalData.headerSign,
-					},
-					method: 'POST',
-					// 设置60秒超时
-					timeout: 10000,
-					success: (res) => {
-						console.log("res.data", res.data);
-						uni.showToast({
-							title: res.data.str,
-							icon: "none",
-							duration: 2000,
-						});
-						if (res.data.success === "yes") {
-							setTimeout(() => {
-								that.aIpipeiGetinfo({
-									polling: false
-								});
-							}, 300);
-						}
-					},
-					fail: (err) => {
-						console.error("请求失败:", err);
-						// 显示错误提示
-						uni.showToast({
-							title: "网络请求失败,请重试",
-							icon: "none",
-							duration: 2000,
-						});
-					},
-					complete: () => {
-						uni.hideLoading();
-					},
-				});
-			},
-			selectGender(option) {
-				this.formData.sex = option;
-				this.sex = option;
-			},
+				},
+				header: {
+					"content-type": "application/x-www-form-urlencoded",
+					sign: getApp().globalData.headerSign,
+				},
+				method: 'POST',
+				// 设置60秒超时
+				timeout: 10000,
+				success: (res) => {
+					console.log("res.data", res.data);
+					uni.showToast({
+						title: res.data.str,
+						icon: "none",
+						duration: 2000,
+					});
+					if (res.data.success === "yes") {
+						setTimeout(() => {
+							that.aIpipeiGetinfo({
+								polling: false
+							});
+						}, 300);
+					}
+				},
+				fail: (err) => {
+					console.error("请求失败:", err);
+					// 显示错误提示
+					uni.showToast({
+						title: "网络请求失败,请重试",
+						icon: "none",
+						duration: 2000,
+					});
+				},
+				complete: () => {
+					uni.hideLoading();
+				},
+			});
+		},
+		selectGender(option) {
+			this.formData.sex = option;
+			this.sex = option;
+		},
 
-			openContentPopUpWindow() {
-				if (this.$refs.openContentPopUpWindow) {
-					console.log(9999, "打开");
+		openContentPopUpWindow() {
+			if (this.$refs.openContentPopUpWindow) {
+				console.log(9999, "打开");
 
-					this.$refs.openContentPopUpWindow.open();
-				}
-			},
-			closeContentPopUpWindow() {
-				if (this.$refs.openContentPopUpWindow) {
-					this.$refs.openContentPopUpWindow.close();
-				}
-			},
-			genderScreening(str) {
-				switch (str) {
-					case '0':
-						return '男'
-					case '1':
-						return '女'
-					case '2':
-						return '其它'
-				}
-			},
-			genderScreeningId(str) {
-				switch (str) {
-					case 'male':
-						return 0
-					case 'female':
-						return 1
-					case 'other':
-						return 2
-				}
-			},
-			// 显示编辑弹窗
-			showEditPopup() {
-				this.editContent = this.starInfo.content;
-				this.$refs.editPopup.open();
-			},
+				this.$refs.openContentPopUpWindow.open();
+			}
+		},
+		closeContentPopUpWindow() {
+			if (this.$refs.openContentPopUpWindow) {
+				this.$refs.openContentPopUpWindow.close();
+			}
+		},
+		genderScreening(str) {
+			switch (str) {
+				case '0':
+					return '男'
+				case '1':
+					return '女'
+				case '2':
+					return '其它'
+			}
+		},
+		genderScreeningId(str) {
+			switch (str) {
+				case 'male':
+					return 0
+				case 'female':
+					return 1
+				case 'other':
+					return 2
+			}
+		},
+		// 显示编辑弹窗
+		showEditPopup() {
+			this.editContent = this.starInfo.content;
+			this.$refs.editPopup.open();
+		},
 
-			// 关闭编辑弹窗
-			closeEditPopup() {
-				this.$refs.editPopup.close();
-			},
+		// 关闭编辑弹窗
+		closeEditPopup() {
+			this.$refs.editPopup.close();
+		},
 
-			// 保存编辑内容
-			saveEdit() {
-				this.starInfo.content = this.editContent;
-				this.closeEditPopup();
-			},
+		// 保存编辑内容
+		saveEdit() {
+			this.starInfo.content = this.editContent;
+			this.closeEditPopup();
 		},
-	};
+	},
+};
 </script>
 
 <style lang="scss">
-	@import "./myStar.scss";
-
-	.openContentPopUpWindow {
-		::v-deep.uv-textarea {
-			width: 694rpx !important;
-			border-radius: 20rpx !important;
-			border: 1rpx solid #000000 !important;
-			margin: 0 auto;
-			margin-bottom: 44rpx;
-			min-height: 300rpx;
-			padding-bottom: 40rpx;
-
-			.uv-textarea__field {
-				min-height: 200rpx !important;
-				font-weight: 400;
-				font-size: 28rpx;
-				color: #1f1f1f;
-			}
+@import "./myStar.scss";
+
+.openContentPopUpWindow {
+	::v-deep.uv-textarea {
+		width: 694rpx !important;
+		border-radius: 20rpx !important;
+		border: 1rpx solid #000000 !important;
+		margin: 0 auto;
+		margin-bottom: 44rpx;
+		min-height: 300rpx;
+		padding-bottom: 40rpx;
+
+		.uv-textarea__field {
+			min-height: 200rpx !important;
+			font-weight: 400;
+			font-size: 28rpx;
+			color: #1f1f1f;
 		}
 	}
+}
 
-	.textarea-container {
-		.textarea {
-			background: #f2f6f2 !important;
-			min-height: 100rpx;
-		}
+.textarea-container {
+	.textarea {
+		background: #f2f6f2 !important;
+		min-height: 100rpx;
 	}
+}
 
-	.tags-container {
+.tags-container {
 
 
-		::v-deep.checklist-box {
-			border-radius: 16rpx !important;
-			border: 2rpx solid #1f1f1f !important;
-			background-color: #fff !important;
-			display: flex;
-			align-items: center;
-			justify-content: center;
+	::v-deep.checklist-box {
+		border-radius: 16rpx !important;
+		border: 2rpx solid #1f1f1f !important;
+		background-color: #fff !important;
+		display: flex;
+		align-items: center;
+		justify-content: center;
 
-			.checklist-text {
+		.checklist-text {
 
-				font-size: 28rpx;
-				color: #1f1f1f;
-				font-family: "PingFang SC-Bold" !important;
-			}
+			font-size: 28rpx;
+			color: #1f1f1f;
+			font-family: "PingFang SC-Bold" !important;
+		}
 
-			&.is-checked {
-				background: #f7ffea !important;
-				border-color: #7ebc00 !important;
+		&.is-checked {
+			background: #f7ffea !important;
+			border-color: #7ebc00 !important;
 
-				.checklist-text {
-					color: #1f1f1f !important;
-				}
+			.checklist-text {
+				color: #1f1f1f !important;
 			}
 		}
 	}
+}
 
 
 
-	.star-container {
+.star-container {
 
-		/* 自定义导航栏样式 */
-		.custom-navbar {
-			display: flex;
-			flex-direction: row;
-			align-items: center;
-			justify-content: space-between;
-			width: 100%;
-			height: calc(90rpx + var(--status-bar-height));
-			padding: 0 20rpx;
-			padding-top: var(--status-bar-height);
-			background-color: transparent;
-			position: fixed;
+	/* 自定义导航栏样式 */
+	.custom-navbar {
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+		justify-content: space-between;
+		width: 100%;
+		height: calc(90rpx + var(--status-bar-height));
+		padding: 0 20rpx;
+		padding-top: var(--status-bar-height);
+		background-color: transparent;
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 100;
+		background: transparent;
+
+		&::before {
+			content: '';
+			position: absolute;
 			top: 0;
 			left: 0;
-			z-index: 100;
-			background: transparent;
-
-			&::before {
-				content: '';
-				position: absolute;
-				top: 0;
-				left: 0;
-				width: 100%;
-				height: var(--status-bar-height);
-				background-color: #fff;
-				z-index: -1;
-			}
+			width: 100%;
+			height: var(--status-bar-height);
+			background-color: #fff;
+			z-index: -1;
+		}
 
-			.navbar-left {
-				width: 80rpx;
-				height: 80rpx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
+		.navbar-left {
+			width: 80rpx;
+			height: 80rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
 
-				.fa-angle-left {
-					font-size: 48rpx;
-					color: #333;
-				}
+			.fa-angle-left {
+				font-size: 48rpx;
+				color: #333;
 			}
+		}
 
-			.navbar-right {
-				width: 80rpx;
-				height: 80rpx;
-				display: flex;
-				justify-content: center;
-				align-items: center;
+		.navbar-right {
+			width: 80rpx;
+			height: 80rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
 
-				.fa-ellipsis-h {
-					font-size: 36rpx;
-					color: #333;
-				}
+			.fa-ellipsis-h {
+				font-size: 36rpx;
+				color: #333;
 			}
 		}
-
 	}
 
-	.edit-popup {
-		width: 600rpx;
-		background: #fff;
-		border-radius: 24rpx;
-		padding: 40rpx 32rpx;
+}
 
-		.popup-title {
-			font-size: 32rpx;
-			font-weight: bold;
-			text-align: center;
-			margin-bottom: 32rpx;
-			color: #000;
-		}
+.edit-popup {
+	width: 600rpx;
+	background: #fff;
+	border-radius: 24rpx;
+	padding: 40rpx 32rpx;
 
-		.popup-content {
-			margin-bottom: 32rpx;
+	.popup-title {
+		font-size: 32rpx;
+		font-weight: bold;
+		text-align: center;
+		margin-bottom: 32rpx;
+		color: #000;
+	}
 
-			.edit-textarea {
-				background: #F7F7F7;
-				border-radius: 16rpx;
-				padding: 24rpx;
-				min-height: 160rpx;
+	.popup-content {
+		margin-bottom: 32rpx;
 
-				::v-deep .uv-textarea__field {
-					font-size: 28rpx;
-					color: #333;
-				}
+		.edit-textarea {
+			background: #F7F7F7;
+			border-radius: 16rpx;
+			padding: 24rpx;
+			min-height: 160rpx;
+
+			::v-deep .uv-textarea__field {
+				font-size: 28rpx;
+				color: #333;
 			}
 		}
+	}
 
-		.popup-buttons {
-			display: flex;
-			justify-content: space-between;
-			gap: 24rpx;
-
-			.cancel-btn,
-			.confirm-btn {
-				flex: 1;
-				height: 88rpx;
-				line-height: 88rpx;
-				text-align: center;
-				border-radius: 44rpx;
-				font-size: 32rpx;
-				font-weight: 500;
-			}
+	.popup-buttons {
+		display: flex;
+		justify-content: space-between;
+		gap: 24rpx;
 
-			.cancel-btn {
-				background: #fff;
-				color: #333;
-				border: 2rpx solid #E5E5E5;
-			}
+		.cancel-btn,
+		.confirm-btn {
+			flex: 1;
+			height: 88rpx;
+			line-height: 88rpx;
+			text-align: center;
+			border-radius: 44rpx;
+			font-size: 32rpx;
+			font-weight: 500;
+		}
 
-			.confirm-btn {
-				background: #000;
-				color: #fff;
-			}
+		.cancel-btn {
+			background: #fff;
+			color: #333;
+			border: 2rpx solid #E5E5E5;
+		}
+
+		.confirm-btn {
+			background: #000;
+			color: #fff;
 		}
 	}
+}
+
+.description-title {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
 
-	.description-title {
+	.edit-button {
+		color: #7ebc00;
+		font-size: 28rpx;
 		display: flex;
-		justify-content: space-between;
 		align-items: center;
 
-		.edit-button {
-			color: #7ebc00;
-			font-size: 28rpx;
-			display: flex;
-			align-items: center;
-
-			.fa-angle-right {
-				margin-left: 10rpx;
-			}
+		.fa-angle-right {
+			margin-left: 10rpx;
 		}
 	}
+}
 </style>

+ 48 - 34
pages/my/step.vue

@@ -57,21 +57,21 @@
       </view>
 
       <!-- 生日选择 -->
-      <view class="birthday-section">
+      <view class="birthday-section" @click="openCalendar">
         <view class="input-label">我的生日</view>
-        <view class="birthday-picker" @click="openCalendar">
+        <view class="birthday-picker">
           <view class="uni-input">
             <text :class="{ placeholder: !userInfo.birthday }">{{
               userInfo.birthday || "选择生日"
               }}</text>
-            <text v-if="userInfo.birthday" class="constellation">{{
+            <text v-if="userInfo.birthday" class="constellation">{{' ' +
               userInfo.xinzuo
               }}</text>
           </view>
           <image src="/static/me/step/dlzc_icon_arrow.png" mode="aspectFit" class="arrow-icon"></image>
         </view>
-        <uni-calendar :date="userInfo.birthday||'2000-01-01'" ref="calendar" :insert="false" @confirm="confirmBirthday" />
       </view>
+      <uni-calendar :date="userInfo.birthday||'2000-01-01'" ref="calendar" :insert="false" @confirm="confirmBirthday" />
     </view>
 
     <!-- 步骤2:兴趣选择 -->
@@ -767,36 +767,50 @@ export default {
       this.userInfo.birthday = e.fulldate;
 	   this.userInfo.xinzuo = this.getConstellation(this.userInfo.birthday);
     },
-    getConstellation(birthday) {
-      if (!birthday) return '';
-
-      const month = parseInt(birthday.split('-')[1]);
-      const day = parseInt(birthday.split('-')[2]);
-
-      const constellationDates = [
-        [1, 20, "水瓶座"],
-        [2, 19, "双鱼座"],
-        [3, 21, "白羊座"],
-        [4, 20, "金牛座"],
-        [5, 21, "双子座"],
-        [6, 22, "巨蟹座"],
-        [7, 23, "狮子座"],
-        [8, 23, "处女座"],
-        [9, 23, "天秤座"],
-        [10, 24, "天蝎座"],
-        [11, 23, "射手座"],
-        [12, 22, "摩羯座"]
-      ];
-
-      let constellation = "";
-      if (day < constellationDates[month - 1][1]) {
-        constellation = constellationDates[month - 1][2];
-      } else {
-        constellation = constellationDates[month % 12][2];
-      }
-
-      return constellation;
-    },
+		getConstellation(birthday) {
+			if (!birthday) return '';
+
+			const month = parseInt(birthday.split('-')[1]);
+			const day = parseInt(birthday.split('-')[2]);
+
+			// 星座日期范围数组,每个元素包含 [月份, 起始日期, 结束日期, 星座名称]
+			const constellationRanges = [
+				[1, 1, 19, "摩羯座"],    // 1月1日-1月19日
+				[1, 20, 31, "水瓶座"],   // 1月20日-1月31日
+				[2, 1, 18, "水瓶座"],    // 2月1日-2月18日
+				[2, 19, 29, "双鱼座"],   // 2月19日-2月29日
+				[3, 1, 20, "双鱼座"],    // 3月1日-3月20日
+				[3, 21, 31, "白羊座"],   // 3月21日-3月31日
+				[4, 1, 19, "白羊座"],    // 4月1日-4月19日
+				[4, 20, 30, "金牛座"],   // 4月20日-4月30日
+				[5, 1, 20, "金牛座"],    // 5月1日-5月20日
+				[5, 21, 31, "双子座"],   // 5月21日-5月31日
+				[6, 1, 21, "双子座"],    // 6月1日-6月21日
+				[6, 22, 30, "巨蟹座"],   // 6月22日-6月30日
+				[7, 1, 22, "巨蟹座"],    // 7月1日-7月22日
+				[7, 23, 31, "狮子座"],   // 7月23日-7月31日
+				[8, 1, 22, "狮子座"],    // 8月1日-8月22日
+				[8, 23, 31, "处女座"],   // 8月23日-8月31日
+				[9, 1, 22, "处女座"],    // 9月1日-9月22日
+				[9, 23, 30, "天秤座"],   // 9月23日-9月30日
+				[10, 1, 23, "天秤座"],   // 10月1日-10月23日
+				[10, 24, 31, "天蝎座"],  // 10月24日-10月31日
+				[11, 1, 22, "天蝎座"],   // 11月1日-11月22日
+				[11, 23, 30, "射手座"],  // 11月23日-11月30日
+				[12, 1, 21, "射手座"],   // 12月1日-12月21日
+				[12, 22, 31, "摩羯座"]   // 12月22日-12月31日
+			];
+
+			// 查找对应的星座
+			for (const [m, startDay, endDay, constellation] of constellationRanges) {
+				if (month === m && day >= startDay && day <= endDay) {
+					return constellation;
+				}
+			}
+
+			// 如果没找到匹配的星座(这种情况理论上不会发生,因为日期范围是连续的)
+			return "未知星座";
+		},
     getCircleStyle(index) {
       const {
         size,

+ 1 - 1
pages/vip/record.vue

@@ -189,7 +189,7 @@ export default {
     font-weight: 400;
     text-align: center;
     margin: 0 20rpx;
-
+    transition: all .5s;
     &.active {
       color: #1f1f1f;
       background: url("../../static/me/wd_img_qiehuan.png") center / cover no-repeat;

BIN
static/home/jingxuan.png


BIN
static/icon/jubao.png