|
@@ -262,15 +262,7 @@
|
|
|
noticeList: [],
|
|
noticeList: [],
|
|
|
|
|
|
|
|
// 功能入口
|
|
// 功能入口
|
|
|
- functionList: [
|
|
|
|
|
- { id: 1, name: '星命测算', icon: '💖', path: '/pages/astrology/index', bgColor: '#FF6B9D', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FF6B9D 0%, #FF8EAB 100%)' },
|
|
|
|
|
- { id: 2, name: '红娘列表', icon: '👤', path: '/pages/matchmakers/list', bgColor: '#6BC5F8', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #6BC5F8 0%, #87CEEB 100%)' },
|
|
|
|
|
- // { id: 3, name: '加入红娘', icon: '💕', path: '/pages/part-time-matchmaker/index', bgColor: '#9B7EDE', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #9B7EDE 0%, #B19CD9 100%)' },
|
|
|
|
|
- // { id: 3, name: '加入红娘', icon: '💕', path: '/pages/part-time-matchmaker/index', bgColor: '#9B7EDE', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #9B7EDE 0%, #B19CD9 100%)' },
|
|
|
|
|
- { id: 4, name: '精品课程', icon: '📚', path: '/pages/courses/list', bgColor: '#FF8C42', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FF8C42 0%, #FFA366 100%)' },
|
|
|
|
|
- { id: 5, name: '今日缘分', icon: '💝', path: '/pages/recommend/index', bgColor: '#FF69B4', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FF69B4 0%, #FF8CC8 100%)', needLogin: true },
|
|
|
|
|
- // { id: 6, name: '专属定制', icon: '🎁', path: '/pages/customize/index', bgColor: '#FFA500', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FFA500 0%, #FFB84D 100%)' }
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ functionList: [],
|
|
|
|
|
|
|
|
// 热门活动
|
|
// 热门活动
|
|
|
hotActivities: [],
|
|
hotActivities: [],
|
|
@@ -322,6 +314,7 @@
|
|
|
this.loadUserInfo()
|
|
this.loadUserInfo()
|
|
|
this.loadBannerData()
|
|
this.loadBannerData()
|
|
|
this.loadNoticeData()
|
|
this.loadNoticeData()
|
|
|
|
|
+ this.loadFunctionGridData()
|
|
|
// this.loadTodayRecommend()
|
|
// this.loadTodayRecommend()
|
|
|
this.loadCharmIndex()
|
|
this.loadCharmIndex()
|
|
|
this.loadHotActivities()
|
|
this.loadHotActivities()
|
|
@@ -499,6 +492,47 @@
|
|
|
// 使用默认数据
|
|
// 使用默认数据
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
|
|
+ // 加载金刚区功能列表
|
|
|
|
|
+ async loadFunctionGridData() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ // 调用 API 获取金刚区功能数据
|
|
|
|
|
+ const data = await api.home.getFunctionGrid()
|
|
|
|
|
+ if (data && data.length > 0) {
|
|
|
|
|
+ // 处理金刚区数据,确保字段格式正确
|
|
|
|
|
+ this.functionList = data.map(item => ({
|
|
|
|
|
+ ...item,
|
|
|
|
|
+ // 确保渐变背景色格式正确
|
|
|
|
|
+ gradient: item.gradient || `linear-gradient(135deg, ${item.bgColor} 0%, ${this.lightenColor(item.bgColor, 10)} 100%)`
|
|
|
|
|
+ }))
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.error('获取金刚区功能列表失败:', error)
|
|
|
|
|
+ // 使用默认数据作为降级方案
|
|
|
|
|
+ this.functionList = [
|
|
|
|
|
+ { id: 1, name: '星命测算', icon: '💖', path: '/pages/astrology/index', bgColor: '#FF6B9D', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FF6B9D 0%, #FF8EAB 100%)' },
|
|
|
|
|
+ { id: 2, name: '红娘列表', icon: '👤', path: '/pages/matchmakers/list', bgColor: '#6BC5F8', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #6BC5F8 0%, #87CEEB 100%)' },
|
|
|
|
|
+ { id: 4, name: '精品课程', icon: '📚', path: '/pages/courses/list', bgColor: '#FF8C42', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FF8C42 0%, #FFA366 100%)' },
|
|
|
|
|
+ { id: 5, name: '今日缘分', icon: '💝', path: '/pages/recommend/index', bgColor: '#FF69B4', iconColor: '#FFFFFF', gradient: 'linear-gradient(135deg, #FF69B4 0%, #FF8CC8 100%)', needLogin: true }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 颜色提亮函数(用于生成渐变背景色)
|
|
|
|
|
+ lightenColor(color, percent) {
|
|
|
|
|
+ // 移除#号
|
|
|
|
|
+ color = color.replace('#', '')
|
|
|
|
|
+ // 转换为RGB
|
|
|
|
|
+ let r = parseInt(color.substring(0, 2), 16)
|
|
|
|
|
+ let g = parseInt(color.substring(2, 4), 16)
|
|
|
|
|
+ let b = parseInt(color.substring(4, 6), 16)
|
|
|
|
|
+ // 提亮颜色
|
|
|
|
|
+ r = Math.min(255, Math.round(r + (255 - r) * percent / 100))
|
|
|
|
|
+ g = Math.min(255, Math.round(g + (255 - g) * percent / 100))
|
|
|
|
|
+ b = Math.min(255, Math.round(b + (255 - b) * percent / 100))
|
|
|
|
|
+ // 转换回十六进制
|
|
|
|
|
+ return '#' + ((r << 16) | (g << 8) | b).toString(16).padStart(6, '0')
|
|
|
|
|
+ },
|
|
|
|
|
|
|
|
// 加载公告数据
|
|
// 加载公告数据
|
|
|
async loadNoticeData() {
|
|
async loadNoticeData() {
|
|
@@ -622,46 +656,10 @@
|
|
|
endTime: activity.endTime || activity.end_time || activity.endDate || '',
|
|
endTime: activity.endTime || activity.end_time || activity.endDate || '',
|
|
|
status: activity.status || 0
|
|
status: activity.status || 0
|
|
|
}})
|
|
}})
|
|
|
- } else {
|
|
|
|
|
- // 使用默认活动数据
|
|
|
|
|
- this.hotActivities = [
|
|
|
|
|
- ]
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('获取热门活动失败:', error)
|
|
console.error('获取热门活动失败:', error)
|
|
|
- // 使用默认数据
|
|
|
|
|
- this.hotActivities = [
|
|
|
|
|
- {
|
|
|
|
|
- id: 1,
|
|
|
|
|
- name: '七夕单身派对',
|
|
|
|
|
- description: '浪漫七夕夜,遇见更好的ta',
|
|
|
|
|
- coverImage: DEFAULT_IMAGES.activity || 'https://images.unsplash.com/photo-1511632765486-a01980e01a18?w=750&h=400&fit=crop',
|
|
|
|
|
- startTime: '2024-02-14 19:00:00',
|
|
|
|
|
- location: '杭州西湖文化广场',
|
|
|
|
|
- price: 99,
|
|
|
|
|
- status: 1
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- id: 2,
|
|
|
|
|
- name: '情人节主题聚会',
|
|
|
|
|
- description: '高端单身聚会,品味生活',
|
|
|
|
|
- coverImage: DEFAULT_IMAGES.banner || 'https://images.unsplash.com/photo-1522673607200-164d1b6ce486?w=750&h=360&fit=crop',
|
|
|
|
|
- startTime: '2024-02-14 20:00:00',
|
|
|
|
|
- location: '上海外滩茶餐厅',
|
|
|
|
|
- price: 128,
|
|
|
|
|
- status: 1
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- id: 3,
|
|
|
|
|
- name: '春日户外踏青',
|
|
|
|
|
- description: '拥抱春天,邂逅美好',
|
|
|
|
|
- coverImage: DEFAULT_IMAGES.couple || 'https://images.unsplash.com/photo-1516589178581-6cd7833ae3b2?w=520&h=360&fit=crop',
|
|
|
|
|
- startTime: '2024-03-20 14:00:00',
|
|
|
|
|
- location: '苏州园林博物馆',
|
|
|
|
|
- price: 68,
|
|
|
|
|
- status: 1
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|
|
@@ -717,25 +715,7 @@
|
|
|
}
|
|
}
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('获取成功案例失败:', error)
|
|
console.error('获取成功案例失败:', error)
|
|
|
- // 使用默认数据
|
|
|
|
|
- this.successCases = [
|
|
|
|
|
- {
|
|
|
|
|
- caseNo: 'CASE001',
|
|
|
|
|
- maleUserNickname: '张先生',
|
|
|
|
|
- femaleUserNickname: '李女士',
|
|
|
|
|
- imageUrl: DEFAULT_IMAGES.couple,
|
|
|
|
|
- quote: '从第一次咖啡约会到领证,只用了90天',
|
|
|
|
|
- marriageDate: '2024-08-20'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- caseNo: 'CASE002',
|
|
|
|
|
- maleUserNickname: '王先生',
|
|
|
|
|
- femaleUserNickname: '赵女士',
|
|
|
|
|
- imageUrl: DEFAULT_IMAGES.couple,
|
|
|
|
|
- quote: '感谢红娘的专业服务,让我们相遇相知',
|
|
|
|
|
- marriageDate: '2024-09-15'
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
|
|
|