Bladeren bron

埋点-部分功能埋点

liyijie 1 jaar geleden
bovenliggende
commit
28f0ddc4b6

+ 20 - 8
PDF Office/Helper/DataTrackingHelper.cs

@@ -136,6 +136,14 @@ namespace PDFReader_WPF.Helper
 
         public enum EventType
         {
+            /// <summary>
+            /// LeftSideBar
+            /// </summary>
+            LeftSideBar,
+            /// <summary>
+            /// Home
+            /// </summary>
+            Home,
             /// <summary>
             /// ToolBar
             /// </summary>
@@ -148,7 +156,6 @@ namespace PDFReader_WPF.Helper
             /// TopToolBar
             /// </summary>
             TopTbr,
-            LeftSideBar,
             App,
             ActiveDialog,
             OnBrd,
@@ -170,6 +177,18 @@ namespace PDFReader_WPF.Helper
             /// </summary>
             SubTbr_Tools,
             /// <summary>
+            /// 注释工具条
+            /// </summary>
+            SubTbr_Annotation,
+            /// <summary>
+            /// 编辑PDF
+            /// </summary>
+            SubTbr_EditPDF,
+            /// <summary>
+            /// 转档工具条
+            /// </summary>
+            SubTbr_Converter,
+            /// <summary>
             /// 编辑子工具点击采购埋点
             /// </summary>
             Purchase_Editor,
@@ -193,13 +212,6 @@ namespace PDFReader_WPF.Helper
             /// 注释子工具点击采购埋点
             /// </summary>
             Purchase_Tools,
-            /// <summary>
-            /// 转档子工具
-            /// </summary>
-            SubTbr_Converter
-
-
-
         }
 
         public enum EntryPathKeyType

+ 3 - 1
PDF Office/ViewModels/MainWindowViewModel.cs

@@ -25,6 +25,7 @@ using PDF_Master.Helper;
 using PDFSettings;
 using PDF_Master.ViewModels.Dialog.ServiceDialog;
 using System.Diagnostics;
+using PDFReader_WPF.Helper;
 
 namespace PDF_Master.ViewModels
 {
@@ -407,8 +408,9 @@ namespace PDF_Master.ViewModels
 
        
 
-            private void Upgradelink()
+        private void Upgradelink()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_Upgrade");
             Process.Start(new ProcessStartInfo("http://test-pdf-pro.kdan.cn:3021/master/checkout?email="+Settings.Default.UserDate.Email));
         }
         //显示新手引导弹窗

+ 14 - 4
PDF Office/ViewModels/PageEdit/PageEditContentViewModel.cs

@@ -8,6 +8,7 @@ using PDF_Master.Helper;
 using PDF_Master.Model;
 using PDF_Master.Model.HomePageToolsDialogs;
 using PDF_Master.Model.PageEdit;
+using PDFReader_WPF.Helper;
 using Prism.Commands;
 using Prism.Events;
 using Prism.Mvvm;
@@ -727,6 +728,7 @@ namespace PDF_Master.ViewModels.PageEdit
         /// </summary>
         private async void ReplaceCommandEvent()
         {
+            
             //支持插入格式:PDF、图片、Office格式文件
             string allfiles = Pdf + Txt + Word + Excel + Ppt + Image + Html;
 
@@ -832,7 +834,7 @@ namespace PDF_Master.ViewModels.PageEdit
                         ReloadAfterOption(true, false, Tuple.Create(insertIndex - 1, insertIndex + pageCount));
                     }
                 }
-
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Replace");
                 IsLoading = Visibility.Collapsed;
             }
         }
@@ -855,6 +857,7 @@ namespace PDF_Master.ViewModels.PageEdit
                     {
                         return;
                     }
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Split");
                     var model = e.Parameters.GetValue<HomePageSplitDialogModel>(ParameterNames.DataModel);
                     DoSplitPages(model);
                 }
@@ -886,6 +889,7 @@ namespace PDF_Master.ViewModels.PageEdit
                     {
                         return;
                     }
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Extract");
                     var model = e.Parameters.GetValue<ExtractModel>(ParameterNames.DataModel);
                     DoExtractPages(model.IsEveryPageToFile, model.IsDeleteAfterExtract);
                 }
