using PDF_Master.Helper; using PDF_Master.Model; using PDF_Master.Properties; using Prism.Commands; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Windows; using System.Windows.Forms; using System.Windows.Threading; namespace PDF_Master.ViewModels.HomePanel.ChatGPTAI { public class ChatGPTAIRewritingContentViewModel : BindableBase, INavigationAware { #region 参数和属性 public HomeContentViewModel homeContentViewModel = null; private string inputText; public string InputText { get { return inputText; } set { SetProperty(ref inputText, value); } } private string rewriteText; public string RewriteText { get { return rewriteText; } set { SetProperty(ref rewriteText, value); } } private Visibility showTip = Visibility.Collapsed; public Visibility ShowTip { get { return showTip; } set { SetProperty(ref showTip, value); } } private string errorTipText; public string ErrorTipText { get { return errorTipText; } set { SetProperty(ref errorTipText, value); } } private Visibility errorVisible = Visibility.Collapsed; public Visibility ErrorVisible { get { return errorVisible; } set { SetProperty(ref errorVisible, value); } } #endregion #region 委托声明 public DelegateCommand CopyCommand { get; set; } public DelegateCommand RewriteCommand { get; set; } #endregion public ChatGPTAIRewritingContentViewModel() { CopyCommand = new DelegateCommand(copy); RewriteCommand = new DelegateCommand(rewrite); } #region 逻辑函数 /// /// 复制到剪切板 /// public void copy() { try { System.Windows.Forms.Clipboard.SetText(RewriteText); //Copy成功显示 ShowTip=Visibility.Visible; } catch { } } /// /// 重写逻辑 /// public async void rewrite() { //添加付费拦截锁 if (!ServiceHelper.IAPBeforeFunction()) { return; } if (Settings.Default.UserDate.subscribestatus != 1) { App.mainWindowViewModel.dialogs.ShowDialog(DialogNames.IAPCompareDialog); return; } ErrorVisible = Visibility.Collapsed; await Task.Run(async delegate { RewriteText = await ChatGTPAIHelper.Rewrite(InputText); }); if (ChatGTPAIHelper.Code != "200") { //错误码文案,报错样式 ErrorTipText = ChatGTPAIHelper.Code; ErrorVisible = Visibility.Visible; } } #endregion #region 构架行为 public void OnNavigatedTo(NavigationContext navigationContext) { navigationContext.Parameters.TryGetValue(ParameterNames.HomeContentViewModel, out homeContentViewModel); } public bool IsNavigationTarget(NavigationContext navigationContext) { return true; } public void OnNavigatedFrom(NavigationContext navigationContext) { } #endregion } }