diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e1d983984..1b7b6e646 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,7 +2,7 @@ name: "Tagged Release" on: push: - branches: [ rel-7.1.0 ] + branches: [ rel-7.1.1 ] jobs: tagged-release: @@ -14,4 +14,4 @@ jobs: with: repo_token: "${{ secrets.GITHUB_TOKEN }}" prerelease: false - automatic_release_tag: "7.1.0" + automatic_release_tag: "7.1.1" diff --git a/apps/vue/docker/nginx/default.conf b/apps/vue/docker/nginx/default.conf index baa501441..7b1259bd9 100644 --- a/apps/vue/docker/nginx/default.conf +++ b/apps/vue/docker/nginx/default.conf @@ -3,9 +3,9 @@ server { server_name localhost; proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; - proxy_set_header X-Forwarded-Host $server_name; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; @@ -36,9 +36,6 @@ server { location /api/ { proxy_pass http://127.0.0.1:30000/; proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ^~/wapi/ { @@ -53,9 +50,6 @@ server { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header REMOTE-HOST $remote_addr; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } diff --git a/apps/vue/docker/nginx/nginx.conf b/apps/vue/docker/nginx/nginx.conf index dda224b63..f71fc1f47 100644 --- a/apps/vue/docker/nginx/nginx.conf +++ b/apps/vue/docker/nginx/nginx.conf @@ -19,7 +19,7 @@ http { underscores_in_headers on; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; + '"$server_name" "$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; diff --git a/apps/vue/src/api/abp/abp.ts b/apps/vue/src/api/abp/abp.ts deleted file mode 100644 index bd361633a..000000000 --- a/apps/vue/src/api/abp/abp.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { IApplicationConfiguration } from './model/appModel'; -import { ApplicationApiDescriptionModel } from './model/apiDefinition'; - -enum Api { - ApplicationConfiguration = '/api/abp/application-configuration', - ApiDefinition = '/api/abp/api-definition', -} - -export const getApplicationConfiguration = () => { - return defHttp.get({ - url: Api.ApplicationConfiguration, - }); -}; - -export const getApiDefinition = (includeTypes = false) => { - return defHttp.get({ - url: Api.ApiDefinition, - params: { includeTypes: includeTypes }, - }); -}; diff --git a/apps/vue/src/api/abp/api-definition/index.ts b/apps/vue/src/api/abp/api-definition/index.ts new file mode 100644 index 000000000..3a8f09e7a --- /dev/null +++ b/apps/vue/src/api/abp/api-definition/index.ts @@ -0,0 +1,11 @@ +import { defHttp } from '/@/utils/http/axios'; +import { ApplicationApiDescriptionModel } from './model'; + +export const GetAsyncByModel = (model?: { + includeTypes?: boolean; +}) => { + return defHttp.get({ + url: '/api/abp/api-definition', + params: model, + }); +}; \ No newline at end of file diff --git a/apps/vue/src/api/abp/model/apiDefinition.ts b/apps/vue/src/api/abp/api-definition/model/index.ts similarity index 100% rename from apps/vue/src/api/abp/model/apiDefinition.ts rename to apps/vue/src/api/abp/api-definition/model/index.ts diff --git a/apps/vue/src/api/abp/application-configuration/index.ts b/apps/vue/src/api/abp/application-configuration/index.ts new file mode 100644 index 000000000..409d9b716 --- /dev/null +++ b/apps/vue/src/api/abp/application-configuration/index.ts @@ -0,0 +1,10 @@ +import { defHttp } from '/@/utils/http/axios'; + +export const GetAsyncByOptions = (options?: { + includeLocalizationResources?: boolean; +}) => { + return defHttp.get({ + url: '/api/abp/application-configuration', + params: options, + }); +}; \ No newline at end of file diff --git a/apps/vue/src/api/abp/localization/index.ts b/apps/vue/src/api/abp/localization/index.ts new file mode 100644 index 000000000..ae2281756 --- /dev/null +++ b/apps/vue/src/api/abp/localization/index.ts @@ -0,0 +1,11 @@ +import { defHttp } from '/@/utils/http/axios'; + +export const GetAsyncByInput = (input: { + cultureName: string; + onlyDynamics?: boolean; +}) => { + return defHttp.get({ + url: 'api/abp/application-localization"', + params: input, + }); +}; \ No newline at end of file diff --git a/apps/vue/src/api/abp/model/appModel.ts b/apps/vue/src/api/abp/model/appModel.ts deleted file mode 100644 index 33b744e99..000000000 --- a/apps/vue/src/api/abp/model/appModel.ts +++ /dev/null @@ -1,243 +0,0 @@ -import { Available } from '../../model/baseModel'; - -/** 授权 */ -export class Auth { - /** 权限集合 */ - policies?: { [key: string]: boolean } = {}; - /** 已授权集合 */ - grantedPolicies?: { [key: string]: boolean } = {}; -} - -/** 当前租户 */ -export class CurrentTenant { - /** 标识 */ - id? = ''; - /** 名称 */ - name? = ''; - /** 是否可用 */ - isAvailable = false; - - public clear() { - this.id = ''; - this.name = ''; - this.isAvailable = false; - } -} - -/** 当前用户 */ -export class CurrentUser { - /** 标识 */ - id? = ''; - /** 邮件地址 */ - email? = ''; - /** 邮件已验证 */ - emailVerified = false; - /** 手机号 */ - phoneNumber? = ''; - /** 手机号已验证 */ - phoneNumberVerified = false; - /** 名称 */ - name? = ''; - /** 简称 */ - surName? = ''; - /** 用户名 */ - userName? = ''; - /** 所属租户 */ - tenantId? = ''; - /** 是否已认证 */ - isAuthenticated = false; - /** 所属角色列表 */ - roles = new Array(); -} - -/** 功能 */ -export class Feature { - /** 功能集合 */ - values?: { [key: string]: string } = {}; -} - -/** 时区转换 */ -export class DateTimeFormat { - /** 日历算法 */ - calendarAlgorithmType = ''; - /** 日期分隔符 */ - dateSeparator = ''; - /** 日期时间格式 */ - dateTimeFormatLong = ''; - /** 完整日期时间格式 */ - fullDateTimePattern = ''; - /** 长时间格式 */ - longTimePattern = ''; - /** 短日期格式 */ - shortDatePattern = ''; - /** 短时间格式 */ - shortTimePattern = ''; -} - -/** 当前区域信息 */ -export class CurrentCulture { - /** 本地化名称 */ - cultureName = ''; - /** 显示名称 */ - displayName = ''; - /** 英文名称 */ - englishName = ''; - /** 是否从右到左 */ - isRightToLeft = false; - /** 名称 */ - name = ''; - /** 本地名称 */ - nativeName = ''; - /** 三个字母的ISO名称 */ - threeLetterIsoLanguageName = ''; - /** 两个字母的ISO名称 */ - twoLetterIsoLanguageName = ''; - /** 日期时间格式 */ - dateTimeFormat = new DateTimeFormat(); -} - -/** 语言 */ -export class Language { - /** 本地化名称 */ - cultureName = ''; - /** 显示名称 */ - displayName = ''; - /** 图标 */ - flagIcon = ''; - /** 用户界面本地化名称 */ - uiCultureName = ''; -} - -/** 本地化 */ -export class Localization { - /** 当前区域 */ - currentCulture = new CurrentCulture(); - /** 默认本地化资源名称 */ - defaultResourceName = ''; - /** 支持的语言列表 */ - languages = new Array(); - /** 本地化资源集合 */ - values: { [key: string]: { [key: string]: string } } = {}; - /** 语言映射集合 */ - languagesMap: { [key: string]: NameValue[] } = {}; - /** 语言文档映射集合 */ - languageFilesMap: { [key: string]: NameValue[] } = {}; -} - -/** 多租户配置 */ -export class MultiTenancy { - /** 是否启用多租户 */ - isEnabled = false; -} - -/** 全局设置 */ -export class Setting { - /** 设置集合 */ - values: { [key: string]: string } = {}; -} - -/** 实体查询属性扩展 */ -export class ExtensionPropertyApiGet extends Available {} - -/** 实体创建属性扩展 */ -export class ExtensionPropertyApiCreate extends Available {} - -/** 实体更新属性扩展 */ -export class ExtensionPropertyApiUpdate extends Available {} - -/** 实体属性api定义 */ -export class ExtensionPropertyApi { - /** 查询时 */ - onGet = new ExtensionPropertyApiGet(); - /** 创建时 */ - onCreate = new ExtensionPropertyApiCreate(); - /** 更新时 */ - onUpdate = new ExtensionPropertyApiUpdate(); -} - -export class ExtensionPropertyUiTable extends Available {} - -export class ExtensionPropertyUiForm extends Available {} - -export class ExtensionPropertyUi { - onTable = new ExtensionPropertyUiTable(); - onCreateForm = new ExtensionPropertyUiForm(); - onEditForm = new ExtensionPropertyUiForm(); -} - -export class LocalizableString { - name = ''; - resource = ''; -} - -export class ExtensionPropertyAttribute { - typeSimple = ''; - config: { [key: string]: any } = {}; -} - -export class ExtensionProperty { - type = ''; - typeSimple = ''; - displayName = new LocalizableString(); - api = new ExtensionPropertyApi(); - ui = new ExtensionPropertyUi(); - attributes = new Array(); - configuration: { [key: string]: any } = {}; - defaultValue: any = ''; -} - -export class EntityExtension { - properties: { [key: string]: ExtensionProperty } = {}; - configuration: { [key: string]: any } = {}; -} - -export class ModuleExtension { - entities: { [key: string]: EntityExtension } = {}; - configuration: { [key: string]: any } = {}; -} - -export class ExtensionEnumField { - name = ''; - value: any = ''; -} - -export class ExtensionEnum { - fields = new Array(); - localizationResource = ''; -} - -export class ObjectExtension { - modules: { [key: string]: ModuleExtension } = {}; - enums: { [key: string]: ExtensionEnum } = {}; -} - -/** abp框架信息 */ -export interface IApplicationConfiguration { - /** 授权 */ - auth: Auth; - /** 租户 */ - currentTenant: CurrentTenant; - /** 用户 */ - currentUser: CurrentUser; - /** 功能 */ - features: Feature; - /** 本地化 */ - localization: Localization; - /** 租户配置 */ - multiTenancy: MultiTenancy; - /** 对象扩展 */ - objectExtensions: ObjectExtension; - /** 设置 */ - setting: Setting; -} - -export class ApplicationConfiguration implements IApplicationConfiguration { - auth = new Auth(); - currentTenant = new CurrentTenant(); - currentUser = new CurrentUser(); - features = new Feature(); - localization = new Localization(); - multiTenancy = new MultiTenancy(); - objectExtensions = new ObjectExtension(); - setting = new Setting(); -} diff --git a/apps/vue/src/hooks/abp/useAuthorization.ts b/apps/vue/src/hooks/abp/useAuthorization.ts new file mode 100644 index 000000000..47848c2d7 --- /dev/null +++ b/apps/vue/src/hooks/abp/useAuthorization.ts @@ -0,0 +1,33 @@ +import { computed } from 'vue'; +import { useAbpStoreWithOut } from '/@/store/modules/abp'; + +interface PermissionChecker { + isGranted(name: string | string[]): boolean; + authorize(name: string | string[]): void; +} + +export function useAuthorization(): PermissionChecker { + const getGrantedPolicies = computed(() => { + const abpStore = useAbpStoreWithOut(); + return abpStore.getApplication.auth.grantedPolicies ?? {}; + }); + + function isGranted(name: string | string[]): boolean { + const grantedPolicies = getGrantedPolicies.value; + if (Array.isArray(name)) { + return name.every((name) => grantedPolicies[name]); + } + return grantedPolicies[name] + } + + function authorize(name: string | string[]): void { + if (!isGranted(name)) { + throw Error(`Authorization failed! Given policy has not granted: ${name}`); + } + } + + return { + isGranted, + authorize, + } +} \ No newline at end of file diff --git a/apps/vue/src/store/modules/abp.ts b/apps/vue/src/store/modules/abp.ts index 2c9bdf4c9..5e11c72b9 100644 --- a/apps/vue/src/store/modules/abp.ts +++ b/apps/vue/src/store/modules/abp.ts @@ -6,24 +6,19 @@ import { createLocalStorage } from '/@/utils/cache'; import { i18n } from '/@/locales/setupI18n'; -import { getApplicationConfiguration, getApiDefinition } from '/@/api/abp/abp'; -import { - ApplicationConfiguration, - Auth, - CurrentUser, - Localization, -} from '/@/api/abp/model/appModel'; -import { ApplicationApiDescriptionModel } from '/@/api/abp/model/apiDefinition'; +import { GetAsyncByModel as getApiDefinition } from '/@/api/abp/api-definition'; +import { ApplicationApiDescriptionModel } from '/@/api/abp/api-definition/model'; +import { GetAsyncByOptions as getApplicationConfiguration } from '/@/api/abp/application-configuration'; const ls = createLocalStorage(); -const defaultApp = new ApplicationConfiguration(); +const defaultApp = {}; const defaultApi = new ApplicationApiDescriptionModel(); -const lsApplication = (ls.get(ABP_APP_KEY) || defaultApp) as ApplicationConfiguration; +const lsApplication = (ls.get(ABP_APP_KEY) || defaultApp) as ApplicationConfigurationDto; const lsApiDefinition = (ls.get(ABP_API_KEY) || defaultApi) as ApplicationApiDescriptionModel; interface AbpState { - application: ApplicationConfiguration; + application: ApplicationConfigurationDto; apidefinition: ApplicationApiDescriptionModel; } @@ -44,10 +39,10 @@ export const useAbpStore = defineStore({ actions: { resetSession() { // 清除与用户相关的信息 - this.application.auth = new Auth(); - this.application.currentUser = new CurrentUser(); + this.application.auth = {} as ApplicationAuthConfigurationDto; + this.application.currentUser = {} as CurrentUser; }, - setApplication(application: ApplicationConfiguration) { + setApplication(application: ApplicationConfigurationDto) { this.application = application; ls.set(ABP_APP_KEY, application); }, @@ -55,7 +50,7 @@ export const useAbpStore = defineStore({ this.apidefinition = apidefinition; ls.set(ABP_API_KEY, apidefinition); }, - mergeLocaleMessage(localization: Localization) { + mergeLocaleMessage(localization: ApplicationLocalizationConfigurationDto) { if (localization.languagesMap['vben-admin-ui']) { const transferCulture = localization.languagesMap['vben-admin-ui'].filter( (x) => x.value === localization.currentCulture.cultureName, diff --git a/apps/vue/src/utils/http/abp/abp.ts b/apps/vue/src/utils/http/abp/abp.ts index fba3a469b..580363c16 100644 --- a/apps/vue/src/utils/http/abp/abp.ts +++ b/apps/vue/src/utils/http/abp/abp.ts @@ -6,7 +6,7 @@ import { ApiVersionInfo, ControllerApiDescriptionModel, ModuleApiDescriptionModel, -} from '/@/api/abp/model/apiDefinition'; +} from '/@/api/abp/api-definition/model'; import { ParameterBindingSources, UrlBuilder } from '/@/utils/helper/abpApiHelper'; import { useI18n } from '/@/hooks/web/useI18n'; diff --git a/apps/vue/types/abp.d.ts b/apps/vue/types/abp.d.ts index 4a18fe21d..11efac6bb 100644 --- a/apps/vue/types/abp.d.ts +++ b/apps/vue/types/abp.d.ts @@ -36,3 +36,78 @@ declare interface ValueType { declare interface SelectionStringValueType extends ValueType { itemSource: ISelectionStringValueItemSource; } + +declare interface LanguageInfo { + cultureName: string; + uiCultureName: string; + displayName: string; + twoLetterISOLanguageName: string; + flagIcon?: string; +} + +declare interface DateTimeFormat { + calendarAlgorithmType: string; + dateTimeFormatLong: string; + shortDatePattern: string; + fullDateTimePattern: string; + dateSeparator: string; + shortTimePattern: string; + longTimePattern: string; +} + +declare interface CurrentCulture { + displayName: string; + englishName: string; + threeLetterIsoLanguageName: string; + twoLetterIsoLanguageName: string; + isRightToLeft: boolean; + cultureName: string; + name: string; + nativeName: string; + dateTimeFormat: DateTimeFormat; +} + +declare interface WindowsTimeZone { + timeZoneId: string; +} + +declare interface IanaTimeZone { + timeZoneName: string; +} + +declare interface TimeZone { + iana: IanaTimeZone; + windows: WindowsTimeZone; +} + +declare interface Clock { + kind: string; +} + +declare interface MultiTenancyInfo { + isEnabled: boolean; +} + +declare interface CurrentTenant { + id?: string; + name?: string; + isAvailable: boolean; +} + +declare interface CurrentUser { + isAuthenticated: boolean; + id?: string; + tenantId?: string; + impersonatorUserId?: string; + impersonatorTenantId?: string; + impersonatorUserName?: string; + impersonatorTenantName?: string; + userName: string; + name?: string; + surName?: string; + email: string; + emailVerified: boolean; + phoneNumber?: string; + phoneNumberVerified: boolean; + roles: string[]; +} diff --git a/apps/vue/types/abp.dto.d.ts b/apps/vue/types/abp.dto.d.ts index 9405629d4..088dec404 100644 --- a/apps/vue/types/abp.dto.d.ts +++ b/apps/vue/types/abp.dto.d.ts @@ -118,3 +118,143 @@ declare interface PagedResultRequestDto extends LimitedResultRequestDto { } declare interface ExtensiblePagedResultRequestDto extends PagedResultRequestDto, ExtensibleObject {} + +declare interface ApplicationLocalizationResourceDto { + texts: Dictionary; + baseResources: string[]; +} + +declare interface ApplicationLocalizationDto { + resources: Dictionary; +} + +declare interface ApplicationLocalizationConfigurationDto { + values: Dictionary>; + resources: Dictionary; + languages: LanguageInfo[]; + currentCulture: CurrentCulture; + defaultResourceName: string; + languagesMap: Dictionary; + languageFilesMap: Dictionary; +} + +declare interface ApplicationAuthConfigurationDto { + grantedPolicies: Dictionary; +} + +declare interface ApplicationSettingConfigurationDto { + values: Dictionary; +} + +declare interface ApplicationFeatureConfigurationDto { + values: Dictionary; +} + +declare interface ApplicationGlobalFeatureConfigurationDto { + enabledFeatures: string[]; +} + +declare interface TimingDto { + timeZone: TimeZone; +} + +declare interface LocalizableStringDto { + name: string; + resource?: string; +} + +declare interface ExtensionPropertyApiGetDto { + isAvailable: boolean; +} + +declare interface ExtensionPropertyApiCreateDto { + isAvailable: boolean; +} + +declare interface ExtensionPropertyApiUpdateDto { + isAvailable: boolean; +} + +declare interface ExtensionPropertyUiTableDto { + isAvailable: boolean; +} + +declare interface ExtensionPropertyUiFormDto { + isAvailable: boolean; +} + +declare interface ExtensionPropertyUiLookupDto { + url: string; + resultListPropertyName: string; + displayPropertyName: string; + valuePropertyName: string; + filterParamName: string; +} + +declare interface ExtensionPropertyApiDto { + onGet: ExtensionPropertyApiGetDto; + onCreate: ExtensionPropertyApiCreateDto; + onUpdate: ExtensionPropertyApiUpdateDto; +} + +declare interface ExtensionPropertyUiDto { + onTable: ExtensionPropertyUiTableDto; + onCreateForm: ExtensionPropertyUiFormDto; + onEditForm: ExtensionPropertyUiFormDto; + lookup: ExtensionPropertyUiLookupDto; +} + +declare interface ExtensionPropertyAttributeDto { + typeSimple: string; + config: Dictionary; +} + +declare interface ExtensionPropertyDto { + type: string; + typeSimple: string; + displayName?: LocalizableStringDto; + api: ExtensionPropertyApiDto; + ui: ExtensionPropertyUiDto; + attributes: ExtensionPropertyAttributeDto[]; + configuration: Dictionary; + defaultValue: any; +} + +declare interface EntityExtensionDto { + properties: Dictionary; + configuration: Dictionary; +} + +declare interface ModuleExtensionDto { + entities: Dictionary; + configuration: Dictionary; +} + +declare interface ExtensionEnumFieldDto { + name: string; + value: any; +} + +declare interface ExtensionEnumDto { + fields: ExtensionEnumFieldDto[]; + localizationResource: string; +} + +declare interface ObjectExtensionsDto { + modules: Dictionary; + enums: Dictionary; +} + +declare interface ApplicationConfigurationDto extends IHasExtraProperties { + localization: ApplicationLocalizationConfigurationDto; + auth: ApplicationAuthConfigurationDto; + setting: ApplicationSettingConfigurationDto; + currentUser: CurrentUser; + features: ApplicationFeatureConfigurationDto; + globalFeatures: ApplicationGlobalFeatureConfigurationDto; + multiTenancy: MultiTenancyInfo; + currentTenant: CurrentTenant; + timing: Timing; + clock: Clock; + objectExtensions: ObjectExtensionsDto; +} diff --git a/apps/vue/types/vue-router.d.ts b/apps/vue/types/vue-router.d.ts index 93fd788d0..14de6c466 100644 --- a/apps/vue/types/vue-router.d.ts +++ b/apps/vue/types/vue-router.d.ts @@ -20,6 +20,7 @@ declare module 'vue-router' { // icon on tab icon?: string; frameSrc?: string; + frameFormat?: string; // current page transition transitionName?: string; // Whether the route has been dynamically added diff --git a/aspnet-core/Directory.Build.props b/aspnet-core/Directory.Build.props index d8ec0a0f3..5ecc88414 100644 --- a/aspnet-core/Directory.Build.props +++ b/aspnet-core/Directory.Build.props @@ -1,8 +1,8 @@  - 7.1.0 + 7.1.1 2.0.1 - 7.1.0 + 7.1.1 1.10.0 1.0.2 7.1.0 diff --git a/aspnet-core/LINGYUN.MicroService.All.sln b/aspnet-core/LINGYUN.MicroService.All.sln index d1d055c97..c3844d741 100644 --- a/aspnet-core/LINGYUN.MicroService.All.sln +++ b/aspnet-core/LINGYUN.MicroService.All.sln @@ -573,19 +573,35 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.TextTemplating. EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.TextTemplating.Razor", "modules\text-templating\LINGYUN.Abp.TextTemplating.Razor\LINGYUN.Abp.TextTemplating.Razor.csproj", "{5F83F8D0-822B-4316-B7DD-85DAFDFAA0E2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.PermissionManagement.Application.Contracts", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Application.Contracts\LINGYUN.Abp.PermissionManagement.Application.Contracts.csproj", "{35D17AF3-FDCD-4704-969C-E82DBCC0A232}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Application.Contracts", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Application.Contracts\LINGYUN.Abp.PermissionManagement.Application.Contracts.csproj", "{35D17AF3-FDCD-4704-969C-E82DBCC0A232}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.PermissionManagement.Application", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Application\LINGYUN.Abp.PermissionManagement.Application.csproj", "{984F481B-79FF-4825-917B-944F151694BC}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.Application", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.Application\LINGYUN.Abp.PermissionManagement.Application.csproj", "{984F481B-79FF-4825-917B-944F151694BC}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.PermissionManagement.HttpApi", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.HttpApi\LINGYUN.Abp.PermissionManagement.HttpApi.csproj", "{B12BECC4-8A58-4DBD-A5CD-144A507972BB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.PermissionManagement.HttpApi", "modules\permissions-management\LINGYUN.Abp.PermissionManagement.HttpApi\LINGYUN.Abp.PermissionManagement.HttpApi.csproj", "{B12BECC4-8A58-4DBD-A5CD-144A507972BB}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "feature-management", "feature-management", "{12896A3F-5F7E-4192-8A58-E1D2527109D1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FeatureManagement.Application.Contracts", "modules\feature-management\LINGYUN.Abp.FeatureManagement.Application.Contracts\LINGYUN.Abp.FeatureManagement.Application.Contracts.csproj", "{F7A8000A-D8DA-4A1F-B0B2-9A52183F2012}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FeatureManagement.Application.Contracts", "modules\feature-management\LINGYUN.Abp.FeatureManagement.Application.Contracts\LINGYUN.Abp.FeatureManagement.Application.Contracts.csproj", "{F7A8000A-D8DA-4A1F-B0B2-9A52183F2012}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FeatureManagement.Application", "modules\feature-management\LINGYUN.Abp.FeatureManagement.Application\LINGYUN.Abp.FeatureManagement.Application.csproj", "{4E8DA436-8FAF-4028-8A0C-E4EEB3615972}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FeatureManagement.Application", "modules\feature-management\LINGYUN.Abp.FeatureManagement.Application\LINGYUN.Abp.FeatureManagement.Application.csproj", "{4E8DA436-8FAF-4028-8A0C-E4EEB3615972}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.FeatureManagement.HttpApi", "modules\feature-management\LINGYUN.Abp.FeatureManagement.HttpApi\LINGYUN.Abp.FeatureManagement.HttpApi.csproj", "{405694F8-0051-4DAE-A991-919FAC36C7DA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.FeatureManagement.HttpApi", "modules\feature-management\LINGYUN.Abp.FeatureManagement.HttpApi\LINGYUN.Abp.FeatureManagement.HttpApi.csproj", "{405694F8-0051-4DAE-A991-919FAC36C7DA}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rules-management", "rules-management", "{5F0BB690-0FBB-455A-AE9A-8BA914AA78F6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "rules-engine", "rules-engine", "{F7103498-8B5B-4698-AACE-9E949F732E77}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.RulesEngineManagement.Domain.Shared", "modules\rules-management\rules-engine\LINGYUN.Abp.RulesEngineManagement.Domain.Shared\LINGYUN.Abp.RulesEngineManagement.Domain.Shared.csproj", "{2EAA690B-1395-4952-95A0-A52F929028C4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.RulesEngineManagement.Domain", "modules\rules-management\rules-engine\LINGYUN.Abp.RulesEngineManagement.Domain\LINGYUN.Abp.RulesEngineManagement.Domain.csproj", "{722FE012-8F23-4558-9E8F-A37C02902058}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.RulesEngineManagement.Application.Contracts", "modules\rules-management\rules-engine\LINGYUN.Abp.RulesEngineManagement.Application.Contracts\LINGYUN.Abp.RulesEngineManagement.Application.Contracts.csproj", "{79D3C6D6-6433-471D-B354-477E07CB08EE}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.RulesEngineManagement.Application", "modules\rules-management\rules-engine\LINGYUN.Abp.RulesEngineManagement.Application\LINGYUN.Abp.RulesEngineManagement.Application.csproj", "{5A3B9F4D-E6CC-410F-B307-0E69CCA213F5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.RulesEngineManagement.EntityFrameworkCore", "modules\rules-management\rules-engine\LINGYUN.Abp.RulesEngineManagement.EntityFrameworkCore\LINGYUN.Abp.RulesEngineManagement.EntityFrameworkCore.csproj", "{4CDCD854-6E06-4076-AE94-53C1C1D7F6FA}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.RulesEngineManagement.HttpApi", "modules\rules-management\rules-engine\LINGYUN.Abp.RulesEngineManagement.HttpApi\LINGYUN.Abp.RulesEngineManagement.HttpApi.csproj", "{97062425-3379-4F8D-BFA2-D445C56C0801}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -1497,6 +1513,30 @@ Global {405694F8-0051-4DAE-A991-919FAC36C7DA}.Debug|Any CPU.Build.0 = Debug|Any CPU {405694F8-0051-4DAE-A991-919FAC36C7DA}.Release|Any CPU.ActiveCfg = Release|Any CPU {405694F8-0051-4DAE-A991-919FAC36C7DA}.Release|Any CPU.Build.0 = Release|Any CPU + {2EAA690B-1395-4952-95A0-A52F929028C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2EAA690B-1395-4952-95A0-A52F929028C4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2EAA690B-1395-4952-95A0-A52F929028C4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2EAA690B-1395-4952-95A0-A52F929028C4}.Release|Any CPU.Build.0 = Release|Any CPU + {722FE012-8F23-4558-9E8F-A37C02902058}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {722FE012-8F23-4558-9E8F-A37C02902058}.Debug|Any CPU.Build.0 = Debug|Any CPU + {722FE012-8F23-4558-9E8F-A37C02902058}.Release|Any CPU.ActiveCfg = Release|Any CPU + {722FE012-8F23-4558-9E8F-A37C02902058}.Release|Any CPU.Build.0 = Release|Any CPU + {79D3C6D6-6433-471D-B354-477E07CB08EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {79D3C6D6-6433-471D-B354-477E07CB08EE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {79D3C6D6-6433-471D-B354-477E07CB08EE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {79D3C6D6-6433-471D-B354-477E07CB08EE}.Release|Any CPU.Build.0 = Release|Any CPU + {5A3B9F4D-E6CC-410F-B307-0E69CCA213F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5A3B9F4D-E6CC-410F-B307-0E69CCA213F5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5A3B9F4D-E6CC-410F-B307-0E69CCA213F5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5A3B9F4D-E6CC-410F-B307-0E69CCA213F5}.Release|Any CPU.Build.0 = Release|Any CPU + {4CDCD854-6E06-4076-AE94-53C1C1D7F6FA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4CDCD854-6E06-4076-AE94-53C1C1D7F6FA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CDCD854-6E06-4076-AE94-53C1C1D7F6FA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4CDCD854-6E06-4076-AE94-53C1C1D7F6FA}.Release|Any CPU.Build.0 = Release|Any CPU + {97062425-3379-4F8D-BFA2-D445C56C0801}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {97062425-3379-4F8D-BFA2-D445C56C0801}.Debug|Any CPU.Build.0 = Debug|Any CPU + {97062425-3379-4F8D-BFA2-D445C56C0801}.Release|Any CPU.ActiveCfg = Release|Any CPU + {97062425-3379-4F8D-BFA2-D445C56C0801}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1780,6 +1820,14 @@ Global {F7A8000A-D8DA-4A1F-B0B2-9A52183F2012} = {12896A3F-5F7E-4192-8A58-E1D2527109D1} {4E8DA436-8FAF-4028-8A0C-E4EEB3615972} = {12896A3F-5F7E-4192-8A58-E1D2527109D1} {405694F8-0051-4DAE-A991-919FAC36C7DA} = {12896A3F-5F7E-4192-8A58-E1D2527109D1} + {5F0BB690-0FBB-455A-AE9A-8BA914AA78F6} = {C5CAD011-DF84-4914-939C-0C029DCEF26F} + {F7103498-8B5B-4698-AACE-9E949F732E77} = {5F0BB690-0FBB-455A-AE9A-8BA914AA78F6} + {2EAA690B-1395-4952-95A0-A52F929028C4} = {F7103498-8B5B-4698-AACE-9E949F732E77} + {722FE012-8F23-4558-9E8F-A37C02902058} = {F7103498-8B5B-4698-AACE-9E949F732E77} + {79D3C6D6-6433-471D-B354-477E07CB08EE} = {F7103498-8B5B-4698-AACE-9E949F732E77} + {5A3B9F4D-E6CC-410F-B307-0E69CCA213F5} = {F7103498-8B5B-4698-AACE-9E949F732E77} + {4CDCD854-6E06-4076-AE94-53C1C1D7F6FA} = {F7103498-8B5B-4698-AACE-9E949F732E77} + {97062425-3379-4F8D-BFA2-D445C56C0801} = {F7103498-8B5B-4698-AACE-9E949F732E77} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {C95FDF91-16F2-4A8B-A4BE-0E62D1B66718} diff --git a/aspnet-core/LINGYUN.MicroService.Workflow.sln b/aspnet-core/LINGYUN.MicroService.Workflow.sln index 63605688a..56113a53c 100644 --- a/aspnet-core/LINGYUN.MicroService.Workflow.sln +++ b/aspnet-core/LINGYUN.MicroService.Workflow.sln @@ -61,6 +61,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.AuditLogging", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.AuditLogging.Elasticsearch", "modules\auditing\LINGYUN.Abp.AuditLogging.Elasticsearch\LINGYUN.Abp.AuditLogging.Elasticsearch.csproj", "{00AB0A7E-578E-469C-B049-BCAA0233A9DD}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.ExceptionHandling", "modules\common\LINGYUN.Abp.ExceptionHandling\LINGYUN.Abp.ExceptionHandling.csproj", "{90B326F6-99DF-4EEC-A480-26C27EE22237}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.ExceptionHandling.Notifications", "modules\common\LINGYUN.Abp.ExceptionHandling.Notifications\LINGYUN.Abp.ExceptionHandling.Notifications.csproj", "{96EBCB1F-DB7B-40BA-B59E-82FC1AE13EA0}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LINGYUN.Abp.Notifications.Common", "modules\common\LINGYUN.Abp.Notifications.Common\LINGYUN.Abp.Notifications.Common.csproj", "{6399C2FB-B063-4BB3-B605-88CE5303198B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LINGYUN.Abp.Elsa.Notifications", "modules\elsa\LINGYUN.Abp.Elsa.Notifications\LINGYUN.Abp.Elsa.Notifications.csproj", "{D2F6105D-D667-46DB-8CDA-89B4D3F69067}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -163,6 +171,22 @@ Global {00AB0A7E-578E-469C-B049-BCAA0233A9DD}.Debug|Any CPU.Build.0 = Debug|Any CPU {00AB0A7E-578E-469C-B049-BCAA0233A9DD}.Release|Any CPU.ActiveCfg = Release|Any CPU {00AB0A7E-578E-469C-B049-BCAA0233A9DD}.Release|Any CPU.Build.0 = Release|Any CPU + {90B326F6-99DF-4EEC-A480-26C27EE22237}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {90B326F6-99DF-4EEC-A480-26C27EE22237}.Debug|Any CPU.Build.0 = Debug|Any CPU + {90B326F6-99DF-4EEC-A480-26C27EE22237}.Release|Any CPU.ActiveCfg = Release|Any CPU + {90B326F6-99DF-4EEC-A480-26C27EE22237}.Release|Any CPU.Build.0 = Release|Any CPU + {96EBCB1F-DB7B-40BA-B59E-82FC1AE13EA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {96EBCB1F-DB7B-40BA-B59E-82FC1AE13EA0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {96EBCB1F-DB7B-40BA-B59E-82FC1AE13EA0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {96EBCB1F-DB7B-40BA-B59E-82FC1AE13EA0}.Release|Any CPU.Build.0 = Release|Any CPU + {6399C2FB-B063-4BB3-B605-88CE5303198B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6399C2FB-B063-4BB3-B605-88CE5303198B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6399C2FB-B063-4BB3-B605-88CE5303198B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6399C2FB-B063-4BB3-B605-88CE5303198B}.Release|Any CPU.Build.0 = Release|Any CPU + {D2F6105D-D667-46DB-8CDA-89B4D3F69067}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D2F6105D-D667-46DB-8CDA-89B4D3F69067}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D2F6105D-D667-46DB-8CDA-89B4D3F69067}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D2F6105D-D667-46DB-8CDA-89B4D3F69067}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -192,6 +216,10 @@ Global {B3C2AFCC-EE59-4CB4-AB62-B90D60335632} = {035B86BF-DD63-4A78-B8CE-29994860C948} {A03A98B6-19E9-4CCA-9801-AEFCBAAF5B72} = {D2E33CD0-B6CA-49B7-930C-018257E78D99} {00AB0A7E-578E-469C-B049-BCAA0233A9DD} = {D2E33CD0-B6CA-49B7-930C-018257E78D99} + {90B326F6-99DF-4EEC-A480-26C27EE22237} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A} + {96EBCB1F-DB7B-40BA-B59E-82FC1AE13EA0} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A} + {6399C2FB-B063-4BB3-B605-88CE5303198B} = {6DA78E72-BA55-4ECF-97DB-6258174D3E2A} + {D2F6105D-D667-46DB-8CDA-89B4D3F69067} = {F1CCBEC7-ACAB-4DC5-909E-D8CC2E1B7EEC} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6BB7A5DE-DA12-44DC-BC9B-0F6CA524346F} diff --git a/aspnet-core/common.props b/aspnet-core/common.props index b21529af9..2e3e794b9 100644 --- a/aspnet-core/common.props +++ b/aspnet-core/common.props @@ -1,7 +1,7 @@ latest - 7.1.0 + 7.1.1 colin $(NoWarn);CS1591;CS0436;CS8618;NU1803 https://github.com/colinin/abp-next-admin diff --git a/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN.Abp.Cli.csproj b/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN.Abp.Cli.csproj index addcee33b..2822040d1 100644 --- a/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN.Abp.Cli.csproj +++ b/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN.Abp.Cli.csproj @@ -5,7 +5,7 @@ Exe net7.0 - 7.0.3 + 7.1.1 colin Use LINGYUN.MicroService.Templates command line true diff --git a/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/UI/Vben/Templates/VbenTableViewScript.tpl b/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/UI/Vben/Templates/VbenTableViewScript.tpl index f7a80297e..526a5c744 100644 --- a/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/UI/Vben/Templates/VbenTableViewScript.tpl +++ b/aspnet-core/modules/cli/LINGYUN.Abp.Cli/LINGYUN/Abp/Cli/UI/Vben/Templates/VbenTableViewScript.tpl @@ -1,5 +1,5 @@