fix: 修复历史卦象列表无法显示及六爻解卦提示词逻辑错误
后端 Pydantic schema 添加 Hant 繁体字段支持(guaNameHant, targetGuaNameHant, spiritNameHant, relationNameHant),解决 DerivedDivinationData extra=forbid 拒绝 AI 输出的繁体字段导致 agent_output 解析失败、历史记录为空的问题。 六爻解卦提示词修复:增加静卦五行生克链分析、假破假空降权、 六冲中性判断、用神核对防捏造、空亡数据对照等硬约束。 前端 Dart model 同步添加 Hant 字段(反向兼容,缺省为空字符串)。 其他:硬币翻转动画修复、弹窗单按钮居中、起卦按钮布局调整、 繁体 l10n 清理、pre-commit 排除集成测试。
This commit is contained in:
@@ -132,9 +132,11 @@ class DerivedDivinationData {
|
||||
required this.binaryCode,
|
||||
required this.changedBinaryCode,
|
||||
required this.guaName,
|
||||
this.guaNameHant = '',
|
||||
required this.upperName,
|
||||
required this.lowerName,
|
||||
required this.targetGuaName,
|
||||
this.targetGuaNameHant = '',
|
||||
required this.worldPosition,
|
||||
required this.responsePosition,
|
||||
required this.hasChangingYao,
|
||||
@@ -154,9 +156,11 @@ class DerivedDivinationData {
|
||||
binaryCode: _requiredString(json, 'binaryCode'),
|
||||
changedBinaryCode: _requiredString(json, 'changedBinaryCode'),
|
||||
guaName: _requiredString(json, 'guaName'),
|
||||
guaNameHant: json['guaNameHant'] as String? ?? '',
|
||||
upperName: _requiredString(json, 'upperName'),
|
||||
lowerName: _requiredString(json, 'lowerName'),
|
||||
targetGuaName: _requiredString(json, 'targetGuaName'),
|
||||
targetGuaNameHant: json['targetGuaNameHant'] as String? ?? '',
|
||||
worldPosition: _requiredInt(json, 'worldPosition'),
|
||||
responsePosition: _requiredInt(json, 'responsePosition'),
|
||||
hasChangingYao: _requiredBool(json, 'hasChangingYao'),
|
||||
@@ -176,9 +180,11 @@ class DerivedDivinationData {
|
||||
final String binaryCode;
|
||||
final String changedBinaryCode;
|
||||
final String guaName;
|
||||
final String guaNameHant;
|
||||
final String upperName;
|
||||
final String lowerName;
|
||||
final String targetGuaName;
|
||||
final String targetGuaNameHant;
|
||||
final int worldPosition;
|
||||
final int responsePosition;
|
||||
final bool hasChangingYao;
|
||||
@@ -256,7 +262,9 @@ class YaoBackendLine {
|
||||
const YaoBackendLine({
|
||||
required this.position,
|
||||
required this.spiritName,
|
||||
this.spiritNameHant = '',
|
||||
required this.relationName,
|
||||
this.relationNameHant = '',
|
||||
required this.tiganName,
|
||||
required this.elementName,
|
||||
required this.isYang,
|
||||
@@ -268,7 +276,9 @@ class YaoBackendLine {
|
||||
return YaoBackendLine(
|
||||
position: _requiredInt(json, 'position'),
|
||||
spiritName: _requiredString(json, 'spiritName'),
|
||||
spiritNameHant: json['spiritNameHant'] as String? ?? '',
|
||||
relationName: _requiredString(json, 'relationName'),
|
||||
relationNameHant: json['relationNameHant'] as String? ?? '',
|
||||
tiganName: _requiredString(json, 'tiganName'),
|
||||
elementName: _requiredString(json, 'elementName'),
|
||||
isYang: _requiredBool(json, 'isYang'),
|
||||
@@ -279,7 +289,9 @@ class YaoBackendLine {
|
||||
|
||||
final int position;
|
||||
final String spiritName;
|
||||
final String spiritNameHant;
|
||||
final String relationName;
|
||||
final String relationNameHant;
|
||||
final String tiganName;
|
||||
final String elementName;
|
||||
final bool isYang;
|
||||
|
||||
Reference in New Issue
Block a user