@@ -969,6 +973,7 @@ namespace PDF_Master.ViewModels.PageEdit
                 await Task.Delay(10);
                 //选中插入的页面
                 ListSelectedIndex = insertIndex;
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Insert");
             }
 
             #endregion 插入空白页面
@@ -1230,7 +1235,7 @@ namespace PDF_Master.ViewModels.PageEdit
         {
             AlertsMessage alertsMessage = new AlertsMessage();
             alertsMessage.ShowDialog("", T_DeleteLook, App.ServiceLoader.GetString("Text_no"), App.ServiceLoader.GetString("Text_ok"));
-
+            
             if (alertsMessage.result == ContentResult.Ok)
             {
                 IsLoading = Visibility.Visible;
@@ -1270,6 +1275,7 @@ namespace PDF_Master.ViewModels.PageEdit
                 //通知Xaml删除后 选中的页面,从VM设置选中项会有问题
                 NotifyUIToRefresh(new List<int>() { index });
                 IsLoading = Visibility.Collapsed;
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Delete");
             }
         }
 
@@ -1278,6 +1284,7 @@ namespace PDF_Master.ViewModels.PageEdit
         /// </summary>
         private void LeftRotateCommandEvent()
         {
+           
             List<int> pageitems = new List<int>();
             if (IsMouseRightButtonDown)
             {
@@ -1295,6 +1302,7 @@ namespace PDF_Master.ViewModels.PageEdit
             {
                 RotateSelectedPages(false);
             }
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Rotate");
         }
 
         /// <summary>
@@ -1302,6 +1310,7 @@ namespace PDF_Master.ViewModels.PageEdit
         /// </summary>
         private void RightRotateCommandEvent()
         {
+            
             List<int> pageitems = new List<int>();
             if (IsMouseRightButtonDown)
             {
@@ -1319,6 +1328,7 @@ namespace PDF_Master.ViewModels.PageEdit
             {
                 RotateSelectedPages();
             }
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Rotate");
         }
 
         /// <summary>
@@ -1337,7 +1347,7 @@ namespace PDF_Master.ViewModels.PageEdit
                 }
             }
             DoReverse(pages);
-
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Reverse");
             IsLoading = Visibility.Collapsed;
         }
 
@@ -1885,7 +1895,7 @@ namespace PDF_Master.ViewModels.PageEdit
             {
                 return;
             }
