Browse Source

perfect localization

pull/96/head
cKey 5 years ago
parent
commit
b42a739302
  1. 55
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN/Abp/Auditing/Localization/Resources/en.json
  2. 55
      aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN/Abp/Auditing/Localization/Resources/zh-Hans.json
  3. BIN
      aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db
  4. 2
      vueJs/src/lang/zh.ts
  5. 2
      vueJs/src/views/admin/auditing/audit-log/components/AuditLogDialog.vue
  6. 92
      vueJs/src/views/admin/auditing/audit-log/components/AuditLogProfile.vue
  7. 62
      vueJs/src/views/admin/auditing/audit-log/index.vue
  8. 2
      vueJs/src/views/admin/auditing/security-log/components/SecurityLogDialog.vue
  9. 30
      vueJs/src/views/admin/auditing/security-log/components/SecurityLogProfile.vue
  10. 61
      vueJs/src/views/admin/auditing/security-log/index.vue
  11. 2
      vueJs/src/views/admin/tenants/components/TenantFeatureEditForm.vue

55
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN/Abp/Auditing/Localization/Resources/en.json

@ -9,6 +9,59 @@
"Features:DisplayName:AuditLog": "Audit log", "Features:DisplayName:AuditLog": "Audit log",
"Features:Description:AuditLog": "Whether to enable audit logging", "Features:Description:AuditLog": "Whether to enable audit logging",
"Features:DisplayName:SecurityLog": "Security log", "Features:DisplayName:SecurityLog": "Security log",
"Features:Description:SecurityLog": "Whether to enable security logging" "Features:Description:SecurityLog": "Whether to enable security logging",
"SecurityLog": "Security log",
"AuditLog": "Audit log",
"Application": "Application",
"ApplicationName": "Application name",
"TenantId": "Tenant id",
"TenantName": "Tenant name",
"ImpersonatorTenantId": "Impersonator tenant",
"UserInfo": "User info",
"UserId": "User id",
"UserName": "User name",
"ImpersonatorUserId": "Impersonator user",
"ClientId": "Client id",
"ClientName": "Client name",
"ClientIpAddress": "Ip address",
"BrowserInfo": "Browser",
"Operation": "Operation",
"HttpMethod": "Http method",
"RequestUrl": "Request url",
"HttpStatusCode": "StatusCode",
"HasException": "Has exception",
"ExecutionTime": "Execution time",
"MinExecutionDuration": "Min execution duration(ms)",
"MaxExecutionDuration": "Max execution duration(ms)",
"ExecutionDuration": "Execution duration(ms)",
"Identity": "Identity",
"ActionName": "Action",
"CreationTime": "Creation time",
"Additional": "Additional",
"CorrelationId": "Correlation",
"StartTime": "Start time",
"EndTime": "End time",
"SelectDateTime": "Select time",
"InvokeMethod": "Invoke method",
"ServiceName": "Service",
"MethodName": "Method",
"Parameters": "Parameters",
"EntitiesChanged": "Entities changed",
"ChangeType": "Change type",
"EntityTypeFullName": "Entity type",
"EntityId": "Entity id",
"PropertyChanges": "Property changes",
"PropertyName": "Property name",
"NewValue": "New value",
"OriginalValue": "Original value",
"PropertyTypeFullName": "Property type",
"Exception": "Exception",
"StackTrack": "Stack track",
"SecrchLog": "Secrch",
"Created": "Created",
"Updated": "Updated",
"Deleted": "Deleted",
"ShowLogDialog": "Show log",
"DeleteLog": "Delete log"
} }
} }

55
aspnet-core/modules/auditing/LINGYUN.Abp.Auditing.Application.Contracts/LINGYUN/Abp/Auditing/Localization/Resources/zh-Hans.json

