42 changed files with 529 additions and 192 deletions
@ -0,0 +1,28 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>net5.0</TargetFramework> |
|||
<RootNamespace /> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<None Remove="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\en.json" /> |
|||
<None Remove="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\zh-Hans.json" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<EmbeddedResource Include="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\en.json" /> |
|||
<EmbeddedResource Include="LINGYUN\Abp\Aliyun\SettingManagement\Localization\Resources\zh-Hans.json" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Volo.Abp.AspNetCore.Mvc" Version="4.2.1" /> |
|||
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="4.2.1" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<ProjectReference Include="..\..\common\LINGYUN.Abp.Sms.Aliyun\LINGYUN.Abp.Sms.Aliyun.csproj" /> |
|||
<ProjectReference Include="..\..\settings\LINGYUN.Abp.SettingManagement.Application.Contracts\LINGYUN.Abp.SettingManagement.Application.Contracts.csproj" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
@ -0,0 +1,42 @@ |
|||
using LINGYUN.Abp.Aliyun.Localization; |
|||
using LINGYUN.Abp.Sms.Aliyun; |
|||
using Localization.Resources.AbpUi; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using Volo.Abp.AspNetCore.Mvc; |
|||
using Volo.Abp.Localization; |
|||
using Volo.Abp.Modularity; |
|||
using Volo.Abp.VirtualFileSystem; |
|||
|
|||
namespace LINGYUN.Abp.Aliyun.SettingManagement |
|||
{ |
|||
[DependsOn( |
|||
typeof(AbpAliyunModule), |
|||
typeof(AbpAliyunSmsModule), |
|||
typeof(AbpAspNetCoreMvcModule))] |
|||
public class AbpAliyunSettingManagementModule : AbpModule |
|||
{ |
|||
public override void PreConfigureServices(ServiceConfigurationContext context) |
|||
{ |
|||
PreConfigure<IMvcBuilder>(mvcBuilder => |
|||
{ |
|||
mvcBuilder.AddApplicationPartIfNotExists(typeof(AbpAliyunSettingManagementModule).Assembly); |
|||
}); |
|||
} |
|||
|
|||
public override void ConfigureServices(ServiceConfigurationContext context) |
|||
{ |
|||
Configure<AbpVirtualFileSystemOptions>(options => |
|||
{ |
|||
options.FileSets.AddEmbedded<AbpAliyunSettingManagementModule>(); |
|||
}); |
|||
|
|||
Configure<AbpLocalizationOptions>(options => |
|||
{ |
|||
options.Resources |
|||
.Get<AliyunResource>() |
|||
.AddBaseTypes(typeof(AbpUiResource)) |
|||
.AddVirtualJson("/LINGYUN/Abp/Aliyun/SettingManagement/Localization/Resources"); |
|||
}); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,146 @@ |
|||
using LINGYUN.Abp.Aliyun.Localization; |
|||
using LINGYUN.Abp.Aliyun.Settings; |
|||
using LINGYUN.Abp.SettingManagement; |
|||
using LINGYUN.Abp.Sms.Aliyun.Settings; |
|||
using System.Collections.Generic; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Application.Services; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Volo.Abp.MultiTenancy; |
|||
using Volo.Abp.SettingManagement; |
|||
using Volo.Abp.Settings; |
|||
using ValueType = LINGYUN.Abp.SettingManagement.ValueType; |
|||
|
|||
namespace LINGYUN.Abp.Aliyun.SettingManagement |
|||
{ |
|||
public class AliyunSettingAppService : ApplicationService, IAliyunSettingAppService |
|||
{ |
|||
protected ISettingManager SettingManager { get; } |
|||
protected IPermissionChecker PermissionChecker { get; } |
|||
protected ISettingDefinitionManager SettingDefinitionManager { get; } |
|||
|
|||
public AliyunSettingAppService( |
|||
ISettingManager settingManager, |
|||
IPermissionChecker permissionChecker, |
|||
ISettingDefinitionManager settingDefinitionManager) |
|||
{ |
|||
SettingManager = settingManager; |
|||
PermissionChecker = permissionChecker; |
|||
SettingDefinitionManager = settingDefinitionManager; |
|||
LocalizationResource = typeof(AliyunResource); |
|||
} |
|||
|
|||
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync() |
|||
{ |
|||
return await GetAllForProviderAsync(TenantSettingValueProvider.ProviderName, CurrentTenant.GetId().ToString()); |
|||
} |
|||
|
|||
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync() |
|||
{ |
|||
return await GetAllForProviderAsync(GlobalSettingValueProvider.ProviderName, null); |
|||
} |
|||
|
|||
protected virtual async Task<ListResultDto<SettingGroupDto>> GetAllForProviderAsync(string providerName, string providerKey) |
|||
{ |
|||
var settingGroups = new List<SettingGroupDto>(); |
|||
|
|||
// 无权限返回空结果,直接报错的话,网关聚合会抛出异常
|
|||
if (await PermissionChecker.IsGrantedAsync(AliyunSettingPermissionNames.Settings)) |
|||
{ |
|||
var aliyunSettingGroup = new SettingGroupDto(L["DisplayName:Aliyun"], L["Description:Aliyun"]); |
|||
#region 访问控制
|
|||
|
|||
var ramSetting = aliyunSettingGroup.AddSetting(L["DisplayName:Aliyun.RAM"], L["Description:Aliyun.RAM"]); |
|||
|
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.RegionId), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.RegionId, providerName, providerKey), |
|||
ValueType.String); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.AccessKeyId), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.AccessKeyId, providerName, providerKey), |
|||
ValueType.String); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.AccessKeySecret), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.AccessKeySecret, providerName, providerKey), |
|||
ValueType.String); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.RamRoleArn), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.RamRoleArn, providerName, providerKey), |
|||
ValueType.String); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.RoleSessionName), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.RoleSessionName, providerName, providerKey), |
|||
ValueType.String); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.Policy), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.Policy, providerName, providerKey), |
|||
ValueType.String); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.UseSecurityTokenService), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.UseSecurityTokenService, providerName, providerKey), |
|||
ValueType.Boolean); |
|||
ramSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSettingNames.Authorization.DurationSeconds), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSettingNames.Authorization.DurationSeconds, providerName, providerKey), |
|||
ValueType.Number); |
|||
|
|||
#endregion
|
|||
|
|||
#region 短信
|
|||
|
|||
var smsSetting = aliyunSettingGroup.AddSetting(L["DisplayName:Aliyun.Sms"], L["Description:Aliyun.Sms"]); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.Domain), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.Domain, providerName, providerKey), |
|||
ValueType.String); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.Version), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.Version, providerName, providerKey), |
|||
ValueType.String); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.ActionName), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.ActionName, providerName, providerKey), |
|||
ValueType.String); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.DefaultPhoneNumber), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.DefaultPhoneNumber, providerName, providerKey), |
|||
ValueType.String); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.DefaultSignName), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.DefaultSignName, providerName, providerKey), |
|||
ValueType.String); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.DefaultTemplateCode), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.DefaultTemplateCode, providerName, providerKey), |
|||
ValueType.String); |
|||
smsSetting.AddDetail( |
|||
SettingDefinitionManager.Get(AliyunSmsSettingNames.Sms.VisableErrorToClient), |
|||
StringLocalizerFactory, |
|||
await SettingManager.GetOrNullAsync(AliyunSmsSettingNames.Sms.VisableErrorToClient, providerName, providerKey), |
|||
ValueType.Boolean); |
|||
|
|||
#endregion
|
|||
|
|||
settingGroups.Add(aliyunSettingGroup); |
|||
} |
|||
|
|||
return new ListResultDto<SettingGroupDto>(settingGroups); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,37 @@ |
|||
using LINGYUN.Abp.SettingManagement; |
|||
using Microsoft.AspNetCore.Mvc; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.AspNetCore.Mvc; |
|||
|
|||
namespace LINGYUN.Abp.Aliyun.SettingManagement |
|||
{ |
|||
[RemoteService(Name = AbpSettingManagementRemoteServiceConsts.RemoteServiceName)] |
|||
[Area("settingManagement")] |
|||
[Route("api/setting-management/aliyun")] |
|||
public class AliyunSettingController : AbpController, IAliyunSettingAppService |
|||
{ |
|||
protected IAliyunSettingAppService AppService { get; } |
|||
|
|||
public AliyunSettingController( |
|||
IAliyunSettingAppService appService) |
|||
{ |
|||
AppService = appService; |
|||
} |
|||
|
|||
[HttpGet] |
|||
[Route("by-current-tenant")] |
|||
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync() |
|||
{ |
|||
return await AppService.GetAllForCurrentTenantAsync(); |
|||
} |
|||
|
|||
[HttpGet] |
|||
[Route("by-global")] |
|||
public virtual async Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync() |
|||
{ |
|||
return await AppService.GetAllForGlobalAsync(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
using LINGYUN.Abp.Aliyun.Localization; |
|||
using Volo.Abp.Authorization.Permissions; |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace LINGYUN.Abp.Aliyun.SettingManagement |
|||
{ |
|||
public class AliyunSettingPermissionDefinitionProvider : PermissionDefinitionProvider |
|||
{ |
|||
public override void Define(IPermissionDefinitionContext context) |
|||
{ |
|||
var wechatGroup = context.AddGroup( |
|||
AliyunSettingPermissionNames.GroupName, |
|||
L("Permission:Aliyun")); |
|||
|
|||
wechatGroup.AddPermission( |
|||
AliyunSettingPermissionNames.Settings, L("Permission:Aliyun.Settings")); |
|||
} |
|||
|
|||
protected LocalizableString L(string name) |
|||
{ |
|||
return LocalizableString.Create<AliyunResource>(name); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
namespace LINGYUN.Abp.Aliyun.SettingManagement |
|||
{ |
|||
public class AliyunSettingPermissionNames |
|||
{ |
|||
public const string GroupName = "Abp.Aliyun"; |
|||
|
|||
public const string Settings = GroupName + ".Settings"; |
|||
} |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
using LINGYUN.Abp.SettingManagement; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace LINGYUN.Abp.Aliyun.SettingManagement |
|||
{ |
|||
public interface IAliyunSettingAppService |
|||
{ |
|||
Task<ListResultDto<SettingGroupDto>> GetAllForGlobalAsync(); |
|||
|
|||
Task<ListResultDto<SettingGroupDto>> GetAllForCurrentTenantAsync(); |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
{ |
|||
"culture": "en", |
|||
"texts": { |
|||
"Permission:Aliyun": "Aliyun", |
|||
"Permission:Aliyun.Settings": "Settings", |
|||
"DisplayName:Aliyun": "Aliyun", |
|||
"Description:Aliyun": "Aliyun" |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
{ |
|||
"culture": "zh-Hans", |
|||
"texts": { |
|||
"Permission:Aliyun": "阿里云服务", |
|||
"Permission:Aliyun.Settings": "配置阿里云", |
|||
"DisplayName:Aliyun": "阿里云服务", |
|||
"Description:Aliyun": "阿里云服务" |
|||
} |
|||
} |
|||
@ -1,6 +1,6 @@ |
|||
using System; |
|||
|
|||
namespace LINYUN.Abp.Aliyun |
|||
namespace LINGYUN.Abp.Aliyun |
|||
{ |
|||
[Serializable] |
|||
public class AliyunBasicSessionCredentialsCacheItem |
|||
@ -1,7 +1,7 @@ |
|||
using Aliyun.Acs.Core; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace LINYUN.Abp.Aliyun |
|||
namespace LINGYUN.Abp.Aliyun |
|||
{ |
|||
public interface IAcsClientFactory |
|||
{ |
|||
@ -1,6 +1,6 @@ |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace LINYUN.Abp.Aliyun.Localization |
|||
namespace LINGYUN.Abp.Aliyun.Localization |
|||
{ |
|||
[LocalizationResourceName("Aliyun")] |
|||
public class AliyunResource |
|||
@ -1,6 +1,8 @@ |
|||
{ |
|||
"culture": "en", |
|||
"texts": { |
|||
"DisplayName:Aliyun.RAM": "RAM", |
|||
"Description:Aliyun.RAM": "RAM", |
|||
"DisplayName:Authorization": "Authorization", |
|||
"Description:Authorization": "Authorization", |
|||
"DisplayName:RegionId": "Region Id", |
|||
@ -1,6 +1,8 @@ |
|||
{ |
|||
"culture": "zh-Hans", |
|||
"texts": { |
|||
"DisplayName:Aliyun.RAM": "访问控制", |
|||
"Description:Aliyun.RAM": "阿里云服务访问控制", |
|||
"DisplayName:Authorization": "阿里云身份认证凭据", |
|||
"Description:Authorization": "阿里云身份认证凭据", |
|||
"DisplayName:RegionId": "地域ID", |
|||
@ -1,4 +1,4 @@ |
|||
namespace LINYUN.Abp.Aliyun.Settings |
|||
namespace LINGYUN.Abp.Aliyun.Settings |
|||
{ |
|||
public static class AliyunSettingNames |
|||
{ |
|||
@ -1,6 +1,6 @@ |
|||
using LINYUN.Abp.Aliyun; |
|||
using LINGYUN.Abp.Aliyun; |
|||
|
|||
namespace LINYUN.Abp.Sms.Aliyun |
|||
namespace LINGYUN.Abp.Sms.Aliyun |
|||
{ |
|||
public class AliyunSmsException : AbpAliyunException |
|||
{ |
|||
@ -0,0 +1,125 @@ |
|||
using LINGYUN.Abp.Aliyun.Localization; |
|||
using System; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace LINGYUN.Abp.Sms.Aliyun |
|||
{ |
|||
public class AliyunSmsResponse |
|||
{ |
|||
public string Code { get; set; } |
|||
public string Message { get; set; } |
|||
public string RequestId { get; set; } |
|||
|
|||
public bool IsSuccess() |
|||
{ |
|||
return "ok".Equals(Code, StringComparison.CurrentCultureIgnoreCase); |
|||
} |
|||
|
|||
public static ILocalizableString GetErrorMessage(string code, string message) |
|||
{ |
|||
// TODO: 把前缀写入本地化文档里面?
|
|||
Check.NotNullOrWhiteSpace(code, nameof(code)); |
|||
switch (code) |
|||
{ |
|||
case "isv.SMS_SIGNATURE_SCENE_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SMS_SIGNATURE_SCENE_ILLEGAL"); |
|||
case "isv.DENY_IP_RANGE": |
|||
return LocalizableString.Create<AliyunResource>("DENY_IP_RANGE"); |
|||
case "isv.MOBILE_COUNT_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("MOBILE_COUNT_OVER_LIMIT"); |
|||
case "isv.BUSINESS_LIMIT_CONTROL": |
|||
return LocalizableString.Create<AliyunResource>("BUSINESS_LIMIT_CONTROL"); |
|||
case "SignatureDoesNotMatch": |
|||
return LocalizableString.Create<AliyunResource>("SignatureDoesNotMatch"); |
|||
case "InvalidTimeStamp.Expired": |
|||
return LocalizableString.Create<AliyunResource>("InvalidTimeStampExpired"); |
|||
case "SignatureNonceUsed": |
|||
return LocalizableString.Create<AliyunResource>("SignatureNonceUsed"); |
|||
case "InvalidVersion": |
|||
return LocalizableString.Create<AliyunResource>("InvalidVersion"); |
|||
case "InvalidAction.NotFound": |
|||
return LocalizableString.Create<AliyunResource>("InvalidActionNotFound"); |
|||
case "isv.SIGN_COUNT_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("SIGN_COUNT_OVER_LIMIT"); |
|||
case "isv.TEMPLATE_COUNT_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("TEMPLATE_COUNT_OVER_LIMIT"); |
|||
case "isv.SIGN_NAME_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SIGN_NAME_ILLEGAL"); |
|||
case "isv.SIGN_FILE_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("SIGN_FILE_LIMIT"); |
|||
case "isv.SIGN_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("SIGN_OVER_LIMIT"); |
|||
case "isv.TEMPLATE_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("TEMPLATE_OVER_LIMIT"); |
|||
case "SIGNATURE_BLACKLIST": |
|||
return LocalizableString.Create<AliyunResource>("SIGNATURE_BLACKLIST"); |
|||
case "isv.SHORTURL_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("SHORTURL_OVER_LIMIT"); |
|||
case "isv.NO_AVAILABLE_SHORT_URL": |
|||
return LocalizableString.Create<AliyunResource>("NO_AVAILABLE_SHORT_URL"); |
|||
case "isv.SHORTURL_NAME_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SHORTURL_NAME_ILLEGAL"); |
|||
case "isv.SOURCEURL_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("SOURCEURL_OVER_LIMIT"); |
|||
case "isv.SHORTURL_TIME_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SHORTURL_TIME_ILLEGAL"); |
|||
case "isv.PHONENUMBERS_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("PHONENUMBERS_OVER_LIMIT"); |
|||
case "isv.SHORTURL_STILL_AVAILABLE": |
|||
return LocalizableString.Create<AliyunResource>("SHORTURL_STILL_AVAILABLE"); |
|||
case "isv.SHORTURL_NOT_FOUND": |
|||
return LocalizableString.Create<AliyunResource>("SHORTURL_NOT_FOUND"); |
|||
case "isv.SMS_TEMPLATE_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SMS_TEMPLATE_ILLEGAL"); |
|||
case "isv.SMS_SIGNATURE_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SMS_SIGNATURE_ILLEGAL"); |
|||
case "isv.MOBILE_NUMBER_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("MOBILE_NUMBER_ILLEGAL"); |
|||
case "isv.TEMPLATE_MISSING_PARAMETERS": |
|||
return LocalizableString.Create<AliyunResource>("TEMPLATE_MISSING_PARAMETERS"); |
|||
case "isv.EXTEND_CODE_ERROR": |
|||
return LocalizableString.Create<AliyunResource>("EXTEND_CODE_ERROR"); |
|||
case "isv.DOMESTIC_NUMBER_NOT_SUPPORTED": |
|||
return LocalizableString.Create<AliyunResource>("DOMESTIC_NUMBER_NOT_SUPPORTED"); |
|||
case "isv.DAY_LIMIT_CONTROL": |
|||
return LocalizableString.Create<AliyunResource>("DAY_LIMIT_CONTROL"); |
|||
case "isv.SMS_CONTENT_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SMS_CONTENT_ILLEGAL"); |
|||
case "isv.SMS_SIGN_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("SMS_SIGN_ILLEGAL"); |
|||
case "isp.RAM_PERMISSION_DENY": |
|||
return LocalizableString.Create<AliyunResource>("RAM_PERMISSION_DENY"); |
|||
case "isp.OUT_OF_SERVICE": |
|||
return LocalizableString.Create<AliyunResource>("OUT_OF_SERVICE"); |
|||
case "isv.PRODUCT_UN_SUBSCRIPT": |
|||
return LocalizableString.Create<AliyunResource>("PRODUCT_UN_SUBSCRIPT"); |
|||
case "isv.PRODUCT_UNSUBSCRIBE": |
|||
return LocalizableString.Create<AliyunResource>("PRODUCT_UNSUBSCRIBE"); |
|||
case "isv.ACCOUNT_NOT_EXISTS": |
|||
return LocalizableString.Create<AliyunResource>("ACCOUNT_NOT_EXISTS"); |
|||
case "isv.ACCOUNT_ABNORMAL": |
|||
return LocalizableString.Create<AliyunResource>("ACCOUNT_ABNORMAL"); |
|||
case "isv.INVALID_PARAMETERS": |
|||
return LocalizableString.Create<AliyunResource>("INVALID_PARAMETERS"); |
|||
case "isv.SYSTEM_ERROR": |
|||
return LocalizableString.Create<AliyunResource>("SYSTEM_ERROR"); |
|||
case "isv.INVALID_JSON_PARAM": |
|||
return LocalizableString.Create<AliyunResource>("INVALID_JSON_PARAM"); |
|||
case "isv.BLACK_KEY_CONTROL_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("BLACK_KEY_CONTROL_LIMIT"); |
|||
case "isv.PARAM_LENGTH_LIMIT": |
|||
return LocalizableString.Create<AliyunResource>("PARAM_LENGTH_LIMIT"); |
|||
case "isv.PARAM_NOT_SUPPORT_URL": |
|||
return LocalizableString.Create<AliyunResource>("PARAM_NOT_SUPPORT_URL"); |
|||
case "isv.AMOUNT_NOT_ENOUGH": |
|||
return LocalizableString.Create<AliyunResource>("AMOUNT_NOT_ENOUGH"); |
|||
case "isv.TEMPLATE_PARAMS_ILLEGAL": |
|||
return LocalizableString.Create<AliyunResource>("TEMPLATE_PARAMS_ILLEGAL"); |
|||
default: |
|||
throw new AbpException($"no error code: {code} define, message: {message}"); |
|||
|
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -1,4 +1,4 @@ |
|||
namespace LINYUN.Abp.Sms.Aliyun |
|||
namespace LINGYUN.Abp.Sms.Aliyun |
|||
{ |
|||
public class AliyunSmsSuccessResponse : AliyunSmsResponse |
|||
{ |
|||
@ -1,6 +1,22 @@ |
|||
{ |
|||
"culture": "en", |
|||
"texts": { |
|||
"DisplayName:Aliyun.Sms": "Sms", |
|||
"Description:Aliyun.Sms": "Sms", |
|||
"DisplayName:ActionName": "Action Name", |
|||
"Description:ActionName": "Action Name", |
|||
"DisplayName:DefaultSignName": "Default Sign Name", |
|||
"Description:DefaultSignName": "Default Sign Name", |
|||
"DisplayName:DefaultTemplateCode": "Default Template Code", |
|||
"Description:DefaultTemplateCode": "Default Template Code", |
|||
"DisplayName:DefaultPhoneNumber": "Default Phone Number", |
|||
"Description:DefaultPhoneNumber": "Default Phone Number", |
|||
"DisplayName:Domain": "Domain", |
|||
"Description:Domain": "Domain", |
|||
"DisplayName:Version": "Version", |
|||
"Description:Version": "Version", |
|||
"DisplayName:VisableErrorToClient": "Visable Error To Client", |
|||
"Description:VisableErrorToClient": "Visable Error To Client", |
|||
"SendMessageFailed": "Text message sending failed:{0}", |
|||
"SMS_SIGNATURE_SCENE_ILLEGAL": "Signature scene used by SMS is illegal", |
|||
"DENY_IP_RANGE": "Region where source IP address is disabled", |
|||
@ -1,20 +1,22 @@ |
|||
{ |
|||
"culture": "zh-Hans", |
|||
"texts": { |
|||
"DisplayName:ActionName": "阿里云身份认证凭据", |
|||
"Description:ActionName": "阿里云身份认证凭据", |
|||
"DisplayName:DefaultSignName": "地域ID", |
|||
"Description:DefaultSignName": "正在使用的地域ID", |
|||
"DisplayName:DefaultTemplateCode": "AccessKey Id", |
|||
"Description:DefaultTemplateCode": "访问密钥标识", |
|||
"DisplayName:DeveloperPhoneNumber": "AccessKey Secret", |
|||
"Description:DeveloperPhoneNumber": "访问密钥", |
|||
"DisplayName:Aliyun.Sms": "短信服务", |
|||
"Description:Aliyun.Sms": "阿里云短信服务", |
|||
"DisplayName:ActionName": "发送短信方法", |
|||
"Description:ActionName": "发送短信方法名称,详情见阿里云Sms服务", |
|||
"DisplayName:DefaultSignName": "默认短信签名", |
|||
"Description:DefaultSignName": "当用户未指定短信签名时的默认签名名称", |
|||
"DisplayName:DefaultTemplateCode": "默认短信模板号", |
|||
"Description:DefaultTemplateCode": "当用户未指定短信签名时的默认短信模板号", |
|||
"DisplayName:DefaultPhoneNumber": "默认接收短信手机号", |
|||
"Description:DefaultPhoneNumber": "当用户未指定短信接收方时的默认接收手机号码", |
|||
"DisplayName:Domain": "阿里云sms服务域名", |
|||
"Description:Domain": "使用STS Token访问", |
|||
"DisplayName:Version": "角色全局资源描述符", |
|||
"Description:Version": "格式:acs:ram::$accountID:role/$roleName/$RoleSessionName,详情见阿里云访问控制API", |
|||
"DisplayName:RoleSessionName": "角色全局资源描述符", |
|||
"Description:RoleSessionName": "格式:acs:ram::$accountID:role/$roleName/$RoleSessionName,详情见阿里云访问控制API", |
|||
"Description:Domain": "阿里云sms服务域名", |
|||
"DisplayName:Version": "阿里云sms服务版本号", |
|||
"Description:Version": "阿里云sms服务版本号", |
|||
"DisplayName:VisableErrorToClient": "发送错误到客户端", |
|||
"Description:VisableErrorToClient": "当短信服务发送出现错误时是否发送错误详情到客户端", |
|||
"SendMessageFailed": "发送短信错误:{0}", |
|||
"SMS_SIGNATURE_SCENE_ILLEGAL": "短信所使用签名场景非法", |
|||
"DENY_IP_RANGE": "源IP地址所在的地区被禁用", |
|||
@ -1,6 +1,6 @@ |
|||
using LINYUN.Abp.Aliyun.Settings; |
|||
using LINGYUN.Abp.Aliyun.Settings; |
|||
|
|||
namespace LINYUN.Abp.Sms.Aliyun.Settings |
|||
namespace LINGYUN.Abp.Sms.Aliyun.Settings |
|||
{ |
|||
public static class AliyunSmsSettingNames |
|||
{ |
|||
@ -1,8 +1,8 @@ |
|||
using LINYUN.Abp.Aliyun.Localization; |
|||
using LINGYUN.Abp.Aliyun.Localization; |
|||
using Volo.Abp.Localization; |
|||
using Volo.Abp.Settings; |
|||
|
|||
namespace LINYUN.Abp.Sms.Aliyun.Settings |
|||
namespace LINGYUN.Abp.Sms.Aliyun.Settings |
|||
{ |
|||
public class AliyunSmsSettingProvider : SettingDefinitionProvider |
|||
{ |
|||
@ -1,125 +0,0 @@ |
|||
using LINYUN.Abp.Sms.Aliyun.Localization; |
|||
using System; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace LINYUN.Abp.Sms.Aliyun |
|||
{ |
|||
public class AliyunSmsResponse |
|||
{ |
|||
public string Code { get; set; } |
|||
public string Message { get; set; } |
|||
public string RequestId { get; set; } |
|||
|
|||
public bool IsSuccess() |
|||
{ |
|||
return "ok".Equals(Code, StringComparison.CurrentCultureIgnoreCase); |
|||
} |
|||
|
|||
public static ILocalizableString GetErrorMessage(string code, string message) |
|||
{ |
|||
// TODO: 把前缀写入本地化文档里面?
|
|||
Check.NotNullOrWhiteSpace(code, nameof(code)); |
|||
switch (code) |
|||
{ |
|||
case "isv.SMS_SIGNATURE_SCENE_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SMS_SIGNATURE_SCENE_ILLEGAL"); |
|||
case "isv.DENY_IP_RANGE": |
|||
return LocalizableString.Create<AliyunSmsResource>("DENY_IP_RANGE"); |
|||
case "isv.MOBILE_COUNT_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("MOBILE_COUNT_OVER_LIMIT"); |
|||
case "isv.BUSINESS_LIMIT_CONTROL": |
|||
return LocalizableString.Create<AliyunSmsResource>("BUSINESS_LIMIT_CONTROL"); |
|||
case "SignatureDoesNotMatch": |
|||
return LocalizableString.Create<AliyunSmsResource>("SignatureDoesNotMatch"); |
|||
case "InvalidTimeStamp.Expired": |
|||
return LocalizableString.Create<AliyunSmsResource>("InvalidTimeStampExpired"); |
|||
case "SignatureNonceUsed": |
|||
return LocalizableString.Create<AliyunSmsResource>("SignatureNonceUsed"); |
|||
case "InvalidVersion": |
|||
return LocalizableString.Create<AliyunSmsResource>("InvalidVersion"); |
|||
case "InvalidAction.NotFound": |
|||
return LocalizableString.Create<AliyunSmsResource>("InvalidActionNotFound"); |
|||
case "isv.SIGN_COUNT_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("SIGN_COUNT_OVER_LIMIT"); |
|||
case "isv.TEMPLATE_COUNT_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("TEMPLATE_COUNT_OVER_LIMIT"); |
|||
case "isv.SIGN_NAME_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SIGN_NAME_ILLEGAL"); |
|||
case "isv.SIGN_FILE_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("SIGN_FILE_LIMIT"); |
|||
case "isv.SIGN_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("SIGN_OVER_LIMIT"); |
|||
case "isv.TEMPLATE_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("TEMPLATE_OVER_LIMIT"); |
|||
case "SIGNATURE_BLACKLIST": |
|||
return LocalizableString.Create<AliyunSmsResource>("SIGNATURE_BLACKLIST"); |
|||
case "isv.SHORTURL_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("SHORTURL_OVER_LIMIT"); |
|||
case "isv.NO_AVAILABLE_SHORT_URL": |
|||
return LocalizableString.Create<AliyunSmsResource>("NO_AVAILABLE_SHORT_URL"); |
|||
case "isv.SHORTURL_NAME_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SHORTURL_NAME_ILLEGAL"); |
|||
case "isv.SOURCEURL_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("SOURCEURL_OVER_LIMIT"); |
|||
case "isv.SHORTURL_TIME_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SHORTURL_TIME_ILLEGAL"); |
|||
case "isv.PHONENUMBERS_OVER_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("PHONENUMBERS_OVER_LIMIT"); |
|||
case "isv.SHORTURL_STILL_AVAILABLE": |
|||
return LocalizableString.Create<AliyunSmsResource>("SHORTURL_STILL_AVAILABLE"); |
|||
case "isv.SHORTURL_NOT_FOUND": |
|||
return LocalizableString.Create<AliyunSmsResource>("SHORTURL_NOT_FOUND"); |
|||
case "isv.SMS_TEMPLATE_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SMS_TEMPLATE_ILLEGAL"); |
|||
case "isv.SMS_SIGNATURE_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SMS_SIGNATURE_ILLEGAL"); |
|||
case "isv.MOBILE_NUMBER_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("MOBILE_NUMBER_ILLEGAL"); |
|||
case "isv.TEMPLATE_MISSING_PARAMETERS": |
|||
return LocalizableString.Create<AliyunSmsResource>("TEMPLATE_MISSING_PARAMETERS"); |
|||
case "isv.EXTEND_CODE_ERROR": |
|||
return LocalizableString.Create<AliyunSmsResource>("EXTEND_CODE_ERROR"); |
|||
case "isv.DOMESTIC_NUMBER_NOT_SUPPORTED": |
|||
return LocalizableString.Create<AliyunSmsResource>("DOMESTIC_NUMBER_NOT_SUPPORTED"); |
|||
case "isv.DAY_LIMIT_CONTROL": |
|||
return LocalizableString.Create<AliyunSmsResource>("DAY_LIMIT_CONTROL"); |
|||
case "isv.SMS_CONTENT_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SMS_CONTENT_ILLEGAL"); |
|||
case "isv.SMS_SIGN_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("SMS_SIGN_ILLEGAL"); |
|||
case "isp.RAM_PERMISSION_DENY": |
|||
return LocalizableString.Create<AliyunSmsResource>("RAM_PERMISSION_DENY"); |
|||
case "isp.OUT_OF_SERVICE": |
|||
return LocalizableString.Create<AliyunSmsResource>("OUT_OF_SERVICE"); |
|||
case "isv.PRODUCT_UN_SUBSCRIPT": |
|||
return LocalizableString.Create<AliyunSmsResource>("PRODUCT_UN_SUBSCRIPT"); |
|||
case "isv.PRODUCT_UNSUBSCRIBE": |
|||
return LocalizableString.Create<AliyunSmsResource>("PRODUCT_UNSUBSCRIBE"); |
|||
case "isv.ACCOUNT_NOT_EXISTS": |
|||
return LocalizableString.Create<AliyunSmsResource>("ACCOUNT_NOT_EXISTS"); |
|||
case "isv.ACCOUNT_ABNORMAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("ACCOUNT_ABNORMAL"); |
|||
case "isv.INVALID_PARAMETERS": |
|||
return LocalizableString.Create<AliyunSmsResource>("INVALID_PARAMETERS"); |
|||
case "isv.SYSTEM_ERROR": |
|||
return LocalizableString.Create<AliyunSmsResource>("SYSTEM_ERROR"); |
|||
case "isv.INVALID_JSON_PARAM": |
|||
return LocalizableString.Create<AliyunSmsResource>("INVALID_JSON_PARAM"); |
|||
case "isv.BLACK_KEY_CONTROL_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("BLACK_KEY_CONTROL_LIMIT"); |
|||
case "isv.PARAM_LENGTH_LIMIT": |
|||
return LocalizableString.Create<AliyunSmsResource>("PARAM_LENGTH_LIMIT"); |
|||
case "isv.PARAM_NOT_SUPPORT_URL": |
|||
return LocalizableString.Create<AliyunSmsResource>("PARAM_NOT_SUPPORT_URL"); |
|||
case "isv.AMOUNT_NOT_ENOUGH": |
|||
return LocalizableString.Create<AliyunSmsResource>("AMOUNT_NOT_ENOUGH"); |
|||
case "isv.TEMPLATE_PARAMS_ILLEGAL": |
|||
return LocalizableString.Create<AliyunSmsResource>("TEMPLATE_PARAMS_ILLEGAL"); |
|||
default: |
|||
throw new AbpException($"no error code: {code} define, message: {message}"); |
|||
|
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -1,9 +0,0 @@ |
|||
using Volo.Abp.Localization; |
|||
|
|||
namespace LINYUN.Abp.Sms.Aliyun.Localization |
|||
{ |
|||
[LocalizationResourceName("AliyunSms")] |
|||
public class AliyunSmsResource |
|||
{ |
|||
} |
|||
} |
|||
Binary file not shown.
Loading…
Reference in new issue