ConfigurationApi.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { UpdateServerRequestModule } from '@/api/RequestModules';
  2. import { getMpEnvVersion } from '@/common/utils/MpVersions';
  3. import { LogUtils } from '@imengyu/imengyu-utils';
  4. import { DataModel } from '@imengyu/js-request-transform';
  5. import DefaultConfiguration from './DefaultConfiguration.json';
  6. export const CommonConfigurationConfig = {
  7. /**
  8. * 应用id
  9. */
  10. appId: 2,
  11. appConfigId: {
  12. dev: 7,
  13. prod: 6,
  14. },
  15. getAppConfigId(isDev: boolean) {
  16. return isDev ? this.appConfigId.dev : this.appConfigId.prod;
  17. },
  18. }
  19. export interface IConfigurationItem {
  20. baseServerUrl: string,
  21. articleMark: string,
  22. routeListImage: string,
  23. routeListImageStyle: Record<string, any>,
  24. routeListMarginTop: number,
  25. }
  26. export class ConfigurationApi extends UpdateServerRequestModule<DataModel> {
  27. constructor() {
  28. super();
  29. }
  30. /**
  31. * 获取当前配置,有缓存,会根据激活的历史版本获取对应配置
  32. * @returns
  33. */
  34. async getConfig() {
  35. const isDev =
  36. // #ifdef MP-WEIXIN
  37. getMpEnvVersion() === 'release' ? false :
  38. // #endif
  39. true;
  40. try {
  41. return (await this.get<{
  42. data: IConfigurationItem
  43. }>('/app-configuration-get', '获取配置', {
  44. name: CommonConfigurationConfig.getAppConfigId(isDev),
  45. appId: CommonConfigurationConfig.appId,
  46. })).data!.data;
  47. } catch (error) {
  48. LogUtils.printLog("ConfigurationApi", 'error', '获取配置失败,使用默认配置', error);
  49. return DefaultConfiguration as IConfigurationItem;
  50. }
  51. }
  52. }
  53. export default new ConfigurationApi();