Pārlūkot izejas kodu

按钮埋点-添加

liyijie 1 gadu atpakaļ
vecāks
revīzija
7e99172a8d

+ 31 - 4
PDF Office/ViewModels/BOTA/BOTAContentViewModel.cs

@@ -14,6 +14,7 @@ using Prism.Services.Dialogs;
 using PDF_Master.Views.PageEdit;
 using PDF_Master.Properties;
 using PDF_Master.Helper;
+using PDFReader_WPF.Helper;
 
 namespace PDF_Master.ViewModels.BOTA
 {
@@ -124,19 +125,45 @@ namespace PDF_Master.ViewModels.BOTA
         private void TabControlSelectionChangedEvent(object e)
         {
             var args = e as SelectionChangedEventArgs;
-            if (args != null&&args.AddedItems.Count>0)
+            if (args != null && args.AddedItems.Count > 0)
             {
                 if (!string.IsNullOrEmpty((args.AddedItems[0] as TabItem).Name))
                 {
+                    TabControlDataTracking((args.AddedItems[0] as TabItem).Name);
                     EnterSelectedBar((args.AddedItems[0] as TabItem).Name);
-                    if((args.AddedItems[0] as TabItem).IsSelected)
+                    if ((args.AddedItems[0] as TabItem).IsSelected)
                     {
                         viewContentViewModel.OpenBOTA = true;
                     }
                 }
             }
         }
-
+        /// <summary>
+        /// 侧边按钮埋点
+        /// </summary>
+        /// <param name="tag">按钮名字</param>
+        private void TabControlDataTracking(string tag)
+        {
+            switch (tag)
+            {
+                case "TabItemOutLine":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.LeftSideBar, "LeftSideBar_Btn", "Btn_LeftSideBar_Outline");
+                    break;
+
+                case "TabItemThumbnail":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.LeftSideBar, "LeftSideBar_Btn", "Btn_LeftSideBar_Thumbnail");
+                    break;
+                case "TabItemBookMark":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.LeftSideBar, "LeftSideBar_Btn", "Btn_LeftSideBar_BookMark");
+                    break;
+                case "TabItemAnnotation":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.LeftSideBar, "LeftSideBar_Btn", "Btn_LeftSideBar_Annotation");
+                    break;
+                case "TabItemSearch":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.LeftSideBar, "LeftSideBar_Btn", "Btn_LeftSideBar_Search");
+                    break;
+            }
+        }
         private void InitString()
         {
             Tip_Annote = App.MainPageLoader.GetString("ViewTopToolbar_Annotation");
@@ -206,7 +233,7 @@ namespace PDF_Master.ViewModels.BOTA
             if (Settings.Default.AppProperties.InitialVIew.RememberBOTA)
             {
                 //如果是加密文档 则先不展开,解密后再展开
-                if(pdfViewer.Document.IsLocked)
+                if (pdfViewer.Document.IsLocked)
                 {
                     return;
                 }

+ 3 - 2
PDF Office/ViewModels/Dialog/ServiceDialog/SubscriptionDialogViewModel.cs

@@ -4,6 +4,7 @@ using PDF_Master.Helper;
 using PDF_Master.Model;
 using PDF_Master.Model.EditTools.Watermark;
 using PDF_Master.Properties;
+using PDFReader_WPF.Helper;
 using Prism.Commands;
 using Prism.Mvvm;
 using Prism.Regions;
@@ -219,7 +220,7 @@ namespace PDF_Master.ViewModels.Dialog.ServiceDialog
         }
         private void Linkstore()
         {
-
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.PUW, "Sub_PUW", "PUW_Sub_Subscribe");
             Process.Start(new ProcessStartInfo(Uristore));
         }
 
@@ -228,7 +229,7 @@ namespace PDF_Master.ViewModels.Dialog.ServiceDialog
         /// </summary>
         private void WarermarkSaving()
         {
-            
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.PUW, "Sub_PUW", "PUW_Sub_SaveWatermark");
             String IsFormSave = "FormSave";
            
             if(open!=null)

+ 26 - 2
PDF Office/ViewModels/HomeContentViewModel.cs

@@ -4,6 +4,7 @@ using PDF_Master.CustomControl;
 using PDF_Master.EventAggregators;
 using PDF_Master.Helper;
 using PDF_Master.Model;
+using PDFReader_WPF.Helper;
 using Prism.Commands;
 using Prism.Events;
 using Prism.Mvvm;
@@ -114,7 +115,7 @@ namespace PDF_Master.ViewModels
 
         #endregion
 
-        public string currentViewName="";
+        public string currentViewName = "";
 
         private string fileName = "Home";
         public string FileName
@@ -186,6 +187,7 @@ namespace PDF_Master.ViewModels
         public void ShowToolContent(string view)
         {
             currentViewName = view;
+            ShowToolContentDataTracking(view);
             NavigationParameters param = new NavigationParameters();
             param.Add(ParameterNames.HomeContentViewModel, this);
             if (view.Contains("ChatGPT"))
@@ -197,7 +199,29 @@ namespace PDF_Master.ViewModels
 
             toolregion.RequestNavigate(ToolRegionName, view, param);
         }
-
+        /// <summary>
+        /// 显示右侧不同的工具栏页面埋点
+        /// </summary>
+        /// <param name="view"></param>
+        public void ShowToolContentDataTracking(string tag)
+        {
+            switch (tag)
+            {
+                case "Guid":
+                    //DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "AI_Btn", "Home");
+                    break;
+
+                case "ChatGPTAITranslationContent":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "AI_Btn", "AI Translation");
+                    break;
+                case "ChatGPTAIRewritingContent":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "AI_Btn", "AI Rewriting");
+                    break;
+                case "ChatGPTAIErrorCorrectionContent":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "AI_Btn", "AI Correction");
+                    break;
+            }
+        }
         /// <summary>
         /// 从外部拖拽打开文件
         /// </summary>

