hookehuyr

feat(弹幕组件): 重构弹幕组件并添加API数据支持

重构弹幕组件逻辑,移除mock数据改用API获取真实弹幕数据
优化弹幕动画逻辑和轨道管理,提高弹幕显示效果
调整弹幕样式和间距,增强用户体验
/*
* @Date: 2023-12-22 10:29:37
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-09-18 17:23:51
* @LastEditTime: 2025-10-28 17:03:04
* @FilePath: /lls_program/src/api/points.js
* @Description: 文件描述
*/
......@@ -72,5 +72,10 @@ export const getPointListAPI = (params) => fn(fetch.get(Api.POINT_LIST, params))
* @returns {number} response.data.current_family[].step - 步数
* @returns {number} response.data.current_family[].rank - 排名
* @returns {number} response.data.current_family[].country - 区县
* @returns {Array} response.data.bullet_families[] - 弹幕家庭列表
* @returns {string} response.data.bullet_families[].id - 家庭ID
* @returns {string} response.data.bullet_families[].name - 家庭名称
* @returns {string} response.data.bullet_families[].avatar_url - 头像URL
* @returns {string} response.data.bullet_families[].note - 家庭介绍
*/
export const getStepLeaderboardAPI = (params) => fn(fetch.get(Api.STEP_LEADERBOARD, params));
......
This diff is collapsed. Click to expand it.
<!--
* @Date: 2025-01-09 00:00:00
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-10-28 16:24:46
* @LastEditTime: 2025-10-28 16:58:49
* @FilePath: /lls_program/src/components/RankingCard.vue
* @Description: 排行榜卡片组件
-->
......@@ -43,7 +43,7 @@
<!-- 排行榜日期 -->
<view class="rank-date relative">
<!-- <view class="flex items-center justify-center"><text class="mr-2">截止昨日</text>{{ currentDate }}<text v-if="activeTab !== 'shanghai'" class="ml-2">排名</text><IconFont name="ask" size="16" class="ml-2" @click="handleRankAskClick"></IconFont></view> -->
<view class="flex items-center justify-center"><text class="mr-2">截止昨日</text>{{ currentDate }}<text class="ml-2">排名</text><IconFont name="ask" size="16" class="ml-2" @click="handleRankAskClick"></IconFont></view>
<view class="flex items-center justify-center"><text class="mr-2">截止昨日</text>{{ currentDate }}<text class="ml-2">排名</text><IconFont v-if="activeTab !== 'support'" name="ask" size="16" class="ml-2" @click="handleRankAskClick"></IconFont></view>
<view v-if="activeTab === 'support'" class="absolute font-bold text-white bg-orange-500 top-0 rounded-full px-4 py-1" style="right: -30rpx; top: -5rpx; font-size: 23rpx; z-index: 999;" @tap="joinOrganization">助力码</view>
</view>
......@@ -532,11 +532,11 @@ const danmuRef = ref(null)
// 处理弹幕点击事件
const handleDanmuClick = (familyData) => {
console.log('弹幕点击:', familyData)
Taro.showToast({
title: `点击了${familyData.familyName}`,
icon: 'none',
duration: 2000
})
// Taro.showToast({
// title: `点击了${familyData.familyName}`,
// icon: 'none',
// duration: 2000
// })
}
// 处理弹幕悬停事件
......
<!--
* @Date: 2025-09-01 13:07:52
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-10-28 16:04:30
* @LastEditTime: 2025-10-28 16:36:47
* @FilePath: /lls_program/src/pages/FamilyRank/index.vue
* @Description: 文件描述
-->
......@@ -286,11 +286,11 @@ const danmuRef = ref(null)
// 处理弹幕点击事件
const handleDanmuClick = (familyData) => {
console.log('弹幕点击:', familyData)
Taro.showToast({
title: `点击了${familyData.familyName}`,
icon: 'none',
duration: 2000
})
// Taro.showToast({
// title: `点击了${familyData.familyName}`,
// icon: 'none',
// duration: 2000
// })
}
// 处理弹幕悬停事件
......