Browse Source

接口联调

htc 3 days ago
parent
commit
6317946709
5 changed files with 273 additions and 148 deletions
  1. 3 0
      components/pages/nonprofitActivety/index.vue
  2. 6 0
      pages.json
  3. 18 0
      pages/webView.vue
  4. 220 141
      pagesHome/activityDetail.vue
  5. 26 7
      pagesHome/recruitsNumber.vue

+ 3 - 0
components/pages/nonprofitActivety/index.vue

@@ -43,6 +43,8 @@
 	import { ref } from 'vue'
 	import { useUserStore } from '@/common/stores/user';
 	const userStore = useUserStore();
+	import { useGlobalShare } from '@/common/composables/useGlobalShare';
+	const { isLogin } = useGlobalShare();
 	const statusCfg = ref({
 		0:'未开始',
 		1:'报名中',
@@ -51,6 +53,7 @@
 	})
 	
 	const handleDetail = item => {
+		if(!isLogin()) return
 		uni.navigateTo({
 			url:'/pagesHome/activityDetail?id='+item.id
 		})

+ 6 - 0
pages.json

@@ -17,6 +17,12 @@
 			"style": {
 				"navigationStyle": "custom"
 			}
+		},
+		{
+			"path": "pages/webView",
+			"style": {
+				"navigationStyle": "custom"
+			}
 		}
 	],
 	"subPackages": [

+ 18 - 0
pages/webView.vue

@@ -0,0 +1,18 @@
+<template>
+	<web-view :src="src" v-if="src"></web-view>
+</template>
+
+<script setup name="">
+	import { onLoad } from '@dcloudio/uni-app'
+	import { ref } from 'vue'
+	
+	const src = ref('')
+	
+	onLoad((options)=>{
+		src.value = options.src;
+	})
+</script>
+
+<style scoped lang="scss">
+	
+</style>

+ 220 - 141
pagesHome/activityDetail.vue

@@ -2,7 +2,7 @@
 	<view class="common_page adffc" :style="{'min-height':h+'px', 'padding-top':mt+'px'}">
 		<cus-header title="公益活动详情" bgColor="transparent"></cus-header>
 		<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/09/19/54b75bc8-d926-449b-95a5-1126f700b481.png" class="top_bg_img" mode="widthFix"></image>
-		<div class="lunbo">
+		<view class="lunbo">
 			<up-swiper
 				:list="imgList"
 				@change="e => current = e.current"
@@ -17,145 +17,160 @@
 					</view>
 				</template>
 			</up-swiper>
-		</div>
-		<div class="box box1">
-			<div class="box1-top">
-				<text class="box1-top-status">{{statusCfg[activityInfo?.activeState]||'未知'}}</text>
+		</view>
+		<view class="box box1">
+			<view class="box1-top">
+				<text class="box1-top-status" :class="{'end':activityInfo?.activeState==3}">{{statusCfg[activityInfo?.activeState]||'未知'}}</text>
 				<text class="box1-top-title">{{activityInfo?.activityName||''}}</text>
-			</div>
-			<div class="box1-line" style="margin-top: 36rpx;"></div>
-			<div class="box1-place adfacjb">
-				<div class="box1-place-left adffcjb">
+			</view>
+			<view class="box1-line" style="margin-top: 36rpx;"></view>
+			<view class="box1-place adfacjb">
+				<view class="box1-place-left adffcjb">
 					<text>活动地点</text>
-					<div class="addr">{{activityInfo?.provinceName||''}}{{activityInfo?.cityName||''}}{{activityInfo?.address||''}}</div>
-				</div>
-				<div class="box1-place-right">
+					<view class="addr">{{activityInfo?.provinceName||''}}{{activityInfo?.cityName||''}}{{activityInfo?.address||''}}</view>
+				</view>
+				<view class="box1-place-right">
 					<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/239a8c29-499b-407b-a9b5-90447248d9ab.png"></image>
-				</div>
-			</div>
-			<div class="box1-line" style="margin-top: 24rpx;"></div>
-			<div class="box1-member adfacjb">
-				<div class="box1-member-left adffc">
+				</view>
+			</view>
+			<view class="box1-line" style="margin-top: 24rpx;"></view>
+			<view class="box1-member adfacjb">
+				<view class="box1-member-left adffc">
 					<text>招募人数</text>
-					<div class="num"><text>{{activityInfo?.recruitmentNow}}</text> /{{activityInfo?.recruitmentMax||'不限'}}</div>
-				</div>
-				<div class="box1-member-right adffc" @tap="handleReviewMembers">
-					<div class="review adfac">
+					<view class="num"><text>{{activityInfo?.recruitmentNow}}</text> /{{activityInfo?.recruitmentMax||'不限'}}</view>
+				</view>
+				<view class="box1-member-right adffc" @tap="handleReviewMembers">
+					<view class="review adfac">
 						<text>查看报名人员</text>
 						<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/b7b7531b-33fa-4ec3-841b-796be9035191.png"></image>
-					</div>
-					<div class="avatars">
+					</view>
+					<view class="avatars">
 						<up-avatar-group :urls="avatars" size="30" gap="0.4" :maxCount="3"></up-avatar-group>
-					</div>
-				</div>
-			</div>
-			<div class="box1-line" style="margin-top: 33rpx;"></div>
-			<div class="box1-time adffc">
+					</view>
+				</view>
+			</view>
+			<view class="box1-line" style="margin-top: 33rpx;"></view>
+			<view class="box1-time adffc">
 				<text>活动时间</text>
-				<div class="text">{{activityInfo?.activityStartTime}} - {{activityInfo?.activityEndTime}}</div>
-			</div>
-			<div class="box1-line" style="margin-top: 30rpx;"></div>
-			<div class="box1-need adffc">
+				<view class="text">{{activityInfo?.activityStartTime}} - {{activityInfo?.activityEndTime}}</view>
+			</view>
+			<view class="box1-line" style="margin-top: 30rpx;"></view>
+			<view class="box1-need adffc">
 				<text>报名要求</text>
-				<div class="text"><text>{{activityInfo?.valueLimit||0}}</text>爱心值</div>
-				<div class="tip">{{activityInfo?.loveValueContent||''}}</div>
-			</div>
-			<div class="box1-line" style="margin-top: 30rpx;"></div>
-			<div class="box1-info adfacjb">
-				<div class="box1-info-pre">
+				<template v-if="activityInfo?.activityLimit==1">
+					<view class="text"><text>{{activityInfo?.valueLimit||0}}</text>爱心值</view>
+					<view class="tip">{{activityInfo?.loveValueContent||''}}</view>
+				</template>
+				<template v-else-if="activityInfo?.activityLimit==2">
+					<view class="text"><text>{{activityInfo?.valueLimit||0}}</text>张专享券</view>
+					<view class="tip">{{activityInfo?.loveValueContent||''}}</view>
+				</template>
+				<template v-else-if="activityInfo?.activityLimit==3">
+					<view class="text"><text>免费</text></view>
+					<view class="tip"></view>
+				</template>
+			</view>
+			<view class="box1-line" style="margin-top: 30rpx;"></view>
+			<view class="box1-info adfacjb">
+				<view class="box1-info-pre">
 					<text>年龄限制</text>
-					<div class="text" v-if="activityInfo?.userAgeMax">{{activityInfo?.userAgeMin}}岁 到 {{activityInfo?.userAgeMax}}岁</div>
-					<div class="text" v-else>不限制</div>
-				</div>
-				<div class="box1-info-pre line">
+					<view class="text" v-if="activityInfo?.userAgeMax">{{activityInfo?.userAgeMin}}岁 到 {{activityInfo?.userAgeMax}}岁</view>
+					<view class="text" v-else>不限制</view>
+				</view>
+				<view class="box1-info-pre line">
 					<text>可获得义工时长</text>
-					<div class="hour"><text>{{2}}</text> 小时</div>
-				</div>
-			</div>
-			<div class="box1-line" style="margin-top: 30rpx;"></div>
-			<div class="box1-info adfacjb">
-				<div class="box1-info-pre">
+					<view class="hour"><text>{{activityInfo?.serviceHours||0}}</text> 小时</view>
+				</view>
+			</view>
+			<view class="box1-line" style="margin-top: 30rpx;"></view>
+			<view class="box1-info adfacjb">
+				<view class="box1-info-pre">
 					<text>联系人</text>
-					<div class="text">{{activityInfo?.contact||''}}/{{activityInfo?.contactPhone||''}}</div>
-				</div>
-				<div class="box1-info-pre line">
+					<view class="text">{{activityInfo?.contact||''}}/{{activityInfo?.contactPhone||''}}</view>
+				</view>
+				<view class="box1-info-pre line">
 					<text>公益合作</text>
-					<div class="text">{{'深圳善行少年基金会'}}</div>
-				</div>
-			</div>
-		</div>
-		<div class="box box2">
-			<div class="box-title">活动详情</div>
-			<div class="box2-detail">
+					<view class="text">{{activityInfo?.channelName||''}}</view>
+				</view>
+			</view>
+		</view>
+		<view class="box box2">
+			<view class="box-title">活动详情</view>
+			<view class="box2-detail">
 				<up-read-more :toggle="true" showHeight="374rpx" color="#989998" fontSize="24rpx" openText="收起更多信息" closeText="展开更多信息">
 				    <rich-text :nodes="activityInfo?.activityDetails||''"></rich-text>
 				</up-read-more>
-			</div>
-		</div>
-		<div class="bottom">
-			<div class="time">
+			</view>
+		</view>
+		<view class="bottom">
+			<view class="time">
 				报名时间:{{activityInfo?.signupStartTime}} - {{activityInfo?.signupEndTime}} 
-			</div>
-			<div class="btns adfacjb">
-				<div class="left adffcacjc" @tap="share=true">
+			</view>
+			<view class="btns adfacjb">
+				<view class="left adffcacjc" @tap="showShareOptions">
 					<up-icon name="share-square" color="#252525" size="48rpx"></up-icon>
 					<text>分享</text>
-				</div>
-				<div class="right" @click="handleApply">立即报名</div>
-			</div>
-		</div>
-		<div class="fail" v-if="fail">
-			<div class="fbox adffcac">
+				</view>
+				<view class="right" @click="handleApply" v-if="activityInfo?.activeState==1">立即报名</view>
+				<view class="right end" v-else-if="activityInfo?.activeState==0">活动未开始</view>
+				<view class="right end" v-else-if="activityInfo?.activeState==3">活动已结束</view>
+			</view>
+		</view>
+		<view class="fail" v-if="fail">
+			<view class="fbox adffcac">
 				<image class="clock" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/5fe8627b-adc4-4e24-8e86-45771d3ba5a2.png"></image>
 				<image class="close" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/3d94527a-da92-4d8b-9e99-44683c4f5c84.png" @click="fail=false"></image>
 				<image class="alert" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/fdf05bfa-5593-4448-940e-437152bbbaf9.png" mode="widthFix"></image>
-				<div class="texts adffcacjc">
-					<div class="text">您当前爱心值不足,无法报名活动</div>
-					<div class="tip">欢迎联系专属客服,了解更多公益活动,积攒爱心值</div>
-				</div>
+				<view class="texts adffcacjc">
+					<view class="text">您当前{{activityLimitCfg[activityInfo?.activityLimit]}}不足,无法报名活动</view>
+					<view class="tip">欢迎联系专属客服,了解更多公益活动,积攒{{activityLimitCfg[activityInfo?.activityLimit]}}</view>
+				</view>
 				<image class="down" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/c7d4983d-ca93-4833-8922-e010dd1d450a.png"></image>
-				<div class="user adfac">
-					<div class="user-left">
+				<view class="user adfacjc">
+				<!-- <view class="user adfac"> -->
+					<!-- <view class="user-left">
 						<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/20ff1438-01a9-454c-b62c-501ed47c39a6.png"></image>
-					</div>
-					<div class="user-right">
-						<div class="name">陈婧航</div>
-						<div class="memo">@深圳善行少年基金会</div>
-					</div>
-				</div>
-				<div class="finfo adffcac">
-					<div class="finfo-code adffcacjc">
-						<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/fbb4ac12-163e-48bd-9066-27b068078107.png"></image>
-					</div>
-					<div class="finfo-title">长按识别二维码</div>
-					<div class="finfo-tip">添加您的专属公益向导</div>
-					<div class="finfo-btn">了解善行少年</div>
-					<div class="finfo-zblj" @click="fail=false">暂不了解</div>
-				</div>
-			</div>
-		</div>
-		<div class="share" v-if="share">
-			<div class="sbox">
-				<div class="sbox-title">分享给好友</div>
+					</view>
+					<view class="user-right">
+						<view class="name">陈婧航</view>
+						<view class="memo">@深圳善行少年基金会</view>
+					</view> -->
+					"善行少年"咨询微信
+				</view>
+				<view class="finfo adffcac">
+					<view class="finfo-code adffcacjc">
+						<!-- <image :src="imageUrl" @longpress="handleLongPress(imageUrl)"></image> -->
+						<image :src="imageUrl" :show-menu-by-longpress="true"></image>
+					</view>
+					<view class="finfo-title">长按识别二维码</view>
+					<view class="finfo-tip">添加您的专属公益向导</view>
+					<view class="finfo-btn" @click="toWebView">了解善行少年</view>
+					<view class="finfo-zblj" @click="fail=false">暂不了解</view>
+				</view>
+			</view>
+		</view>
+		<view class="share" v-if="share">
+			<view class="sbox">
+				<view class="sbox-title">分享给好友</view>
 				<image class="close" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/7d1c7cf4-199a-4008-8114-ee0e1a8f0cc3.png" @click="share=false"></image>
-				<div class="sbox-items adfac">
-					<div class="sbox-items-pre adffcac" @click="shareToFriend">
+				<view class="sbox-items adfac">
+					<view class="sbox-items-pre adffcac" @click="shareToFriend">
 						<button class="share-btn" open-type="share">
 							<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/a993c721-a4c7-4f5e-95cc-6451a50bfdce.png"></image>
 							<text>分享页面</text>
 						</button>
-					</div>
-					<div class="sbox-items-pre adffcac" @click="generatePoster">
+					</view>
+					<view class="sbox-items-pre adffcac" @click="generatePoster">
 						<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/0c87d8a1-d7c5-466c-84aa-87ec5f163955.png"></image>
 						<text>生成海报</text>
-					</div>
-					<div class="sbox-items-pre adffcac" @click="shareToTimeline">
+					</view>
+					<view class="sbox-items-pre adffcac" @click="shareToTimeline">
 						<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/732ac5fd-af58-44d8-9625-aaf96c24fed0.png"></image>
 						<text>分享到朋友圈</text>
-					</div>
-				</div>
-			</div>
-		</div>
+					</view>
+				</view>
+			</view>
+		</view>
 		
 		<!-- 添加海报生成的canvas -->
 		<canvas 
@@ -165,21 +180,21 @@
 		></canvas>
 		
 		<!-- 海报预览弹窗 -->
-		<div class="poster-preview" v-if="showPoster">
-			<div class="poster-box">
-				<div class="poster-header">
+		<view class="poster-preview" v-if="showPoster">
+			<view class="poster-box">
+				<view class="poster-header">
 					<text>生成海报</text>
 					<image class="close" src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/7d1c7cf4-199a-4008-8114-ee0e1a8f0cc3.png" @click="showPoster=false"></image>
-				</div>
-				<div class="poster-content">
+				</view>
+				<view class="poster-content">
 					<image :src="posterUrl" mode="widthFix" class="poster-img"></image>
-				</div>
-				<div class="poster-actions">
+				</view>
+				<view class="poster-actions">
 					<button class="save-btn" @click="savePoster">保存到相册</button>
 					<button class="share-btn" @click="sharePoster">分享给好友</button>
-				</div>
-			</div>
-		</div>
+				</view>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -198,15 +213,14 @@
 		2:'进行中',
 		3:'已结束'
 	})