+ 4 - 0
PDF Office/ViewModels/HomePanel/PDFTools/HomeFilesContentViewModel.cs

@@ -2,6 +2,7 @@
 using Microsoft.Win32;
 using PDF_Master.Helper;
 using PDF_Master.Model;
+using PDFReader_WPF.Helper;
 using Prism.Commands;
 using Prism.Mvvm;
 using Prism.Regions;
@@ -157,6 +158,7 @@ namespace PDF_Master.ViewModels.HomePanel.PDFTools
 
             if (homeContentViewModel != null)
             {
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "Create_Btn", "Import From Scanner");
                 homeContentViewModel.createFromScanner("");
             }
         }
@@ -179,6 +181,7 @@ namespace PDF_Master.ViewModels.HomePanel.PDFTools
         {
             if (homeContentViewModel != null)
             {
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "Create_Btn", "New Blank Page");
                 homeContentViewModel.CreatBlankPDF();
             }
         }
@@ -190,6 +193,7 @@ namespace PDF_Master.ViewModels.HomePanel.PDFTools
         {
             if (homeContentViewModel != null)
             {
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Home, "Create_Btn", "New From File");
                 homeContentViewModel.createFromOtherFile();
             }
         }

+ 9 - 0
PDF Office/ViewModels/Tools/ConverterBarContentViewModel.cs

@@ -5,6 +5,7 @@ using PDF_Master.Helper;
 using PDF_Master.Model;
 using PDF_Master.Model.Dialog.ConverterDialogs;
 using PDF_Master.Properties;
+using PDFReader_WPF.Helper;
 using Prism.Commands;
 using Prism.Mvvm;
 using Prism.Regions;
@@ -81,6 +82,7 @@ namespace PDF_Master.ViewModels.Tools
                 switch (args.Name)
                 {
                     case "ConverterWordBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toWord");
                         dialogs.ShowDialog(DialogNames.ConverterWordDialog, value, e =>
                         {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
@@ -88,42 +90,49 @@ namespace PDF_Master.ViewModels.Tools
                         });
                         break;
                     case "ConverterExcelBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toExcel");
                         dialogs.ShowDialog(DialogNames.ConverterExcelDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
                         });
                         break;
                     case "ConverterPPTBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toPPT");
                         dialogs.ShowDialog(DialogNames.ConverterPPTDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
                         });
                         break;
                     case "ConverterRTFBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toRTF");
                         dialogs.ShowDialog(DialogNames.ConverterRTFDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
                         });
                         break;
                     case "ConverterCSVBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toCSV");
                         dialogs.ShowDialog(DialogNames.ConverterCSVDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
                         });
                         break;
                     case "ConverterHTMLBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toHTML");
                         dialogs.ShowDialog(DialogNames.ConverterHTMLDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
                         });
                         break;
                     case "ConverterTextBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toText");
                         dialogs.ShowDialog(DialogNames.ConverterTextDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);
                         });
                         break;
                     case "ConverterImgBtn":
+                        DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Converter, "SubTbr_Btn", "Btn_SubTbr_toImage");
                         dialogs.ShowDialog(DialogNames.ConverterImgDialog, value, e => {
                             ConverterDialogsModel converterDialogsModel = new ConverterDialogsModel();
                             converterDialogsModel.OnOpened((DialogResult)e);

+ 7 - 0
PDF Office/ViewModels/Tools/ToolsBarContentViewModel.cs

@@ -23,6 +23,7 @@ using Task = System.Threading.Tasks.Task;
 using PDF_Master.Model.Dialog.ToolsDialogs;
 using ComPDFKitViewer;
 using PDF_Master.Properties;
+using PDFReader_WPF.Helper;
 
 namespace PDF_Master.ViewModels.Tools
 {
@@ -181,6 +182,7 @@ namespace PDF_Master.ViewModels.Tools
 
         private async void OpenCompressDialog()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Tools, "SubTbr_Btn", "Btn_SubTbr_Compress");
             if (!ServiceHelper.IAPBeforeFunction())
             {
                 return;
@@ -239,6 +241,7 @@ namespace PDF_Master.ViewModels.Tools
         //}
         private async void MergeDialog()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Tools, "SubTbr_Btn", "Btn_SubTbr_Merge");
             if (!ServiceHelper.IAPBeforeFunction())
             {
                 return;
@@ -256,6 +259,7 @@ namespace PDF_Master.ViewModels.Tools
 
         private void OpenSetPasswordDialog()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Tools, "SubTbr_Btn", "Btn_SubTbr_SetPassword");
             if (!ServiceHelper.IAPBeforeFunction())
             {
                 return;
@@ -289,6 +293,7 @@ namespace PDF_Master.ViewModels.Tools
 
         private void OpenCancelPasswordDialog()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Tools, "SubTbr_Btn", "Btn_SubTbr_RemovePassword");
             ///无可用安全性设置的原因:
             ///文件本身无安全性设置,且没有设置过密码
             ///文件安全性已经被重置
@@ -333,12 +338,14 @@ namespace PDF_Master.ViewModels.Tools
 
         private void CropCurrentPageWM()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Tools, "SubTbr_Btn", "Btn_SubTbr_Crop");
             viewContentViewModel.IsLoading = Visibility.Visible;
              WaitCropCurrentPageWM();
             viewContentViewModel.IsLoading = Visibility.Collapsed;
         }
         private  void CropAllPagesWM()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Tools, "SubTbr_Btn", "Btn_SubTbr_Crop");
             viewContentViewModel.IsLoading = Visibility.Visible;
             WaitCropAllPagesWM();
             viewContentViewModel.IsLoading = Visibility.Collapsed;