@ -9,6 +9,59 @@
"Features:DisplayName:AuditLog": "审计日志", "Features:DisplayName:AuditLog": "审计日志",
"Features:Description:AuditLog": "是否启用审计日志功能", "Features:Description:AuditLog": "是否启用审计日志功能",
"Features:DisplayName:SecurityLog": "安全日志", "Features:DisplayName:SecurityLog": "安全日志",
"Features:Description:SecurityLog": "是否启用安全日志功能" "Features:Description:SecurityLog": "是否启用安全日志功能",
"SecurityLog": "安全日志",
"AuditLog": "审计日志",
"Application": "应用信息",
"ApplicationName": "应用名称",
"TenantId": "租户标识",
"TenantName": "租户名称",
"ImpersonatorTenantId": "模拟租户",
"UserInfo": "用户信息",
"UserId": "用户标识",
"UserName": "用户名称",
"ImpersonatorUserId": "模拟用户",
"ClientId": "客户端标识",
"ClientName": "客户端名称",
"ClientIpAddress": "客户端地址",
"BrowserInfo": "浏览器信息",
"Operation": "操作信息",
"HttpMethod": "请求方法",
"RequestUrl": "请求路径",
"HttpStatusCode": "响应状态",
"HasException": "包含异常",
"ExecutionTime": "调用时间",
"MinExecutionDuration": "最短响应时间(ms)",
"MaxExecutionDuration": "最长响应时间(ms)",
"ExecutionDuration": "响应时间(ms)",
"Identity": "主体名称",
"ActionName": "方法名称",
"CreationTime": "创建时间",
"Additional": "附加信息",
"CorrelationId": "链路标识",
"StartTime": "开始时间",
"EndTime": "结束时间",
"SelectDateTime": "选择日期时间",
"InvokeMethod": "调用方法",
"ServiceName": "服务名称",
"MethodName": "方法名称",
"Parameters": "参数列表",
"EntitiesChanged": "实体变更",
"ChangeType": "变更类型",
"EntityTypeFullName": "实体类型",
"EntityId": "实体标识",
"PropertyChanges": "属性变更",
"PropertyName": "属性名称",
"NewValue": "当前值",
"OriginalValue": "原始值",
"PropertyTypeFullName": "属性类型",
"Exception": "异常信息",
"StackTrack": "异常堆栈",
"SecrchLog": "查询日志",
"Created": "新增",
"Updated": "修改",
"Deleted": "删除",
"ShowLogDialog": "查看日志",
"DeleteLog": "删除日志"
} }
} }

BIN
aspnet-core/services/apigateway/LINGYUN.ApiGateway.Host/event-bus-cap.db

Binary file not shown.

2
vueJs/src/lang/zh.ts

