83b1b0e5f6
Add HQ group for default and per-page share title/desc/image; expose via client-config and wire all mini-user share entry points. Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import { Controller, Get } from '@nestjs/common';
|
|
import {
|
|
parseMiniHomeBanners,
|
|
resolveClientBrandRuntime,
|
|
resolveMiniShareRuntime,
|
|
} from '@dukang/shared-types';
|
|
import { SystemConfigService } from '../../common/system-config/system-config.service';
|
|
|
|
@Controller('common')
|
|
export class ClientConfigController {
|
|
constructor(private readonly systemConfig: SystemConfigService) {}
|
|
|
|
@Get('client-config')
|
|
clientConfig() {
|
|
const cfg = this.systemConfig.getAppConfig();
|
|
const env = this.systemConfig.getMergedEnv();
|
|
const footer = (env.MINI_HOME_FOOTER_URL ?? '').trim();
|
|
const minClientVersion = (env.MINI_USER_MIN_VERSION ?? '').trim() || null;
|
|
const brand = resolveClientBrandRuntime(env);
|
|
const share = resolveMiniShareRuntime(env);
|
|
return {
|
|
mockPay: cfg.mockPay,
|
|
wechatPayEnabled: cfg.wechatPayEnabled,
|
|
mockSms: cfg.mockSms,
|
|
mockWechat: cfg.mockWechat,
|
|
wxAuthorize: cfg.wxAuthorize,
|
|
/** 可选暴露;选点已改为服务端 /common/lbs,前端可不依赖此字段 */
|
|
tencentLbsKey: cfg.tencentLbsKey || undefined,
|
|
minClientVersion,
|
|
miniHome: {
|
|
banners: parseMiniHomeBanners(env.MINI_HOME_BANNERS),
|
|
footerUrl: footer || null,
|
|
},
|
|
userH5Url: brand.userH5Url,
|
|
brandLogoUrl: brand.brandLogoUrl,
|
|
brandLogoWideUrl: brand.brandLogoWideUrl,
|
|
brandLogoMarkUrl: brand.brandLogoMarkUrl,
|
|
qualificationDisclosureUrl: brand.qualificationDisclosureUrl,
|
|
customerServicePhone: brand.customerServicePhone,
|
|
share,
|
|
};
|
|
}
|
|
}
|