feat: 增加豆包请求接口
This commit is contained in:
@@ -0,0 +1,308 @@
|
||||
|
||||
export const hairText = (customKey) => {
|
||||
return `你是个人形象美学顾问,请输出详细的发型风格诊断报告 。
|
||||
|
||||
${customKey}
|
||||
|
||||
特别注意: 1:你要根据客户特征给出详细的风格诊断报告 2:以v-html格式输出,只能以div、p、ul、li、ol、span等标签、 3:你要返回给我的结果只能是字符串格式,不能是其它格式 4:除了我要求的格式内容外,不要有额外多余的任何不相干的文字
|
||||
风格诊断报告格式如下:
|
||||
一、核心风格定位总览
|
||||
二、核心风格基因解析
|
||||
三、脸型与头型适配优化
|
||||
四、发型长度与轮廓推荐
|
||||
五、关键细节设计:刘海与发色
|
||||
六、发型与整体造型适配建议
|
||||
七、避雷指南:需避免的发型雷区
|
||||
八、护理与造型小贴士
|
||||
九、总结:核心发型逻辑与风格统一
|
||||
正确格式案例如下:
|
||||
{
|
||||
<div>
|
||||
<div>一、核心风格定位总览<p>结合您的面部特征(直线型为主,3:2 直曲比)、中大量感(4:3 大量感得分)、方形脸 + 中高立体度五官,以及 25-35
|
||||
岁的成熟活力需求,核心发型风格为「直线型力量感为主,融合结构化层次设计」,关键词:大气、利落、现代感、沉稳干练。发型需突出面部立体优势,强化纵向线条延伸感,通过轮廓设计平衡整体比例,同时利用顶部蓬松度与垂坠感提升视觉高度,适配冷冬型配色偏好。
|
||||
</p>
|
||||
<div>二、核心风格基因解析<div>1. 直曲属性(3:2 直>曲)<ul>
|
||||
<li>适配线条:优先直线条剪裁(直发、几何层次短发、低弧度波浪),避免小卷、羊毛卷等强曲线元素,防止与方形脸、单眼皮的直线型特征冲突。</li>
|
||||
<li>细节处理:发尾做锐利直角或轻微外翘(直线型小弧度)增强力量感;长卷发控制直径≥5cm 大波浪,卷度集中发中下部,避免头皮膨胀感。</li>
|
||||
</ul>
|
||||
<div>2. 量感属性(中大量感,总分 1)<ul>
|
||||
<li>重量分布:整体「上厚下薄」,顶部增加 2-3cm 蓬松度(纵向拉高),发尾轻薄处理(减轻视觉重量),平衡中大量感大气特质,避免过轻(超短发)或过重(厚重齐刘海)。</li>
|
||||
<li>长度建议:中长发(肩下 15-20cm)或中短发(肩以上 5-10cm)最优,过短显头重脚轻,过长(腰际以下)压身高比例。</li>
|
||||
</ul>
|
||||
<div>3. 面部立体度(6 分,中高立体度)<ul>
|
||||
<li>轮廓设计:避免贴头皮「扁平感」,保留头顶至耳上 2-3cm 蓬松度,通过层次剪裁拉长脸型,弱化方形下颌;中高鼻梁优势用侧分刘海、露额发型强化。</li>
|
||||
</ul>
|
||||
<div>三、脸型与头型适配优化<div>1. 方形脸(硬朗轮廓,需柔化处理)<ul>
|
||||
<li>避坑点:避免一刀切齐发尾(强化方形轮廓)、超短发(突出下颌角)、厚重齐刘海(缩短脸型显头大)。</li>
|
||||
<li>加分项:侧分(4:6 分缝)、高层次剪裁(减轻面部宽度)、柔和发尾(外翘 / 内扣),柔化方下颌,配合适中脖长拉长脸型比例。</li>
|
||||
</ul>
|
||||
<div>2. 身材协调(显高需求适配)<ul>
|
||||
<li>纵向线条强化:顶部蓬松度 2-3cm 打造「高颅顶」,纵向延伸视觉比例,适配 180cm 身高;避免贴头皮或扁平顶部设计。</li>
|
||||
<li>视觉重心转移:扎发时(高马尾 / 丸子头),发顶蓬松度与头顶高度对齐,强化「上提」效果,转移小腿注意力。</li>
|
||||
</ul>
|
||||
<div>四、发型长度与轮廓推荐<div>1. 首选:中长发(肩下 15-20cm,结构化层次)<ul>
|
||||
<li>核心设计:<ul>
|
||||
<li>层次:顶部至耳上 2-3cm 高层次(增加蓬松),中部至发尾 1-2cm 低层次(保持垂坠),避免贴脸;</li>
|
||||
<li>发尾:轻微外翘 / 不规则剪裁(打破硬朗感),拒绝死板齐尾;</li>
|
||||
<li>轮廓:「倒三角」型(顶蓬尾收),纵向延伸比例。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>适配场景:通勤(低马尾 + 发尾外翘)、休闲(直发披散 + 侧分)、正式(中高盘发 + 顶部蓬松)。</li>
|
||||
</ul>
|
||||
<div>2. 次选:中短发(肩以上 5-10cm,几何剪裁)<ul>
|
||||
<li>核心设计:<ul>
|
||||
<li>长度:齐肩 / 肩以上 5-10cm,露颈部线条显高;</li>
|
||||
<li>层次:两侧剪至下颌线以下(遮盖方下颌),「A」型轮廓修饰面部宽度;</li>
|
||||
<li>扎发变体:半扎高马尾(顶蓬尾散),强化纵向线条转移注意力。</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div>3. 慎选:超短发(下巴以上)/ 长直发(腰际以下)<ul>
|
||||
<li>超短发暴露颈部,与中大量感不匹配显头重;长直发无层次显拖沓,增加下半身视觉重量,与显高需求冲突。</li>
|
||||
</ul>
|
||||
<div>五、关键细节设计:刘海与发色<div>1. 刘海:拒绝厚重,突出纵向线条<ul>
|
||||
<li>推荐刘海:<ul>
|
||||
<li>侧分长刘海(4:6 分缝):长度至颧骨下方,直线剪裁露额头 2/3,拉长脸型,适配单眼皮显利落;</li>
|
||||
<li>法式刘海:窄宽度(眼尾内侧起),轻薄修饰发际线,不遮眉眼,符合冷冬清爽感。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>避雷刘海:齐刘海(缩短脸型显方)、眉上短刘海(与方脸冲突显突兀)。</li>
|
||||
</ul>
|
||||
<div>2. 发色:冷冬型 + 黄二白适配,高对比显白<ul>
|
||||
<li>主色调推荐:<ul>
|
||||
<li>冷调深色系:雾感黑茶色、冷棕黑、蓝黑色(显白提气色,与深瞳对比适中,符合冷冬配色);</li>
|
||||
<li>挑染点缀:发尾 1-2 缕冷灰色 / 雾蓝色(≤10% 面积),增加层次提升现代感。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>避雷发色:暖调浅色系(金棕 / 橙红显黄)、全头漂浅(奶奶灰 / 银白伤发质,与中大量感气质不符显轻浮)。</li>
|
||||
</ul>
|
||||
<div>六、发型与整体造型适配建议<div>1. 穿搭风格呼应<ul>
|
||||
<li>通勤风(衬衫 / 西装):高马尾(顶蓬尾齐,高度与眉峰平)或侧分直发,露耳后线条与利落穿搭统一;</li>
|
||||
<li>休闲风(T 恤 / 牛仔裤):半扎高马尾 + 碎发(发尾外翘)或鲨鱼夹高盘发(留龙须发),增加随性;</li>
|
||||
<li>正式风(西装 / 礼服):中高盘发(顶蓬固定)或低马尾(尾端层次),简约大气。</li>
|
||||
</ul>
|
||||
<div>2. 显高优化技巧<ul>
|
||||
<li>顶部蓬松度≥2cm,纵向延伸视觉高度;扎发马尾高度不低于耳垂;</li>
|
||||
<li>搭配及膝 / 过膝下装,配合纵向发型线条,整体拉长比例转移小腿注意力。</li>
|
||||
</ul>
|
||||
<div>七、避雷指南:需避免的发型雷区<ul>
|
||||
<li>贴头皮发型:顶蓬<2cm 显脸大头扁,与 180cm 身高比例失衡;</li>
|
||||
<li>厚重齐发尾:强化方形下颌线条,显脸宽;</li>
|
||||
<li>小卷 / 羊毛卷:强曲线与直线型面部冲突,增加横向宽度显头大;</li>
|
||||
<li>过短刘海:眉上短刘海与单眼皮、方脸风格冲突,显突兀。</li>
|
||||
</ul>
|
||||
<div>八、护理与造型小贴士<ul>
|
||||
<li>日常护理:黄二白肤色易显发质枯黄,每周 1 次深层护发(发膜 + 热毛巾敷 5 分钟);吹发用圆梳向内扣发尾,维持直线轮廓;</li>
|
||||
<li>快速造型:直板夹 160℃夹直刘海 / 发尾(3 分钟搞定),顶蓬用蓬松喷雾(距发根 10cm 喷洒);</li>
|
||||
<li>季节适配:冬季用滋润洗发水 + 护发精油防干燥,夏季选控油洗发水避免塌软。</li>
|
||||
</ul>
|
||||
<div>九、总结:核心发型逻辑与风格统一<p>核心逻辑:以直线条力量感为基底,通过「顶部蓬松 + 结构化层次 +
|
||||
纵向延伸」三大设计点,平衡方形脸硬朗感与中大量感气质,同步实现显高需求。关键细节(侧分长刘海、冷调深色系)强化冷冬型风格统一,整体造型需保持「利落轮廓
|
||||
+ 适度蓬松 + 垂坠质感」,与穿搭、场景协同最大化个人魅力。</p>
|
||||
</div>
|
||||
}
|
||||
`;
|
||||
};
|
||||
|
||||
|
||||
|
||||
export const shengxiaoText = (checkTime, gender, work) => {
|
||||
return `用户生日是阳历${checkTime},性别:${gender},职业: ${work}, 计算这个生日对应的年柱、月柱、日柱的五行属性个数,不计算时柱,不计算藏干。以v-html格式生成,只能以div、p、ul、li、ol、span标签,输出适合颜色报告,需要提到五行的个数。 报告结构严格按照以下内容:一.五行主属性分析(需要提到五行的个数) 二、五行命理与易学幸运色推导 三、场景化搭配建议 四、动态调整建议",最后以字符串格式返回。返回一个名称为arr的数组,第一个参数“属相”,用用户年龄推算,参数有鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪),第2到第6个数为用“年柱”, “月柱”,“日柱”,“年柱属性”, “月柱属性”,“日柱属性”,等属性推算出的五行个数,最后以数组的形式返回[“属相”, ”金属性个数“,木属性个数“,”水属性个数”,“火属性个数”,”土属性个数“]的形式返回
|
||||
特别注意:
|
||||
生成一个如下结构的对象
|
||||
content:{
|
||||
text: 颜色报告内容,
|
||||
arr: 属相数组,以["属相",金的个数, 木的个数, 水的个数, 火的个数, 土的个数]的格式返回
|
||||
}
|
||||
`;
|
||||
};
|
||||
|
||||
|
||||
export const shengxiaoSystem_prompt = `五行八卦中年柱、月柱、日柱的计算规则详解
|
||||
|
||||
在五行八卦的命理学体系中,年柱、月柱、日柱与每个人息息相关,它们共同构成了八字,被认为能够揭示一个人的命运轨迹和性格特点。下面,让我们一起来深入了解它们的计算规则。
|
||||
|
||||
一、年柱的计算规则
|
||||
|
||||
年柱代表出生年份的天干地支组合,它是八字的第一柱,确定了一个人出生年份的基本信息,在命理学中被视为根基,对人生运势有着深远影响。
|
||||
|
||||
• 天干的确定:
|
||||
|
||||
◦ 尾数对应法:最为简便的方法是根据公历年的尾数来确定。具体对应关系如下:尾数为4,对应天干甲;尾数为5,对应天干乙;尾数为6,对应天干丙;尾数为7,对应天干丁;尾数为8,对应天干戊;尾数为9,对应天干己;尾数为0,对应天干庚;尾数为1,对应天干辛;尾数为2,对应天干壬;尾数为3,对应天干癸 。例如,2025年,尾数是5,所以年干为乙。
|
||||
|
||||
◦ 公式计算法:公式为(公历年数 - 3)÷10的余数(整除时按余数为0计),对应天干顺序。如2025年,(2025 - 3)÷10 = 202余2,对应天干乙。
|
||||
|
||||
• 地支的确定:
|
||||
|
||||
◦ 生肖对应法:可依据生肖来确定地支。生肖与地支的对应关系为:子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪。比如,2025年是蛇年,对应的地支就是巳。
|
||||
|
||||
◦ 公式计算法:公式为(公历年数 - 3)÷12的余数(整除时按余数为0计),对应地支顺序。对于2025年,(2025 - 3)÷12 = 168余6,对应地支巳。
|
||||
需要特别注意的是,年柱的分界是以每年的立春为界线,立春前出生的人,年柱按上一年计算;立春后出生的人,年柱按下一年计算 。
|
||||
|
||||
二、月柱的计算规则
|
||||
|
||||
月柱由月干和月支组成,代表出生月份的天干地支组合,它反映了一个人在成长过程中的阶段性运势和内在特质,在命理学中被视为成长和发展的重要标志。
|
||||
|
||||
• 月支的确定:月支是固定不变的,以二十四节气为划分依据。从立春开始,正月为寅月(立春当天到惊蛰前一天);二月为卯月(惊蛰当天到清明前一天);三月为辰月(清明当天到立夏前一天);四月为巳月(立夏当天到芒种前一天);五月为午月(芒种当天到小暑前一天);六月为未月(小暑当天到立秋前一天);七月为申月(立秋当天到白露前一天);八月为酉月(白露当天到寒露前一天);九月为戌月(寒露当天到立冬前一天);十月为亥月(立冬当天到大雪前一天);十一月为子月(大雪当天到小寒前一天);十二月为丑月(小寒当天到立春前一天)。
|
||||
|
||||
• 月干的确定:需要根据年干来推算,可借助口诀“甲己之年丙作首,乙庚之年戊为头,丙辛之岁寻庚上,丁壬壬寅顺水流,若问戊癸何处起,甲寅之上好追求” 。意思是,当年干为甲或己时,正月月干为丙;年干为乙或庚时,正月月干为戊;年干为丙或辛时,正月月干为庚;年干为丁或壬时,正月月干为壬;年干为戊或癸时,正月月干为甲。其余月份天干依次顺推。例如,2025年是乙巳年,年干为乙,根据口诀“乙庚之年戊为头”,正月月干为戊,月支为寅,所以2025年正月月柱为戊寅,二月为己卯,三月为庚辰,依此类推。
|
||||
|
||||
三、日柱的计算规则
|
||||
|
||||
日柱代表出生日的天干地支组合,是八字的核心部分,被认为能体现一个人的核心性格和命运的关键走向,在命理学中占据着举足轻重的地位。日柱的计算方法较为复杂,以下介绍一种常用的公历计算法:
|
||||
|
||||
• 计算步骤:
|
||||
|
||||
◦ 先计算(公历年数 - 1)×5 + (公历年数 - 1)÷4 + 当年日期在当年的天数序号,得到一个总和(这里的除法只取商数,余数忽略不计)。其中,当年日期在当年的天数序号,即从1月1日到出生日期的天数,例如,3月15日出生,当年是平年,1月31天,2月28天,3月15天,天数序号就是31 + 28 + 15 = 74 。
|
||||
|
||||
◦ 将总和除以60,得到一个余数。
|
||||
|
||||
◦ 这个余数就是出生日期的天干地支序数。其中,余数除以10的余数为天干序数(整除时按余数为0计,对应天干癸),余数除以12的余数为地支序数(整除时按余数为0计,对应地支亥)。
|
||||
|
||||
• 举例说明:以2025年5月20日为例,计算过程如下:
|
||||
|
||||
◦ (2025 - 1)×5 + (2025 - 1)÷4 + (31 + 28 + 31 + 30 + 20)
|
||||
= 2024×5 + 2024÷4 + 140
|
||||
= 10120 + 506 + 140
|
||||
= 10766
|
||||
|
||||
◦ 10766÷60 = 179余26
|
||||
|
||||
◦ 26÷10 = 2余6,对应天干己;26÷12 = 2余2,对应地支丑 。所以2025年5月20日的日柱为己丑。
|
||||
|
||||
• 注意闰年:需要注意的是,如果出生年份是闰年,2月有29天,在计算天数序号时要相应调整。闰年的判断方法是:能被4整除但不能被100整除的年份为闰年,此外能被400整除的年份也是闰年 。例如,2024年是闰年,计算当年天数序号时,2月按29天计算。
|
||||
|
||||
年柱、月柱和日柱的计算规则虽然复杂,但它们蕴含着古人对时间和命运的深刻理解,是五行八卦命理学的重要基础 。`;
|
||||
|
||||
|
||||
export const statureText = (
|
||||
customKey,
|
||||
straight_total_score_t,
|
||||
total_sense_of_quantity_t,
|
||||
dynamic_static_t,
|
||||
) => {
|
||||
return `你是个人形象美学顾问,你擅长通过客户身材特征分析出用户的身材类型
|
||||
具体的包裹:轮廓类型、量感类型、动静类型、体型类型
|
||||
|
||||
${customKey}
|
||||
|
||||
要求:
|
||||
1:你只能分析出的轮廓类型只能是:${straight_total_score_t},别的类型一概不允许
|
||||
2:你只能分析出的量感类型只能是:${total_sense_of_quantity_t},别的类型一概不允许
|
||||
3:你只能分析出的动静类型只能是:${dynamic_static_t},别的类型一概不允许
|
||||
|
||||
特别注意:
|
||||
你要根据客户特征给出详细的分析结果和分析结果详情,每一中类型的分析结果详情要在200字以内
|
||||
你要返回给我的结果只能是json格式,不能是其它格式
|
||||
除了我要求的格式内容外,不要有额外多余的任何不相干的文字
|
||||
|
||||
正确格式案例如下:
|
||||
{
|
||||
sensory:{
|
||||
value: '曲线型',
|
||||
desc: '面部五官线条(眉眼、嘴唇等)没有特别强烈的曲线感或直线硬朗感,面部轮廓、发型线条以及穿着的服装(V 领、简洁款式 )也呈现出既非极端曲线柔和,也非极端直线利落的状态,是较为平衡的直曲适中风格 。'
|
||||
},
|
||||
mass: {
|
||||
value: '中量感',
|
||||
desc: '从面部看,五官分布、大小以及整体比例较为均衡,没有特别小巧精致(小量感)或夸张大气(大量感)的特征,身材穿着也呈现出适中的视觉分量,所以是中量感'
|
||||
},
|
||||
movement: {
|
||||
value: '静态型',
|
||||
desc: '面部神态平和,发型简洁规整,服装款式简约、颜色沉稳,整体传递出安静、内敛的气质,没有明显的活泼、动感元素,因此判定为静态型 。'
|
||||
}
|
||||
}
|
||||
`;
|
||||
};
|
||||
|
||||
|
||||
|
||||
export const styleText = (customKey) => {
|
||||
return `你是个人形象美学顾问,你擅长通过客户身材特征分析出用户的风格诊断报告。
|
||||
${customKey}
|
||||
|
||||
特别注意:
|
||||
1:你要根据客户特征给出详细的风格诊断报告
|
||||
2:以v-html格式输出,只能以div、p、ul、li、ol、span、
|
||||
3:你要返回给我的结果只能是json格式,不能是其它格式
|
||||
4:除了我要求的格式内容外,不要有额外多余的任何不相干的文字
|
||||
|
||||
风格诊断报告格式如下:
|
||||
一:个人风格合心诊断
|
||||
1:个人风格密码解析
|
||||
2:主导心理风格和基因风格关系
|
||||
二、 身材分析与穿搭指南
|
||||
三、 配饰规划
|
||||
四、 总结与建议
|
||||
1:最重要的强化优势
|
||||
2:规避要点
|
||||
|
||||
正确格式案例如下:
|
||||
{
|
||||
html: '<div><p><span style="font-weight:bold">一、 个人风格核心诊断</span></p>
|
||||
<p><span style="font-weight:bold">1. 个人风格密码解析</span></p>
|
||||
<p>基于您的面部特征与量感直曲分析,个人风格密码为「中大量感+偏直风格+适中对比度」:</p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">量感维度</span>:大量感得分6、小量感得分4,量感总分2,属于中大量感,面部立体度7(高立体度)、直鼻高立体度,整体呈现舒展大气的视觉张力,避免过度小巧精致的服饰元素
|
||||
</li>
|
||||
<li><span style="font-weight:bold">直曲维度</span>:直得分7、曲得分3,直曲总分4,偏直风格显著,平直眉、细长单眼皮、直鼻等线条利落,适合简约、几何、结构化的服饰剪裁,减少柔媚蕾丝、荷叶边等过度曲线元素
|
||||
</li>
|
||||
<li><span style="font-weight:bold">对比度</span>:适中对比度,黄一白肤色搭配深瞳色,色彩搭配可兼顾清爽和谐与适度层次,避免高饱和撞色或过于寡淡的同色系
|
||||
</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">2. 主导心理风格和基因风格关系</span></p>
|
||||
<p>
|
||||
您的基因风格(外在特征决定)为「利落直感型」,心理风格(偏好夏季季型配色)偏向「清新活力型」,二者可形成「清爽利落」的融合风格——以夏季季型的柔和色调(浅蓝、薄荷绿、粉紫、奶白等)为基础,结合偏直的简约剪裁,既符合基因风格的线条需求,又满足心理偏好的清爽氛围。</p>
|
||||
<p><span style="font-weight:bold">二、 身材分析与穿搭指南</span></p>
|
||||
<p><span style="font-weight:bold">身材特征</span>:A型身材(上窄下宽),身高160cm、体重53kg,腰部粗、腿粗,核心需求为「勾勒腰线+修饰下半身」
|
||||
</p>
|
||||
<p><span style="font-weight:bold">1. 上衣选择</span></p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">版型</span>:选「上宽下收」设计,如微泡泡袖、荷叶边袖口(增加上半身量感平衡下半身),腰部做收腰剪裁(如系带、褶皱收腰),直接勾勒腰线
|
||||
</li>
|
||||
<li><span style="font-weight:bold">领型</span>:V领、方领、一字领,拉长颈部线条同时转移视觉焦点至锁骨/面部,分散腰部注意力
|
||||
</li>
|
||||
<li><span style="font-weight:bold">图案/色彩</span>:夏季季型配色优先,上半身可尝试小碎花、条纹等图案(增加上半身丰富度),色彩选浅蓝、粉紫等亮色(提亮上身,平衡下半身重量感)
|
||||
</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">2. 下装选择</span></p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">裤装</span>:高腰阔腿裤(垂感面料,长度及脚踝)、直筒裤(避免紧身牛仔裤),裤型从腰部向下自然散开,修饰腿粗,腰部搭配细腰带强调腰线
|
||||
</li>
|
||||
<li><span style="font-weight:bold">裙装</span>:高腰A字裙(长度过膝5-10cm)、伞裙,裙摆自然展开遮挡臀部及大腿赘肉,腰部做掐褶或同色系腰带收腰
|
||||
</li>
|
||||
<li><span style="font-weight:bold">色彩</span>:选夏季季型中的低饱和深色(如灰蓝、豆沙紫)或同色系顺色(上下装同色调不同明度),视觉收缩下半身
|
||||
</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">3. 连衣裙推荐</span></p>
|
||||
<ul>
|
||||
<li>
|
||||
首选「收腰A字连衣裙」,腰部收紧+裙摆散开,直接解决腰线与腿粗问题,领口选V领/方领,面料选轻薄雪纺、棉麻(符合夏季清爽感)
|
||||
</li>
|
||||
<li>避免:紧身包臀裙、无腰线直筒裙(暴露腰部赘肉,显下半身臃肿)</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">三、 配饰规划</span></p>
|
||||
<p><span style="font-weight:bold">1. 腰带</span>:核心配饰!选细款金属腰带(银色/金色,呼应夏季清爽)或同色系皮质腰带,系于高腰位置(肚脐上2cm),明确分割腰线,材质避免过宽过厚(否则显腰粗)
|
||||
</p>
|
||||
<p><span style="font-weight:bold">2. 耳饰</span>:瓜子脸+细长单眼皮,适合「几何短款耳坠」(如方形、水滴形,长度3-5cm)或简约耳钉,修饰脸型同时不抢面部焦点;避免夸张大耳环(增加下半身视觉重量)
|
||||
</p>
|
||||
<p><span style="font-weight:bold">3. 项链</span>:人中偏短+薄唇,选「Y型项链」或「锁骨链」(长度40-45cm,吊坠小巧精致),延长面部纵向线条,避免短款choker(靠近唇部显局促)
|
||||
</p>
|
||||
<p><span style="font-weight:bold">4. 手链/手表</span>:简约细链条手链或方形表盘手表(金属表带),呼应偏直风格,数量控制1-2件,避免繁复堆砌
|
||||
</p>
|
||||
<p><span style="font-weight:bold">五、 总结与建议</span></p>
|
||||
<p><span style="font-weight:bold">1. 最重要的强化优势和规避</span></p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">强化优势</span>:① 利用夏季季型配色(浅蓝、薄荷绿等)提亮黄一白肤色,凸显清爽气质;②
|
||||
突出高立体度面部(直鼻、瓜子脸),通过V领/方领服饰+简约耳饰转移视觉焦点;③ 用细腰带强制勾勒腰线,强化身材比例
|
||||
</li>
|
||||
<li><span style="font-weight:bold">规避要点</span>:① 避免下半身紧身/膨胀设计(如紧身裤、蓬蓬裙),选A字/阔腿版型修饰腿粗;②
|
||||
腰部避免无剪裁、松紧带设计,用收腰剪裁+腰带遮挡赘肉;③ 配饰忌过多过杂,保持「少而精」,符合偏直风格的利落感
|
||||
</li>
|
||||
</ul>
|
||||
</div>'
|
||||
}
|
||||
|
||||
|
||||
|
||||
`;
|
||||
}
|
||||
+13
-2
@@ -1,8 +1,19 @@
|
||||
import { request } from "../../http/index.js";
|
||||
|
||||
let baseUrl = "https://llshop.zglvling.com/soapi/";
|
||||
// let baseUrl = "https://test.zglvling.com/soapi/";
|
||||
const praiseTextApi = (params) =>
|
||||
request.post(baseUrl + "ai/praiseTexttwo", params);
|
||||
// const praiseTextApi = (params) =>
|
||||
// request.post(baseUrl + "ai/praiseTexttwo", params);
|
||||
|
||||
|
||||
const praiseTextApi = (params) => {
|
||||
console.log('params: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', params);
|
||||
|
||||
return request.post('https://ark.cn-beijing.volces.com/api/v3/chat/completions', params);
|
||||
}
|
||||
|
||||
|
||||
|
||||
const userFaceInoApi = (params) =>
|
||||
request.post(baseUrl + "userinfo/get_user_face_info", params);
|
||||
const hairstyleListApi = (params) =>
|
||||
|
||||
@@ -8,6 +8,7 @@ const props = defineProps({
|
||||
default: '黄一白',
|
||||
},
|
||||
});
|
||||
|
||||
const json = ref( [
|
||||
{
|
||||
type: '0',
|
||||
@@ -34,25 +35,25 @@ const json = ref( [
|
||||
value: '黄黑皮'
|
||||
},
|
||||
])
|
||||
|
||||
|
||||
watch(
|
||||
() => props.skinColor,
|
||||
(newVal) => {
|
||||
// console.log(json.value.find(item => item.value === newVal), '22');
|
||||
if(!json.value.find(item => item.value === newVal)) {
|
||||
// alert(`当前接口返回肤色与UI不一致${newVal}`)
|
||||
}
|
||||
|
||||
json.value = json.value.map(item => ({...item, checked: item.value === newVal}));
|
||||
// console.log('json.value: ', json.value);
|
||||
},
|
||||
{deep: true, immediate: true}
|
||||
);
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<view class="container">
|
||||
肤色:
|
||||
<template v-for="item of json">
|
||||
<CheckBox :checked="item.checked">{{ item.value }}</CheckBox>
|
||||
</template>
|
||||
<CheckBox :checked="item.checked" :key="index" v-for="(item, index) in json">{{ item.value }}</CheckBox>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
||||
@@ -18,6 +18,8 @@ const props = defineProps({
|
||||
},
|
||||
});
|
||||
|
||||
console.log('geneticStyle -------------------------------------', props.gender)
|
||||
|
||||
const styleTypeDesc = ref("");
|
||||
const styleTypeJson = ref();
|
||||
const showPreview = ref(false);
|
||||
@@ -63,21 +65,21 @@ const closePreview = (e) => {
|
||||
</view>
|
||||
</view>
|
||||
<view class="pic-container">
|
||||
<image
|
||||
v-for="(pic, index) in picList"
|
||||
:key="index"
|
||||
:src="pic"
|
||||
<image
|
||||
v-for="(pic, index) in picList"
|
||||
:key="index"
|
||||
:src="pic"
|
||||
class="pic"
|
||||
mode="aspectFill"
|
||||
@click="previewImage(pic)"
|
||||
></image>
|
||||
</view>
|
||||
|
||||
|
||||
<!-- 图片预览遮罩层 -->
|
||||
<view v-if="showPreview" class="preview-mask" @click="closePreview">
|
||||
<view class="preview-container" @click.stop>
|
||||
<image
|
||||
:src="currentPreviewImage"
|
||||
<image
|
||||
:src="currentPreviewImage"
|
||||
class="preview-image"
|
||||
mode="widthFix"
|
||||
@click="closePreview"
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<view class="info-main">
|
||||
<view class="info-basic">
|
||||
<text class="gender">{{ userFaceInfo.sex }}</text>
|
||||
<text class="birthday">| {{ userFaceInfo.createTime }}</text>
|
||||
<text class="birthday">| {{ userFaceInfo.birthday }}</text>
|
||||
</view>
|
||||
<view class="info-desc">
|
||||
{{ userFaceInfo.feature }},
|
||||
@@ -63,17 +63,12 @@ const props = defineProps({
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
// console.log('9999999999999999999999999', props.userFaceInfo)
|
||||
|
||||
|
||||
|
||||
const userFaceInfo = ref({});
|
||||
|
||||
watch(
|
||||
() => props.userFaceInfo,
|
||||
(newVal) => {
|
||||
console.log('newVal: xxxxxxxx', newVal);
|
||||
// console.log('newVal: xxxxxxxx', newVal);
|
||||
userFaceInfo.value = newVal;
|
||||
},
|
||||
{ deep: true, immediate: true }
|
||||
|
||||
+150
-374
@@ -23,32 +23,49 @@
|
||||
paddingTop: (classFixed === '' ? 0 : 60) + 'px',
|
||||
overflowY: 'hidden',
|
||||
}"
|
||||
v-if="collect"
|
||||
>
|
||||
|
||||
<view v-if="activeTab === 0">
|
||||
|
||||
<view class="style-type">
|
||||
<!-- 基因风格-->
|
||||
<!--
|
||||
基因风格
|
||||
warning:
|
||||
1、三个图片还未给
|
||||
2、type字段还未给
|
||||
-->
|
||||
|
||||
<genetic-style
|
||||
:gender="styleType.gender"
|
||||
:gender="collect.gender"
|
||||
:pic-list="[
|
||||
styleType.eye_img_url ?? '',
|
||||
styleType.triangular_area_img_url ?? '',
|
||||
styleType.full_face_img_url ?? '',
|
||||
collect.eye_img_url ?? '',
|
||||
collect.triangular_area_img_url ?? '',
|
||||
collect.full_face_img_url ?? '',
|
||||
]"
|
||||
:styleType="styleType.type"
|
||||
:styleType="collect.type"
|
||||
/>
|
||||
|
||||
<!-- 肤色-->
|
||||
<SkinColor :skinColor="styleType?.complexion" />
|
||||
<!-- <SkinColor :skinColor="styleType?.complexion" /> -->
|
||||
<SkinColor :skinColor="collect?.complexion" />
|
||||
|
||||
<FacialColorLatitude
|
||||
:hue="styleType?.hue ?? 0"
|
||||
:chroma="styleType?.chroma ?? 0"
|
||||
:luminance="styleType?.luminance ?? 0"
|
||||
:hue="collect?.hue ?? 0"
|
||||
:chroma="collect?.chroma ?? 0"
|
||||
:luminance="collect?.luminance ?? 0"
|
||||
/>
|
||||
|
||||
<BodyType
|
||||
:body-type="collect?.somatotype"
|
||||
:gender="collect?.gender"
|
||||
/>
|
||||
|
||||
<!-- 轮廓类型-->
|
||||
<template v-if="customFigure">
|
||||
<SensoryTypes
|
||||
:type="styleType.straight_total_score_t"
|
||||
:aiDesc="customFigure?.sensory?.desc"
|
||||
:ai-desc="customFigure?.sensory?.desc"
|
||||
/>
|
||||
<!-- 量感类型-->
|
||||
<TypeOfMass
|
||||
@@ -61,23 +78,28 @@
|
||||
:ai-desc="customFigure?.movement?.desc"
|
||||
/>
|
||||
<!-- 体型-->
|
||||
|
||||
<BodyType
|
||||
<!-- <BodyType
|
||||
:body-type="styleType?.somatotype_t"
|
||||
:gender="styleType?.gender"
|
||||
/> -->
|
||||
|
||||
</template>
|
||||
|
||||
<template v-if="false">
|
||||
|
||||
|
||||
<!-- 搭配趋势 -->
|
||||
<CustomSwiper :items="items" />
|
||||
|
||||
<!-- 个人分格描述报告-->
|
||||
<StyleDiagnosticReport :html="customerStyle" />
|
||||
<BottomPic
|
||||
:style-type="styleType?.type"
|
||||
:psychological-style="styleType?.psychological_style"
|
||||
:gender="styleType.gender"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<!-- 搭配趋势 -->
|
||||
<CustomSwiper :items="items" />
|
||||
|
||||
<!-- 个人分格描述报告-->
|
||||
<StyleDiagnosticReport :html="customerStyle" />
|
||||
<BottomPic
|
||||
:style-type="styleType?.type"
|
||||
:psychological-style="styleType?.psychological_style"
|
||||
:gender="styleType.gender"
|
||||
/>
|
||||
</view>
|
||||
</view>
|
||||
<view v-else-if="activeTab === 1">
|
||||
@@ -392,7 +414,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, onUnmounted } from "vue";
|
||||
import { ref, onMounted, onUnmounted, watchEffect } from "vue";
|
||||
import Header from "./component/Header/index.vue";
|
||||
import Tabs from "./component/Tabs/index.vue";
|
||||
import {
|
||||
@@ -420,9 +442,12 @@ import TypeOfMass from "./component/FirstStyleType/TypeOfMass.vue";
|
||||
import Movementtype from "./component/FirstStyleType/Movementtype.vue";
|
||||
import ReportApi from "../../sheep/api/report";
|
||||
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import { onLoad } from '@dcloudio/uni-app';
|
||||
import {hairText, shengxiaoText, shengxiaoSystem_prompt, statureText} from '@/constant/aiText'
|
||||
import { praiseTextApi } from '@/sheep/api/doubao'
|
||||
|
||||
const {
|
||||
praiseTextApi,
|
||||
// praiseTextApi,
|
||||
getStyleApi,
|
||||
exchangeHairHistoryByTaskId,
|
||||
wardrobeListApi,
|
||||
@@ -446,7 +471,10 @@ onLoad((options) => {
|
||||
|
||||
const {data} = JSON.parse(res2.result[0].thridResp)
|
||||
|
||||
collect.value = Object.assign({}, JSON.parse(res1.data.dataJson), data.face_figure)
|
||||
const target = Object.assign({}, JSON.parse(res1.data.dataJson), data.face_figure)
|
||||
|
||||
target.gender = target.sex
|
||||
collect.value = target
|
||||
|
||||
console.log('collect.value: ', collect.value);
|
||||
})
|
||||
@@ -486,6 +514,8 @@ const enterType = routes.get("enterType"); // 1: 个人诊断报告 2: 发型试
|
||||
|
||||
let scrollHeight = ref(0);
|
||||
const activeTab = ref(0);
|
||||
|
||||
|
||||
const tabsList = ref([
|
||||
{ name: "风格类型", icon: "icon-style" },
|
||||
{ name: "色彩类型", icon: "icon-color" },
|
||||
@@ -505,8 +535,12 @@ const chageSwiper = (e) => {
|
||||
current.value = e.detail.current;
|
||||
colorTypeInfo.value = newColorTypeList.value[current.value];
|
||||
};
|
||||
|
||||
|
||||
const clothesList = ref([]);
|
||||
const styleType = ref({});
|
||||
|
||||
|
||||
const chageSwiperBtn = (x) => {
|
||||
if (x === -1 && current.value !== 0) {
|
||||
current.value--;
|
||||
@@ -598,186 +632,72 @@ const getPraiseText = (callWord, type) => {
|
||||
}
|
||||
|
||||
let customKey = `客户特征:
|
||||
性别:${styleType?.value?.gender}
|
||||
出生年月日:${styleType?.value?.checkTime}
|
||||
年龄:${styleType?.value?.age}
|
||||
身高:${styleType?.value?.stature}
|
||||
体重:${styleType?.value?.bodyWeight}
|
||||
量感类型:${styleType?.value?.total_sense_of_quantity_t}
|
||||
轮廓类型:${styleType?.value?.straight_total_score_t}
|
||||
动静类型:${styleType?.value?.dynamic_static_t}
|
||||
基因风格类型:${styleType?.value?.type}
|
||||
心理风格:${styleType?.value?.psychological_style}
|
||||
喜欢配色:${styleType?.value?.color}
|
||||
心理量感类型:${styleType?.value?.ling_of_quantity}
|
||||
心理曲直类型:${styleType?.value?.right_and_wrong}
|
||||
心理动静类型:${styleType?.value?.dynamic_and_static}
|
||||
体型分类:${styleType?.value?.somatotype}
|
||||
存在的问题:${styleType?.value?.question}
|
||||
修饰部位:${styleType?.value?.purpose}
|
||||
场合需求:${styleType?.value?.occasion_dressing}
|
||||
三庭五眼特征:${styleType?.value?.three_courts_five_eyes}
|
||||
亮度:${styleType?.value?.luminance}
|
||||
嘴型:${styleType?.value?.mouth_shape}
|
||||
对比度:${styleType?.value?.contrast}
|
||||
法令纹:${styleType?.value?.nasolabial_folds}
|
||||
直曲总分:${styleType?.value?.straight_total_score}
|
||||
眉形:${styleType?.value?.camber}
|
||||
眼型:${styleType?.value?.ocular_form}
|
||||
瞳色:${styleType?.value?.eye_color}
|
||||
瞳距:${styleType?.value?.interpupillary_distance}
|
||||
肤色:${styleType?.value?.complexion}
|
||||
脖长:${styleType?.value?.neck_length}
|
||||
脸型:${styleType?.value?.feature}
|
||||
色度:${styleType?.value?.chroma}
|
||||
色相:${styleType?.value?.hue}
|
||||
量感总分:${styleType?.value?.total_sense_of_quantity}
|
||||
面部年龄:${styleType?.value?.facial_age}
|
||||
面部立体度:${styleType?.value?.Facial_three_dimensionality}
|
||||
面部颜色对比度:${styleType?.value?.face_color_contrast}
|
||||
鼻型:${styleType?.value?.nose_type}
|
||||
鼻子立体度:${styleType?.value?.nose_stereo_degree}
|
||||
肤色:${styleType?.value?.complexion}
|
||||
亮度:${styleType?.value?.luminance}
|
||||
四季色彩季型:${styleType?.value?.sj_color_type}
|
||||
职业: ${styleType?.value?.work}
|
||||
最在意谁的意见:${styleType?.value?.attention}
|
||||
性别:${collect?.value?.gender}
|
||||
出生年月日:${collect?.value?.birthday}
|
||||
年龄:${collect?.value?.age}
|
||||
身高:${collect?.value?.height}
|
||||
体重:${collect?.value?.weight}
|
||||
|
||||
量感类型:${collect?.value?.total_sense_of_quantity_t}
|
||||
轮廓类型:${collect?.value?.straight_total_score_t}
|
||||
动静类型:${collect?.value?.dynamic_static_t}
|
||||
基因风格类型:${collect?.value?.type}
|
||||
|
||||
心理风格:${collect?.value?.psychological_style}
|
||||
喜欢配色:${collect?.value?.color}
|
||||
心理量感类型:${collect?.value?.ling_of_quantity}
|
||||
心理曲直类型:${collect?.value?.right_and_wrong}
|
||||
心理动静类型:${collect?.value?.dynamic_and_static}
|
||||
体型分类:${collect?.value?.somatotype}
|
||||
存在的问题:${collect?.value?.question}
|
||||
修饰部位:${collect?.value?.purpose}
|
||||
场合需求:${collect?.value?.occasion_dressing}
|
||||
三庭五眼特征:${collect?.value?.three_courts_five_eyes}
|
||||
亮度:${collect?.value?.luminance}
|
||||
嘴型:${collect?.value?.mouth_shape}
|
||||
对比度:${collect?.value?.contrast}
|
||||
法令纹:${collect?.value?.nasolabial_folds}
|
||||
|
||||
直曲总分:${collect?.value?.straight_total_score}
|
||||
眉形:${collect?.value?.camber}
|
||||
眼型:${collect?.value?.ocular_form}
|
||||
瞳色:${collect?.value?.eye_color}
|
||||
瞳距:${collect?.value?.interpupillary_distance}
|
||||
肤色:${collect?.value?.complexion}
|
||||
脖长:${collect?.value?.neck_length}
|
||||
脸型:${collect?.value?.feature}
|
||||
色度:${collect?.value?.chroma}
|
||||
色相:${collect?.value?.hue}
|
||||
量感总分:${collect?.value?.total_sense_of_quantity}
|
||||
面部年龄:${collect?.value?.facial_age}
|
||||
面部立体度:${collect?.value?.Facial_three_dimensionality}
|
||||
面部颜色对比度:${collect?.value?.face_color_contrast}
|
||||
鼻型:${collect?.value?.nose_type}
|
||||
鼻子立体度:${collect?.value?.nose_stereo_degree}
|
||||
肤色:${collect?.value?.complexion}
|
||||
亮度:${collect?.value?.luminance}
|
||||
四季色彩季型:${collect?.value?.sj_color_type}
|
||||
职业: ${collect?.value?.work}
|
||||
最在意谁的意见:${collect?.value?.attention}
|
||||
|
||||
强调:
|
||||
1、客户的性别是${styleType?.value?.gender},千万要以${styleType?.value?.gender}性的角度去产出数据,切记,这点十分重要
|
||||
1、客户的性别是${collect?.value?.gender},千万要以${collect?.value?.gender}性的角度去产出数据,切记,这点十分重要
|
||||
2、客户为男性的时候,严禁出现裙装穿搭建议
|
||||
|
||||
`;
|
||||
// if (
|
||||
// openId === "oZRaI4ojHLTcwuQ6yix3QV5sSe0c" ||
|
||||
// openId === "oZRaI4tfDP-HgQmyjN7GOqyv4gB0"
|
||||
// ) {
|
||||
// customKey += `职业: ${styleType?.value?.work}, 最在意谁的意见:${styleType?.value?.attention},`;
|
||||
// }
|
||||
// customKey += `强调:
|
||||
// 1、客户的性别是${styleType?.value?.gender},千万要以${styleType?.value?.gender}性的角度去产出数据,切记,这点十分重要
|
||||
// 2、客户为男性的时候,严禁出现裙装穿搭建议`;
|
||||
|
||||
if (callWord === "one") {
|
||||
params.tabType = "hair";
|
||||
params.text = `你是个人形象美学顾问,请输出详细的发型风格诊断报告 。
|
||||
|
||||
${customKey}
|
||||
|
||||
特别注意: 1:你要根据客户特征给出详细的风格诊断报告 2:以v-html格式输出,只能以div、p、ul、li、ol、span等标签、 3:你要返回给我的结果只能是字符串格式,不能是其它格式 4:除了我要求的格式内容外,不要有额外多余的任何不相干的文字
|
||||
风格诊断报告格式如下:
|
||||
一、核心风格定位总览
|
||||
二、核心风格基因解析
|
||||
三、脸型与头型适配优化
|
||||
四、发型长度与轮廓推荐
|
||||
五、关键细节设计:刘海与发色
|
||||
六、发型与整体造型适配建议
|
||||
七、避雷指南:需避免的发型雷区
|
||||
八、护理与造型小贴士
|
||||
九、总结:核心发型逻辑与风格统一
|
||||
正确格式案例如下:
|
||||
{
|
||||
<div>
|
||||
<div>一、核心风格定位总览<p>结合您的面部特征(直线型为主,3:2 直曲比)、中大量感(4:3 大量感得分)、方形脸 + 中高立体度五官,以及 25-35
|
||||
岁的成熟活力需求,核心发型风格为「直线型力量感为主,融合结构化层次设计」,关键词:大气、利落、现代感、沉稳干练。发型需突出面部立体优势,强化纵向线条延伸感,通过轮廓设计平衡整体比例,同时利用顶部蓬松度与垂坠感提升视觉高度,适配冷冬型配色偏好。
|
||||
</p>
|
||||
<div>二、核心风格基因解析<div>1. 直曲属性(3:2 直>曲)<ul>
|
||||
<li>适配线条:优先直线条剪裁(直发、几何层次短发、低弧度波浪),避免小卷、羊毛卷等强曲线元素,防止与方形脸、单眼皮的直线型特征冲突。</li>
|
||||
<li>细节处理:发尾做锐利直角或轻微外翘(直线型小弧度)增强力量感;长卷发控制直径≥5cm 大波浪,卷度集中发中下部,避免头皮膨胀感。</li>
|
||||
</ul>
|
||||
<div>2. 量感属性(中大量感,总分 1)<ul>
|
||||
<li>重量分布:整体「上厚下薄」,顶部增加 2-3cm 蓬松度(纵向拉高),发尾轻薄处理(减轻视觉重量),平衡中大量感大气特质,避免过轻(超短发)或过重(厚重齐刘海)。</li>
|
||||
<li>长度建议:中长发(肩下 15-20cm)或中短发(肩以上 5-10cm)最优,过短显头重脚轻,过长(腰际以下)压身高比例。</li>
|
||||
</ul>
|
||||
<div>3. 面部立体度(6 分,中高立体度)<ul>
|
||||
<li>轮廓设计:避免贴头皮「扁平感」,保留头顶至耳上 2-3cm 蓬松度,通过层次剪裁拉长脸型,弱化方形下颌;中高鼻梁优势用侧分刘海、露额发型强化。</li>
|
||||
</ul>
|
||||
<div>三、脸型与头型适配优化<div>1. 方形脸(硬朗轮廓,需柔化处理)<ul>
|
||||
<li>避坑点:避免一刀切齐发尾(强化方形轮廓)、超短发(突出下颌角)、厚重齐刘海(缩短脸型显头大)。</li>
|
||||
<li>加分项:侧分(4:6 分缝)、高层次剪裁(减轻面部宽度)、柔和发尾(外翘 / 内扣),柔化方下颌,配合适中脖长拉长脸型比例。</li>
|
||||
</ul>
|
||||
<div>2. 身材协调(显高需求适配)<ul>
|
||||
<li>纵向线条强化:顶部蓬松度 2-3cm 打造「高颅顶」,纵向延伸视觉比例,适配 180cm 身高;避免贴头皮或扁平顶部设计。</li>
|
||||
<li>视觉重心转移:扎发时(高马尾 / 丸子头),发顶蓬松度与头顶高度对齐,强化「上提」效果,转移小腿注意力。</li>
|
||||
</ul>
|
||||
<div>四、发型长度与轮廓推荐<div>1. 首选:中长发(肩下 15-20cm,结构化层次)<ul>
|
||||
<li>核心设计:<ul>
|
||||
<li>层次:顶部至耳上 2-3cm 高层次(增加蓬松),中部至发尾 1-2cm 低层次(保持垂坠),避免贴脸;</li>
|
||||
<li>发尾:轻微外翘 / 不规则剪裁(打破硬朗感),拒绝死板齐尾;</li>
|
||||
<li>轮廓:「倒三角」型(顶蓬尾收),纵向延伸比例。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>适配场景:通勤(低马尾 + 发尾外翘)、休闲(直发披散 + 侧分)、正式(中高盘发 + 顶部蓬松)。</li>
|
||||
</ul>
|
||||
<div>2. 次选:中短发(肩以上 5-10cm,几何剪裁)<ul>
|
||||
<li>核心设计:<ul>
|
||||
<li>长度:齐肩 / 肩以上 5-10cm,露颈部线条显高;</li>
|
||||
<li>层次:两侧剪至下颌线以下(遮盖方下颌),「A」型轮廓修饰面部宽度;</li>
|
||||
<li>扎发变体:半扎高马尾(顶蓬尾散),强化纵向线条转移注意力。</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div>3. 慎选:超短发(下巴以上)/ 长直发(腰际以下)<ul>
|
||||
<li>超短发暴露颈部,与中大量感不匹配显头重;长直发无层次显拖沓,增加下半身视觉重量,与显高需求冲突。</li>
|
||||
</ul>
|
||||
<div>五、关键细节设计:刘海与发色<div>1. 刘海:拒绝厚重,突出纵向线条<ul>
|
||||
<li>推荐刘海:<ul>
|
||||
<li>侧分长刘海(4:6 分缝):长度至颧骨下方,直线剪裁露额头 2/3,拉长脸型,适配单眼皮显利落;</li>
|
||||
<li>法式刘海:窄宽度(眼尾内侧起),轻薄修饰发际线,不遮眉眼,符合冷冬清爽感。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>避雷刘海:齐刘海(缩短脸型显方)、眉上短刘海(与方脸冲突显突兀)。</li>
|
||||
</ul>
|
||||
<div>2. 发色:冷冬型 + 黄二白适配,高对比显白<ul>
|
||||
<li>主色调推荐:<ul>
|
||||
<li>冷调深色系:雾感黑茶色、冷棕黑、蓝黑色(显白提气色,与深瞳对比适中,符合冷冬配色);</li>
|
||||
<li>挑染点缀:发尾 1-2 缕冷灰色 / 雾蓝色(≤10% 面积),增加层次提升现代感。</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>避雷发色:暖调浅色系(金棕 / 橙红显黄)、全头漂浅(奶奶灰 / 银白伤发质,与中大量感气质不符显轻浮)。</li>
|
||||
</ul>
|
||||
<div>六、发型与整体造型适配建议<div>1. 穿搭风格呼应<ul>
|
||||
<li>通勤风(衬衫 / 西装):高马尾(顶蓬尾齐,高度与眉峰平)或侧分直发,露耳后线条与利落穿搭统一;</li>
|
||||
<li>休闲风(T 恤 / 牛仔裤):半扎高马尾 + 碎发(发尾外翘)或鲨鱼夹高盘发(留龙须发),增加随性;</li>
|
||||
<li>正式风(西装 / 礼服):中高盘发(顶蓬固定)或低马尾(尾端层次),简约大气。</li>
|
||||
</ul>
|
||||
<div>2. 显高优化技巧<ul>
|
||||
<li>顶部蓬松度≥2cm,纵向延伸视觉高度;扎发马尾高度不低于耳垂;</li>
|
||||
<li>搭配及膝 / 过膝下装,配合纵向发型线条,整体拉长比例转移小腿注意力。</li>
|
||||
</ul>
|
||||
<div>七、避雷指南:需避免的发型雷区<ul>
|
||||
<li>贴头皮发型:顶蓬<2cm 显脸大头扁,与 180cm 身高比例失衡;</li>
|
||||
<li>厚重齐发尾:强化方形下颌线条,显脸宽;</li>
|
||||
<li>小卷 / 羊毛卷:强曲线与直线型面部冲突,增加横向宽度显头大;</li>
|
||||
<li>过短刘海:眉上短刘海与单眼皮、方脸风格冲突,显突兀。</li>
|
||||
</ul>
|
||||
<div>八、护理与造型小贴士<ul>
|
||||
<li>日常护理:黄二白肤色易显发质枯黄,每周 1 次深层护发(发膜 + 热毛巾敷 5 分钟);吹发用圆梳向内扣发尾,维持直线轮廓;</li>
|
||||
<li>快速造型:直板夹 160℃夹直刘海 / 发尾(3 分钟搞定),顶蓬用蓬松喷雾(距发根 10cm 喷洒);</li>
|
||||
<li>季节适配:冬季用滋润洗发水 + 护发精油防干燥,夏季选控油洗发水避免塌软。</li>
|
||||
</ul>
|
||||
<div>九、总结:核心发型逻辑与风格统一<p>核心逻辑:以直线条力量感为基底,通过「顶部蓬松 + 结构化层次 +
|
||||
纵向延伸」三大设计点,平衡方形脸硬朗感与中大量感气质,同步实现显高需求。关键细节(侧分长刘海、冷调深色系)强化冷冬型风格统一,整体造型需保持「利落轮廓
|
||||
+ 适度蓬松 + 垂坠质感」,与穿搭、场景协同最大化个人魅力。</p>
|
||||
</div>
|
||||
}
|
||||
`;
|
||||
params.text = hairText(customKey)
|
||||
}
|
||||
|
||||
if (callWord === "three") {
|
||||
params.tabType = "shengxiao";
|
||||
// if (
|
||||
// openId === "oZRaI4ojHLTcwuQ6yix3QV5sSe0c" ||
|
||||
// openId === "oZRaI4tfDP-HgQmyjN7GOqyv4gB0"
|
||||
// ) {
|
||||
params.text = `用户生日是阳历${userFaceInfo?.value?.checkTime},性别:${userFaceInfo?.value?.gender},职业: ${styleType?.value?.work}, 最在意谁的意见:${styleType?.value?.attention},计算这个生日对应的年柱、月柱、日柱的五行属性个数,不计算时柱,不计算藏干。以v-html格式生成,只能以div、p、ul、li、ol、span标签,输出适合颜色报告,需要提到五行的个数。 报告结构严格按照以下内容:一.五行主属性分析(需要提到五行的个数) 二、五行命理与易学幸运色推导 三、场景化搭配建议 四、动态调整建议",最后以字符串格式返回。返回一个名称为arr的数组,第一个参数“属相”,用用户年龄推算,参数有鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪),第2到第6个数为用“年柱”, “月柱”,“日柱”,“年柱属性”, “月柱属性”,“日柱属性”,等属性推算出的五行个数,最后以数组的形式返回[“属相”, ”金属性个数“,木属性个数“,”水属性个数”,“火属性个数”,”土属性个数“]的形式返回
|
||||
特别注意:
|
||||
生成一个如下结构的对象
|
||||
content:{
|
||||
text: 颜色报告内容,
|
||||
arr: 属相数组,以["属相",金的个数, 木的个数, 水的个数, 火的个数, 土的个数]的格式返回
|
||||
}
|
||||
`;
|
||||
// } else {
|
||||
// params.text = `用户生日是阳历${userFaceInfo?.value?.checkTime},性别:${userFaceInfo?.value?.gender},计算这个生日对应的年柱、月柱、日柱的五行属性个数,不计算时柱,不计算藏干。以v-html格式生成,只能以div、p、ul、li、ol、span标签,输出适合颜色报告,需要提到五行的个数。 报告结构严格按照以下内容:一.五行主属性分析(需要提到五行的个数) 二、五行命理与易学幸运色推导 三、场景化搭配建议 四、动态调整建议",最后以字符串格式返回。返回一个名称为arr的数组,第一个参数“属相”,用用户年龄推算,参数有鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪),第2到第6个数为用“年柱”, “月柱”,“日柱”,“年柱属性”, “月柱属性”,“日柱属性”,等属性推算出的五行个数,最后以数组的形式返回[“属相”, ”金属性个数“,木属性个数“,”水属性个数”,“火属性个数”,”土属性个数“]的形式返回
|
||||
// params.text = `用户生日是阳历${userFaceInfo?.value?.checkTime},性别:${userFaceInfo?.value?.gender},职业: ${styleType?.value?.work}, 最在意谁的意见:${styleType?.value?.attention},计算这个生日对应的年柱、月柱、日柱的五行属性个数,不计算时柱,不计算藏干。以v-html格式生成,只能以div、p、ul、li、ol、span标签,输出适合颜色报告,需要提到五行的个数。 报告结构严格按照以下内容:一.五行主属性分析(需要提到五行的个数) 二、五行命理与易学幸运色推导 三、场景化搭配建议 四、动态调整建议",最后以字符串格式返回。返回一个名称为arr的数组,第一个参数“属相”,用用户年龄推算,参数有鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪),第2到第6个数为用“年柱”, “月柱”,“日柱”,“年柱属性”, “月柱属性”,“日柱属性”,等属性推算出的五行个数,最后以数组的形式返回[“属相”, ”金属性个数“,木属性个数“,”水属性个数”,“火属性个数”,”土属性个数“]的形式返回
|
||||
// 特别注意:
|
||||
// 生成一个如下结构的对象
|
||||
// content:{
|
||||
@@ -785,192 +705,27 @@ const getPraiseText = (callWord, type) => {
|
||||
// arr: 属相数组,以["属相",金的个数, 木的个数, 水的个数, 火的个数, 土的个数]的格式返回
|
||||
// }
|
||||
// `;
|
||||
// }
|
||||
|
||||
params.system_prompt = `五行八卦中年柱、月柱、日柱的计算规则详解
|
||||
// params.text = shengxiaoText(userFaceInfo?.value?.checkTime, userFaceInfo?.value?.gender, styleType?.value?.work, styleType?.value?.attention)
|
||||
params.text = shengxiaoText(collect?.value?.birthday, collect?.value?.gender, collect?.value?.work)
|
||||
|
||||
在五行八卦的命理学体系中,年柱、月柱、日柱与每个人息息相关,它们共同构成了八字,被认为能够揭示一个人的命运轨迹和性格特点。下面,让我们一起来深入了解它们的计算规则。
|
||||
|
||||
一、年柱的计算规则
|
||||
|
||||
年柱代表出生年份的天干地支组合,它是八字的第一柱,确定了一个人出生年份的基本信息,在命理学中被视为根基,对人生运势有着深远影响。
|
||||
|
||||
• 天干的确定:
|
||||
|
||||
◦ 尾数对应法:最为简便的方法是根据公历年的尾数来确定。具体对应关系如下:尾数为4,对应天干甲;尾数为5,对应天干乙;尾数为6,对应天干丙;尾数为7,对应天干丁;尾数为8,对应天干戊;尾数为9,对应天干己;尾数为0,对应天干庚;尾数为1,对应天干辛;尾数为2,对应天干壬;尾数为3,对应天干癸 。例如,2025年,尾数是5,所以年干为乙。
|
||||
|
||||
◦ 公式计算法:公式为(公历年数 - 3)÷10的余数(整除时按余数为0计),对应天干顺序。如2025年,(2025 - 3)÷10 = 202余2,对应天干乙。
|
||||
|
||||
• 地支的确定:
|
||||
|
||||
◦ 生肖对应法:可依据生肖来确定地支。生肖与地支的对应关系为:子鼠、丑牛、寅虎、卯兔、辰龙、巳蛇、午马、未羊、申猴、酉鸡、戌狗、亥猪。比如,2025年是蛇年,对应的地支就是巳。
|
||||
|
||||
◦ 公式计算法:公式为(公历年数 - 3)÷12的余数(整除时按余数为0计),对应地支顺序。对于2025年,(2025 - 3)÷12 = 168余6,对应地支巳。
|
||||
需要特别注意的是,年柱的分界是以每年的立春为界线,立春前出生的人,年柱按上一年计算;立春后出生的人,年柱按下一年计算 。
|
||||
|
||||
二、月柱的计算规则
|
||||
|
||||
月柱由月干和月支组成,代表出生月份的天干地支组合,它反映了一个人在成长过程中的阶段性运势和内在特质,在命理学中被视为成长和发展的重要标志。
|
||||
|
||||
• 月支的确定:月支是固定不变的,以二十四节气为划分依据。从立春开始,正月为寅月(立春当天到惊蛰前一天);二月为卯月(惊蛰当天到清明前一天);三月为辰月(清明当天到立夏前一天);四月为巳月(立夏当天到芒种前一天);五月为午月(芒种当天到小暑前一天);六月为未月(小暑当天到立秋前一天);七月为申月(立秋当天到白露前一天);八月为酉月(白露当天到寒露前一天);九月为戌月(寒露当天到立冬前一天);十月为亥月(立冬当天到大雪前一天);十一月为子月(大雪当天到小寒前一天);十二月为丑月(小寒当天到立春前一天)。
|
||||
|
||||
• 月干的确定:需要根据年干来推算,可借助口诀“甲己之年丙作首,乙庚之年戊为头,丙辛之岁寻庚上,丁壬壬寅顺水流,若问戊癸何处起,甲寅之上好追求” 。意思是,当年干为甲或己时,正月月干为丙;年干为乙或庚时,正月月干为戊;年干为丙或辛时,正月月干为庚;年干为丁或壬时,正月月干为壬;年干为戊或癸时,正月月干为甲。其余月份天干依次顺推。例如,2025年是乙巳年,年干为乙,根据口诀“乙庚之年戊为头”,正月月干为戊,月支为寅,所以2025年正月月柱为戊寅,二月为己卯,三月为庚辰,依此类推。
|
||||
|
||||
三、日柱的计算规则
|
||||
|
||||
日柱代表出生日的天干地支组合,是八字的核心部分,被认为能体现一个人的核心性格和命运的关键走向,在命理学中占据着举足轻重的地位。日柱的计算方法较为复杂,以下介绍一种常用的公历计算法:
|
||||
|
||||
• 计算步骤:
|
||||
|
||||
◦ 先计算(公历年数 - 1)×5 + (公历年数 - 1)÷4 + 当年日期在当年的天数序号,得到一个总和(这里的除法只取商数,余数忽略不计)。其中,当年日期在当年的天数序号,即从1月1日到出生日期的天数,例如,3月15日出生,当年是平年,1月31天,2月28天,3月15天,天数序号就是31 + 28 + 15 = 74 。
|
||||
|
||||
◦ 将总和除以60,得到一个余数。
|
||||
|
||||
◦ 这个余数就是出生日期的天干地支序数。其中,余数除以10的余数为天干序数(整除时按余数为0计,对应天干癸),余数除以12的余数为地支序数(整除时按余数为0计,对应地支亥)。
|
||||
|
||||
• 举例说明:以2025年5月20日为例,计算过程如下:
|
||||
|
||||
◦ (2025 - 1)×5 + (2025 - 1)÷4 + (31 + 28 + 31 + 30 + 20)
|
||||
= 2024×5 + 2024÷4 + 140
|
||||
= 10120 + 506 + 140
|
||||
= 10766
|
||||
|
||||
◦ 10766÷60 = 179余26
|
||||
|
||||
◦ 26÷10 = 2余6,对应天干己;26÷12 = 2余2,对应地支丑 。所以2025年5月20日的日柱为己丑。
|
||||
|
||||
• 注意闰年:需要注意的是,如果出生年份是闰年,2月有29天,在计算天数序号时要相应调整。闰年的判断方法是:能被4整除但不能被100整除的年份为闰年,此外能被400整除的年份也是闰年 。例如,2024年是闰年,计算当年天数序号时,2月按29天计算。
|
||||
|
||||
年柱、月柱和日柱的计算规则虽然复杂,但它们蕴含着古人对时间和命运的深刻理解,是五行八卦命理学的重要基础 。`;
|
||||
params.system_prompt = shengxiaoSystem_prompt
|
||||
}
|
||||
|
||||
// console.log('tttttttttttttttttttttttttttttt', callWord)
|
||||
|
||||
if (callWord === "four") {
|
||||
params.tabType = "stature";
|
||||
params.text = `你是个人形象美学顾问,你擅长通过客户身材特征分析出用户的身材类型
|
||||
具体的包裹:轮廓类型、量感类型、动静类型、体型类型
|
||||
|
||||
${customKey}
|
||||
|
||||
要求:
|
||||
1:你只能分析出的轮廓类型只能是:${styleType.value.straight_total_score_t},别的类型一概不允许
|
||||
2:你只能分析出的量感类型只能是:${styleType.value.total_sense_of_quantity_t},别的类型一概不允许
|
||||
3:你只能分析出的动静类型只能是:${styleType.value.dynamic_static_t},别的类型一概不允许
|
||||
|
||||
特别注意:
|
||||
你要根据客户特征给出详细的分析结果和分析结果详情,每一中类型的分析结果详情要在200字以内
|
||||
你要返回给我的结果只能是json格式,不能是其它格式
|
||||
除了我要求的格式内容外,不要有额外多余的任何不相干的文字
|
||||
|
||||
正确格式案例如下:
|
||||
{
|
||||
sensory:{
|
||||
value: '曲线型',
|
||||
desc: '面部五官线条(眉眼、嘴唇等)没有特别强烈的曲线感或直线硬朗感,面部轮廓、发型线条以及穿着的服装(V 领、简洁款式 )也呈现出既非极端曲线柔和,也非极端直线利落的状态,是较为平衡的直曲适中风格 。'
|
||||
},
|
||||
mass: {
|
||||
value: '中量感',
|
||||
desc: '从面部看,五官分布、大小以及整体比例较为均衡,没有特别小巧精致(小量感)或夸张大气(大量感)的特征,身材穿着也呈现出适中的视觉分量,所以是中量感'
|
||||
},
|
||||
movement: {
|
||||
value: '静态型',
|
||||
desc: '面部神态平和,发型简洁规整,服装款式简约、颜色沉稳,整体传递出安静、内敛的气质,没有明显的活泼、动感元素,因此判定为静态型 。'
|
||||
}
|
||||
}
|
||||
`;
|
||||
params.text = statureText(customKey, styleType.value.straight_total_score_t, styleType.value.total_sense_of_quantity_t, styleType.value.dynamic_static_t)
|
||||
}
|
||||
|
||||
if (callWord === "five") {
|
||||
params.tabType = "style";
|
||||
params.text = `你是个人形象美学顾问,你擅长通过客户身材特征分析出用户的风格诊断报告。
|
||||
${customKey}
|
||||
|
||||
特别注意:
|
||||
1:你要根据客户特征给出详细的风格诊断报告
|
||||
2:以v-html格式输出,只能以div、p、ul、li、ol、span、
|
||||
3:你要返回给我的结果只能是json格式,不能是其它格式
|
||||
4:除了我要求的格式内容外,不要有额外多余的任何不相干的文字
|
||||
|
||||
风格诊断报告格式如下:
|
||||
一:个人风格合心诊断
|
||||
1:个人风格密码解析
|
||||
2:主导心理风格和基因风格关系
|
||||
二、 身材分析与穿搭指南
|
||||
三、 配饰规划
|
||||
四、 总结与建议
|
||||
1:最重要的强化优势
|
||||
2:规避要点
|
||||
|
||||
正确格式案例如下:
|
||||
{
|
||||
html: '<div><p><span style="font-weight:bold">一、 个人风格核心诊断</span></p>
|
||||
<p><span style="font-weight:bold">1. 个人风格密码解析</span></p>
|
||||
<p>基于您的面部特征与量感直曲分析,个人风格密码为「中大量感+偏直风格+适中对比度」:</p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">量感维度</span>:大量感得分6、小量感得分4,量感总分2,属于中大量感,面部立体度7(高立体度)、直鼻高立体度,整体呈现舒展大气的视觉张力,避免过度小巧精致的服饰元素
|
||||
</li>
|
||||
<li><span style="font-weight:bold">直曲维度</span>:直得分7、曲得分3,直曲总分4,偏直风格显著,平直眉、细长单眼皮、直鼻等线条利落,适合简约、几何、结构化的服饰剪裁,减少柔媚蕾丝、荷叶边等过度曲线元素
|
||||
</li>
|
||||
<li><span style="font-weight:bold">对比度</span>:适中对比度,黄一白肤色搭配深瞳色,色彩搭配可兼顾清爽和谐与适度层次,避免高饱和撞色或过于寡淡的同色系
|
||||
</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">2. 主导心理风格和基因风格关系</span></p>
|
||||
<p>
|
||||
您的基因风格(外在特征决定)为「利落直感型」,心理风格(偏好夏季季型配色)偏向「清新活力型」,二者可形成「清爽利落」的融合风格——以夏季季型的柔和色调(浅蓝、薄荷绿、粉紫、奶白等)为基础,结合偏直的简约剪裁,既符合基因风格的线条需求,又满足心理偏好的清爽氛围。</p>
|
||||
<p><span style="font-weight:bold">二、 身材分析与穿搭指南</span></p>
|
||||
<p><span style="font-weight:bold">身材特征</span>:A型身材(上窄下宽),身高160cm、体重53kg,腰部粗、腿粗,核心需求为「勾勒腰线+修饰下半身」
|
||||
</p>
|
||||
<p><span style="font-weight:bold">1. 上衣选择</span></p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">版型</span>:选「上宽下收」设计,如微泡泡袖、荷叶边袖口(增加上半身量感平衡下半身),腰部做收腰剪裁(如系带、褶皱收腰),直接勾勒腰线
|
||||
</li>
|
||||
<li><span style="font-weight:bold">领型</span>:V领、方领、一字领,拉长颈部线条同时转移视觉焦点至锁骨/面部,分散腰部注意力
|
||||
</li>
|
||||
<li><span style="font-weight:bold">图案/色彩</span>:夏季季型配色优先,上半身可尝试小碎花、条纹等图案(增加上半身丰富度),色彩选浅蓝、粉紫等亮色(提亮上身,平衡下半身重量感)
|
||||
</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">2. 下装选择</span></p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">裤装</span>:高腰阔腿裤(垂感面料,长度及脚踝)、直筒裤(避免紧身牛仔裤),裤型从腰部向下自然散开,修饰腿粗,腰部搭配细腰带强调腰线
|
||||
</li>
|
||||
<li><span style="font-weight:bold">裙装</span>:高腰A字裙(长度过膝5-10cm)、伞裙,裙摆自然展开遮挡臀部及大腿赘肉,腰部做掐褶或同色系腰带收腰
|
||||
</li>
|
||||
<li><span style="font-weight:bold">色彩</span>:选夏季季型中的低饱和深色(如灰蓝、豆沙紫)或同色系顺色(上下装同色调不同明度),视觉收缩下半身
|
||||
</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">3. 连衣裙推荐</span></p>
|
||||
<ul>
|
||||
<li>
|
||||
首选「收腰A字连衣裙」,腰部收紧+裙摆散开,直接解决腰线与腿粗问题,领口选V领/方领,面料选轻薄雪纺、棉麻(符合夏季清爽感)
|
||||
</li>
|
||||
<li>避免:紧身包臀裙、无腰线直筒裙(暴露腰部赘肉,显下半身臃肿)</li>
|
||||
</ul>
|
||||
<p><span style="font-weight:bold">三、 配饰规划</span></p>
|
||||
<p><span style="font-weight:bold">1. 腰带</span>:核心配饰!选细款金属腰带(银色/金色,呼应夏季清爽)或同色系皮质腰带,系于高腰位置(肚脐上2cm),明确分割腰线,材质避免过宽过厚(否则显腰粗)
|
||||
</p>
|
||||
<p><span style="font-weight:bold">2. 耳饰</span>:瓜子脸+细长单眼皮,适合「几何短款耳坠」(如方形、水滴形,长度3-5cm)或简约耳钉,修饰脸型同时不抢面部焦点;避免夸张大耳环(增加下半身视觉重量)
|
||||
</p>
|
||||
<p><span style="font-weight:bold">3. 项链</span>:人中偏短+薄唇,选「Y型项链」或「锁骨链」(长度40-45cm,吊坠小巧精致),延长面部纵向线条,避免短款choker(靠近唇部显局促)
|
||||
</p>
|
||||
<p><span style="font-weight:bold">4. 手链/手表</span>:简约细链条手链或方形表盘手表(金属表带),呼应偏直风格,数量控制1-2件,避免繁复堆砌
|
||||
</p>
|
||||
<p><span style="font-weight:bold">五、 总结与建议</span></p>
|
||||
<p><span style="font-weight:bold">1. 最重要的强化优势和规避</span></p>
|
||||
<ul>
|
||||
<li><span style="font-weight:bold">强化优势</span>:① 利用夏季季型配色(浅蓝、薄荷绿等)提亮黄一白肤色,凸显清爽气质;②
|
||||
突出高立体度面部(直鼻、瓜子脸),通过V领/方领服饰+简约耳饰转移视觉焦点;③ 用细腰带强制勾勒腰线,强化身材比例
|
||||
</li>
|
||||
<li><span style="font-weight:bold">规避要点</span>:① 避免下半身紧身/膨胀设计(如紧身裤、蓬蓬裙),选A字/阔腿版型修饰腿粗;②
|
||||
腰部避免无剪裁、松紧带设计,用收腰剪裁+腰带遮挡赘肉;③ 配饰忌过多过杂,保持「少而精」,符合偏直风格的利落感
|
||||
</li>
|
||||
</ul>
|
||||
</div>'
|
||||
}
|
||||
|
||||
|
||||
|
||||
`;
|
||||
params.text = styleText(customKey);
|
||||
}
|
||||
|
||||
console.log('调用一把yyyyyyyyyyyyyy', callWord)
|
||||
|
||||
praiseTextApi(params).then((res) => {
|
||||
// tabType
|
||||
if (callWord === "one") {
|
||||
@@ -1007,6 +762,8 @@ const getPraiseText = (callWord, type) => {
|
||||
// console.log("obj: ", obj);
|
||||
const content = obj.choices[0].message.content;
|
||||
customFigure.value = JSON.parse(content);
|
||||
|
||||
console.log('customFigure.value: mmmmmmmmmmmmmmmmm', customFigure.value);
|
||||
} else if (callWord === "five") {
|
||||
const obj = JSON.parse(res.data);
|
||||
const content = obj.choices[0].message.content;
|
||||
@@ -1104,6 +861,7 @@ const getHair = async (data) => {
|
||||
});
|
||||
return res.data;
|
||||
};
|
||||
|
||||
const getUserFaceInfo = async () => {
|
||||
getStyleApi({ openId: openId }).then(async (res) => {
|
||||
newColorTypeList.value = reorderByValue(
|
||||
@@ -1133,10 +891,18 @@ const getUserFaceInfo = async () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
getPraiseText("one");
|
||||
getPraiseText("three", 1);
|
||||
getPraiseText("four");
|
||||
getPraiseText("five");
|
||||
|
||||
|
||||
// getPraiseText("one");
|
||||
// getPraiseText("three", 1);
|
||||
try {
|
||||
|
||||
getPraiseText("four");
|
||||
} catch (error) {
|
||||
console.error('error: ', error);
|
||||
}
|
||||
// getPraiseText("five");
|
||||
|
||||
getColorTypeText(res?.detail?.sj_color_type || "");
|
||||
let blob = await downloadFile(userFaceInfo?.value?.avatar_img_url);
|
||||
let formData = new FormData();
|
||||
@@ -1204,9 +970,16 @@ getStyleApi({ openId })
|
||||
.then((res) => {
|
||||
styleType.value = res.data;
|
||||
})
|
||||
.then(() => {
|
||||
getUserFaceInfo();
|
||||
});
|
||||
// .then(() => {
|
||||
// getUserFaceInfo();
|
||||
// });
|
||||
|
||||
watchEffect(() => {
|
||||
if(collect.value) {
|
||||
getUserFaceInfo()
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
function onTabChange(tabIndex) {
|
||||
// H5端滚动到id=tabs的位置
|
||||
@@ -1518,6 +1291,9 @@ function onTabChange(tabIndex) {
|
||||
font-size: 14px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
|
||||
/* height: 900px;
|
||||
background-color: red; */
|
||||
}
|
||||
.trends-title {
|
||||
font-family: "PingFang SC", "Microsoft YaHei", "Arial", sans-serif !important;
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
import Request from 'luch-request';
|
||||
|
||||
const init = () => {
|
||||
const http = new Request({
|
||||
baseURL: 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
|
||||
timeout: 100 * 1000,
|
||||
method: 'GET',
|
||||
header: {
|
||||
Accept: 'text/json',
|
||||
'Content-Type': 'application/json;charset=UTF-8',
|
||||
Authorization: 'Bearer 14fc0280-fc65-462d-ac2d-50178c0212e3',
|
||||
},
|
||||
// #ifdef H5
|
||||
// 跨域请求时是否携带凭证(cookies)仅H5支持(HBuilderX 2.6.15+)
|
||||
withCredentials: false,
|
||||
// #endif
|
||||
});
|
||||
|
||||
return http;
|
||||
};
|
||||
|
||||
export const praiseTextApi = (data) => {
|
||||
const http = init();
|
||||
|
||||
return http.request({
|
||||
method: 'POST',
|
||||
data: {
|
||||
model: 'doubao-1-5-thinking-pro-m-250428',
|
||||
messages: [
|
||||
{
|
||||
role: 'system',
|
||||
content: data.system_prompt,
|
||||
},
|
||||
|
||||
{
|
||||
role: 'user',
|
||||
content: data.text,
|
||||
},
|
||||
],
|
||||
},
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user