private static void OnChanged(object source, FileSystemEventArgs e)
        {
            SVNHelper.htpasswdRead();

            foreach (var item in ProgramSetting.APIConfig)
            {
                bool is_Success = false;
                int  reTryCount = 3;
                if (is_Success == false && reTryCount > 0)
                {
                    // 加密发送消息
                    JsonPostModel jpm = new JsonPostModel();
                    jpm.Agent    = JsonPostModelAgent.Client.ToString();
                    jpm.DataType = JsonPostModelDataType.AllAuthInfo.ToString();
                    jpm.Data     = htpasswdUserAndPassword.UsersTable;
                    is_Success   = WebFunctionHelper.PostToAPI(EncryptsAndDecryptsHelper.Encrypt(JsonConvert.SerializeObject(jpm), item.SecretKey, item.IV), item.APIurl, item.SecretKey, item.IV);
                    if (is_Success)
                    {
                        is_Success = true;
                    }
                    else
                    {
                        LogHelper.WriteLog("发送Repo更新信息出现错误", LogHelper.Log4NetLevel.Error);
                        reTryCount--;
                        Thread.Sleep(3000);
                    }
                }
                else
                {
                    LogHelper.WriteLog("发送Repo更新信息重试3次之后依旧出错!", LogHelper.Log4NetLevel.Error);
                }
            }
        }
        // 文件/文件夹删除处理
        private static void OnDeleted(object source, FileSystemEventArgs e)
        {
            // 如果是目录被删除则为Repo被删除
            var dirName = FileHelper.GetGrampaDirectoryName(e.FullPath);

            if (File.GetAttributes(e.FullPath.Replace(e.Name, "")) == FileAttributes.Directory)
            {
                //删除这个Repo
                RepoDataSourcePermission.RepoPermissons.Remove(dirName);
                LogHelper.WriteLog(e.FullPath + "\n repo 被删除", LogHelper.Log4NetLevel.Debug);

                foreach (var item in ProgramSetting.APIConfig)
                {
                    bool is_Success = false;
                    int  reTryCount = 3;
                    if (is_Success == false && reTryCount > 0)
                    {
                        // 删除repo
                        DelRepo dr = new DelRepo();
                        dr.RepoName = dirName;
                        // 加密发送消息
                        JsonPostModel jpm = new JsonPostModel();
                        jpm.Agent    = JsonPostModelAgent.Client.ToString();
                        jpm.DataType = JsonPostModelDataType.DelRepo.ToString();
                        jpm.Data     = dr;
                        is_Success   = WebFunctionHelper.PostToAPI(EncryptsAndDecryptsHelper.Encrypt(JsonConvert.SerializeObject(jpm), item.SecretKey, item.IV), item.APIurl, item.SecretKey, item.IV);
                        if (is_Success)
                        {
                            is_Success = true;
                        }
                        else
                        {
                            LogHelper.WriteLog("发送删除Repo信息出现错误", LogHelper.Log4NetLevel.Error);
                            reTryCount--;
                            Thread.Sleep(3000);
                        }
                    }
                    else
                    {
                        LogHelper.WriteLog("发送删除Repo信息重试3次之后依旧出错!", LogHelper.Log4NetLevel.Error);
                    }
                }
            }
            else
            {
                Console.WriteLine("文件被删除");
            }
        }
        // 文件/文件夹改变处理
        private static void OnChanged(object source, FileSystemEventArgs e)
        {
            // e.FullPath 是FileInfo类型 直接使用可输出完整路径
            var change = SVNHelper.ReadRepositoriesFile(e.FullPath);

            // 将变化写入
            SVNHelper.MergeRepoDictionary(RepoDataSourcePermission.RepoPermissons, change);
            LogHelper.WriteLog(e.FullPath + "\n 文件发生变化", LogHelper.Log4NetLevel.Debug);

            foreach (var item in ProgramSetting.APIConfig)
            {
                bool is_Success = false;
                int  reTryCount = 3;
                if (is_Success == false && reTryCount > 0)
                {
                    // 加密发送消息
                    JsonPostModel jpm = new JsonPostModel();
                    jpm.Agent    = JsonPostModelAgent.Client.ToString();
                    jpm.DataType = JsonPostModelDataType.ChangeRepo.ToString();
                    jpm.Data     = change;
                    is_Success   = WebFunctionHelper.PostToAPI(EncryptsAndDecryptsHelper.Encrypt(JsonConvert.SerializeObject(jpm), item.SecretKey, item.IV), item.APIurl, item.SecretKey, item.IV);
                    if (is_Success)
                    {
                        is_Success = true;
                    }
                    else
                    {
                        LogHelper.WriteLog("发送Repo更新信息出现错误", LogHelper.Log4NetLevel.Error);
                        reTryCount--;
                        Thread.Sleep(3000);
                    }
                }
                else
                {
                    LogHelper.WriteLog("发送Repo更新信息重试3次之后依旧出错!", LogHelper.Log4NetLevel.Error);
                }
            }
        }