+	const activityLimitCfg = ref({
+		1:'爱心值',
+		2:'专享券',
+		3:'免费'
+	})
 	const imgList = ref([])
 	const detail = ref('')
-	const avatars = ref([
-		'https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/565ca09a-88e2-4c2c-a89e-98bd51fbea7f.png',
-		'https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/565ca09a-88e2-4c2c-a89e-98bd51fbea7f.png',
-		'https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/565ca09a-88e2-4c2c-a89e-98bd51fbea7f.png',
-		'https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/565ca09a-88e2-4c2c-a89e-98bd51fbea7f.png',
-		'https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/565ca09a-88e2-4c2c-a89e-98bd51fbea7f.png'
-	])
+	const avatars = ref([])
 	const fail = ref(false)
 	const share = ref(false)
 	const showPoster = ref(false)
@@ -219,19 +233,34 @@
 		address: '深圳市南山区南山街道丰潭路',
 		organizer: '锦鲤俱乐部'
 	})
+	const imageUrl = ref('https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/fbb4ac12-163e-48bd-9066-27b068078107.png')
 	
 	const handleReviewMembers = () => {
 		uni.navigateTo({
-			url:'/pagesHome/recruitsNumber'
+			url:'/pagesHome/recruitsNumber?activityId='+activityInfo.value?.id+'&recruitmentMax='+activityInfo.value?.recruitmentMax+'&recruitmentMin='+activityInfo.value?.recruitmentMin
 		})
 	}
 	
