diff --git a/Web/src/api-services/apis/sys-log-ex-api.ts b/Web/src/api-services/apis/sys-log-ex-api.ts index 7bea650e..fa4a9969 100644 --- a/Web/src/api-services/apis/sys-log-ex-api.ts +++ b/Web/src/api-services/apis/sys-log-ex-api.ts @@ -18,6 +18,7 @@ import { Configuration } from '../configuration'; // @ts-ignore import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base'; import { AdminResultSqlSugarPagedListSysLogEx } from '../models'; +import { AdminResultSysLogEx } from '../models'; import { LogInput } from '../models'; import { PageLogInput } from '../models'; /** @@ -69,6 +70,55 @@ export const SysLogExApiAxiosParamCreator = function (configuration?: Configurat options: localVarRequestOptions, }; }, + /** + * + * @summary 获取异常日志详情 🔖 + * @param {number} id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + apiSysLogExDetailIdGet: async (id: number, options: AxiosRequestConfig = {}): Promise => { + // verify required parameter 'id' is not null or undefined + if (id === null || id === undefined) { + throw new RequiredError('id','Required parameter id was null or undefined when calling apiSysLogExDetailIdGet.'); + } + const localVarPath = `/api/sysLogEx/detail/{id}` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, 'https://example.com'); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + const localVarRequestOptions :AxiosRequestConfig = { method: 'GET', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication Bearer required + // http bearer authentication required + if (configuration && configuration.accessToken) { + const accessToken = typeof configuration.accessToken === 'function' + ? await configuration.accessToken() + : await configuration.accessToken; + localVarHeaderParameter["Authorization"] = "Bearer " + accessToken; + } + + const query = new URLSearchParams(localVarUrlObj.search); + for (const key in localVarQueryParameter) { + query.set(key, localVarQueryParameter[key]); + } + for (const key in options.params) { + query.set(key, options.params[key]); + } + localVarUrlObj.search = (new URLSearchParams(query)).toString(); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash, + options: localVarRequestOptions, + }; + }, /** * * @summary 导出异常日志 🔖 @@ -187,6 +237,20 @@ export const SysLogExApiFp = function(configuration?: Configuration) { return axios.request(axiosRequestArgs); }; }, + /** + * + * @summary 获取异常日志详情 🔖 + * @param {number} id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async apiSysLogExDetailIdGet(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise>> { + const localVarAxiosArgs = await SysLogExApiAxiosParamCreator(configuration).apiSysLogExDetailIdGet(id, options); + return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { + const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url}; + return axios.request(axiosRequestArgs); + }; + }, /** * * @summary 导出异常日志 🔖 @@ -233,6 +297,16 @@ export const SysLogExApiFactory = function (configuration?: Configuration, baseP async apiSysLogExClearPost(options?: AxiosRequestConfig): Promise> { return SysLogExApiFp(configuration).apiSysLogExClearPost(options).then((request) => request(axios, basePath)); }, + /** + * + * @summary 获取异常日志详情 🔖 + * @param {number} id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async apiSysLogExDetailIdGet(id: number, options?: AxiosRequestConfig): Promise> { + return SysLogExApiFp(configuration).apiSysLogExDetailIdGet(id, options).then((request) => request(axios, basePath)); + }, /** * * @summary 导出异常日志 🔖 @@ -273,6 +347,17 @@ export class SysLogExApi extends BaseAPI { public async apiSysLogExClearPost(options?: AxiosRequestConfig) : Promise> { return SysLogExApiFp(this.configuration).apiSysLogExClearPost(options).then((request) => request(this.axios, this.basePath)); } + /** + * + * @summary 获取异常日志详情 🔖 + * @param {number} id + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof SysLogExApi + */ + public async apiSysLogExDetailIdGet(id: number, options?: AxiosRequestConfig) : Promise> { + return SysLogExApiFp(this.configuration).apiSysLogExDetailIdGet(id, options).then((request) => request(this.axios, this.basePath)); + } /** * * @summary 导出异常日志 🔖 diff --git a/Web/src/api-services/models/admin-result-sys-log-ex.ts b/Web/src/api-services/models/admin-result-sys-log-ex.ts new file mode 100644 index 00000000..5d4df26f --- /dev/null +++ b/Web/src/api-services/models/admin-result-sys-log-ex.ts @@ -0,0 +1,69 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Admin.NET 通用权限开发平台 + * 让 .NET 开发更简单、更通用、更流行。整合最新技术,模块插件式开发,前后端分离,开箱即用。
👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + * + * OpenAPI spec version: 1.0.0 + * + * + * NOTE: This class is auto generated by the swagger code generator program. + * https://github.com/swagger-api/swagger-codegen.git + * Do not edit the class manually. + */ + +import { SysLogEx } from './sys-log-ex'; + /** + * 全局返回结果 + * + * @export + * @interface AdminResultSysLogEx + */ +export interface AdminResultSysLogEx { + + /** + * 状态码 + * + * @type {number} + * @memberof AdminResultSysLogEx + */ + code?: number; + + /** + * 类型success、warning、error + * + * @type {string} + * @memberof AdminResultSysLogEx + */ + type?: string | null; + + /** + * 错误信息 + * + * @type {string} + * @memberof AdminResultSysLogEx + */ + message?: string | null; + + /** + * @type {SysLogEx} + * @memberof AdminResultSysLogEx + */ + result?: SysLogEx; + + /** + * 附加数据 + * + * @type {any} + * @memberof AdminResultSysLogEx + */ + extras?: any | null; + + /** + * 时间 + * + * @type {Date} + * @memberof AdminResultSysLogEx + */ + time?: Date; +} diff --git a/Web/src/api-services/models/index.ts b/Web/src/api-services/models/index.ts index 6d99b8fd..eb8039df 100644 --- a/Web/src/api-services/models/index.ts +++ b/Web/src/api-services/models/index.ts @@ -92,6 +92,7 @@ export * from './admin-result-sys-dict-data'; export * from './admin-result-sys-dict-type'; export * from './admin-result-sys-file'; export * from './admin-result-sys-ldap'; +export * from './admin-result-sys-log-ex'; export * from './admin-result-sys-log-op'; export * from './admin-result-sys-print'; export * from './admin-result-sys-user'; diff --git a/Web/src/api-services/models/member-info.ts b/Web/src/api-services/models/member-info.ts index b1fbee1e..983879e9 100644 --- a/Web/src/api-services/models/member-info.ts +++ b/Web/src/api-services/models/member-info.ts @@ -30,6 +30,12 @@ export interface MemberInfo { */ memberType?: MemberTypes; + /** + * @type {string} + * @memberof MemberInfo + */ + name?: string | null; + /** * @type {Type} * @memberof MemberInfo @@ -42,12 +48,6 @@ export interface MemberInfo { */ reflectedType?: Type; - /** - * @type {string} - * @memberof MemberInfo - */ - name?: string | null; - /** * @type {Module} * @memberof MemberInfo diff --git a/Web/src/views/system/log/exlog/index.vue b/Web/src/views/system/log/exlog/index.vue index cf5d3bc1..b9cac339 100644 --- a/Web/src/views/system/log/exlog/index.vue +++ b/Web/src/views/system/log/exlog/index.vue @@ -1,234 +1,256 @@ diff --git a/Web/src/views/system/log/oplog/index.vue b/Web/src/views/system/log/oplog/index.vue index d971280d..a9846c4b 100644 --- a/Web/src/views/system/log/oplog/index.vue +++ b/Web/src/views/system/log/oplog/index.vue @@ -149,7 +149,7 @@ const options = useVxeTable({ name: '操作日志', columns: [ // { type: 'checkbox', width: 40 }, - { type: 'seq', title: '序号', width: 60 }, + { type: 'seq', title: '序号', width: 60, fixed: 'left' }, { field: 'controllerName', title: '模块名称', minWidth: 120, showOverflow: 'tooltip' }, { field: 'displayTitle', title: '显示名称', minWidth: 150, showOverflow: 'tooltip' }, { field: 'actionName', title: '方法名称', minWidth: 150, showOverflow: 'tooltip' }, diff --git a/Web/src/views/system/log/vislog/index.vue b/Web/src/views/system/log/vislog/index.vue index f3f09bcf..1a2b0f42 100644 --- a/Web/src/views/system/log/vislog/index.vue +++ b/Web/src/views/system/log/vislog/index.vue @@ -109,7 +109,7 @@ const options = useVxeTable({ name: '访问日志', columns: [ // { type: 'checkbox', width: 40 }, - { type: 'seq', title: '序号', width: 60 }, + { type: 'seq', title: '序号', width: 60, fixed: 'left' }, { field: 'displayTitle', title: '显示名称', minWidth: 150, showOverflow: 'tooltip' }, { field: 'actionName', title: '方法名称', minWidth: 150, showOverflow: 'tooltip' }, { field: 'account', title: '账号名称', minWidth: 150, showOverflow: 'tooltip' },