|
@@ -13,7 +13,7 @@
|
|
|
</router-view>
|
|
|
|
|
|
<ScreenSavers
|
|
|
- v-if="showScreenSavers && screenList.length > 0"
|
|
|
+ v-if="showScreenSavers && screenList.length > 0 && store.getters.isOnline"
|
|
|
:autoPlay="autoPlay"
|
|
|
:list="screenList"
|
|
|
@onClick="closeScreen"
|
|
@@ -28,6 +28,7 @@ import { ScreenSavers } from "@/components";
|
|
|
import { getScreenConfigApi } from "./api";
|
|
|
import { GetScreenConfigApiResponse } from "./api/types";
|
|
|
import { useStore } from "vuex";
|
|
|
+import { isOnlineFn } from "./utils";
|
|
|
|
|
|
const store = useStore();
|
|
|
const showScreenSavers = ref(false);
|
|
@@ -36,9 +37,31 @@ const autoPlay = ref(false);
|
|
|
const screenList = ref<GetScreenConfigApiResponse["img"]>([]);
|
|
|
|
|
|
onMounted(() => {
|
|
|
- getScreenConfig();
|
|
|
+ getOnline().then((state) => {
|
|
|
+ state && getScreenConfig();
|
|
|
+ });
|
|
|
+
|
|
|
+ setInterval(() => {
|
|
|
+ getOnline().then((state) => {
|
|
|
+ state && getScreenConfig();
|
|
|
+ });
|
|
|
+ }, 5000);
|
|
|
+
|
|
|
+ setInterval(() => {
|
|
|
+ store.commit("setTime", store.state.time + 1);
|
|
|
+ if (store.state.time >= showScreenTime.value && !showScreenSavers.value) {
|
|
|
+ showScreenSavers.value = true;
|
|
|
+ }
|
|
|
+ }, 1000);
|
|
|
});
|
|
|
|
|
|
+const getOnline = async () => {
|
|
|
+ const state = await isOnlineFn();
|
|
|
+ console.log("当前接口状态:", state);
|
|
|
+ store.commit("setIsOnline", state);
|
|
|
+ return state;
|
|
|
+};
|
|
|
+
|
|
|
const clearTimer = () => {
|
|
|
store.dispatch("clearTime");
|
|
|
};
|
|
@@ -58,13 +81,6 @@ const getScreenConfig = async () => {
|
|
|
...i,
|
|
|
thumb: window.VUE_APP_BACKEND_URL + i.thumb,
|
|
|
}));
|
|
|
-
|
|
|
- setInterval(() => {
|
|
|
- store.commit("setTime", store.state.time + 1);
|
|
|
- if (store.state.time >= showScreenTime.value && !showScreenSavers.value) {
|
|
|
- showScreenSavers.value = true;
|
|
|
- }
|
|
|
- }, 1000);
|
|
|
};
|
|
|
</script>
|
|
|
|