-	const handleApply = () => {
-		uni.navigateTo({
-			url:'/pagesHome/activityApply'
-			// url:'/pagesHome/signSuccess'
-			// url:'/pagesHome/fillNonprofitArchives'
-		})
+	const handleApply = async () => {
+		let { loveValue, ticketValue } = await getUserLoveValue();
+		// url:'/pagesHome/signSuccess'
+		// url:'/pagesHome/fillNonprofitArchives'
+		let url = '/pagesHome/activityApply';
+		if((activityInfo.value?.activityLimit==1&&loveValue<activityInfo?.value.valueLimit)
+		||(activityInfo.value?.activityLimit==2&&ticketValue<activityInfo?.value.valueLimit)){
+			fail.value = true;
+			return 
+		}
+		uni.navigateTo({ url })
+	}
+	
+	const getUserLoveValue = () => {
+		return new Promise(resolve=>{
+			proxy.$api.get('/wx/'+JSON.parse(uni.getStorageSync('userInfo')).id).then(({data:res})=>{
+				if(res.code!==0) return proxy.$showToast(res.msg)
+				resolve({loveValue:res.data?.loveValue||0,ticketValue:0})
+			})
+		}) 
 	}
 	
 	onShareAppMessage((res) => {
@@ -252,6 +281,18 @@
 		};
 	})
 	