-
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_PageEdit, "SubTbr_Btn", "Btn_SubTbr_Copy");
             if (viewContentViewModel.CheckPermissionBeforeOption())
             {
                 int pageIndex = 0;

+ 49 - 0
PDF Office/ViewModels/Tools/AnnotToolContentViewModel.cs

@@ -20,6 +20,7 @@ using PDF_Master.ViewModels.Tools.AnnotManager;
 using PDF_Master.Views;
 using PDF_Master.Views.BOTA;
 using PDF_Master.Views.PropertyPanel.AnnotPanel;
+using PDFReader_WPF.Helper;
 using PDFSettings;
 using Prism.Commands;
 using Prism.Events;
@@ -170,6 +171,7 @@ namespace PDF_Master.ViewModels.Tools
         //手型工具
         private void Hand_Click()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Scroll");
             HandToolIsCheckedEvent(BtnHandIsChecked);
             if (BtnHandIsChecked)
             {
@@ -223,6 +225,7 @@ namespace PDF_Master.ViewModels.Tools
             dictVar.Add("isSnapshotEdit", false);
             AnnotHandlerEventArgs annotArgs = null;
             var tag = annotBtn.Tag.ToString();
+            ToolsSelectonDataTracking(tag);
             ViewContentViewModel.IsSelectedTextAddLink = false;
             if (annotBtn.IsChecked == true)
             {
@@ -294,6 +297,52 @@ namespace PDF_Master.ViewModels.Tools
             }
         }
 
+        /// <summary>
+        /// 工具选项卡切换埋点
+        /// </summary>
+        /// <param name="e"></param>
+        private void ToolsSelectonDataTracking(string tag)
+        {
+            switch (tag)
+            {
+                case "SnapshotEdit":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_ContentSelection");
+                    break;
+
+                case "HighLight":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Highlight");
+                    break;
+                case "UnderLine":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Underline");
+                    break;
+                case "Strikeout":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Strikethrough");
+                    break;
+                case "Freehand":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Draw");
+                    break;
+                case "Freetext":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Text");
+                    break;
+                case "StickyNote":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Note");
+                    break;
+                case "Rect":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Shape");
+                    break;
+                case "Link":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Link");
+                    break;
+                case "Stamp":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Stamp");
+                    break;
+                case "Signature":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_Annotation, "SubTbr_Btn", "Btn_SubTbr_Sign");
+                    break;
+            }
+
+        }
+
         private void UncheckAnnot()
         {
             //取消选中注释工具按钮后,恢复到未编辑注释的状态

+ 3 - 0
PDF Office/ViewModels/Tools/TextEditToolContentViewModel.cs

@@ -25,6 +25,7 @@ using System.Drawing.Imaging;
 using PDF_Master.EventAggregators;
 using Prism.Events;
 using System.Windows.Media.Imaging;
+using PDFReader_WPF.Helper;
 
 namespace PDF_Master.ViewModels.Tools
 {
@@ -388,6 +389,7 @@ namespace PDF_Master.ViewModels.Tools
             {
                 if (modeType == "Text")
                 {
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_EditPDF, "SubTbr_Btn", "Btn_SubTbr_AddText");
                     IsImgEdit = false;
                     IsTextEdit = true;
 
@@ -402,6 +404,7 @@ namespace PDF_Master.ViewModels.Tools
                 }
                 else
                 {
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.SubTbr_EditPDF, "SubTbr_Btn", "Btn_SubTbr_AddImage");
                     IsImgEdit = true;
                     IsTextEdit = false;
 

+ 35 - 4
PDF Office/ViewModels/ViewContentViewModel.cs

@@ -54,6 +54,7 @@ using System.Windows.Media.Imaging;
 using ComPDFKit.PDFWatermark;
 using PDF_Master.ViewModels.PageEdit;
 using System.Windows.Annotations;
+using PDFReader_WPF.Helper;
 
 namespace PDF_Master.ViewModels
 {
@@ -1701,6 +1702,7 @@ namespace PDF_Master.ViewModels
         {
             try
             {
+                DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_Share");
                 //分享前自动保存
                 if (!await SaveBeforeOption())
                 {
@@ -1921,6 +1923,7 @@ namespace PDF_Master.ViewModels
 
         public void ShowAITranslationDialog()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_AITranslate");
             DialogParameters printValue = new DialogParameters();
             printValue.Add(ParameterNames.PDFViewer, PDFViewer);
             printValue.Add(ParameterNames.FilePath, PDFViewer.Document.FileName);
@@ -1931,6 +1934,7 @@ namespace PDF_Master.ViewModels
 
         public void ShowPrintDialog()
         {
+            DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_Print");
             DialogParameters printValue = new DialogParameters();
             printValue.Add(ParameterNames.PDFViewer, PDFViewer);
             printValue.Add(ParameterNames.FilePath, PDFViewer.Document.FileName);
@@ -2155,6 +2159,7 @@ namespace PDF_Master.ViewModels
             {
                 var item = args.AddedItems[0] as TabItem;
                 CurrentBar = item.Name;
+                TabControlSelectonDataTracking(item.Name);
                 if (previousBar != CurrentBar)
                 {
                     if (CurrentBar == "TabItemPageEdit")//如果是页面编辑则进入页面编辑模式
@@ -2170,12 +2175,38 @@ namespace PDF_Master.ViewModels
                 }
             }
         }
-
         /// <summary>
-        /// 进入页面编辑模式
+        /// 选项卡切换事件
         /// </summary>
-        //工具栏添加功能应注意自处
-        public void EnterPageEdit()
+        /// <param name="e"></param>
+        private void TabControlSelectonDataTracking(string currentBar)
+        {
+            switch (currentBar) {
+                case "TabItemAnnotation":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_Annotation");
+                    break;
+
+                case "TabItemEdit":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_EditPDF");
+                    break;
+                case "TabItemPageEdit":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_PageEdit");
+                    break;
+                case "TabItemConvert":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_Converter");
+                    break;
+                case "TabItemTool":
+                    DataTrackingHelper.SendEvent(DataTrackingHelper.EventType.Tbr, "Tbr_Btn", "Btn_Tbr_Tools");
+                    break;
+            }
+        
+        }
+
+            /// <summary>
+            /// 进入页面编辑模式
+            /// </summary>
+            //工具栏添加功能应注意自处
+            public void EnterPageEdit()
         {
             if (TabSelectedIndex != 2)
             {