|
|
@@ -377,7 +377,11 @@
|
|
|
import { ref, computed, onMounted, onBeforeUnmount, watch } from "vue";
|
|
|
import { useRouter, useRoute } from "vue-router";
|
|
|
import { searchVideoByTags, searchVideoByKeyword } from "@/services/api";
|
|
|
-import { videoMenus as fixedVideoMenus } from "@/data/videoMenus";
|
|
|
+import {
|
|
|
+ videoMenus as fixedVideoMenus,
|
|
|
+ getRandomInitialTag,
|
|
|
+ removeInitialTag,
|
|
|
+} from "@/data/videoMenus";
|
|
|
import { freeVideos } from "@/data/freeVideo";
|
|
|
import VideoJSPlayer from "@/components/VideoJSPlayer.vue";
|
|
|
import { useUserStore } from "@/store/user";
|
|
|
@@ -768,8 +772,29 @@ const initializeVideoMenus = async () => {
|
|
|
await restoreSavedState();
|
|
|
isReturnFromVideo.value = false;
|
|
|
} else {
|
|
|
- // 默认不选择任何菜单,加载所有视频
|
|
|
- await loadVideosByTag("");
|
|
|
+ // 检查是否是第一次进入页面(没有保存的状态)
|
|
|
+ const savedState = userStore.getHomePageState();
|
|
|
+ const isFirstVisit = !savedState.selectedMenu && !savedState.isSearchMode;
|
|
|
+
|
|
|
+ if (isFirstVisit) {
|
|
|
+ // 第一次进入页面,从 initialTagData 中随机选择一个标签
|
|
|
+ const randomTag = getRandomInitialTag();
|
|
|
+ if (randomTag) {
|
|
|
+ selectedMenu.value = randomTag.hash;
|
|
|
+ await loadVideosByTag(randomTag.hash, 1);
|
|
|
+ // 删除已使用的标签
|
|
|
+ removeInitialTag(randomTag.hash);
|
|
|
+ console.log(
|
|
|
+ `首次访问,随机选择标签: ${randomTag.name} (${randomTag.hash})`
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ // 如果没有初始标签数据,加载所有视频
|
|
|
+ await loadVideosByTag("");
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 不是第一次访问,加载所有视频
|
|
|
+ await loadVideosByTag("");
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|