Skip to content

useConfig 是为了存储配置文件,方便读取配置文件,减少请求次数。

上次更新 2024年10月30日星期三 7:57:13 字数 0 字 时长 0 分钟

js
import { shallowReactive } from "vue";
import useRequest from "./request";
import { useStorage } from "./storage";

const _localStorage = useStorage(localStorage);

const { readFile } = useRequest();

export const useConfig = () => {
  const config = shallowReactive(
    new Map(_localStorage.get("config") || []) || new Map()
  );
  const setConfig = async (key) => {
    try {
      // 依照路径作为key
      const data = await readFile(key);
      config.set(key, data);
    } catch (error) {
      console.log(error);
    }
  };
  const getConfig = async (key) => {
    if (!config.has(key)) {
      await setConfig(key);
    }
    return config.get(key);
  };

  const removeConfig = (key) => {
    config.delete(key);
  };

  //   watch(config, (val) => {
  //     console.log(val)
  //     _localStorage.set('config', [...val])
  //   })

  return { config, setConfig, getConfig, removeConfig };
};
关注公众号