import { UpdateServerRequestModule } from '@/api/RequestModules'; import { LogUtils } from '@imengyu/imengyu-utils'; import { DataModel } from '@imengyu/js-request-transform'; import type { VillageTreeAnimProps } from '../light/LightVillageApi'; import DefaultConfiguration from './DefaultConfiguration.json'; export const CommonConfigurationConfig = { /** * 应用id */ appId: 4, appConfigId: 14, } export interface IBannerItem { height: number; images: string[]; } export interface IConfigurationItem { banners: { homeTop: string; homeTitle: { url: string; width: number; height: number; innerStyle?: Record; }; home: IBannerItem; dig: IBannerItem; discover: IBannerItem; }, ShareAppTempEntranceContent: { content: string; images: string[]; title: string; }, tree: { fruitImage: string; backgroundImage: string; offsetX: number; offsetY: number; animWater: string[]; animWaterAnimProps: VillageTreeAnimProps; animFertilize: string[]; animFertilizeAnimProps: VillageTreeAnimProps; }, sharePost: { villageDefault: string, default: string } } export class ConfigurationApi extends UpdateServerRequestModule { constructor() { super(); } /** * 获取当前配置,有缓存,会根据激活的历史版本获取对应配置 * @returns */ async getConfig() { try { return (await this.get<{ data: IConfigurationItem }>('/app-configuration-get', '获取配置', { name: CommonConfigurationConfig.appConfigId, appId: CommonConfigurationConfig.appId, })).data!.data; } catch (error) { LogUtils.printLog("ConfigurationApi", 'error', '获取配置失败,使用默认配置', error); return DefaultConfiguration as unknown as IConfigurationItem; } } } export default new ConfigurationApi();