useAppConfiguration.ts 848 B

1234567891011121314151617181920212223242526272829
  1. import { LogUtils } from "@imengyu/imengyu-utils";
  2. import { inject, provide, ref, type Ref } from "vue";
  3. import ConfigurationApi, { type IConfigurationItem } from "./ConfigurationApi";
  4. export const APP_CONFIGURATION_KEY = Symbol('APP_CONFIGURATION_KEY');
  5. const TAG = 'useAppConfiguration';
  6. export function useAppConfiguration() {
  7. const appConfiguration = ref<IConfigurationItem | null>(null);
  8. async function loadAppConfiguration() {
  9. //获取配置
  10. const config = await ConfigurationApi.getConfig();
  11. LogUtils.printLog(TAG, 'info', '获取配置', config);
  12. appConfiguration.value = config;
  13. }
  14. provide(APP_CONFIGURATION_KEY, appConfiguration);
  15. return {
  16. loadAppConfiguration,
  17. appConfiguration,
  18. };
  19. }
  20. export function injectAppConfiguration() {
  21. return inject(APP_CONFIGURATION_KEY) as Ref<IConfigurationItem>;
  22. }