+	const showShareOptions = () => {
+		share.value = true;
+		uni.showShareMenu({
+			withShareTicket: true,
+			menus: ['shareAppMessage', 'shareTimeline'] // 显示分享给朋友和分享到朋友圈
+		}).then(res => {
+			console.log('显示分享菜单成功', res);
+		}).catch(err => {
+			console.error('显示分享菜单失败', err);
+		});
+	}
+	
 	// 分享到朋友圈
 	const shareToTimeline = () => {
 		uni.showModal({
@@ -471,21 +512,45 @@
 		})
 	}
 	
+	const handleLongPress = (url) => {
+		uni.previewImage({
+			urls: [url],
+			current: url,
+		
+			// 在小程序中,可以设置 longPressActions 来自定义长按菜单
+			// 但注意:这个自定义菜单会覆盖掉“识别二维码”等原生功能
+			// 所以我们不设置这个参数,以保留微信原生的预览页长按菜单
+			/*
+			longPressActions: {
+			  itemList: ['发送给朋友', '保存图片', '收藏'],
+			  success: function(data) {
+				console.log('选中了第' + (data.tapIndex + 1) + '个按钮, 内容是' + data.item);
+			  },
+			  fail: function(err) {
+				console.log(err.errMsg);
+			  }
+			}
+			*/
+		})	
+	}
+	
+	const toWebView = () => {
+		uni.navigateTo({
+			url:'/pages/webView?src=https://mp.weixin.qq.com/s/-oQlSBucYU_ifgd1j6eL3A?scene=1&click_id=2'
+		})
+	}
+	  
 	const getActivityDetail = (id) => {
 		proxy.$api.get(`/core/activity/${id}`).then(({data:res})=>{
 			if(res.code!==0) return this.$showToast(res.msg)
 			activityInfo.value = res.data;
-			imgList.value = activityInfo.value?.imageFiles.split(',')||[]
+			imgList.value = activityInfo.value?.imageFiles&&(activityInfo.value?.imageFiles.split(',')||[])
+			for(let i=0;i<activityInfo.recruitmentNow;i++){
+				avatars.value.push('https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/565ca09a-88e2-4c2c-a89e-98bd51fbea7f.png')
+			}
 		})
 	}
 	
