From dbe400313c64d75ec0837d71b52308e3104c0882 Mon Sep 17 00:00:00 2001 From: cKey <35512826+colinin@users.noreply.github.com> Date: Thu, 11 Mar 2021 17:42:57 +0800 Subject: [PATCH] add oss-management menu data seed --- .../cloud-aliyun/LINGYUN.Abp.Aliyun/README.md | 65 +++++++----------- aspnet-core/modules/oss-management/README.md | 50 ++++++++++++++ .../Platform/PlatformDataSeedContributor.cs | 46 +++++++++++++ .../LINGYUN.ApiGateway.Host/event-bus-cap.db | Bin 40960 -> 40960 bytes 4 files changed, 119 insertions(+), 42 deletions(-) create mode 100644 aspnet-core/modules/oss-management/README.md diff --git a/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md b/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md index 9bd5a6546..6cb396563 100644 --- a/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md +++ b/aspnet-core/modules/cloud-aliyun/LINGYUN.Abp.Aliyun/README.md @@ -1,50 +1,31 @@ -# Oss-Management +# LINGYUN.Abp.Aliyun -File-Management更名为Oss-Management +阿里云sdk集成 -## 模块说明 +参照:https://help.aliyun.com/document_detail/28763.html -### 基础模块 +## 配置使用 -* [LINGYUN.Abp.OssManagement.Domain.Shared](./LINGYUN.Abp.OssManagement.Domain.Shared) 领域层公共模块,定义了错误代码、本地化、模块设置 -* [LINGYUN.Abp.OssManagement.Domain](./LINGYUN.Abp.OssManagement.Domain) 领域层模块,定义了抽象的Oss容器与对象管理接口 -* [LINGYUN.Abp.OssManagement.Application.Contracts](./LINGYUN.Abp.OssManagement.Application.Contracts) 应用服务层公共模块,定义了管理Oss的外部接口、权限、功能限制策略 -* [LINGYUN.Abp.OssManagement.Application](./LINGYUN.Abp.OssManagement.Application) 应用服务层实现,实现了Oss管理接口 -* [LINGYUN.Abp.OssManagement.HttpApi](./LINGYUN.Abp.OssManagement.HttpApi) RestApi实现,实现了独立的对外RestApi接口 -* [LINGYUN.Abp.OssManagement.SettingManagement](./LINGYUN.Abp.OssManagement.SettingManagement) 设置管理模块,对外暴露自身的设置管理,用于网关聚合 +模块按需引用 -### 高阶模块 +```csharp +[DependsOn(typeof(AbpAliyunModule))] +public class YouProjectModule : AbpModule +{ + // other +} +``` +## 配置项说明 -* [LINGYUN.Abp.OssManagement.Aliyun](./LINGYUN.Abp.OssManagement.Aliyun) Oss管理的阿里云实现,实现了部分阿里云Oss服务的容器与对象管理 -* [LINGYUN.Abp.OssManagement.FileSystem](./LINGYUN.Abp.OssManagement.FileSystem) Oss管理的本地文件系统实现,实现了部分本地文件系统的容器(目录)与对象(文件/目录)管理 -* [LINGYUN.Abp.OssManagement.FileSystem.ImageSharp](./LINGYUN.Abp.OssManagement.FileSystem.ImageSharp) Oss本地对象的ImageSharp扩展,当前端传递需求处理对象时,此模块用于实现基于图形文件流的处理 +* AliyunSettingNames.Authorization.RegionId 可选,区域,默认 default +* AliyunSettingNames.Authorization.AccessKeyId 必须,阿里云RAM账号的AccessKey ID +* AliyunSettingNames.Authorization.AccessKeySecret 必须,RAM账号的AccessKey Secret +* AliyunSettingNames.Authorization.UseSecurityTokenService 可选,建议,使用STS Token访问,按照阿里云文档,建议使用Sts Token访问API,默认false +* AliyunSettingNames.Authorization.RamRoleArn 可选,启用Sts Token之后必须配置,阿里云RAM角色ARN +* AliyunSettingNames.Authorization.RoleSessionName 可选,启用Sts Token之后的用户自定义令牌名称,用于访问审计 +* AliyunSettingNames.Authorization.DurationSeconds 可选,用户令牌的过期时间,单位为秒,默认3000 +* AliyunSettingNames.Authorization.Policy 可选,权限策略,为json字符串 -### 权限定义 +## 其他 -* AbpOssManagement.Container 授权对象是否允许访问容器(bucket) -* AbpOssManagement.Container.Create 授权对象是否允许创建容器(bucket) -* AbpOssManagement.Container.Delete 授权对象是否允许删除容器(bucket) -* AbpOssManagement.OssObject 授权对象是否允许访问Oss对象 -* AbpOssManagement.OssObject.Create 授权对象是否允许创建Oss对象 -* AbpOssManagement.OssObject.Delete 授权对象是否允许删除Oss对象 -* AbpOssManagement.OssObject.Download 授权对象是否允许下载Oss对象 - -### 功能定义 - -* AbpOssManagement.OssObject.DownloadFile 用户可以下载文件 -* AbpOssManagement.OssObject.DownloadLimit 用户在周期内允许下载文件的最大次数,范围0-1000000 -* AbpOssManagement.OssObject.DownloadInterval 用户限制下载文件次数的周期,时钟刻度:月,默认: 1,范围1-12 -* AbpOssManagement.OssObject.UploadFile 用户可以上传文件 -* AbpOssManagement.OssObject.UploadLimit 用户在周期内允许上传文件的最大次数,范围0-1000000 -* AbpOssManagement.OssObject.UploadInterval 用户限制上传文件次数的周期,时钟刻度:月,默认: 1,范围1-12 -* AbpOssManagement.OssObject.MaxUploadFileCount 单次上传文件的数量,未实现 - -### 配置定义 - -* Abp.OssManagement.DownloadPackageSize 下载分包大小,分块下载时单次传输的数据大小,未实现 -* Abp.OssManagement.FileLimitLength 上传文件限制大小,默认:100 -* Abp.OssManagement.AllowFileExtensions 允许的上传文件扩展名,多个扩展名以逗号分隔,默认:dll,zip,rar,txt,log,xml,config,json,jpeg,jpg,png,bmp,ico,xlsx,xltx,xls,xlt,docs,dots,doc,dot,pptx,potx,ppt,pot,chm - -## 更新日志 - -*【2021-03-10】 变更FileManagement命名空间为OssManagement +网络因素在高并发下可能会出现预期外的异常,考虑使用二级缓存 diff --git a/aspnet-core/modules/oss-management/README.md b/aspnet-core/modules/oss-management/README.md new file mode 100644 index 000000000..9bd5a6546 --- /dev/null +++ b/aspnet-core/modules/oss-management/README.md @@ -0,0 +1,50 @@ +# Oss-Management + +File-Management更名为Oss-Management + +## 模块说明 + +### 基础模块 + +* [LINGYUN.Abp.OssManagement.Domain.Shared](./LINGYUN.Abp.OssManagement.Domain.Shared) 领域层公共模块,定义了错误代码、本地化、模块设置 +* [LINGYUN.Abp.OssManagement.Domain](./LINGYUN.Abp.OssManagement.Domain) 领域层模块,定义了抽象的Oss容器与对象管理接口 +* [LINGYUN.Abp.OssManagement.Application.Contracts](./LINGYUN.Abp.OssManagement.Application.Contracts) 应用服务层公共模块,定义了管理Oss的外部接口、权限、功能限制策略 +* [LINGYUN.Abp.OssManagement.Application](./LINGYUN.Abp.OssManagement.Application) 应用服务层实现,实现了Oss管理接口 +* [LINGYUN.Abp.OssManagement.HttpApi](./LINGYUN.Abp.OssManagement.HttpApi) RestApi实现,实现了独立的对外RestApi接口 +* [LINGYUN.Abp.OssManagement.SettingManagement](./LINGYUN.Abp.OssManagement.SettingManagement) 设置管理模块,对外暴露自身的设置管理,用于网关聚合 + +### 高阶模块 + +* [LINGYUN.Abp.OssManagement.Aliyun](./LINGYUN.Abp.OssManagement.Aliyun) Oss管理的阿里云实现,实现了部分阿里云Oss服务的容器与对象管理 +* [LINGYUN.Abp.OssManagement.FileSystem](./LINGYUN.Abp.OssManagement.FileSystem) Oss管理的本地文件系统实现,实现了部分本地文件系统的容器(目录)与对象(文件/目录)管理 +* [LINGYUN.Abp.OssManagement.FileSystem.ImageSharp](./LINGYUN.Abp.OssManagement.FileSystem.ImageSharp) Oss本地对象的ImageSharp扩展,当前端传递需求处理对象时,此模块用于实现基于图形文件流的处理 + +### 权限定义 + +* AbpOssManagement.Container 授权对象是否允许访问容器(bucket) +* AbpOssManagement.Container.Create 授权对象是否允许创建容器(bucket) +* AbpOssManagement.Container.Delete 授权对象是否允许删除容器(bucket) +* AbpOssManagement.OssObject 授权对象是否允许访问Oss对象 +* AbpOssManagement.OssObject.Create 授权对象是否允许创建Oss对象 +* AbpOssManagement.OssObject.Delete 授权对象是否允许删除Oss对象 +* AbpOssManagement.OssObject.Download 授权对象是否允许下载Oss对象 + +### 功能定义 + +* AbpOssManagement.OssObject.DownloadFile 用户可以下载文件 +* AbpOssManagement.OssObject.DownloadLimit 用户在周期内允许下载文件的最大次数,范围0-1000000 +* AbpOssManagement.OssObject.DownloadInterval 用户限制下载文件次数的周期,时钟刻度:月,默认: 1,范围1-12 +* AbpOssManagement.OssObject.UploadFile 用户可以上传文件 +* AbpOssManagement.OssObject.UploadLimit 用户在周期内允许上传文件的最大次数,范围0-1000000 +* AbpOssManagement.OssObject.UploadInterval 用户限制上传文件次数的周期,时钟刻度:月,默认: 1,范围1-12 +* AbpOssManagement.OssObject.MaxUploadFileCount 单次上传文件的数量,未实现 + +### 配置定义 + +* Abp.OssManagement.DownloadPackageSize 下载分包大小,分块下载时单次传输的数据大小,未实现 +* Abp.OssManagement.FileLimitLength 上传文件限制大小,默认:100 +* Abp.OssManagement.AllowFileExtensions 允许的上传文件扩展名,多个扩展名以逗号分隔,默认:dll,zip,rar,txt,log,xml,config,json,jpeg,jpg,png,bmp,ico,xlsx,xltx,xls,xlt,docs,dots,doc,dot,pptx,potx,ppt,pot,chm + +## 更新日志 + +*【2021-03-10】 变更FileManagement命名空间为OssManagement diff --git a/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/PlatformDataSeedContributor.cs b/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/PlatformDataSeedContributor.cs index 16a965012..4eac99d56 100644 --- a/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/PlatformDataSeedContributor.cs +++ b/aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/PlatformDataSeedContributor.cs @@ -59,6 +59,8 @@ namespace LINGYUN.Platform await SeedContainerMenuAsync(layout, data); // 网关管理菜单数据 await SeedApiGatewayMenuAsync(layout, data); + // Oss对象管理菜单数据 + await SeedOssManagementMenuAsync(layout, data); } } @@ -729,6 +731,50 @@ namespace LINGYUN.Platform new string[] { "admin" }); } + private async Task SeedOssManagementMenuAsync(Layout layout, Data data) + { + var ossManagementMenu = await SeedMenuAsync( + layout, + data, + "oss-management", + "/oss-management", + CodeNumberGenerator.CreateCode(8), + layout.Path, + "Manage Object Storage", + "/oss-manager", + "Manage Object Storage", + null, + layout.TenantId, + new Dictionary() + { + { "title", "oss-management" }, + { "icon", "file-system" }, + { "alwaysShow", true }, + { "roles", new string[] { "AbpOssManagement.Container", "AbpOssManagement.OssObject" } }, + }, + new string[] { "admin" }); + + await SeedMenuAsync( + layout, + data, + "oss-manager", + "oss-manager", + CodeNumberGenerator.AppendCode(ossManagementMenu.Code, CodeNumberGenerator.CreateCode(1)), + "views/oss-management/index.vue", + "Manage Oss Object", + "", + "Manage Oss Object", + ossManagementMenu.Id, + ossManagementMenu.TenantId, + new Dictionary() + { + { "title", "oss-objects" }, + { "icon", "file-system" }, + { "roles", new string[] { "AbpOssManagement.OssObject" } } + }, + new string[] { "admin" }); + } + private async Task SeedMenuAsync( Layout layout, Data data, diff --git a/aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db b/aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db index e2441e0c74351cd10d54293aef716951eda2fbe3..0a9a3cae402356fa9f1e6b2254a586a2a1012308 100644 GIT binary patch delta 264 zcmZoTz|?SnX@WFwD+2=q7Z7s-G3!JPbH>(<2@Ci|c!6970R{$^Vi;snnCK|HSzW+~ zg@u8EyLWSWiVqWz#c8|wc$zne#rAHqSf&?<#j;?t$V@*bCZ>SRDcL?uVj%NDhVhFd z!_8s}jQsIHnU}(h8!XnOHZTYQId^~@lYKyrAdqt&$T2*#MHx+~;S`e(Hxr&H-)QvKbpkk@D4oB%g+4fnRoqzgny8DbEed{EUN&Ohe{64 zd3Jw)_amyOLE7jTRx68+(Vx_VM00StHauIomU4<2r