From 67c632715b1596bdb8d842fc6bdc3af6f1477762 Mon Sep 17 00:00:00 2001 From: owen Date: Sat, 5 Sep 2026 23:08:56 +0800 Subject: [PATCH] ow --- .../PublishAudioService.auto.cs | 21 +- .../PublishPhotoService.auto.cs | 17 +- .../Policy/FileTypePolicy.cs | 13 +- WebVue/src/components/basic/MyComputer.vue | 416 +++++ .../src/components/basic/OperatorStation.vue | 257 +++ WebVue/src/components/basic/Search.vue | 2 +- WebVue/src/components/basic/Toolbar.vue | 179 ++ .../security/operation-to-enquiry.ts | 3 + WebVue/src/md/injections.md | 2 +- WebVue/src/views/login/changeLocalName.vue | 29 +- WebVue/src/views/login/changePassword.vue | 24 +- WebVue/src/views/master/DmsFileEnquiry.vue | 971 ++++------- WebVue/src/views/master/FamilyGroupShare.vue | 2 +- .../src/views/master/FamilyPersonEnquiry.vue | 2 +- WebVue/src/views/master/FamilyTreeEnquiry.vue | 2 +- WebVue/src/views/master/OrgDmsFileEnquiry.vue | 1539 +++++++++++++++++ .../src/views/master/PublishAudioEnquiry.vue | 8 +- .../views/master/PublishAudioOperation.vue | 8 +- .../src/views/master/PublishPhotoEnquiry.vue | 2 +- .../views/master/PublishPhotoOperation.vue | 13 +- .../src/views/master/PublishVideoEnquiry.vue | 8 +- .../views/master/PublishVideoOperation.vue | 8 +- WebVue/src/views/security/ActorEnquiry.vue | 2 +- WebVue/src/views/security/FunctionEnquiry.vue | 2 +- WebVue/src/views/security/GroupEnquiry.vue | 2 +- WebVue/src/views/security/MasterEnquiry.vue | 2 +- .../security/PermissionDependentModal.vue | 2 +- .../src/views/security/PermissionEnquiry.vue | 2 +- WebVue/src/views/security/UserEnquiry.vue | 2 +- 29 files changed, 2801 insertions(+), 739 deletions(-) create mode 100644 WebVue/src/components/basic/MyComputer.vue create mode 100644 WebVue/src/components/basic/OperatorStation.vue create mode 100644 WebVue/src/components/basic/Toolbar.vue create mode 100644 WebVue/src/views/master/OrgDmsFileEnquiry.vue diff --git a/CloudBuilder/CloudBuilder.Master.Service/PublishAudioService.auto.cs b/CloudBuilder/CloudBuilder.Master.Service/PublishAudioService.auto.cs index 523fd26..2132780 100644 --- a/CloudBuilder/CloudBuilder.Master.Service/PublishAudioService.auto.cs +++ b/CloudBuilder/CloudBuilder.Master.Service/PublishAudioService.auto.cs @@ -76,34 +76,19 @@ namespace CloudBuilder.Master.Service if (data.Details != null && data.Details.Length > 0) { - var webRootPath = service.Configuration[ServiceSettingsPolicy.RequestPath]; - var phy = service.Configuration[ServiceSettingsPolicy.PhysicalFileDirectory]; - var scale = service.Configuration[ServiceSettingsPolicy.DmsFileScaleDirectory].Replace(phy, ""); - foreach (var item in data.Details) { if (!string.IsNullOrEmpty(item.Pic) && FileTypePolicy.GetType(item.Pic!) == FileTypePolicy.PHOTO) { - var fileExtension = Path.GetExtension(item.Pic); - var filePathRel = Path.Combine(scale, item.CreatedBy, fileExtension.Replace(".", ""), ""); - var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/'); - item.FormattedPic = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + item.Pic; + item.FormattedPic = item.FormattedPic = FileTypePolicy.PackUrl(service, item.CreatedBy, item.Pic, YesNoPolicy.NO); } if (!string.IsNullOrEmpty(item.Url) && FileTypePolicy.GetType(item.Url!) == FileTypePolicy.AUDIO) { - var fileExtension = Path.GetExtension(item.Url); - var backup = service.Configuration[ServiceSettingsPolicy.DmsFileBackupDirectory].Replace(phy, ""); - var filePathRel = Path.Combine(backup, item.CreatedBy, fileExtension.Replace(".", ""), ""); - var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/'); - item.FormattedUrl = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + item.Url; + item.FormattedUrl = FileTypePolicy.PackUrl(service, item.CreatedBy, item.Url, YesNoPolicy.NO); } if (!string.IsNullOrEmpty(item.Lrc) && FileTypePolicy.GetType(item.Lrc!) == FileTypePolicy.LYRIC) { - var fileExtension = Path.GetExtension(item.Lrc); - var upload = service.Configuration[ServiceSettingsPolicy.DmsFileUploadDirectory].Replace(phy, ""); - var filePathRel = Path.Combine(upload, item.CreatedBy, fileExtension.Replace(".", ""), ""); - var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/'); - item.FormattedLrc = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + item.Lrc; + item.FormattedLrc = FileTypePolicy.PackUrl(service, item.CreatedBy, item.Lrc, YesNoPolicy.NO); } } diff --git a/CloudBuilder/CloudBuilder.Master.Service/PublishPhotoService.auto.cs b/CloudBuilder/CloudBuilder.Master.Service/PublishPhotoService.auto.cs index e931117..21fc548 100644 --- a/CloudBuilder/CloudBuilder.Master.Service/PublishPhotoService.auto.cs +++ b/CloudBuilder/CloudBuilder.Master.Service/PublishPhotoService.auto.cs @@ -80,13 +80,18 @@ namespace CloudBuilder.Master.Service if (data.Details != null || data.Details.Length > 0) foreach (var item in data.Details) { - item.FileName = (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "") + item.FileName; + item.FileName = PackImageFileName(isAttached, item.FileName); } return data; } + private string PackImageFileName(bool isAttached,string fileName) + { + return (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "") + + fileName?.Replace("\\", "/"); + } [PermissionOperate(name: MasterPermissionPolicy.PublishPhoto, operate: Operate.Find)] public PublishPhotoResultData FindBySearchCriteria(PublishPhotoSearchCriteria criteria) @@ -352,7 +357,7 @@ namespace CloudBuilder.Master.Service { if (item.FileName.ToLower().StartsWith("http")) continue; - item.FileName = (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "") + item.FileName; + item.FileName = PackImageFileName(isAttached, item.FileName); } return dtls; @@ -416,12 +421,12 @@ namespace CloudBuilder.Master.Service var webRootPath = service.Configuration[ServiceSettingsPolicy.RequestPath]; var phy = service.Configuration[ServiceSettingsPolicy.PhysicalFileDirectory]; - var scale = service.Configuration[ServiceSettingsPolicy.DmsFileScaleDirectory].Replace(phy, ""); + var backup = service.Configuration[ServiceSettingsPolicy.DmsFileBackupDirectory].Replace(phy, "").Substring(1); var fileExtension = Path.GetExtension(dmsFile.OrderKey); - var filePathRel = Path.Combine(scale, dmsFile.CreatedBy, fileExtension.Replace(".", ""), ""); - var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/'); - string path = Path.Combine(webRootPath, filePathRel, dmsFile.OrderKey); + var filePathRel = Path.Combine(webRootPath.Substring(1), backup, dmsFile.CreatedBy, fileExtension.Replace(".", ""), ""); + var filePath = '/'+filePathRel.Replace(Path.DirectorySeparatorChar, '/'); + string path = Path.Combine(filePath, dmsFile.OrderKey); PublishPhotoDetailEntity[] dtls = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publishName).ToArray(); diff --git a/CloudBuilder/CloudBuilder.Security/Policy/FileTypePolicy.cs b/CloudBuilder/CloudBuilder.Security/Policy/FileTypePolicy.cs index 80669a2..8197e77 100644 --- a/CloudBuilder/CloudBuilder.Security/Policy/FileTypePolicy.cs +++ b/CloudBuilder/CloudBuilder.Security/Policy/FileTypePolicy.cs @@ -80,7 +80,7 @@ namespace CloudBuilder.Security.Policy var phy = service.Configuration[ServiceSettingsPolicy.PhysicalFileDirectory] ?? ""; var fileExtension = Path.GetExtension(orderKey);//获取文件格式,拓展名 - if (GetType(orderKey!) == FileTypePolicy.PHOTO) + if (GetType(orderKey!) == PHOTO) { if (transcodeIndc == YesNoPolicy.YES) { @@ -98,14 +98,14 @@ namespace CloudBuilder.Security.Policy url = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + orderKey; } } - else if (GetType(orderKey!) == FileTypePolicy.AUDIO) + else if (GetType(orderKey!) == AUDIO) { var backup = (service.Configuration[ServiceSettingsPolicy.DmsFileBackupDirectory] ?? "").Replace(phy ?? "", ""); var filePathRel = Path.Combine(backup, createdBy, fileExtension.Replace(".", ""), ""); var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/') + "/"; url = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + orderKey; } - else if (GetType(orderKey!) == FileTypePolicy.VIDEO) + else if (GetType(orderKey!) == VIDEO) { if (transcodeIndc == YesNoPolicy.YES) { @@ -122,6 +122,13 @@ namespace CloudBuilder.Security.Policy url = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + orderKey; } } + else if (GetType(orderKey!) == LYRIC) + { + var upload = service.Configuration[ServiceSettingsPolicy.DmsFileUploadDirectory].Replace(phy, ""); + var filePathRel = Path.Combine(upload, createdBy, fileExtension.Replace(".", ""), ""); + var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/') + "/"; + url = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + orderKey; + } return url; } public static string PackSourceVideoUrl(IApplicationService service, string createdBy, string orderKey) diff --git a/WebVue/src/components/basic/MyComputer.vue b/WebVue/src/components/basic/MyComputer.vue new file mode 100644 index 0000000..ec7cc84 --- /dev/null +++ b/WebVue/src/components/basic/MyComputer.vue @@ -0,0 +1,416 @@ + + + + + diff --git a/WebVue/src/components/basic/OperatorStation.vue b/WebVue/src/components/basic/OperatorStation.vue new file mode 100644 index 0000000..1be695d --- /dev/null +++ b/WebVue/src/components/basic/OperatorStation.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/WebVue/src/components/basic/Search.vue b/WebVue/src/components/basic/Search.vue index d0a641e..d171d13 100644 --- a/WebVue/src/components/basic/Search.vue +++ b/WebVue/src/components/basic/Search.vue @@ -162,7 +162,7 @@ const paginationJ = ref(props["pagination"]); const rowSelectionType = ref(props["rowSelectionType"]); const tableY = ref(props["scrolly"]); -const enquiry = inject(enquiryMethodKey); +const enquiry = inject(enquiryMethodKey, undefined); const datas = enquiry?.getDatas()!; diff --git a/WebVue/src/components/basic/Toolbar.vue b/WebVue/src/components/basic/Toolbar.vue new file mode 100644 index 0000000..f7945da --- /dev/null +++ b/WebVue/src/components/basic/Toolbar.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/WebVue/src/injections/security/operation-to-enquiry.ts b/WebVue/src/injections/security/operation-to-enquiry.ts index 6d3eb9a..399137f 100644 --- a/WebVue/src/injections/security/operation-to-enquiry.ts +++ b/WebVue/src/injections/security/operation-to-enquiry.ts @@ -11,6 +11,9 @@ export class OperationToEnquiryModelOption { public isModalFunction?: boolean = false; public isModalTree?: boolean = false; //家谱树查询 public isModalPerson?: boolean = false; //族员人员查询 + public isModalPhoto?: boolean = false; + public isModalVideo?: boolean = false; + public isModalAudio?: boolean = false; public initBindOptionsUser?: BindOption[] = []; //初始化查询条件的值 public initBindOptionsGroup?: BindOption[] = []; public initBindOptionsActor?: BindOption[] = []; diff --git a/WebVue/src/md/injections.md b/WebVue/src/md/injections.md index a6384fa..0ccf341 100644 --- a/WebVue/src/md/injections.md +++ b/WebVue/src/md/injections.md @@ -14,7 +14,7 @@ provide( } ); # 子组件: -const actorOperationMethod = inject(operationToEnquiryMethodKey); +const actorOperationMethod =inject(operationToEnquiryMethodKey, undefined); const modelOption = actorOperationMethod?.getOperationToEnquiryModelOption() as OperationToEnquiryModelOption; const isModal = ref(modelOption ? modelOption.isModalActor : false); diff --git a/WebVue/src/views/login/changeLocalName.vue b/WebVue/src/views/login/changeLocalName.vue index fd4d2c5..f0caa23 100644 --- a/WebVue/src/views/login/changeLocalName.vue +++ b/WebVue/src/views/login/changeLocalName.vue @@ -1,6 +1,6 @@