@ -298,7 +298,7 @@ export default {
filterString: '过滤字符', filterString: '过滤字符',
searchList: '查询列表', searchList: '查询列表',
creationTime: '创建时间', creationTime: '创建时间',
successful: '提交成功', successful: '操作成功',
pleaseInputBy: '请输入{key}', pleaseInputBy: '请输入{key}',
pleaseSelectBy: '请选择{key}', pleaseSelectBy: '请选择{key}',
none: '未定义', none: '未定义',

2
vueJs/src/views/admin/auditing/audit-log/components/AuditLogDialog.vue

@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
:visible="showDialog" :visible="showDialog"
title="审计日志" :title="$t('AbpAuditLogging.AuditLog')"
width="800px" width="800px"
:close-on-click-modal="true" :close-on-click-modal="true"
@close="onFormClosed" @close="onFormClosed"

92
vueJs/src/views/admin/auditing/audit-log/components/AuditLogProfile.vue

@ -3,22 +3,22 @@
<el-form label-width="100px"> <el-form label-width="100px">
<el-tabs v-model="activedTabItem"> <el-tabs v-model="activedTabItem">
<el-tab-pane <el-tab-pane
label="应用信息" :label="$t('AbpAuditLogging.Application')"
name="application" name="application"
> >
<el-form-item label="应用名称"> <el-form-item :label="$t('AbpAuditLogging.ApplicationName')">
<el-input <el-input
v-model="auditLog.applicationName" v-model="auditLog.applicationName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="租户标识"> <el-form-item :label="$t('AbpAuditLogging.TenantId')">
<el-input <el-input
v-model="auditLog.tenantId" v-model="auditLog.tenantId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="租户名称"> <el-form-item :label="$t('AbpAuditLogging.TenantName')">
<el-input <el-input
v-model="auditLog.tenantName" v-model="auditLog.tenantName"
readonly readonly
@ -26,7 +26,7 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="auditLog.impersonatorTenantId !== null" v-if="auditLog.impersonatorTenantId !== null"
label="模拟租户" :label="$t('AbpAuditLogging.ImpersonatorTenantId')"
> >
<el-input <el-input
v-model="auditLog.impersonatorTenantId" v-model="auditLog.impersonatorTenantId"
@ -35,10 +35,10 @@
</el-form-item> </el-form-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
label="用户信息" :label="$t('AbpAuditLogging.UserInfo')"
name="userInfo" name="userInfo"
> >
<el-form-item label="用户标识"> <el-form-item :label="$t('AbpAuditLogging.UserId')">
<el-input <el-input
v-model="auditLog.userId" v-model="auditLog.userId"
readonly readonly
@ -46,38 +46,38 @@
</el-form-item> </el-form-item>
<el-form-item <el-form-item
v-if="auditLog.impersonatorUserId !== null" v-if="auditLog.impersonatorUserId !== null"
label="模拟用户" :label="$t('AbpAuditLogging.ImpersonatorUserId')"
> >
<el-input <el-input
v-model="auditLog.impersonatorUserId" v-model="auditLog.impersonatorUserId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="用户名称"> <el-form-item :label="$t('AbpAuditLogging.UserName')">
<el-input <el-input
v-model="auditLog.userName" v-model="auditLog.userName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户端标识"> <el-form-item :label="$t('AbpAuditLogging.ClientId')">
<el-input <el-input
v-model="auditLog.clientId" v-model="auditLog.clientId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户端名称"> <el-form-item :label="$t('AbpAuditLogging.ClientName')">
<el-input <el-input
v-model="auditLog.clientName" v-model="auditLog.clientName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户端地址"> <el-form-item :label="$t('AbpAuditLogging.ClientIpAddress')">
<el-input <el-input
v-model="auditLog.clientIpAddress" v-model="auditLog.clientIpAddress"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="浏览器信息"> <el-form-item :label="$t('AbpAuditLogging.BrowserInfo')">
<el-input <el-input
v-model="auditLog.browserInfo" v-model="auditLog.browserInfo"
type="textarea" type="textarea"
@ -86,40 +86,40 @@
</el-form-item> </el-form-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
label="操作信息" :label="$t('AbpAuditLogging.Operation')"
name="operation" name="operation"
> >
<el-form-item label="请求路径"> <el-form-item :label="$t('AbpAuditLogging.RequestUrl')">
<el-input <el-input
v-model="auditLog.url" v-model="auditLog.url"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="操作方法"> <el-form-item :label="$t('AbpAuditLogging.HttpMethod')">
<el-input <el-input
v-model="auditLog.httpMethod" v-model="auditLog.httpMethod"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="调用时间"> <el-form-item :label="$t('AbpAuditLogging.ExecutionTime')">
<el-input <el-input
:value="getFormatDateTime(auditLog.executionTime)" :value="getFormatDateTime(auditLog.executionTime)"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="响应时间"> <el-form-item :label="$t('AbpAuditLogging.ExecutionDuration')">
<el-input <el-input
v-model="auditLog.executionDuration" v-model="auditLog.executionDuration"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="响应状态"> <el-form-item :label="$t('AbpAuditLogging.HttpStatusCode')">
<el-input <el-input
v-model="auditLog.httpStatusCode" v-model="auditLog.httpStatusCode"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="调用链标识"> <el-form-item :label="$t('AbpAuditLogging.CorrelationId')">
<el-input <el-input
v-model="auditLog.correlationId" v-model="auditLog.correlationId"
readonly readonly
@ -127,7 +127,7 @@
</el-form-item> </el-form-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
label="调用方法" :label="$t('AbpAuditLogging.InvokeMethod')"
name="methodInvoke" name="methodInvoke"
style="height:300px;overflow-y:auto;overflow-x:hidden;" style="height:300px;overflow-y:auto;overflow-x:hidden;"
> >
@ -140,25 +140,25 @@
placement="top" placement="top"
> >
<el-card> <el-card>
<el-form-item label="调用服务"> <el-form-item :label="$t('AbpAuditLogging.ServiceName')">
<el-input <el-input
v-model="action.serviceName" v-model="action.serviceName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="方法名称"> <el-form-item :label="$t('AbpAuditLogging.MethodName')">
<el-input <el-input
v-model="action.methodName" v-model="action.methodName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="响应时间"> <el-form-item :label="$t('AbpAuditLogging.ExecutionDuration')">
<el-input <el-input
v-model="action.executionDuration" v-model="action.executionDuration"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="参数列表"> <el-form-item :label="$t('AbpAuditLogging.Parameters')">
<json-editor <json-editor
:value="getFormatJsonValue(action.parameters)" :value="getFormatJsonValue(action.parameters)"
/> />
@ -169,7 +169,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
v-if="getEntitiesChanges.length > 0" v-if="getEntitiesChanges.length > 0"
label="实体变更" :label="$t('AbpAuditLogging.EntitiesChanged')"
name="entitiesChanged" name="entitiesChanged"
style="height:300px;overflow-y:auto;overflow-x:hidden;" style="height:300px;overflow-y:auto;overflow-x:hidden;"
> >
@ -182,31 +182,31 @@
placement="top" placement="top"
> >
<el-card> <el-card>
<el-form-item label="变更类型"> <el-form-item :label="$t('AbpAuditLogging.ChangeType')">
<el-input <el-input
:value="entity.changeType | entityChangeTypeNameFilter" :value="getEntityChangeTypeName(entity.changeType)"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="实体类型"> <el-form-item :label="$t('AbpAuditLogging.EntityTypeFullName')">
<el-input <el-input
v-model="entity.entityTypeFullName" v-model="entity.entityTypeFullName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="实体标识"> <el-form-item :label="$t('AbpAuditLogging.EntityId')">
<el-input <el-input
v-model="entity.entityId" v-model="entity.entityId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="租户标识"> <el-form-item :label="$t('AbpAuditLogging.TenantId')">
<el-input <el-input
v-model="entity.entityTenantId" v-model="entity.entityTenantId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="属性变更"> <el-form-item :label="$t('AbpAuditLogging.PropertyChanges')">
<el-table <el-table
row-key="id" row-key="id"
:data="entity.propertyChanges" :data="entity.propertyChanges"
@ -216,7 +216,7 @@
style="width: 100%;" style="width: 100%;"
> >
<el-table-column <el-table-column
label="属性名称" :label="$t('AbpAuditLogging.PropertyName')"
prop="propertyName" prop="propertyName"
sortable sortable
width="200px" width="200px"
@ -226,7 +226,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="当前值" :label="$t('AbpAuditLogging.NewValue')"
prop="newValue" prop="newValue"
sortable sortable
width="320px" width="320px"
@ -236,7 +236,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="原始值" :label="$t('AbpAuditLogging.OriginalValue')"
prop="originalValue" prop="originalValue"
sortable sortable
width="320px" width="320px"
@ -246,7 +246,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="属性类型" :label="$t('AbpAuditLogging.PropertyTypeFullName')"
prop="propertyTypeFullName" prop="propertyTypeFullName"
sortable sortable
width="500px" width="500px"
@ -263,10 +263,10 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
v-if="hasException" v-if="hasException"
label="异常信息" :label="$t('AbpAuditLogging.Exception')"
name="exception" name="exception"
> >
<el-form-item label="异常堆栈"> <el-form-item :label="$t('AbpAuditLogging.StackTrack')">
<el-input <el-input
v-model="auditLog.exceptions" v-model="auditLog.exceptions"
type="textarea" type="textarea"
@ -277,7 +277,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
v-if="hasExtraProperties" v-if="hasExtraProperties"
label="附加信息" :label="$t('AbpAuditLogging.Additional')"
name="extraProperties" name="extraProperties"
> >
<el-form-item <el-form-item
@ -303,9 +303,9 @@ import { dateFormat } from '@/utils'
import JsonEditor from '@/components/JsonEditor/index.vue' import JsonEditor from '@/components/JsonEditor/index.vue'
const entityChangeTypeNameMap: { [key: number]: string } = { const entityChangeTypeNameMap: { [key: number]: string } = {
[ChangeType.Created]: '新增', [ChangeType.Created]: 'AbpAuditLogging.Created',
[ChangeType.Updated]: '修改', [ChangeType.Updated]: 'AbpAuditLogging.Updated',
[ChangeType.Deleted]: '删除' [ChangeType.Deleted]: 'AbpAuditLogging.Deleted'
} }
const entityChangeTypeTimelineMap: { [key: number]: string } = { const entityChangeTypeTimelineMap: { [key: number]: string } = {
[ChangeType.Created]: 'success', [ChangeType.Created]: 'success',
@ -331,9 +331,6 @@ const entityChangeTypeTimelineMap: { [key: number]: string } = {
} }
return 'primary' return 'primary'
}, },
entityChangeTypeNameFilter(type: ChangeType) {
return entityChangeTypeNameMap[type]
},
entityChangeTypeTimelineFilter(type: ChangeType) { entityChangeTypeTimelineFilter(type: ChangeType) {
return entityChangeTypeTimelineMap[type] return entityChangeTypeTimelineMap[type]
} }
@ -351,6 +348,11 @@ const entityChangeTypeTimelineMap: { [key: number]: string } = {
} }
return null return null
} }
},
getEntityChangeTypeName() {
return (type: ChangeType) => {
return this.$t(entityChangeTypeNameMap[type])
}
} }
} }
}) })

