Explorar o código

😁完善文件上传逻辑(包括头像、电子签名)

zuohuaijun %!s(int64=2) %!d(string=hai) anos
pai
achega
fcadc03282
Modificáronse 33 ficheiros con 241 adicións e 607 borrados
  1. 0 53
      Admin.NET/Admin.NET.Core/Service/File/Dto/FileOutput.cs
  2. 18 29
      Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs
  3. 1 1
      Admin.NET/Admin.NET.Core/Util/CommonUtil.cs
  4. 76 0
      Web/src/api-services/apis/sys-common-api.ts
  5. 17 17
      Web/src/api-services/apis/sys-file-api.ts
  6. 1 8
      Web/src/api-services/models/add-dict-data-input.ts
  7. 1 10
      Web/src/api-services/models/add-dict-type-input.ts
  8. 1 15
      Web/src/api-services/models/add-open-access-input.ts
  9. 1 8
      Web/src/api-services/models/add-org-input.ts
  10. 1 22
      Web/src/api-services/models/add-user-input.ts
  11. 12 12
      Web/src/api-services/models/admin-result-list-sys-file.ts
  12. 25 42
      Web/src/api-services/models/admin-result-sm-key-pair-output.ts
  13. 12 12
      Web/src/api-services/models/admin-result-sys-file.ts
  14. 4 4
      Web/src/api-services/models/index.ts
  15. 1 15
      Web/src/api-services/models/open-access-output.ts
  16. 42 0
      Web/src/api-services/models/sm-key-pair-output.ts
  17. 1 8
      Web/src/api-services/models/sys-dict-data.ts
  18. 1 10
      Web/src/api-services/models/sys-dict-type.ts
  19. 1 8
      Web/src/api-services/models/sys-notice-user.ts
  20. 1 8
      Web/src/api-services/models/sys-org.ts
  21. 0 175
      Web/src/api-services/models/sys-tenant.ts
  22. 1 22
      Web/src/api-services/models/sys-user-ext-org.ts
  23. 1 22
      Web/src/api-services/models/sys-user.ts
  24. 1 8
      Web/src/api-services/models/sys-wechat-pay.ts
  25. 1 8
      Web/src/api-services/models/sys-wechat-user.ts
  26. 1 8
      Web/src/api-services/models/update-dict-data-input.ts
  27. 1 10
      Web/src/api-services/models/update-dict-type-input.ts
  28. 1 15
      Web/src/api-services/models/update-open-access-input.ts
  29. 1 8
      Web/src/api-services/models/update-org-input.ts
  30. 1 22
      Web/src/api-services/models/update-user-input.ts
  31. 1 22
      Web/src/api-services/models/user-output.ts
  32. 1 1
      Web/src/stores/userInfo.ts
  33. 13 4
      Web/src/views/system/user/component/userCenter.vue

+ 0 - 53
Admin.NET/Admin.NET.Core/Service/File/Dto/FileOutput.cs

@@ -1,53 +0,0 @@
-// 麻省理工学院许可证
-//
-// 版权所有 (c) 2021-2023 zuohuaijun,大名科技(天津)有限公司  联系电话/微信:18020030720  QQ:515096995
-//
-// 特此免费授予获得本软件的任何人以处理本软件的权利,但须遵守以下条件:在所有副本或重要部分的软件中必须包括上述版权声明和本许可声明。
-//
-// 软件按“原样”提供,不提供任何形式的明示或暗示的保证,包括但不限于对适销性、适用性和非侵权的保证。
-// 在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是因合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。
-
-namespace Admin.NET.Core.Service;
-
-public class FileOutput
-{
-    /// <summary>
-    /// Id
-    /// </summary>
-    public long Id { get; set; }
-
-    /// <summary>
-    /// 提供者
-    /// </summary>
-    public string Provider { get; set; }
-
-    /// <summary>
-    /// 名称
-    /// </summary>
-    public string Name => Id + Suffix;
-
-    /// <summary>
-    /// URL
-    /// </summary>
-    public string Url { get; set; }
-
-    /// <summary>
-    /// 大小
-    /// </summary>
-    public string SizeKb { get; set; }
-
-    /// <summary>
-    /// 后缀
-    /// </summary>
-    public string Suffix { get; set; }
-
-    /// <summary>
-    /// 路径
-    /// </summary>
-    public string FilePath { get; set; }
-
-    /// <summary>
-    /// 文件名称
-    /// </summary>
-    public string FileName { get; set; }
-}

+ 18 - 29
Admin.NET/Admin.NET.Core/Service/File/SysFileService.cs

@@ -62,18 +62,9 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="path"></param>
     /// <returns></returns>
     [DisplayName("上传文件")]
-    public async Task<FileOutput> UploadFile([Required] IFormFile file, [FromQuery] string? path)
+    public async Task<SysFile> UploadFile([Required] IFormFile file, [FromQuery] string? path)
     {
-        var sysFile = await HandleUploadFile(file, path);
-        return new FileOutput
-        {
-            Id = sysFile.Id,
-            Url = sysFile.Url, // string.IsNullOrWhiteSpace(sysFile.Url) ? _commonService.GetFileUrl(sysFile) : sysFile.Url,
-            SizeKb = sysFile.SizeKb,
-            Suffix = sysFile.Suffix,
-            FilePath = sysFile.FilePath,
-            FileName = sysFile.FileName
-        };
+        return await HandleUploadFile(file, path);
     }
 
     /// <summary>
@@ -84,7 +75,7 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="contentType"></param>
     /// <param name="path"></param>
     /// <returns></returns>
