Files
----/前端源码/uni-app/utils/backend-wuxing-zodiac-spec.ts

86 lines
4.8 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 测名 / 起名 / 改名:五行生克与属相适配 —— 后端约定与生成提示词
*
* 前端已在 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: "0100与八字契合度可选",
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若有八字/喜用神上下文:说明姓名五行是否补益喜用、或加重忌神;给出 0100 契合度时可填 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");
}