62
vueJs/src/views/admin/auditing/audit-log/index.vue

@ -5,26 +5,26 @@
<el-collapse> <el-collapse>
<el-collapse-item> <el-collapse-item>
<template slot="title"> <template slot="title">
<span class="data-filter-collapse-title">查询条件</span> <span class="data-filter-collapse-title">{{ $t('queryFilter') }}</span>
</template> </template>
<el-form label-width="100px"> <el-form label-width="130px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="应用名称"> <el-form-item :label="$t('AbpAuditLogging.ApplicationName')">
<el-input <el-input
v-model="dataFilter.applicationName" v-model="dataFilter.applicationName"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="用户名称"> <el-form-item :label="$t('AbpAuditLogging.UserName')">
<el-input <el-input
v-model="dataFilter.userName" v-model="dataFilter.userName"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="请求方法"> <el-form-item :label="$t('AbpAuditLogging.HttpMethod')">
<el-input <el-input
v-model="dataFilter.httpMethod" v-model="dataFilter.httpMethod"
/> />
@ -33,14 +33,14 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="16"> <el-col :span="16">
<el-form-item label="请求路径"> <el-form-item :label="$t('AbpAuditLogging.RequestUrl')">
<el-input <el-input
v-model="dataFilter.url" v-model="dataFilter.url"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="响应状态"> <el-form-item :label="$t('AbpAuditLogging.HttpStatusCode')">
<el-input <el-input
v-model="dataFilter.httpStatusCode" v-model="dataFilter.httpStatusCode"
type="number" type="number"
@ -50,14 +50,14 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="6"> <el-col :span="6">
<el-form-item label="包含异常"> <el-form-item :label="$t('AbpAuditLogging.HasException')">
<el-switch <el-switch
v-model="dataFilter.hasException" v-model="dataFilter.hasException"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="18"> <el-col :span="18">
<el-form-item label="调用链"> <el-form-item :label="$t('AbpAuditLogging.CorrelationId')">
<el-input <el-input
v-model="dataFilter.correlationId" v-model="dataFilter.correlationId"
/> />
@ -66,7 +66,7 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="最短响应时间"> <el-form-item :label="$t('AbpAuditLogging.MinExecutionDuration')">
<el-input <el-input
v-model="dataFilter.minExecutionDuration" v-model="dataFilter.minExecutionDuration"
type="number" type="number"
@ -74,7 +74,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="最长响应时间"> <el-form-item :label="$t('AbpAuditLogging.MaxExecutionDuration')">
<el-input <el-input
v-model="dataFilter.maxExecutionDuration" v-model="dataFilter.maxExecutionDuration"
type="number" type="number"
@ -84,10 +84,10 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开始时间"> <el-form-item :label="$t('AbpAuditLogging.StartTime')">
<el-date-picker <el-date-picker
v-model="dataFilter.startTime" v-model="dataFilter.startTime"
placeholder="选择日期时间" :placeholder="$t('AbpAuditLogging.SelectDateTime')"
type="datetime" type="datetime"
default-time="00:00:00" default-time="00:00:00"
style="width: 100%" style="width: 100%"
@ -96,10 +96,10 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结束时间"> <el-form-item :label="$t('AbpAuditLogging.EndTime')">
<el-date-picker <el-date-picker
v-model="dataFilter.endTime" v-model="dataFilter.endTime"
placeholder="选择日期时间" :placeholder="$t('AbpAuditLogging.SelectDateTime')"
type="datetime" type="datetime"
default-time="23:59:59" default-time="23:59:59"
style="width: 100%" style="width: 100%"
@ -115,7 +115,7 @@
@click="refreshPagedData" @click="refreshPagedData"
> >
<i class="el-icon-search" /> <i class="el-icon-search" />
查询日志 {{ $t('AbpAuditLogging.SecrchLog') }}
</el-button> </el-button>
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
@ -135,7 +135,7 @@
@row-dblclick="onRowDoubleClicked" @row-dblclick="onRowDoubleClicked"
> >
<el-table-column <el-table-column
label="应用程序" :label="$t('AbpAuditLogging.ApplicationName')"
prop="applicationName" prop="applicationName"
sortable sortable
width="200px" width="200px"
@ -146,7 +146,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="请求路径" :label="$t('AbpAuditLogging.RequestUrl')"
prop="url" prop="url"
sortable sortable
width="250px" width="250px"
@ -158,7 +158,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="响应时间" :label="$t('AbpAuditLogging.ExecutionDuration')"
prop="executionDuration" prop="executionDuration"
sortable sortable
width="130px" width="130px"
@ -173,7 +173,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="状态码" :label="$t('AbpAuditLogging.HttpStatusCode')"
prop="httpStatusCode" prop="httpStatusCode"
sortable sortable
width="100px" width="100px"
@ -188,7 +188,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作用户" :label="$t('AbpAuditLogging.UserName')"
prop="userName" prop="userName"
sortable sortable
width="150px" width="150px"
@ -199,7 +199,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="客户端标识" :label="$t('AbpAuditLogging.ClientId')"
prop="clientId" prop="clientId"
sortable sortable
width="150px" width="150px"
@ -210,7 +210,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="客户端名称" :label="$t('AbpAuditLogging.ClientName')"
prop="clientName" prop="clientName"
sortable sortable
width="150px" width="150px"
@ -221,7 +221,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="客户端地址" :label="$t('AbpAuditLogging.ClientIpAddress')"
prop="clientIpAddress" prop="clientIpAddress"
sortable sortable
width="150px" width="150px"
@ -232,7 +232,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作方法" :label="$t('AbpAuditLogging.HttpMethod')"
prop="httpMethod" prop="httpMethod"
sortable sortable
width="150px" width="150px"
@ -259,7 +259,7 @@
type="primary" type="primary"
@click="handleShowAuditLogDialog(row)" @click="handleShowAuditLogDialog(row)"
> >
查看日志 {{ $t('AbpAuditLogging.ShowLogDialog') }}
</el-button> </el-button>
<el-button <el-button
:disabled="!checkPermission(['AbpAuditing.AuditLog.Delete'])" :disabled="!checkPermission(['AbpAuditing.AuditLog.Delete'])"
@ -267,7 +267,7 @@
type="danger" type="danger"
@click="handleDeleteAuditLog(row.id)" @click="handleDeleteAuditLog(row.id)"
> >
删除日志 {{ $t('AbpAuditLogging.DeleteLog') }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -367,12 +367,12 @@ export default class extends mixins(DataListMiXin) {
} }
private handleDeleteAuditLog(id: string) { private handleDeleteAuditLog(id: string) {
this.$confirm('是否要删除选定的审计日志记录?', this.$confirm(this.l('questingDeleteByMessage', { message: id }),
'删除审计日志', { this.l('AbpAuditLogging.DeleteLog'), {
callback: (action) => { callback: (action) => {
if (action === 'confirm') { if (action === 'confirm') {
AuditingService.deleteAuditLog(id).then(() => { AuditingService.deleteAuditLog(id).then(() => {
this.$message.success('删除成功!') this.$message.success(this.l('successful'))
this.refreshPagedData() this.refreshPagedData()
}) })
} }
@ -390,7 +390,7 @@ export default class extends mixins(DataListMiXin) {
} }
</script> </script>
<style lang="scss"> <style lang="scss" scoped>
.data-filter-collapse-title { .data-filter-collapse-title {
font-size: 15px; font-size: 15px;
} }

2
vueJs/src/views/admin/auditing/security-log/components/SecurityLogDialog.vue

@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
:visible="showDialog" :visible="showDialog"
title="安全日志" :title="$t('AbpAuditLogging.SecurityLog')"
width="800px" width="800px"
:close-on-click-modal="true" :close-on-click-modal="true"
@close="onFormClosed" @close="onFormClosed"

30
vueJs/src/views/admin/auditing/security-log/components/SecurityLogProfile.vue

@ -3,16 +3,16 @@
<el-form label-width="100px"> <el-form label-width="100px">
<el-tabs v-model="activedTabItem"> <el-tabs v-model="activedTabItem">
<el-tab-pane <el-tab-pane
label="应用信息" :label="$t('AbpAuditLogging.Application')"
name="application" name="application"
> >
<el-form-item label="应用名称"> <el-form-item :label="$t('AbpAuditLogging.ApplicationName')">
<el-input <el-input
v-model="securityLog.applicationName" v-model="securityLog.applicationName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="租户名称"> <el-form-item :label="$t('AbpAuditLogging.TenantName')">
<el-input <el-input
v-model="securityLog.tenantName" v-model="securityLog.tenantName"
readonly readonly
@ -20,40 +20,40 @@
</el-form-item> </el-form-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
label="用户信息" :label="$t('AbpAuditLogging.UserInfo')"
name="userInfo" name="userInfo"
> >
<el-form-item label="用户标识"> <el-form-item :label="$t('AbpAuditLogging.UserId')">
<el-input <el-input
v-model="securityLog.userId" v-model="securityLog.userId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="用户名称"> <el-form-item :label="$t('AbpAuditLogging.UserName')">
<el-input <el-input
v-model="securityLog.userName" v-model="securityLog.userName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户端标识"> <el-form-item :label="$t('AbpAuditLogging.ClientId')">
<el-input <el-input
v-model="securityLog.clientId" v-model="securityLog.clientId"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户端名称"> <el-form-item :label="$t('AbpAuditLogging.ClientName')">
<el-input <el-input
v-model="securityLog.clientName" v-model="securityLog.clientName"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="客户端地址"> <el-form-item :label="$t('AbpAuditLogging.ClientIpAddress')">
<el-input <el-input
v-model="securityLog.clientIpAddress" v-model="securityLog.clientIpAddress"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="浏览器信息"> <el-form-item :label="$t('AbpAuditLogging.BrowserInfo')">
<el-input <el-input
v-model="securityLog.browserInfo" v-model="securityLog.browserInfo"
type="textarea" type="textarea"
@ -62,22 +62,22 @@
</el-form-item> </el-form-item>
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
label="操作信息" :label="$t('AbpAuditLogging.Operation')"
name="operation" name="operation"
> >
<el-form-item label="主体名称"> <el-form-item :label="$t('AbpAuditLogging.Identity')">
<el-input <el-input
v-model="securityLog.identity" v-model="securityLog.identity"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="方法名称"> <el-form-item :label="$t('AbpAuditLogging.ActionName')">
<el-input <el-input
v-model="securityLog.action" v-model="securityLog.action"
readonly readonly
/> />
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item :label="$t('AbpAuditLogging.CreationTime')">
<el-input <el-input
:value="getFormatDateTime(securityLog.creationTime)" :value="getFormatDateTime(securityLog.creationTime)"
readonly readonly
@ -86,7 +86,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane <el-tab-pane
v-if="hasExtraProperties" v-if="hasExtraProperties"
label="附加信息" :label="$t('AbpAuditLogging.Additional')"
name="extraProperties" name="extraProperties"
> >
<el-form-item <el-form-item

61
vueJs/src/views/admin/auditing/security-log/index.vue

@ -5,26 +5,26 @@
<el-collapse> <el-collapse>
<el-collapse-item> <el-collapse-item>
<template slot="title"> <template slot="title">
<span class="data-filter-collapse-title">查询条件</span> <span class="data-filter-collapse-title">{{ $t('queryFilter') }}</span>
</template> </template>
<el-form label-width="100px"> <el-form label-width="100px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="应用名称"> <el-form-item :label="$t('AbpAuditLogging.ApplicationName')">
<el-input <el-input
v-model="dataFilter.applicationName" v-model="dataFilter.applicationName"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="用户名称"> <el-form-item :label="$t('AbpAuditLogging.UserName')">
<el-input <el-input
v-model="dataFilter.userName" v-model="dataFilter.userName"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="客户端标识"> <el-form-item :label="$t('AbpAuditLogging.ClientId')">
<el-input <el-input
v-model="dataFilter.clientId" v-model="dataFilter.clientId"
/> />
@ -32,31 +32,22 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="16"> <el-col :span="8">
<el-form-item label="主体名称"> <el-form-item :label="$t('AbpAuditLogging.Identity')">
<el-input <el-input
v-model="dataFilter.identity" v-model="dataFilter.identity"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="方法名称"> <el-form-item :label="$t('AbpAuditLogging.ActionName')">
<el-input <el-input
v-model="dataFilter.actionName" v-model="dataFilter.actionName"
/> />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="8">
<el-row> <el-form-item :label="$t('AbpAuditLogging.CorrelationId')">
<el-col :span="12">
<el-form-item label="客户端标识">
<el-input
v-model="dataFilter.clientId"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调用链">
<el-input <el-input
v-model="dataFilter.correlationId" v-model="dataFilter.correlationId"
/> />
@ -65,10 +56,10 @@
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开始时间"> <el-form-item :label="$t('AbpAuditLogging.StartTime')">
<el-date-picker <el-date-picker
v-model="dataFilter.startTime" v-model="dataFilter.startTime"
placeholder="选择日期时间" :placeholder="$t('AbpAuditLogging.SelectDateTime')"
type="datetime" type="datetime"
default-time="00:00:00" default-time="00:00:00"
style="width: 100%" style="width: 100%"
@ -77,10 +68,10 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结束时间"> <el-form-item :label="$t('AbpAuditLogging.EndTime')">
<el-date-picker <el-date-picker
v-model="dataFilter.endTime" v-model="dataFilter.endTime"
placeholder="选择日期时间" :placeholder="$t('AbpAuditLogging.SelectDateTime')"
type="datetime" type="datetime"
default-time="23:59:59" default-time="23:59:59"
style="width: 100%" style="width: 100%"
@ -96,7 +87,7 @@
@click="refreshPagedData" @click="refreshPagedData"
> >
<i class="el-icon-search" /> <i class="el-icon-search" />
查询日志 {{ $t('AbpAuditLogging.SecrchLog') }}
</el-button> </el-button>
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
@ -116,7 +107,7 @@
@row-dblclick="onRowDoubleClicked" @row-dblclick="onRowDoubleClicked"
> >
<el-table-column <el-table-column
label="应用程序" :label="$t('AbpAuditLogging.ApplicationName')"
prop="applicationName" prop="applicationName"
sortable sortable
width="200px" width="200px"
@ -127,7 +118,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="操作用户" :label="$t('AbpAuditLogging.UserName')"
prop="userName" prop="userName"
sortable sortable
width="200px" width="200px"
@ -138,7 +129,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="客户端标识" :label="$t('AbpAuditLogging.ClientId')"
prop="clientId" prop="clientId"
sortable sortable
width="200px" width="200px"
@ -149,7 +140,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="客户端名称" :label="$t('AbpAuditLogging.ClientName')"
prop="clientName" prop="clientName"
sortable sortable
width="200px" width="200px"
@ -160,7 +151,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="客户端地址" :label="$t('AbpAuditLogging.ClientIpAddress')"
prop="clientIpAddress" prop="clientIpAddress"
sortable sortable
width="200px" width="200px"
@ -171,7 +162,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="认证服务器" :label="$t('AbpAuditLogging.Identity')"
prop="identity" prop="identity"
sortable sortable
width="200px" width="200px"
@ -182,7 +173,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
label="方法名称" :label="$t('AbpAuditLogging.ActionName')"
prop="action" prop="action"
sortable sortable
width="200px" width="200px"
@ -205,7 +196,7 @@
type="primary" type="primary"
@click="handleShowSecurityLogDialog(row)" @click="handleShowSecurityLogDialog(row)"
> >
查看日志 {{ $t('AbpAuditLogging.ShowLogDialog') }}
</el-button> </el-button>
<el-button <el-button
:disabled="!checkPermission(['AbpAuditing.SecurityLog.Delete'])" :disabled="!checkPermission(['AbpAuditing.SecurityLog.Delete'])"
@ -213,7 +204,7 @@
type="danger" type="danger"
@click="handleDeleteSecurityLog(row.id)" @click="handleDeleteSecurityLog(row.id)"
> >
删除日志 {{ $t('AbpAuditLogging.DeleteLog') }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -273,12 +264,12 @@ export default class extends mixins(DataListMiXin) {
} }
private handleDeleteSecurityLog(id: string) { private handleDeleteSecurityLog(id: string) {
this.$confirm('是否要删除选定的安全日志记录?', this.$confirm(this.l('questingDeleteByMessage', { message: id }),
'删除安全日志', { this.l('AbpAuditLogging.DeleteLog'), {
callback: (action) => { callback: (action) => {
if (action === 'confirm') { if (action === 'confirm') {
AuditingService.deleteSecurityLog(id).then(() => { AuditingService.deleteSecurityLog(id).then(() => {
this.$message.success('删除成功!') this.$message.success(this.l('successful'))
this.refreshPagedData() this.refreshPagedData()
}) })
} }

2
vueJs/src/views/admin/tenants/components/TenantFeatureEditForm.vue

@ -1,7 +1,7 @@
<template> <template>
<el-dialog <el-dialog
:visible="showDialog" :visible="showDialog"
title="管理功能" :title="$t('AbpTenantManagement.Permission:ManageFeatures')"
width="800px" width="800px"
:show-close="false" :show-close="false"
@closed="onFormClosed" @closed="onFormClosed"

Loading…
Cancel
Save