Skip to content

Commit

Permalink
SDK更新 ScenarioMethod支持设置默认值
Browse files Browse the repository at this point in the history
  • Loading branch information
MakesYT committed Feb 21, 2025
1 parent 52af433 commit 93f9eba
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 16 deletions.
5 changes: 4 additions & 1 deletion Core/SDKs/CustomScenario/ScenarioMethod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,10 @@ public ScenarioMethodNode GenerateNode()
{
var parameterInfo = Method.GetParameters()[index];
if (parameterInfo.ParameterType.FullName == "System.Threading.CancellationToken") continue;

if (parameterInfo.ParameterType.FullName.StartsWith("System.Nullable`1[[System.Threading.CancellationToken,")) continue;
var IsSelf = parameterInfo.GetCustomAttributes(typeof(SelfInput))
.Any();
object? defaultValue = parameterInfo.DefaultValue;

if (parameterInfo.ParameterType.GetCustomAttribute(typeof(AutoUnbox)) is not null)
{
Expand All @@ -139,6 +140,7 @@ public ScenarioMethodNode GenerateNode()
{
Type = memberInfo.PropertyType,
IsSelf = IsSelf,
Value = defaultValue
},

AutoUnboxIndex = autoUnboxIndex,
Expand All @@ -156,6 +158,7 @@ public ScenarioMethodNode GenerateNode()
{
Type = parameterInfo.ParameterType,
IsSelf = IsSelf,
Value = defaultValue
},


Expand Down
11 changes: 9 additions & 2 deletions Core/SDKs/Services/Plugin/Plugin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,15 @@ public Plugin(PluginLocalInfo pluginInfo)
{
if (methodInfo.GetCustomAttribute<ScenarioMethodAttribute>() is { } scenarioMethodAttribute) //情景的可用节点
{
if (methodInfo.GetParameters()[^1].ParameterType.FullName !=
"System.Threading.CancellationToken") continue;
var parameterInfos = methodInfo.GetParameters();
if (parameterInfos.Length==0)
{
continue;
}
var parameterTypeFullName = parameterInfos[^1].ParameterType.FullName;
if (parameterTypeFullName !=
"System.Threading.CancellationToken"&&!
parameterTypeFullName.StartsWith("System.Nullable`1[[System.Threading.CancellationToken,")) continue;

var scenarioMethodInfo = new ScenarioMethod(methodInfo, PluginInfo, scenarioMethodAttribute,
ScenarioMethodType.插件方法, ServiceProvider);
Expand Down
15 changes: 2 additions & 13 deletions KitopiaEx/Translate/Translate.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,6 @@ namespace KitopiaEx.Translate;

public class Translate
{
public static string TranslateLangToName(TargetTranslateLang lang)
{
return lang switch
{
TargetTranslateLang.简体中文 => "zh-Hans",
TargetTranslateLang.繁體中文 => "zh-Hant",
TargetTranslateLang.English => "en",
TargetTranslateLang.日本語 => "ja",
_ => throw new ArgumentOutOfRangeException(nameof(lang), lang, null)
};
}
[ScenarioMethod("翻译文字提取结果", $"{nameof(dResult)}=文字识别结果数据",$"{nameof(sourceTranslateLang)}=源语言",$"{nameof(translateLang)}=目标语言", "return=文字识别结果数据")]
public IEnumerable<OcrResult> TranslateOcrResults(IEnumerable<OcrResult> dResult,[SelfInput]SourceTranslateLang sourceTranslateLang,[SelfInput]TargetTranslateLang translateLang, CancellationToken ct)
{
Expand All @@ -44,8 +33,8 @@ public IEnumerable<OcrResult> TranslateOcrResults(IEnumerable<OcrResult> dResult
return result;
}

[ScenarioMethod("翻译文字", $"{nameof(dResult)}=文字识别结果数据",$"{nameof(translateLang)}=目标语言", "return=文字识别结果数据")]
public string TranslateOcrResults(string dResult,[SelfInput]SourceTranslateLang sourceTranslateLang,[SelfInput]TargetTranslateLang translateLang, CancellationToken ct)
[ScenarioMethod("翻译文字", $"{nameof(dResult)}=文字识别结果数据",$"{nameof(sourceTranslateLang)}=源语言",$"{nameof(translateLang)}=目标语言", "return=文字识别结果数据")]
public string TranslateOcrResults(string dResult,[SelfInput]SourceTranslateLang sourceTranslateLang,[SelfInput]TargetTranslateLang translateLang, CancellationToken? ct=null)
{
return TranslateApi.GetTranslation(dResult,sourceTranslateLang,translateLang).Result;

Expand Down

0 comments on commit 93f9eba

Please sign in to comment.