feat: 新增追问模式和iOS本地化,重构后端输出模型
This commit is contained in:
@@ -93,6 +93,7 @@ class DivinationApi {
|
||||
advice: _asStringList(agentOutputRaw['advice']),
|
||||
keywords: _asStringList(agentOutputRaw['keywords']),
|
||||
answer: _asString(agentOutputRaw['answer']),
|
||||
status: _parseStatus(agentOutputRaw['status']),
|
||||
);
|
||||
records.add(aggregate.toViewData(params));
|
||||
} catch (error, stackTrace) {
|
||||
@@ -472,12 +473,24 @@ String _asString(Object? value) {
|
||||
return value is String ? value : '';
|
||||
}
|
||||
|
||||
List<String> _asStringList(Object? value) {
|
||||
if (value is! List<dynamic>) {
|
||||
return const <String>[];
|
||||
List<String> _asStringList(Object? value) {
|
||||
if (value is! List<dynamic>) {
|
||||
return const <String>[];
|
||||
}
|
||||
return value.whereType<String>().toList(growable: false);
|
||||
}
|
||||
|
||||
DivinationRunStatus _parseStatus(Object? value) {
|
||||
if (value is! String) {
|
||||
return DivinationRunStatus.success;
|
||||
}
|
||||
return switch (value) {
|
||||
'success' => DivinationRunStatus.success,
|
||||
'failed' => DivinationRunStatus.failed,
|
||||
'refused' => DivinationRunStatus.refused,
|
||||
_ => DivinationRunStatus.success,
|
||||
};
|
||||
}
|
||||
return value.whereType<String>().toList(growable: false);
|
||||
}
|
||||
|
||||
String _yaoTypeToText(YaoType type) {
|
||||
return switch (type) {
|
||||
|
||||
Reference in New Issue
Block a user