import type { App } from 'vue' import { manageApi } from '@af-mobile-client-vue3/services/api/manage' import { APP_WEB_CONFIG_KEY } from '@af-mobile-client-vue3/stores/mutation-type' import { handleTree } from '@af-mobile-client-vue3/utils/dataUtil' import { indexedDB } from '@af-mobile-client-vue3/utils/indexedDB' import { createStorage } from '@af-mobile-client-vue3/utils/Storage' const Storage = createStorage({ storage: localStorage }) export const GetAppDataService = { install(app: App) { app.provide('$appdata', GetAppDataService) }, async load() { }, // 返回树形省市区 async getDivisionsOhChinaForTree() { // 获取省市区数据 return new Promise((resolve, reject) => { try { indexedDB.getByWeb('divisionsOhChina', manageApi.getDivisionsOhChina, {}, (res) => { resolve(res) }, (processRes) => { return handleTree(processRes, 'code', 'parentcode', null) }) } catch (e) { reject(e) } }) }, getWebConfigByKey(key: string) { const object = Storage.get(APP_WEB_CONFIG_KEY) return object[key] }, } export default GetAppDataService