diff --git a/pwuniapp/common/api.js b/pwuniapp/common/api.js
index 99336aa..584f7ca 100644
--- a/pwuniapp/common/api.js
+++ b/pwuniapp/common/api.js
@@ -38,7 +38,8 @@ export function formatActivityData(raw) {
startTime: raw.startTime || '',
location: raw.location || '',
creatorId: raw.creatorId != null ? Number(raw.creatorId) : (raw.creator_id != null ? Number(raw.creator_id) : 0),
- creatorNickname: raw.creatorNickname || '',
+ // 创建人已被删除时给出真实状态,避免列表显示空白局长
+ creatorNickname: raw.creatorNickname || '局长已注销',
creatorAvatar: raw.creatorAvatar || '',
status: raw.status || (joinedCount >= (raw.maxParticipants || 4) ? 'FULL' : 'RECRUITING'),
allowDynamicPrice: Boolean(raw.allowDynamicPrice),
@@ -236,7 +237,7 @@ export async function getCompanions(keyword) {
price: Number(c.hourlyRate) || 0,
rating: Number(c.rating) || 0,
orderCount: Number(c.orderCount) || 0,
- isOnline: c.status === '接单中',
+ isOnline: c.isOnline !== undefined ? Boolean(c.isOnline) : c.status === '接单中',
voiceDuration: Number(c.voiceDuration) || 0,
voiceType: 'voice',
voiceTitle: c.voiceTitle || '',
@@ -267,7 +268,6 @@ export async function matchCompanions(options = {}) {
const list = Array.isArray(res) ? res : (res && Array.isArray(res.list) ? res.list : []);
return list.map((c) => ({
id: String(c.id),
- userId: Number(c.userId) || 0,
nickname: c.nickname || '',
avatar: c.avatar || '',
gender: c.gender === '男' ? 'male' : (c.gender === '女' ? 'female' : ''),
diff --git a/pwuniapp/pages/activity/detail.vue b/pwuniapp/pages/activity/detail.vue
index 906fe40..e8d2da7 100644
--- a/pwuniapp/pages/activity/detail.vue
+++ b/pwuniapp/pages/activity/detail.vue
@@ -72,7 +72,10 @@
组局阵地与发起人
-
+
+
+ ?
+
{{ activity.creatorNickname }}
@@ -1147,6 +1150,21 @@ const handleJoin = () => {
height: 80rpx;
border-radius: 40rpx;
margin-right: 16rpx;
+ flex-shrink: 0;
+ }
+
+ .creator-avatar-empty {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ background: rgba(148, 163, 184, 0.18);
+ border: 1px solid rgba(148, 163, 184, 0.3);
+
+ .creator-avatar-placeholder {
+ font-size: 30rpx;
+ color: #94A3B8;
+ font-weight: 700;
+ }
}
.creator-info {
diff --git a/pwuniapp/pages/activity/list.vue b/pwuniapp/pages/activity/list.vue
index 1289ef9..a3b2e28 100644
--- a/pwuniapp/pages/activity/list.vue
+++ b/pwuniapp/pages/activity/list.vue
@@ -140,7 +140,10 @@