using Nop.Web.Framework.Mvc.ModelBinding; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Models { public record ConfigureModel { [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.CerebrasApiKey")] public string ApiKey { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.CerebrasModelName")] public string ModelName { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.OpenAIApiKey")] public string OpenAIApiKey { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.OpenAIModelName")] public string OpenAIModelName { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.IsEnabled")] public bool IsEnabled { get; set; } [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.CerebrasApiBaseUrl")] public string ApiBaseUrl { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.OpenAIApiBaseUrl")] public string OpenAIApiBaseUrl { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.MaxTokens")] public int MaxTokens { get; set; } [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.Temperature")] public decimal Temperature { get; set; } [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.RequestTimeoutSeconds")] public int RequestTimeoutSeconds { get; set; } // ── Z.ai GLM-OCR ────────────────────────────────────────────────────────────── [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ZaiApiKey")] public string ZaiApiKey { get; set; } = string.Empty; [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ZaiModel")] public string ZaiModel { get; set; } = "glm-ocr"; } }