/** * App 配置服务(规范 §118 App 配置) * * 拉取服务端下发的业务数量参数(推荐人数、字数上限、Feature Flag 等), * 与 constants/businessLimits.js 的默认值合并,覆盖运行时配置。 * 接口失败时保留默认值不变(规范 §119),保证核心流程可用。 */ const api = require('../utils/api'); const { mergeAppConfig, BUSINESS_LIMITS } = require('../constants'); /** * 拉取并合并服务端 App 配置 * @returns {Promise} 合并后的运行时配置(失败时返回默认值) */ async function fetchAppConfig() { try { const overrides = await api.get('/app/config'); return mergeAppConfig(overrides); } catch (err) { // 配置接口失败不影响核心流程(规范 §119) return BUSINESS_LIMITS; } } module.exports = { fetchAppConfig, };