-    private async Task<FileOutput> UploadFileFromBase64(string strBase64, string fileName, string contentType, string? path)
+    private async Task<SysFile> UploadFileFromBase64(string strBase64, string fileName, string contentType, string? path)
     {
         byte[] fileData = Convert.FromBase64String(strBase64);
         var ms = new MemoryStream();
@@ -109,7 +100,7 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <returns></returns>
     [DisplayName("上传文件Base64")]
     [HttpPost]
-    public async Task<FileOutput> UploadFileFromBase64(UploadFileFromBase64Input input)
+    public async Task<SysFile> UploadFileFromBase64(UploadFileFromBase64Input input)
     {
         return await UploadFileFromBase64(input.FileDataBase64, input.FileName, input.ContentType, input.Path);
     }
@@ -120,9 +111,9 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="files"></param>
     /// <returns></returns>
     [DisplayName("上传多文件")]
-    public async Task<List<FileOutput>> UploadFiles([Required] List<IFormFile> files)
+    public async Task<List<SysFile>> UploadFiles([Required] List<IFormFile> files)
     {
-        var filelist = new List<FileOutput>();
+        var filelist = new List<SysFile>();
         foreach (var file in files)
         {
             filelist.Add(await UploadFile(file, ""));
@@ -345,21 +336,20 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="file"></param>
     /// <returns></returns>
     [DisplayName("上传头像")]
-    public async Task<FileOutput> UploadAvatar([Required] IFormFile file)
+    public async Task<SysFile> UploadAvatar([Required] IFormFile file)
     {
+        var sysFile = await UploadFile(file, "Upload/Avatar");
+
         var sysUserRep = _sysFileRep.ChangeRepository<SqlSugarRepository<SysUser>>();
         var user = sysUserRep.GetFirst(u => u.Id == _userManager.UserId);
-        // 删除当前用户已有头像
+        // 删除已有头像文件
         if (!string.IsNullOrWhiteSpace(user.Avatar))
         {
             var fileId = Path.GetFileNameWithoutExtension(user.Avatar);
             await DeleteFile(new DeleteFileInput { Id = long.Parse(fileId) });
         }
-
-        var res = await UploadFile(file, "Upload/Avatar");
-        var url = _OSSProviderOptions.IsEnable ? res.Url : $"{res.FilePath}/{res.Name}";
-        await sysUserRep.UpdateAsync(u => new SysUser() { Avatar = url }, u => u.Id == user.Id);
-        return res;
+        await sysUserRep.UpdateAsync(u => new SysUser() { Avatar = sysFile.Url }, u => u.Id == user.Id);
+        return sysFile;
     }
 
     /// <summary>
@@ -368,20 +358,19 @@ public class SysFileService : IDynamicApiController, ITransient
     /// <param name="file"></param>
     /// <returns></returns>
     [DisplayName("上传电子签名")]
-    public async Task<FileOutput> UploadSignature([Required] IFormFile file)
+    public async Task<SysFile> UploadSignature([Required] IFormFile file)
     {
+        var sysFile = await UploadFile(file, "Upload/Signature");
+
         var sysUserRep = _sysFileRep.ChangeRepository<SqlSugarRepository<SysUser>>();
         var user = sysUserRep.GetFirst(u => u.Id == _userManager.UserId);
-        // 删除当前用户已有电子签名
+        // 删除已有电子签名文件
         if (!string.IsNullOrWhiteSpace(user.Signature) && user.Signature.EndsWith(".png"))
         {
             var fileId = Path.GetFileNameWithoutExtension(user.Signature);
             await DeleteFile(new DeleteFileInput { Id = long.Parse(fileId) });
         }
-
-        var res = await UploadFile(file, "Upload/Signature");
-        var url = _OSSProviderOptions.IsEnable ? res.Url : $"{res.FilePath}/{res.Name}";
-        await sysUserRep.UpdateAsync(u => new SysUser() { Signature = url }, u => u.Id == user.Id);
-        return res;
+        await sysUserRep.UpdateAsync(u => new SysUser() { Signature = sysFile.Url }, u => u.Id == user.Id);
+        return sysFile;
     }
 }

+ 1 - 1
Admin.NET/Admin.NET.Core/Util/CommonUtil.cs

@@ -124,7 +124,7 @@ public static class CommonUtil
     public static async Task<dynamic> ImportExcelData([Required] IFormFile file, dynamic dataDto)
     {
         var newFile = await App.GetRequiredService<SysFileService>().UploadFile(file, "");
-        var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, newFile.FilePath, newFile.Name);
+        var filePath = Path.Combine(App.WebHostEnvironment.WebRootPath, newFile.FilePath, newFile.FileName);
 
         IImporter importer = new ExcelImporter();
         MethodInfo importMethod = importer.GetType().GetMethod("Import");

+ 76 - 0
Web/src/api-services/apis/sys-common-api.ts

@@ -18,6 +18,7 @@ import { Configuration } from '../configuration';
 // @ts-ignore
 import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
 import { AdminResultListApiOutput } from '../models';
+import { AdminResultSmKeyPairOutput } from '../models';
 /**
  * SysCommonApi - axios parameter creator
  * @export
@@ -62,6 +63,49 @@ export const SysCommonApiAxiosParamCreator = function (configuration?: Configura
             let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
             localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
 
+            return {
+                url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
+                options: localVarRequestOptions,
+            };
+        },
+        /**
+         * 
+         * @summary 获取国密公钥私钥对
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCommonSmKeyPairGet: async (options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            const localVarPath = `/api/sysCommon/smKeyPair`;
+            // 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,
@@ -89,6 +133,19 @@ export const SysCommonApiFp = function(configuration?: Configuration) {
                 return axios.request(axiosRequestArgs);
             };
         },
+        /**
+         * 
+         * @summary 获取国密公钥私钥对
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCommonSmKeyPairGet(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSmKeyPairOutput>>> {
+            const localVarAxiosArgs = await SysCommonApiAxiosParamCreator(configuration).apiSysCommonSmKeyPairGet(options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
     }
 };
 
@@ -107,6 +164,15 @@ export const SysCommonApiFactory = function (configuration?: Configuration, base
         async apiSysCommonApiListGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListApiOutput>> {
             return SysCommonApiFp(configuration).apiSysCommonApiListGet(options).then((request) => request(axios, basePath));
         },
+        /**
+         * 
+         * @summary 获取国密公钥私钥对
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCommonSmKeyPairGet(options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSmKeyPairOutput>> {
+            return SysCommonApiFp(configuration).apiSysCommonSmKeyPairGet(options).then((request) => request(axios, basePath));
+        },
     };
 };
 
@@ -127,4 +193,14 @@ export class SysCommonApi extends BaseAPI {
     public async apiSysCommonApiListGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListApiOutput>> {
         return SysCommonApiFp(this.configuration).apiSysCommonApiListGet(options).then((request) => request(this.axios, this.basePath));
     }
+    /**
+     * 
+     * @summary 获取国密公钥私钥对
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCommonApi
+     */
+    public async apiSysCommonSmKeyPairGet(options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSmKeyPairOutput>> {
+        return SysCommonApiFp(this.configuration).apiSysCommonSmKeyPairGet(options).then((request) => request(this.axios, this.basePath));
+    }
 }

+ 17 - 17
Web/src/api-services/apis/sys-file-api.ts

@@ -17,10 +17,10 @@ import { Configuration } from '../configuration';
 // Some imports not used depending on template conditions
 // @ts-ignore
 import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
-import { AdminResultFileOutput } from '../models';
 import { AdminResultIActionResult } from '../models';
-import { AdminResultListFileOutput } from '../models';
+import { AdminResultListSysFile } from '../models';
 import { AdminResultSqlSugarPagedListSysFile } from '../models';
+import { AdminResultSysFile } from '../models';
 import { DeleteFileInput } from '../models';
 import { FileInput } from '../models';
 import { PageFileInput } from '../models';
@@ -557,7 +557,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultFileOutput>>> {
+        async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
             const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadAvatarPostForm(file, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -571,7 +571,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultFileOutput>>> {
+        async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
             const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFileFromBase64Post(body, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -586,7 +586,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultFileOutput>>> {
+        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
             const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFilePostForm(file, path, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -600,7 +600,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListFileOutput>>> {
+        async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListSysFile>>> {
             const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadFilesPostForm(files, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -614,7 +614,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultFileOutput>>> {
+        async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultSysFile>>> {
             const localVarAxiosArgs = await SysFileApiAxiosParamCreator(configuration).apiSysFileUploadSignaturePostForm(file, options);
             return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
                 const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
@@ -677,7 +677,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultFileOutput>> {
+        async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
             return SysFileApiFp(configuration).apiSysFileUploadAvatarPostForm(file, options).then((request) => request(axios, basePath));
         },
         /**
@@ -687,7 +687,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultFileOutput>> {
+        async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
             return SysFileApiFp(configuration).apiSysFileUploadFileFromBase64Post(body, options).then((request) => request(axios, basePath));
         },
         /**
@@ -698,7 +698,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultFileOutput>> {
+        async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
             return SysFileApiFp(configuration).apiSysFileUploadFilePostForm(file, path, options).then((request) => request(axios, basePath));
         },
         /**
@@ -708,7 +708,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListFileOutput>> {
+        async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListSysFile>> {
             return SysFileApiFp(configuration).apiSysFileUploadFilesPostForm(files, options).then((request) => request(axios, basePath));
         },
         /**
@@ -718,7 +718,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
          */
-        async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultFileOutput>> {
+        async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultSysFile>> {
             return SysFileApiFp(configuration).apiSysFileUploadSignaturePostForm(file, options).then((request) => request(axios, basePath));
         },
     };
@@ -783,7 +783,7 @@ export class SysFileApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysFileApi
      */
-    public async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultFileOutput>> {
+    public async apiSysFileUploadAvatarPostForm(file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
         return SysFileApiFp(this.configuration).apiSysFileUploadAvatarPostForm(file, options).then((request) => request(this.axios, this.basePath));
     }
     /**
@@ -794,7 +794,7 @@ export class SysFileApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysFileApi
      */
-    public async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultFileOutput>> {
+    public async apiSysFileUploadFileFromBase64Post(body?: UploadFileFromBase64Input, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
         return SysFileApiFp(this.configuration).apiSysFileUploadFileFromBase64Post(body, options).then((request) => request(this.axios, this.basePath));
     }
     /**
@@ -806,7 +806,7 @@ export class SysFileApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysFileApi
      */
-    public async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultFileOutput>> {
+    public async apiSysFileUploadFilePostForm(file?: Blob, path?: string, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
         return SysFileApiFp(this.configuration).apiSysFileUploadFilePostForm(file, path, options).then((request) => request(this.axios, this.basePath));
     }
     /**
@@ -817,7 +817,7 @@ export class SysFileApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysFileApi
      */
-    public async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListFileOutput>> {
+    public async apiSysFileUploadFilesPostForm(files?: Array<Blob>, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListSysFile>> {
         return SysFileApiFp(this.configuration).apiSysFileUploadFilesPostForm(files, options).then((request) => request(this.axios, this.basePath));
     }
     /**
@@ -828,7 +828,7 @@ export class SysFileApi extends BaseAPI {
      * @throws {RequiredError}
      * @memberof SysFileApi
      */
-    public async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultFileOutput>> {
+    public async apiSysFileUploadSignaturePostForm(file?: Blob, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultSysFile>> {
         return SysFileApiFp(this.configuration).apiSysFileUploadSignaturePostForm(file, options).then((request) => request(this.axios, this.basePath));
     }
 }

+ 1 - 8
Web/src/api-services/models/add-dict-data-input.ts

@@ -13,9 +13,8 @@
  */
 
 import { StatusEnum } from './status-enum';
-import { SysDictType } from './sys-dict-type';
 import {
-    StatusEnum,SysDictType,
+    StatusEnum,
 } from ".";
 
 /**
@@ -98,12 +97,6 @@ export interface AddDictDataInput {
      */
     dictTypeId?: number;
 
-    /**
-     * @type {SysDictType}
-     * @memberof AddDictDataInput
-     */
-    dictType?: SysDictType;
-
     /**
      * 值
      *

+ 1 - 10
Web/src/api-services/models/add-dict-type-input.ts

@@ -13,9 +13,8 @@
  */
 
 import { StatusEnum } from './status-enum';
-import { SysDictData } from './sys-dict-data';
 import {
-    StatusEnum,SysDictData,
+    StatusEnum,
 } from ".";
 
 /**
@@ -127,12 +126,4 @@ export interface AddDictTypeInput {
      * @memberof AddDictTypeInput
      */
     status?: StatusEnum;
-
-    /**
-     * 字典值集合
-     *
-     * @type {Array<SysDictData>}
-     * @memberof AddDictTypeInput
-     */
-    children?: Array<SysDictData> | null;
 }

+ 1 - 15
Web/src/api-services/models/add-open-access-input.ts

@@ -12,10 +12,8 @@
  * Do not edit the class manually.
  */
 
-import { SysTenant } from './sys-tenant';
-import { SysUser } from './sys-user';
 import {
-    SysTenant,SysUser,
+    
 } from ".";
 
 /**
@@ -98,18 +96,6 @@ export interface AddOpenAccessInput {
      */
     bindTenantId?: number;
 
-    /**
-     * @type {SysTenant}
-     * @memberof AddOpenAccessInput
-     */
-    bindTenant?: SysTenant;
-
-    /**
-     * @type {SysUser}
-     * @memberof AddOpenAccessInput
-     */
-    bindUser?: SysUser;
-
     /**
      * 身份标识
      *

+ 1 - 8
Web/src/api-services/models/add-org-input.ts

@@ -14,9 +14,8 @@
 
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
-import { SysUser } from './sys-user';
 import {
-    StatusEnum,SysOrg,SysUser,
+    StatusEnum,SysOrg,
 } from ".";
 
 /**
@@ -139,12 +138,6 @@ export interface AddOrgInput {
      */
     directorId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof AddOrgInput
-     */
-    director?: SysUser;
-
     /**
      * 排序
      *

+ 1 - 22
Web/src/api-services/models/add-user-input.ts

@@ -17,12 +17,9 @@ import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
 import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
-import { SysOrg } from './sys-org';
-import { SysPos } from './sys-pos';
-import { SysUser } from './sys-user';
 import { SysUserExtOrg } from './sys-user-ext-org';
 import {
-    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,SysOrg,SysPos,SysUser,SysUserExtOrg,
+    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,SysUserExtOrg,
 } from ".";
 
 /**
@@ -287,12 +284,6 @@ export interface AddUserInput {
      */
     orgId?: number;
 
-    /**
-     * @type {SysOrg}
-     * @memberof AddUserInput
-     */
-    sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
      *
@@ -301,12 +292,6 @@ export interface AddUserInput {
      */
     managerUserId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof AddUserInput
-     */
-    managerUser?: SysUser;
-
     /**
      * 职位Id
      *
@@ -315,12 +300,6 @@ export interface AddUserInput {
      */
     posId?: number;
 
-    /**
-     * @type {SysPos}
-     * @memberof AddUserInput
-     */
-    sysPos?: SysPos;
-
     /**
      * 工号
      *

+ 12 - 12
Web/src/api-services/models/admin-result-list-file-output.ts → Web/src/api-services/models/admin-result-list-sys-file.ts

@@ -12,24 +12,24 @@
  * Do not edit the class manually.
  */
 
-import { FileOutput } from './file-output';
+import { SysFile } from './sys-file';
 import {
-    FileOutput,
+    SysFile,
 } from ".";
 
 /**
  * 全局返回结果
  *
  * @export
- * @interface AdminResultListFileOutput
+ * @interface AdminResultListSysFile
  */
-export interface AdminResultListFileOutput {
+export interface AdminResultListSysFile {
 
     /**
      * 状态码
      *
      * @type {number}
-     * @memberof AdminResultListFileOutput
+     * @memberof AdminResultListSysFile
      */
     code?: number;
 
@@ -37,7 +37,7 @@ export interface AdminResultListFileOutput {
      * 类型success、warning、error
      *
      * @type {string}
-     * @memberof AdminResultListFileOutput
+     * @memberof AdminResultListSysFile
      */
     type?: string | null;
 
@@ -45,23 +45,23 @@ export interface AdminResultListFileOutput {
      * 错误信息
      *
      * @type {string}
-     * @memberof AdminResultListFileOutput
+     * @memberof AdminResultListSysFile
      */
     message?: string | null;
 
     /**
      * 数据
      *
-     * @type {Array<FileOutput>}
-     * @memberof AdminResultListFileOutput
+     * @type {Array<SysFile>}
+     * @memberof AdminResultListSysFile
      */
-    result?: Array<FileOutput> | null;
+    result?: Array<SysFile> | null;
 
     /**
      * 附加数据
      *
      * @type {any}
-     * @memberof AdminResultListFileOutput
+     * @memberof AdminResultListSysFile
      */
     extras?: any | null;
 
@@ -69,7 +69,7 @@ export interface AdminResultListFileOutput {
      * 时间
      *
      * @type {Date}
-     * @memberof AdminResultListFileOutput
+     * @memberof AdminResultListSysFile
      */
     time?: Date;
 }

+ 25 - 42
Web/src/api-services/models/file-output.ts → Web/src/api-services/models/admin-result-sm-key-pair-output.ts

@@ -12,79 +12,62 @@
  * Do not edit the class manually.
  */
 
+import { SmKeyPairOutput } from './sm-key-pair-output';
 import {
-    
+    SmKeyPairOutput,
 } from ".";
 
 /**
- * 
+ * 全局返回结果
  *
  * @export
- * @interface FileOutput
+ * @interface AdminResultSmKeyPairOutput
  */
-export interface FileOutput {
+export interface AdminResultSmKeyPairOutput {
 
     /**
-     * Id
+     * 状态码
      *
      * @type {number}
-     * @memberof FileOutput
+     * @memberof AdminResultSmKeyPairOutput
      */
-    id?: number;
+    code?: number;
 
     /**
-     * 提供者
+     * 类型success、warning、error
      *
      * @type {string}
-     * @memberof FileOutput
+     * @memberof AdminResultSmKeyPairOutput
      */
-    provider?: string | null;
+    type?: string | null;
 
     /**
-     * 名称
+     * 错误信息
      *
      * @type {string}
-     * @memberof FileOutput
+     * @memberof AdminResultSmKeyPairOutput
      */
-    name?: string | null;
+    message?: string | null;
 
     /**
-     * URL
-     *
-     * @type {string}
-     * @memberof FileOutput
-     */
-    url?: string | null;
-
-    /**
-     * 大小
-     *
-     * @type {string}
-     * @memberof FileOutput
+     * @type {SmKeyPairOutput}
+     * @memberof AdminResultSmKeyPairOutput
      */
-    sizeKb?: string | null;
+    result?: SmKeyPairOutput;
 
     /**
-     * 后缀
+     * 附加数据
      *
-     * @type {string}
-     * @memberof FileOutput
+     * @type {any}
+     * @memberof AdminResultSmKeyPairOutput
      */
-    suffix?: string | null;
+    extras?: any | null;
 
     /**
-     * 路径
+     * 时间
      *
-     * @type {string}
-     * @memberof FileOutput
-     */
-    filePath?: string | null;
-
-    /**
-     * 文件名称
-     *
-     * @type {string}
-     * @memberof FileOutput
+     * @type {Date}
+     * @memberof AdminResultSmKeyPairOutput
      */
-    fileName?: string | null;
+    time?: Date;
 }

+ 12 - 12
Web/src/api-services/models/admin-result-file-output.ts → Web/src/api-services/models/admin-result-sys-file.ts

@@ -12,24 +12,24 @@
  * Do not edit the class manually.
  */
 
-import { FileOutput } from './file-output';
+import { SysFile } from './sys-file';
 import {
-    FileOutput,
+    SysFile,
 } from ".";
 
 /**
  * 全局返回结果
  *
  * @export
- * @interface AdminResultFileOutput
+ * @interface AdminResultSysFile
  */
-export interface AdminResultFileOutput {
+export interface AdminResultSysFile {
 
     /**
      * 状态码
      *
      * @type {number}
-     * @memberof AdminResultFileOutput
+     * @memberof AdminResultSysFile
      */
     code?: number;
 
@@ -37,7 +37,7 @@ export interface AdminResultFileOutput {
      * 类型success、warning、error
      *
      * @type {string}
-     * @memberof AdminResultFileOutput
+     * @memberof AdminResultSysFile
      */
     type?: string | null;
 
@@ -45,21 +45,21 @@ export interface AdminResultFileOutput {
      * 错误信息
      *
      * @type {string}
-     * @memberof AdminResultFileOutput
+     * @memberof AdminResultSysFile
      */
     message?: string | null;
 
     /**
-     * @type {FileOutput}
-     * @memberof AdminResultFileOutput
+     * @type {SysFile}
+     * @memberof AdminResultSysFile
      */
-    result?: FileOutput;
+    result?: SysFile;
 
     /**
      * 附加数据
      *
      * @type {any}
-     * @memberof AdminResultFileOutput
+     * @memberof AdminResultSysFile
      */
     extras?: any | null;
 
@@ -67,7 +67,7 @@ export interface AdminResultFileOutput {
      * 时间
      *
      * @type {Date}
-     * @memberof AdminResultFileOutput
+     * @memberof AdminResultSysFile
      */
     time?: Date;
 }

+ 4 - 4
Web/src/api-services/models/index.ts

@@ -18,7 +18,6 @@ export * from './add-subscribe-message-template-input';
 export * from './add-tenant-input';
 export * from './add-user-input';
 export * from './admin-result-boolean';
-export * from './admin-result-file-output';
 export * from './admin-result-iaction-result';
 export * from './admin-result-int32';
 export * from './admin-result-int64';
@@ -32,7 +31,6 @@ export * from './admin-result-list-db-column-output';
 export * from './admin-result-list-db-table-info';
 export * from './admin-result-list-enum-entity';
 export * from './admin-result-list-enum-type-output';
-export * from './admin-result-list-file-output';
 export * from './admin-result-list-int64';
 export * from './admin-result-list-menu-output';
 export * from './admin-result-list-role-output';
@@ -40,6 +38,7 @@ export * from './admin-result-list-string';
 export * from './admin-result-list-sys-config';
 export * from './admin-result-list-sys-dict-data';
 export * from './admin-result-list-sys-dict-type';
+export * from './admin-result-list-sys-file';
 export * from './admin-result-list-sys-job-cluster';
 export * from './admin-result-list-sys-job-trigger';
 export * from './admin-result-list-sys-menu';
@@ -53,6 +52,7 @@ export * from './admin-result-list-table-output';
 export * from './admin-result-login-output';
 export * from './admin-result-login-user-output';
 export * from './admin-result-object';
+export * from './admin-result-sm-key-pair-output';
 export * from './admin-result-sql-sugar-paged-list-job-detail-output';
 export * from './admin-result-sql-sugar-paged-list-open-access-output';
 export * from './admin-result-sql-sugar-paged-list-sys-code-gen';
@@ -81,6 +81,7 @@ export * from './admin-result-sys-code-gen-config';
 export * from './admin-result-sys-config';
 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-print';
 export * from './admin-result-sys-user';
 export * from './admin-result-sys-wechat-pay';
@@ -134,7 +135,6 @@ export * from './dict-type-input';
 export * from './enum-entity';
 export * from './enum-type-output';
 export * from './file-input';
-export * from './file-output';
 export * from './gen-auth-url-input';
 export * from './gender-enum';
 export * from './iaction-result';
@@ -183,6 +183,7 @@ export * from './role-org-input';
 export * from './role-output';
 export * from './send-subscribe-message-input';
 export * from './signature-input';
+export * from './sm-key-pair-output';
 export * from './sql-sugar-paged-list-job-detail-output';
 export * from './sql-sugar-paged-list-open-access-output';
 export * from './sql-sugar-paged-list-sys-code-gen';
@@ -236,7 +237,6 @@ export * from './sys-pos';
 export * from './sys-print';
 export * from './sys-region';
 export * from './sys-role';
-export * from './sys-tenant';
 export * from './sys-user';
 export * from './sys-user-ext-org';
 export * from './sys-wechat-pay';

+ 1 - 15
Web/src/api-services/models/open-access-output.ts

@@ -12,10 +12,8 @@
  * Do not edit the class manually.
  */
 
-import { SysTenant } from './sys-tenant';
-import { SysUser } from './sys-user';
 import {
-    SysTenant,SysUser,
+    
 } from ".";
 
 /**
@@ -114,12 +112,6 @@ export interface OpenAccessOutput {
      */
     bindTenantId?: number;
 
-    /**
-     * @type {SysTenant}
-     * @memberof OpenAccessOutput
-     */
-    bindTenant?: SysTenant;
-
     /**
      * 绑定用户Id
      *
@@ -128,12 +120,6 @@ export interface OpenAccessOutput {
      */
     bindUserId?: number;
 
-    /**
-     * @type {SysUser}
-     * @memberof OpenAccessOutput
-     */
-    bindUser?: SysUser;
-
     /**
      * 绑定用户账号
      *

+ 42 - 0
Web/src/api-services/models/sm-key-pair-output.ts

@@ -0,0 +1,42 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 通用权限开发平台
+ * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
+ *
+ * OpenAPI spec version: 1.0.0
+ * Contact: 515096995@qq.com
+ *
+ * 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 {
+    
+} from ".";
+
+/**
+ * 国密公钥私钥对输出
+ *
+ * @export
+ * @interface SmKeyPairOutput
+ */
+export interface SmKeyPairOutput {
+
+    /**
+     * 私匙
+     *
+     * @type {string}
+     * @memberof SmKeyPairOutput
+     */
+    privateKey?: string | null;
+
+    /**
+     * 公匙
+     *
+     * @type {string}
+     * @memberof SmKeyPairOutput
+     */
+    publicKey?: string | null;
+}

+ 1 - 8
Web/src/api-services/models/sys-dict-data.ts

@@ -13,9 +13,8 @@
  */
 
 import { StatusEnum } from './status-enum';
-import { SysDictType } from './sys-dict-type';
 import {
-    StatusEnum,SysDictType,
+    StatusEnum,
 } from ".";
 
 /**
@@ -98,12 +97,6 @@ export interface SysDictData {
      */
     dictTypeId?: number;
 
-    /**
-     * @type {SysDictType}
-     * @memberof SysDictData
-     */
-    dictType?: SysDictType;
-
     /**
      * 值
      *

+ 1 - 10
Web/src/api-services/models/sys-dict-type.ts

@@ -13,9 +13,8 @@
  */
 
 import { StatusEnum } from './status-enum';
-import { SysDictData } from './sys-dict-data';
 import {
-    StatusEnum,SysDictData,
+    StatusEnum,
 } from ".";
 
 /**
@@ -127,12 +126,4 @@ export interface SysDictType {
      * @memberof SysDictType
      */
     status?: StatusEnum;
-
-    /**
-     * 字典值集合
-     *
-     * @type {Array<SysDictData>}
-     * @memberof SysDictType
-     */
-    children?: Array<SysDictData> | null;
 }

+ 1 - 8
Web/src/api-services/models/sys-notice-user.ts

@@ -13,9 +13,8 @@
  */
 
 import { NoticeUserStatusEnum } from './notice-user-status-enum';
-import { SysNotice } from './sys-notice';
 import {
-    NoticeUserStatusEnum,SysNotice,
+    NoticeUserStatusEnum,
 } from ".";
 
 /**
@@ -42,12 +41,6 @@ export interface SysNoticeUser {
      */
     noticeId?: number;
 
-    /**
-     * @type {SysNotice}
-     * @memberof SysNoticeUser
-     */
-    sysNotice?: SysNotice;
-
     /**
      * 用户Id
      *

+ 1 - 8
Web/src/api-services/models/sys-org.ts

@@ -14,9 +14,8 @@
 
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
-import { SysUser } from './sys-user';
 import {
-    StatusEnum,SysOrg,SysUser,
+    StatusEnum,SysOrg,
 } from ".";
 
 /**
@@ -147,12 +146,6 @@ export interface SysOrg {
      */
     directorId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof SysOrg
-     */
-    director?: SysUser;
-
     /**
      * 排序
      *

+ 0 - 175
Web/src/api-services/models/sys-tenant.ts

@@ -1,175 +0,0 @@
-/* tslint:disable */
-/* eslint-disable */
-/**
- * Admin.NET 通用权限开发平台
- * 让 .NET 开发更简单、更通用、更流行。前后端分离架构(.NET6/Vue3),开箱即用紧随前沿技术。<br/><a href='https://gitee.com/zuohuaijun/Admin.NET/'>https://gitee.com/zuohuaijun/Admin.NET</a>
- *
- * OpenAPI spec version: 1.0.0
- * Contact: 515096995@qq.com
- *
- * 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 { DbType } from './db-type';
-import { StatusEnum } from './status-enum';
-import { TenantTypeEnum } from './tenant-type-enum';
-import {
-    DbType,StatusEnum,TenantTypeEnum,
-} from ".";
-
-/**
- * 系统租户表
- *
- * @export
- * @interface SysTenant
- */
-export interface SysTenant {
-
-    /**
-     * 雪花Id
-     *
-     * @type {number}
-     * @memberof SysTenant
-     */
-    id?: number;
-
-    /**
-     * 创建时间
-     *
-     * @type {Date}
-     * @memberof SysTenant
-     */
-    createTime?: Date | null;
-
-    /**
-     * 更新时间
-     *
-     * @type {Date}
-     * @memberof SysTenant
-     */
-    updateTime?: Date | null;
-
-    /**
-     * 创建者Id
-     *
-     * @type {number}
-     * @memberof SysTenant
-     */
-    createUserId?: number | null;
-
-    /**
-     * 创建者姓名
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    createUserName?: string | null;
-
-    /**
-     * 修改者Id
-     *
-     * @type {number}
-     * @memberof SysTenant
-     */
-    updateUserId?: number | null;
-
-    /**
-     * 修改者姓名
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    updateUserName?: string | null;
-
-    /**
-     * 软删除
-     *
-     * @type {boolean}
-     * @memberof SysTenant
-     */
-    isDelete?: boolean;
-
-    /**
-     * 用户Id
-     *
-     * @type {number}
-     * @memberof SysTenant
-     */
-    userId?: number;
-
-    /**
-     * 机构Id
-     *
-     * @type {number}
-     * @memberof SysTenant
-     */
-    orgId?: number;
-
-    /**
-     * 主机
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    host?: string | null;
-
-    /**
-     * @type {TenantTypeEnum}
-     * @memberof SysTenant
-     */
-    tenantType?: TenantTypeEnum;
-
-    /**
-     * @type {DbType}
-     * @memberof SysTenant
-     */
-    dbType?: DbType;
-
-    /**
-     * 数据库连接
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    connection?: string | null;
-
-    /**
-     * 数据库标识
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    configId?: string | null;
-
-    /**
-     * 从库连接/读写分离
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    slaveConnections?: string | null;
-
-    /**
-     * 排序
-     *
-     * @type {number}
-     * @memberof SysTenant
-     */
-    orderNo?: number;
-
-    /**
-     * 备注
-     *
-     * @type {string}
-     * @memberof SysTenant
-     */
-    remark?: string | null;
-
-    /**
-     * @type {StatusEnum}
-     * @memberof SysTenant
-     */
-    status?: StatusEnum;
-}

+ 1 - 22
Web/src/api-services/models/sys-user-ext-org.ts

@@ -12,11 +12,8 @@
  * Do not edit the class manually.
  */
 
-import { SysOrg } from './sys-org';
-import { SysPos } from './sys-pos';
-import { SysUser } from './sys-user';
 import {
-    SysOrg,SysPos,SysUser,
+    
 } from ".";
 
 /**
@@ -43,12 +40,6 @@ export interface SysUserExtOrg {
      */
     userId?: number;
 
-    /**
-     * @type {SysUser}
-     * @memberof SysUserExtOrg
-     */
-    sysUser?: SysUser;
-
     /**
      * 机构Id
      *
@@ -57,12 +48,6 @@ export interface SysUserExtOrg {
      */
     orgId?: number;
 
-    /**
-     * @type {SysOrg}
-     * @memberof SysUserExtOrg
-     */
-    sysOrg?: SysOrg;
-
     /**
      * 职位Id
      *
@@ -71,12 +56,6 @@ export interface SysUserExtOrg {
      */
     posId?: number;
 
-    /**
-     * @type {SysPos}
-     * @memberof SysUserExtOrg
-     */
-    sysPos?: SysPos;
-
     /**
      * 工号
      *

+ 1 - 22
Web/src/api-services/models/sys-user.ts

@@ -17,11 +17,8 @@ import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
 import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
-import { SysOrg } from './sys-org';
-import { SysPos } from './sys-pos';
-import { SysUser } from './sys-user';
 import {
-    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,SysOrg,SysPos,SysUser,
+    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,
 } from ".";
 
 /**
@@ -302,12 +299,6 @@ export interface SysUser {
      */
     orgId?: number;
 
-    /**
-     * @type {SysOrg}
-     * @memberof SysUser
-     */
-    sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
      *
@@ -316,12 +307,6 @@ export interface SysUser {
      */
     managerUserId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof SysUser
-     */
-    managerUser?: SysUser;
-
     /**
      * 职位Id
      *
@@ -330,12 +315,6 @@ export interface SysUser {
      */
     posId?: number;
 
-    /**
-     * @type {SysPos}
-     * @memberof SysUser
-     */
-    sysPos?: SysPos;
-
     /**
      * 工号
      *

+ 1 - 8
Web/src/api-services/models/sys-wechat-pay.ts

@@ -12,9 +12,8 @@
  * Do not edit the class manually.
  */
 
-import { SysWechatUser } from './sys-wechat-user';
 import {
-    SysWechatUser,
+    
 } from ".";
 
 /**
@@ -249,12 +248,6 @@ export interface SysWechatPay {
      */
     openId?: string | null;
 
-    /**
-     * @type {SysWechatUser}
-     * @memberof SysWechatPay
-     */
-    sysWechatUser?: SysWechatUser;
-
     /**
      * 子商户号
      *

+ 1 - 8
Web/src/api-services/models/sys-wechat-user.ts

@@ -13,9 +13,8 @@
  */
 
 import { PlatformTypeEnum } from './platform-type-enum';
-import { SysUser } from './sys-user';
 import {
-    PlatformTypeEnum,SysUser,
+    PlatformTypeEnum,
 } from ".";
 
 /**
@@ -98,12 +97,6 @@ export interface SysWechatUser {
      */
     userId?: number;
 
-    /**
-     * @type {SysUser}
-     * @memberof SysWechatUser
-     */
-    sysUser?: SysUser;
-
     /**
      * @type {PlatformTypeEnum}
      * @memberof SysWechatUser

+ 1 - 8
Web/src/api-services/models/update-dict-data-input.ts

@@ -13,9 +13,8 @@
  */
 
 import { StatusEnum } from './status-enum';
-import { SysDictType } from './sys-dict-type';
 import {
-    StatusEnum,SysDictType,
+    StatusEnum,
 } from ".";
 
 /**
@@ -98,12 +97,6 @@ export interface UpdateDictDataInput {
      */
     dictTypeId?: number;
 
-    /**
-     * @type {SysDictType}
-     * @memberof UpdateDictDataInput
-     */
-    dictType?: SysDictType;
-
     /**
      * 值
      *

+ 1 - 10
Web/src/api-services/models/update-dict-type-input.ts

@@ -13,9 +13,8 @@
  */
 
 import { StatusEnum } from './status-enum';
-import { SysDictData } from './sys-dict-data';
 import {
-    StatusEnum,SysDictData,
+    StatusEnum,
 } from ".";
 
 /**
@@ -127,12 +126,4 @@ export interface UpdateDictTypeInput {
      * @memberof UpdateDictTypeInput
      */
     status?: StatusEnum;
-
-    /**
-     * 字典值集合
-     *
-     * @type {Array<SysDictData>}
-     * @memberof UpdateDictTypeInput
-     */
-    children?: Array<SysDictData> | null;
 }

+ 1 - 15
Web/src/api-services/models/update-open-access-input.ts

@@ -12,10 +12,8 @@
  * Do not edit the class manually.
  */
 
-import { SysTenant } from './sys-tenant';
-import { SysUser } from './sys-user';
 import {
-    SysTenant,SysUser,
+    
 } from ".";
 
 /**
@@ -98,18 +96,6 @@ export interface UpdateOpenAccessInput {
      */
     bindTenantId?: number;
 
-    /**
-     * @type {SysTenant}
-     * @memberof UpdateOpenAccessInput
-     */
-    bindTenant?: SysTenant;
-
-    /**
-     * @type {SysUser}
-     * @memberof UpdateOpenAccessInput
-     */
-    bindUser?: SysUser;
-
     /**
      * 身份标识
      *

+ 1 - 8
Web/src/api-services/models/update-org-input.ts

@@ -14,9 +14,8 @@
 
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
-import { SysUser } from './sys-user';
 import {
-    StatusEnum,SysOrg,SysUser,
+    StatusEnum,SysOrg,
 } from ".";
 
 /**
@@ -139,12 +138,6 @@ export interface UpdateOrgInput {
      */
     directorId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof UpdateOrgInput
-     */
-    director?: SysUser;
-
     /**
      * 排序
      *

+ 1 - 22
Web/src/api-services/models/update-user-input.ts

@@ -17,12 +17,9 @@ import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
 import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
-import { SysOrg } from './sys-org';
-import { SysPos } from './sys-pos';
-import { SysUser } from './sys-user';
 import { SysUserExtOrg } from './sys-user-ext-org';
 import {
-    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,SysOrg,SysPos,SysUser,SysUserExtOrg,
+    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,SysUserExtOrg,
 } from ".";
 
 /**
@@ -287,12 +284,6 @@ export interface UpdateUserInput {
      */
     orgId?: number;
 
-    /**
-     * @type {SysOrg}
-     * @memberof UpdateUserInput
-     */
-    sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
      *
@@ -301,12 +292,6 @@ export interface UpdateUserInput {
      */
     managerUserId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof UpdateUserInput
-     */
-    managerUser?: SysUser;
-
     /**
      * 职位Id
      *
@@ -315,12 +300,6 @@ export interface UpdateUserInput {
      */
     posId?: number;
 
-    /**
-     * @type {SysPos}
-     * @memberof UpdateUserInput
-     */
-    sysPos?: SysPos;
-
     /**
      * 工号
      *

+ 1 - 22
Web/src/api-services/models/user-output.ts

@@ -17,11 +17,8 @@ import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
 import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
-import { SysOrg } from './sys-org';
-import { SysPos } from './sys-pos';
-import { SysUser } from './sys-user';
 import {
-    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,SysOrg,SysPos,SysUser,
+    AccountTypeEnum,CardTypeEnum,CultureLevelEnum,GenderEnum,StatusEnum,
 } from ".";
 
 /**
@@ -302,12 +299,6 @@ export interface UserOutput {
      */
     orgId?: number;
 
-    /**
-     * @type {SysOrg}
-     * @memberof UserOutput
-     */
-    sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
      *
@@ -316,12 +307,6 @@ export interface UserOutput {
      */
     managerUserId?: number | null;
 
-    /**
-     * @type {SysUser}
-     * @memberof UserOutput
-     */
-    managerUser?: SysUser;
-
     /**
      * 职位Id
      *
@@ -330,12 +315,6 @@ export interface UserOutput {
      */
     posId?: number;
 
-    /**
-     * @type {SysPos}
-     * @memberof UserOutput
-     */
-    sysPos?: SysPos;
-
     /**
      * 工号
      *

+ 1 - 1
Web/src/stores/userInfo.ts

@@ -70,7 +70,7 @@ export const useUserInfo = defineStore('userInfo', {
 							idCardNum: d.idCardNum,
 							email: d.email,
 							accountType: d.accountType,
-							avatar: d.avatar ? '/' + d.avatar : '/favicon.ico',
+							avatar: d.avatar ?? '/favicon.ico',
 							address: d.address,
 							signature: d.signature,
 							orgId: d.orgId,

+ 13 - 4
Web/src/views/system/user/component/userCenter.vue

@@ -172,7 +172,7 @@ import VueGridLayout from 'vue-grid-layout';
 
 import { clearAccessTokens, getAPI } from '/@/utils/axios-utils';
 import { SysFileApi, SysUserApi } from '/@/api-services/api';
-import { ChangePwdInput, SysUser } from '/@/api-services/models';
+import { ChangePwdInput, SysUser, SysFile } from '/@/api-services/models';
 
 const stores = useUserInfo();
 const { userInfos } = storeToRefs(stores);
@@ -215,7 +215,7 @@ watch(state.signOptions, () => {
 // 上传头像图片
 const uploadCropperImg = async (e: any) => {
 	var res = await getAPI(SysFileApi).apiSysFileUploadAvatarPostForm(e.img);
-	userInfos.value.avatar = res.data.result?.filePath + '/' + res.data.result?.name;
+	userInfos.value.avatar = getFileUrl(res.data.result!);
 };
 
 // 打开电子签名页面
@@ -229,7 +229,7 @@ const saveUploadSign = async () => {
 	if (isEmpty) return;
 
 	var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(base64ToFile(data, userInfos.value.account + '.png'));
-	userInfos.value.signature = res.data.result?.filePath + '/' + res.data.result?.name;
+	userInfos.value.signature = getFileUrl(res.data.result!);
 
 	clearSign();
 	state.signDialogVisible = false;
@@ -248,7 +248,7 @@ const clearSign = () => {
 // 上传手写电子签名
 const uploadSignFile = async (file: any) => {
 	var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(file.raw);
-	userInfos.value.signature = res.data.result?.url + '';
+	userInfos.value.signature = res.data.result?.url;
 };
 
 // 获得电子签名文件列表
@@ -325,6 +325,15 @@ const uploadSignFileExceed: UploadProps['onExceed'] = (files) => {
 	uploadSignRef.value!.handleStart(file);
 };
 
+// 获取文件地址
+const getFileUrl = (row: SysFile): string => {
+	if (row.bucketName == 'Local') {
+		return `/${row.filePath}/${row.id}${row.suffix}`;
+	} else {
+		return row.url!;
+	}
+};
+
 // 导出对象
 defineExpose({ handleChangeSignFile });
 </script>