-	onMounted(() => {
-	  uni.showShareMenu({
-	    withShareTicket: true,
-	    menus: ['shareAppMessage', 'shareTimeline'] // 显示分享给朋友和分享到朋友圈
-	  });
-	});
-	
 	onLoad(options=>{
 		id.value = options?.id||options?.shareADId||'';
 		if(id.value) {
@@ -553,6 +618,11 @@
 					font-size: 24rpx;
 					color: #151B29;
 					line-height: 33rpx;
+					&.end{
+						background: linear-gradient( 270deg, #FD8A8A 0%, #FE6161 100%);
+						border-radius: 16px 4px 16px 4px;
+						color: #FFFFFF;
+					}
 				}
 				&-title{
 					font-family: PingFang-SC, PingFang-SC;
@@ -784,6 +854,9 @@
 					line-height: 90rpx;
 					text-align: center;
 					letter-spacing: 2rpx;
+					&.end{
+						background: #F7F7F7;
+					}
 				}
 			}
 		}
@@ -854,10 +927,16 @@
 					margin-top: 20rpx;
 				}
 				.user{
-					margin-top: 30rpx;
 					width: 100%;
-					padding-left: 50rpx;
+					// margin-top: 30rpx;
+					// padding-left: 50rpx;
+					margin-top: 50rpx;
 					box-sizing: border-box;
+					font-family: PingFang-SC, PingFang-SC;
+					font-weight: bold;
+					font-size: 32rpx;
+					color: #252525;
+					line-height: 32rpx;
 					&-left{
 						image{
 							width: 98rpx;

+ 26 - 7
pagesHome/recruitsNumber.vue

@@ -2,17 +2,17 @@
 	<view class="common_page adffc" :style="{'height':h+'px', 'padding-top':mt+'px'}">
 		<cus-header title="招募人数" bgColor="#FFFFFF"></cus-header>
 		<div class="box num">
-			<div class="num-pre">招募人数<text>{{50}}人</text></div>
-			<div class="num-pre line">已报名<text>{{35}}人</text></div>
-			<div class="num-pre">最少报名人数<text>{{40}}人</text></div>
+			<div class="num-pre">招募人数<text>{{recruitmentMax?(recruitmentMax+'人'):'无限制'}}</text></div>
+			<div class="num-pre line">已报名<text>{{ybmNum}}人</text></div>
+			<div class="num-pre">最少报名人数<text>{{recruitmentMax?(recruitmentMin+'人'):'无限制'}}</text></div>
 		</div>
 		<div class="box list" v-if="list.length">
 			<div class="list-pre adfacjb" v-for="(item,index) in list" :key="index">
 				<div class="list-pre-left adfac">
 					<image src="https://transcend.ringzle.com/xiaozhi-app/profile/2025/10/10/a56db26d-4149-4f6a-8272-2c3d4af0a6a8.png"></image>
-					<text>{{'张**'}}</text>
+					<text>{{item.name||''}}</text>
 				</div>
-				<div class="list-pre-right">{{'2025-07-17 09:35:01'}}</div>
+				<div class="list-pre-right">{{item.createDate||''}}</div>
 			</div>
 		</div>
 		<div class="empty adffcacjc" v-else>
@@ -23,9 +23,28 @@
 
 <script setup name="">
 	import CusHeader from '@/components/CusHeader/index.vue'
-	import { ref } from 'vue'
+	import { onLoad } from '@dcloudio/uni-app'
+	import { ref, onMounted, getCurrentInstance } from 'vue'
+	const { proxy } = getCurrentInstance()
 	
-	const list = ref([1,1,1])
+	const list = ref([])
+	const recruitmentMax = ref('')
+	const recruitmentMin = ref('')
+	const ybmNum = ref(0)
+	
+	const getList = (activityId) => {
+		proxy.$api.get('/core/activity/signup/getSignupList',{page:1,limit:-1,activityId}).then(({data:res})=>{
+			if(res.code!==0) return proxy.$showToast(res.msg)
+			list.value = res.data.list;
+			ybmNum.value = list.value.filter(l=>l.signupState==1).length||0;
+		})
+	}
+	
+	onLoad((options)=>{
+		recruitmentMax.value = +options.recruitmentMax??0;
+		recruitmentMin.value = +options.recruitmentMin??0;
+		getList(options?.activityId)
+	})
 </script>
 
 <style scoped lang="scss">