单应用项目,可以创建很多独立工具类页面 ,不用登录 初始化的页面
zhangchen
2025-09-19 5bfd636d1fc207a69391e29bcee40b279274a629
src/store/bedsideAuxiliaryScreen.ts
@@ -14,6 +14,8 @@
} from "./type/bedsideAuxiliaryScreen.type";
import { ElMessage } from "element-plus/es";
import { Local } from "@/utils/storage";
import type { DeviceLoginRecord } from './type/user.type';
import { logOutApi } from "@/api/user";
export const useBedsideAuxiliaryScreenStore = defineStore(
  "bedsideAuxiliaryScreen",
@@ -29,6 +31,9 @@
    /** 任务列表 */
    const taskData = ref<Task[]>([]);
    /** 用户信息 */
    const userInfo = ref<DeviceLoginRecord | null>(null);
    /** 设置副屏版本号 */
    const setVersion = (val: string) => {
@@ -70,6 +75,18 @@
      taskData.value = [];
    };
    /** 设置用户信息 */
    const setUserInfo = (user: DeviceLoginRecord | null) => {
      userInfo.value = user;
    };
    /** 退出登录 */
    const logout = async (deviceCodeStr: string) => {
      await logOutApi(deviceCodeStr);
      setUserInfo(null);
    };
    // SSE 相关状态
    const source = ref<EventSource | null>(null);
    const message = ref<string | null>(null);
@@ -77,7 +94,7 @@
    // 重连控制
    let retryCount = 0;
    const maxRetryCount = 60;
    const maxRetryCount = 6000 * 60 * 24 * 30;
    const baseRetryDelay = 1000; // 1秒开始重连延迟
    /**
@@ -158,6 +175,9 @@
          }
          deviceData.value = formatDeviceData(deviceData.value, dataBody);
          // 当前登录的用户信息
          setUserInfo(dataBody.当前登录状态);
          // 判断本地的版本号与远程的版本号是否一致,如果不一致则执行刷新操作
          if (dataBody.服务端版本号 !== version.value) {
            refreshVersion(dataBody.服务端版本号);
@@ -221,6 +241,9 @@
      clearTask,
      setVersion,
      refreshVersion,
      userInfo,
      setUserInfo,
      logout,
    };
  }
);