/** * 测名 / 起名 / 改名:五行生克与属相适配 —— 后端约定与生成提示词 * * 前端已在 Report JSON 根级支持(与测名详解 TestNameDetail 同字段名): * - bazi_name_fit:八字喜用 vs 姓名五行,含补益/克泄简述 * - wuxing_bagua:姓名内部五行态势与生克互助 * - zodiac_sign:出生年生肖与名字用字的合冲刑害、适配结论 * * 若起名/改名当前只返回扁平字段 wuxing_analysis / zodiac_analysis,建议后端合并为上述结构化模块或同时返回,便于全端一致展示。 */ /** 建议后端在「个人」相关请求中补充的上下文(用于算八字、喜用、生肖年柱) */ export const RECOMMENDED_PERSONAL_REQUEST_FIELDS = { /** 已有:surname, given_name, gender, birthday */ extra_suggested: { /** 精确到时辰,格式与现有 birthday 一致即可,如 YYYY-MM-DD HH:mm:ss */ birth_time: "string (optional, 排盘用)", /** 出生地或时区,用于真太阳时 / 节气(可选) */ birth_place: "string (optional)", /** solar | lunar,若只传公历可省略 */ calendar_type: "'solar' | 'lunar' (optional)", /** 原名(改名场景必填,起名可为空) */ original_name: "string (optional, 改名)", }, } as const; /** 建议后端在「公司/商号」相关请求中补充的上下文 */ export const RECOMMENDED_COMPANY_REQUEST_FIELDS = { /** 已有:company_name, industry, address, target_audience, members */ extra_suggested: { /** 核心成员生辰已可定生肖与八字;可明确每人角色便于报告人岗描述 */ member_roles: "Array<{ name: string; birthday: string; role?: string }> (optional)", }, } as const; /** 建议在方案详情 / 测名结果 JSON 根级返回的扩展模块(与 api/types.ts 中 TestNameDetail* 对齐) */ export const REPORT_JSON_ROOT_KEYS = { bazi_name_fit: { xiyongshen: "喜用神简述", name_wuxing_profile: "姓名各字五行及组合简述", complement_summary: "相对八字是补益还是偏枯、需注意的克泄", fit_score: "0–100,与八字契合度(可选)", details: "{ nodes: TextNode[] } 详文", }, wuxing_bagua: { wuxing_sketch: "姓名五行态势", bagua_profile: "与卦象/宫位关联简述", mutual_sketch: "相生 / 相克 / 制化要点(核心满足「生克」说明)", summary: "一句话结论", details: "{ nodes }", }, zodiac_sign: { animal: "生肖名,如 龙", earthly_branch: "地支,如 辰", trait_summary: "属相特性简述", name_harmony: "与名之合冲刑害、是否相宜(核心满足「合不合」)", details: "{ nodes }", }, /** 单字五行细节:用于在“五行八卦”中展示每个字的阴阳五行与卦象 */ char_detail: { items: "Array<{ char, element, yin_yang, yin_yang_element, bagua_trigram, bagua_trigram_symbol, hexagram_name, hexagram_code, note, details? }>", details: "{ nodes } (optional)", }, } as const; /** 给后端或 LLM 的一次性中文提示:生成报告时必须覆盖的要点 */ export function buildBackendWuxingZodiacPromptZh(): string { return [ "你是国学起名/测名报告生成服务。请在每一份「个人测名、公司测名、个人起名方案、个人改名方案、公司起名/改名方案」输出中,明确包含以下两块(可单独成章,也可写入既有模块,但内容必须可被前端独立字段映射):", "", "一、名字五行相生相克", "1)给出名字各字五行(金木水火土),及组合后的强弱、偏枯。", "2)用简短条文说明:哪些五行相生相助、哪些相克或需制化(可引用「金生水」「火克金」等,但不要长篇堆砌)。", "3)若有八字/喜用神上下文:说明姓名五行是否补益喜用、或加重忌神;给出 0–100 契合度时可填 fit_score。", "4)输出 JSON 时优先使用根字段 bazi_name_fit(八字与姓名五行)与 wuxing_bagua(五行态势与生克互助);与现有 wuxing_analysis 并存时,请以结构化字段为准。", "", "二、属相与名字合不合", "1)根据用户(或核心成员)出生年确定生肖与地支。", "2)说明名字用字、读音或意象与该生肖的宜忌(相合、相冲、相刑、相害等通俗表达即可)。", "3)给出明确结论句:如「整体相宜」「需注意某字与属相存在一定冲克,建议……」。", "4)输出 JSON 时使用根字段 zodiac_sign;若与 meaning_and_zodiac 并存,不要互相矛盾。", "", "三、请求侧参数:个人场景务必带齐 gender、birthday;若有时辰请一并解析。改名须带 original_name。公司场景 members 每人须有 birthday 以便定生肖与团队五行互动。", ].join("\n"); }