Przeglądaj źródła

😎1、调整默认菜单权限 2、升级Furion v4.9.5.3 3、代码整理

zuohuaijun 1 rok temu
rodzic
commit
61eb4c5b21

+ 8 - 8
Admin.NET/Admin.NET.Core/Admin.NET.Core.csproj

@@ -17,10 +17,10 @@
     <PackageReference Include="AngleSharp" Version="1.1.2" />
     <PackageReference Include="AspectCore.Extensions.Reflection" Version="2.4.0" />
     <PackageReference Include="AspNetCoreRateLimit" Version="5.0.0" />
-    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.15.0" />
-    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.5.2" />
-    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5.2" />
-    <PackageReference Include="Furion.Pure" Version="4.9.5.2" />
+    <PackageReference Include="Elastic.Clients.Elasticsearch" Version="8.15.1" />
+    <PackageReference Include="Furion.Extras.Authentication.JwtBearer" Version="4.9.5.3" />
+    <PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5.3" />
+    <PackageReference Include="Furion.Pure" Version="4.9.5.3" />
     <PackageReference Include="IPTools.China" Version="1.6.0" />
     <PackageReference Include="IPTools.International" Version="1.6.0" />
     <PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.1" />
@@ -38,7 +38,7 @@
     <PackageReference Include="SqlSugarCore" Version="5.1.4.166" />
     <PackageReference Include="SSH.NET" Version="2024.1.0" />
     <PackageReference Include="System.Linq.Dynamic.Core" Version="1.4.4" />
-    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1066" />
+    <PackageReference Include="TencentCloudSDK.Sms" Version="3.0.1067" />
     <PackageReference Include="UAParser" Version="3.1.47" />
     <PackageReference Include="Yitter.IdGenerator" Version="1.0.14" />
   </ItemGroup>
@@ -57,9 +57,9 @@
     <PackageReference Include="AspNet.Security.OAuth.Gitee" Version="8.1.0" />
     <PackageReference Include="AspNet.Security.OAuth.Weixin" Version="8.1.0" />
     <PackageReference Include="Lazy.Captcha.Core" Version="2.0.7" />
-    <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.7" />
-    <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="8.0.7" />
-    <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="8.0.7" />
+    <PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="8.0.8" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson" Version="8.0.8" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.StackExchangeRedis" Version="8.0.8" />
     <PackageReference Include="OnceMi.AspNetCore.OSS" Version="1.2.0" />
   </ItemGroup>
 

+ 2 - 2
Admin.NET/Admin.NET.Core/Entity/SysFile.cs

@@ -104,8 +104,8 @@ public partial class SysFile : EntityBaseData
 
     /// <summary>
     /// 是否公开
-    /// 如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+    /// 若为true则所有人都可以查看,默认只有自己或有权限的可以查看
     /// </summary>
-    [SugarColumn(ColumnDescription = "是否公开", DefaultValue = "false")]
+    [SugarColumn(ColumnDescription = "是否公开")]
     public bool IsPublic { get; set; } = false;
 }

+ 29 - 8
Admin.NET/Admin.NET.Core/SeedData/SysRoleMenuSeedData.cs

@@ -23,7 +23,7 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=1300000000101, RoleId=1300000000101, MenuId=1300000000101 },
             new SysRoleMenu{ Id=1300000000102, RoleId=1300000000101, MenuId=1300000000111 },
             new SysRoleMenu{ Id=1300000000103, RoleId=1300000000101, MenuId=1300000000121 },
-            // 系统管理
+            ////// 系统管理
             new SysRoleMenu{ Id=1300000000111, RoleId=1300000000101, MenuId=1310000000101 },
             // 账号管理
             new SysRoleMenu{ Id=1300000000121, RoleId=1300000000101, MenuId=1310000000111 },
@@ -36,6 +36,7 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=1300000000128, RoleId=1300000000101, MenuId=1310000000118 },
             new SysRoleMenu{ Id=1300000000129, RoleId=1300000000101, MenuId=1310000000119 },
             new SysRoleMenu{ Id=1300000000130, RoleId=1300000000101, MenuId=1310000000120 },
+            new SysRoleMenu{ Id=1300000000131, RoleId=1300000000101, MenuId=1310000000121 },
             // 角色管理
             new SysRoleMenu{ Id=1300000000141, RoleId=1300000000101, MenuId=1310000000131 },
             new SysRoleMenu{ Id=1300000000142, RoleId=1300000000101, MenuId=1310000000132 },
@@ -57,6 +58,7 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=1300000000163, RoleId=1300000000101, MenuId=1310000000153 },
             new SysRoleMenu{ Id=1300000000164, RoleId=1300000000101, MenuId=1310000000154 },
             new SysRoleMenu{ Id=1300000000165, RoleId=1300000000101, MenuId=1310000000155 },
+            new SysRoleMenu{ Id=1300000000166, RoleId=1300000000101, MenuId=1310000000156 },
             // 个人中心
             new SysRoleMenu{ Id=1300000000171, RoleId=1300000000101, MenuId=1310000000161 },
             new SysRoleMenu{ Id=1300000000172, RoleId=1300000000101, MenuId=1310000000162 },
@@ -77,8 +79,22 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=1300000000193, RoleId=1300000000101, MenuId=1310000000183 },
             new SysRoleMenu{ Id=1300000000194, RoleId=1300000000101, MenuId=1310000000184 },
             new SysRoleMenu{ Id=1300000000195, RoleId=1300000000101, MenuId=1310000000185 },
-            // 平台管理
+            ////// 平台管理
             new SysRoleMenu{ Id=1300000000201, RoleId=1300000000101, MenuId=1310000000301 },
+            // 菜单管理
+            new SysRoleMenu{ Id=1300000000221, RoleId=1300000000101, MenuId=1310000000322 },
+            // 字典管理
+            new SysRoleMenu{ Id=1300000000231, RoleId=1300000000101, MenuId=1310000000331 },
+            new SysRoleMenu{ Id=1300000000232, RoleId=1300000000101, MenuId=1310000000332 },
+            new SysRoleMenu{ Id=1300000000233, RoleId=1300000000101, MenuId=1310000000333 },
+            new SysRoleMenu{ Id=1300000000234, RoleId=1300000000101, MenuId=1310000000334 },
+            new SysRoleMenu{ Id=1300000000235, RoleId=1300000000101, MenuId=1310000000335 },
+            // 字典管理
+            new SysRoleMenu{ Id=1300000000241, RoleId=1300000000101, MenuId=1310000000341 },
+            new SysRoleMenu{ Id=1300000000242, RoleId=1300000000101, MenuId=1310000000342 },
+            new SysRoleMenu{ Id=1300000000243, RoleId=1300000000101, MenuId=1310000000343 },
+            new SysRoleMenu{ Id=1300000000244, RoleId=1300000000101, MenuId=1310000000344 },
+            new SysRoleMenu{ Id=1300000000245, RoleId=1300000000101, MenuId=1310000000345 },
             // 任务调度
             new SysRoleMenu{ Id=1300000000251, RoleId=1300000000101, MenuId=1310000000351 },
             new SysRoleMenu{ Id=1300000000252, RoleId=1300000000101, MenuId=1310000000352 },
@@ -106,9 +122,8 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=1300000000294, RoleId=1300000000101, MenuId=1310000000394 },
             new SysRoleMenu{ Id=1300000000295, RoleId=1300000000101, MenuId=1310000000395 },
             new SysRoleMenu{ Id=1300000000296, RoleId=1300000000101, MenuId=1310000000396 },
-
-            //// 日志管理
-            //new SysRoleMenu{ Id=1300000000301, RoleId=1300000000101, MenuId=1310000000501 },
+            ////// 日志管理
+            new SysRoleMenu{ Id=1300000000301, RoleId=1300000000101, MenuId=1310000000501 },
             new SysRoleMenu{ Id=1300000000311, RoleId=1300000000101, MenuId=1310000000511 },
             new SysRoleMenu{ Id=1300000000312, RoleId=1300000000101, MenuId=1310000000512 },
             new SysRoleMenu{ Id=1300000000313, RoleId=1300000000101, MenuId=1310000000513 },
@@ -118,12 +133,18 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
             new SysRoleMenu{ Id=1300000000324, RoleId=1300000000101, MenuId=1310000000524 },
             new SysRoleMenu{ Id=1300000000331, RoleId=1300000000101, MenuId=1310000000531 },
             new SysRoleMenu{ Id=1300000000332, RoleId=1300000000101, MenuId=1310000000532 },
-            new SysRoleMenu{ Id=1300000000333, RoleId=1300000000101, MenuId=1310000000543 },
-
-            // 帮助文档
+            new SysRoleMenu{ Id=1300000000333, RoleId=1300000000101, MenuId=1310000000533 },
+            new SysRoleMenu{ Id=1300000000334, RoleId=1300000000101, MenuId=1310000000534 },
+            new SysRoleMenu{ Id=1300000000341, RoleId=1300000000101, MenuId=1310000000541 },
+            new SysRoleMenu{ Id=1300000000342, RoleId=1300000000101, MenuId=1310000000542 },
+            new SysRoleMenu{ Id=1300000000343, RoleId=1300000000101, MenuId=1310000000543 },
+            ////// 帮助文档
             new SysRoleMenu{ Id=1300000000401, RoleId=1300000000101, MenuId=1310000000701 },
             new SysRoleMenu{ Id=1300000000402, RoleId=1300000000101, MenuId=1310000000711 },
             new SysRoleMenu{ Id=1300000000403, RoleId=1300000000101, MenuId=1310000000712 },
+            new SysRoleMenu{ Id=1300000000404, RoleId=1300000000101, MenuId=1310000000713 },
+            new SysRoleMenu{ Id=1300000000405, RoleId=1300000000101, MenuId=1310000000714 },
+            new SysRoleMenu{ Id=1300000000455, RoleId=1300000000101, MenuId=1310000000801 },
 
             // 其他角色默认菜单
             // 数据面板【1300000000102】

+ 2 - 1
Admin.NET/Admin.NET.Core/Service/Cache/SysCacheService.cs

@@ -22,6 +22,7 @@ public class SysCacheService : IDynamicApiController, ISingleton
         _cacheProvider = cacheProvider;
         _cacheOptions = cacheOptions.Value;
     }
+
     /// <summary>
     /// 申请分布式锁
     /// </summary>
@@ -41,7 +42,7 @@ public class SysCacheService : IDynamicApiController, ISingleton
             return null;
         }
     }
-    
+
     /// <summary>
     /// 获取缓存键名集合 🔖
     /// </summary>

+ 4 - 4
Admin.NET/Admin.NET.Core/Service/File/Dto/FileInput.cs

@@ -20,7 +20,7 @@ public class FileInput : BaseIdInput
 
     /// <summary>
     /// 是否公开
-    /// 如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+    /// 若为true则所有人都可以查看,默认只有自己或有权限的可以查看
     /// </summary>
     public bool IsPublic { get; set; }
 
@@ -81,7 +81,7 @@ public class UploadFileFromBase64Input
 
     /// <summary>
     /// 是否公开
-    /// 如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+    /// 若为true则所有人都可以查看,默认只有自己或有权限的可以查看
     /// </summary>
     public bool IsPublic { get; set; }
 }
@@ -104,7 +104,7 @@ public class FileUploadInput
 
     /// <summary>
     /// 是否公开
-    /// 如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+    /// 若为true则所有人都可以查看,默认只有自己或有权限的可以查看
     /// </summary>
     public bool IsPublic { get; set; }
 
@@ -188,7 +188,7 @@ public class FileOutput
 
     /// <summary>
     /// 是否公开
-    /// 如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+    /// 若为true则所有人都可以查看,默认只有自己或有权限的可以查看
     /// </summary>
     public bool IsPublic { get; set; }
 

+ 2 - 2
Web/package.json

@@ -2,7 +2,7 @@
 	"name": "admin.net",
 	"type": "module",
 	"version": "2.4.33",
-	"lastBuildTime": "2024.08.13",
+	"lastBuildTime": "2024.08.14",
 	"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
 	"author": "zuohuaijun",
 	"license": "MIT",
@@ -93,7 +93,7 @@
 		"prettier": "^3.3.3",
 		"rollup-plugin-visualizer": "^5.12.0",
 		"sass": "^1.77.8",
-		"terser": "^5.31.5",
+		"terser": "^5.31.6",
 		"typescript": "^5.5.4",
 		"vite": "^5.4.0",
 		"vite-plugin-cdn-import": "^1.0.1",

+ 112 - 0
Web/src/api-services/apis/sys-cache-api.ts

@@ -17,6 +17,7 @@ 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 { AdminResultIDisposable } from '../models';
 import { AdminResultInt32 } from '../models';
 import { AdminResultListString } from '../models';
 import { AdminResultObject } from '../models';
@@ -26,6 +27,73 @@ import { AdminResultObject } from '../models';
  */
 export const SysCacheApiAxiosParamCreator = function (configuration?: Configuration) {
     return {
+        /**
+         * 
+         * @summary 申请分布式锁
+         * @param {string} key 要锁定的key
+         * @param {number} msTimeout 申请锁等待的时间,单位毫秒
+         * @param {number} msExpire 锁过期时间,超过该时间没有主动是放则自动是放,必须整数秒,单位毫秒
+         * @param {boolean} throwOnFailure 失败时是否抛出异常,如不抛出异常,可通过判断返回null得知申请锁失败
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost: async (key: string, msTimeout: number, msExpire: number, throwOnFailure: boolean, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
+            // verify required parameter 'key' is not null or undefined
+            if (key === null || key === undefined) {
+                throw new RequiredError('key','Required parameter key was null or undefined when calling apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost.');
+            }
+            // verify required parameter 'msTimeout' is not null or undefined
+            if (msTimeout === null || msTimeout === undefined) {
+                throw new RequiredError('msTimeout','Required parameter msTimeout was null or undefined when calling apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost.');
+            }
+            // verify required parameter 'msExpire' is not null or undefined
+            if (msExpire === null || msExpire === undefined) {
+                throw new RequiredError('msExpire','Required parameter msExpire was null or undefined when calling apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost.');
+            }
+            // verify required parameter 'throwOnFailure' is not null or undefined
+            if (throwOnFailure === null || throwOnFailure === undefined) {
+                throw new RequiredError('throwOnFailure','Required parameter throwOnFailure was null or undefined when calling apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost.');
+            }
+            const localVarPath = `/api/sysCache/beginCacheLock/{key}/{msTimeout}/{msExpire}/{throwOnFailure}`
+                .replace(`{${"key"}}`, encodeURIComponent(String(key)))
+                .replace(`{${"msTimeout"}}`, encodeURIComponent(String(msTimeout)))
+                .replace(`{${"msExpire"}}`, encodeURIComponent(String(msExpire)))
+                .replace(`{${"throwOnFailure"}}`, encodeURIComponent(String(throwOnFailure)));
+            // 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: 'POST', ...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 清空所有缓存 🔖
@@ -317,6 +385,23 @@ export const SysCacheApiAxiosParamCreator = function (configuration?: Configurat
  */
 export const SysCacheApiFp = function(configuration?: Configuration) {
     return {
+        /**
+         * 
+         * @summary 申请分布式锁
+         * @param {string} key 要锁定的key
+         * @param {number} msTimeout 申请锁等待的时间,单位毫秒
+         * @param {number} msExpire 锁过期时间,超过该时间没有主动是放则自动是放,必须整数秒,单位毫秒
+         * @param {boolean} throwOnFailure 失败时是否抛出异常,如不抛出异常,可通过判断返回null得知申请锁失败
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost(key: string, msTimeout: number, msExpire: number, throwOnFailure: boolean, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultIDisposable>>> {
+            const localVarAxiosArgs = await SysCacheApiAxiosParamCreator(configuration).apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost(key, msTimeout, msExpire, throwOnFailure, options);
+            return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
+                const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
+                return axios.request(axiosRequestArgs);
+            };
+        },
         /**
          * 
          * @summary 清空所有缓存 🔖
@@ -408,6 +493,19 @@ export const SysCacheApiFp = function(configuration?: Configuration) {
  */
 export const SysCacheApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
     return {
+        /**
+         * 
+         * @summary 申请分布式锁
+         * @param {string} key 要锁定的key
+         * @param {number} msTimeout 申请锁等待的时间,单位毫秒
+         * @param {number} msExpire 锁过期时间,超过该时间没有主动是放则自动是放,必须整数秒,单位毫秒
+         * @param {boolean} throwOnFailure 失败时是否抛出异常,如不抛出异常,可通过判断返回null得知申请锁失败
+         * @param {*} [options] Override http request option.
+         * @throws {RequiredError}
+         */
+        async apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost(key: string, msTimeout: number, msExpire: number, throwOnFailure: boolean, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultIDisposable>> {
+            return SysCacheApiFp(configuration).apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost(key, msTimeout, msExpire, throwOnFailure, options).then((request) => request(axios, basePath));
+        },
         /**
          * 
          * @summary 清空所有缓存 🔖
@@ -476,6 +574,20 @@ export const SysCacheApiFactory = function (configuration?: Configuration, baseP
  * @extends {BaseAPI}
  */
 export class SysCacheApi extends BaseAPI {
+    /**
+     * 
+     * @summary 申请分布式锁
+     * @param {string} key 要锁定的key
+     * @param {number} msTimeout 申请锁等待的时间,单位毫秒
+     * @param {number} msExpire 锁过期时间,超过该时间没有主动是放则自动是放,必须整数秒,单位毫秒
+     * @param {boolean} throwOnFailure 失败时是否抛出异常,如不抛出异常,可通过判断返回null得知申请锁失败
+     * @param {*} [options] Override http request option.
+     * @throws {RequiredError}
+     * @memberof SysCacheApi
+     */
+    public async apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost(key: string, msTimeout: number, msExpire: number, throwOnFailure: boolean, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultIDisposable>> {
+        return SysCacheApiFp(this.configuration).apiSysCacheBeginCacheLockKeyMsTimeoutMsExpireThrowOnFailurePost(key, msTimeout, msExpire, throwOnFailure, options).then((request) => request(this.axios, this.basePath));
+    }
     /**
      * 
      * @summary 清空所有缓存 🔖

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

@@ -183,7 +183,7 @@ export const SysFileApiAxiosParamCreator = function (configuration?: Configurati
          * @param {number} id 主键Id
          * @param {string} [fileName] 文件名称
          * @param {string} [fileType] 文件类型
-         * @param {boolean} [isPublic] 是否公开  如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+         * @param {boolean} [isPublic] 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
          * @param {string} [url] 文件Url
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
@@ -786,7 +786,7 @@ export const SysFileApiFp = function(configuration?: Configuration) {
          * @param {number} id 主键Id
          * @param {string} [fileName] 文件名称
          * @param {string} [fileType] 文件类型
-         * @param {boolean} [isPublic] 是否公开  如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+         * @param {boolean} [isPublic] 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
          * @param {string} [url] 文件Url
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
@@ -975,7 +975,7 @@ export const SysFileApiFactory = function (configuration?: Configuration, basePa
          * @param {number} id 主键Id
          * @param {string} [fileName] 文件名称
          * @param {string} [fileType] 文件类型
-         * @param {boolean} [isPublic] 是否公开  如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+         * @param {boolean} [isPublic] 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
          * @param {string} [url] 文件Url
          * @param {*} [options] Override http request option.
          * @throws {RequiredError}
@@ -1128,7 +1128,7 @@ export class SysFileApi extends BaseAPI {
      * @param {number} id 主键Id
      * @param {string} [fileName] 文件名称
      * @param {string} [fileType] 文件类型
-     * @param {boolean} [isPublic] 是否公开  如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+     * @param {boolean} [isPublic] 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
      * @param {string} [url] 文件Url
      * @param {*} [options] Override http request option.
      * @throws {RequiredError}

+ 69 - 0
Web/src/api-services/models/admin-result-idisposable.ts

@@ -0,0 +1,69 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 通用权限开发平台
+ * 让 .NET 开发更简单、更通用、更流行。整合最新技术,模块插件式开发,前后端分离,开箱即用。<br/><u><b><font color='FF0000'> 👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!</font></b></u>
+ *
+ * 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 { IDisposable } from './idisposable';
+ /**
+ * 全局返回结果
+ *
+ * @export
+ * @interface AdminResultIDisposable
+ */
+export interface AdminResultIDisposable {
+
+    /**
+     * 状态码
+     *
+     * @type {number}
+     * @memberof AdminResultIDisposable
+     */
+    code?: number;
+
+    /**
+     * 类型success、warning、error
+     *
+     * @type {string}
+     * @memberof AdminResultIDisposable
+     */
+    type?: string | null;
+
+    /**
+     * 错误信息
+     *
+     * @type {string}
+     * @memberof AdminResultIDisposable
+     */
+    message?: string | null;
+
+    /**
+     * @type {IDisposable}
+     * @memberof AdminResultIDisposable
+     */
+    result?: IDisposable;
+
+    /**
+     * 附加数据
+     *
+     * @type {any}
+     * @memberof AdminResultIDisposable
+     */
+    extras?: any | null;
+
+    /**
+     * 时间
+     *
+     * @type {Date}
+     * @memberof AdminResultIDisposable
+     */
+    time?: Date;
+}

+ 1 - 1
Web/src/api-services/models/file-input.ts

@@ -45,7 +45,7 @@ export interface FileInput {
     fileType?: string | null;
 
     /**
-     * 是否公开  如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+     * 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
      *
      * @type {boolean}
      * @memberof FileInput

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

@@ -77,7 +77,7 @@ export interface FileOutput {
     fileType?: string | null;
 
     /**
-     * 是否公开  如果设置true,所有人都可以查看,默认只有自己或有权限的可以查看
+     * 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
      *
      * @type {boolean}
      * @memberof FileOutput

+ 22 - 0
Web/src/api-services/models/idisposable.ts

@@ -0,0 +1,22 @@
+/* tslint:disable */
+/* eslint-disable */
+/**
+ * Admin.NET 通用权限开发平台
+ * 让 .NET 开发更简单、更通用、更流行。整合最新技术,模块插件式开发,前后端分离,开箱即用。<br/><u><b><font color='FF0000'> 👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!</font></b></u>
+ *
+ * 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.
+ */
+
+ /**
+ * 
+ *
+ * @export
+ * @interface IDisposable
+ */
+export interface IDisposable {
+}

+ 2 - 0
Web/src/api-services/models/index.ts

@@ -25,6 +25,7 @@ export * from './admin-result-data-table';
 export * from './admin-result-dictionary-string-string';
 export * from './admin-result-generate-qrimage-output';
 export * from './admin-result-iaction-result';
+export * from './admin-result-idisposable';
 export * from './admin-result-int32';
 export * from './admin-result-int64';
 export * from './admin-result-jobject';
@@ -203,6 +204,7 @@ export * from './iaction-result';
 export * from './icomponent';
 export * from './icontainer';
 export * from './icustom-attribute-provider';
+export * from './idisposable';
 export * from './isite';
 export * from './info-save-input';
 export * from './int-ptr';

+ 8 - 0
Web/src/api-services/models/sys-file-upload-file-body.ts

@@ -36,6 +36,14 @@ export interface SysFileUploadFileBody {
      */
     fileType?: string;
 
+    /**
+     * 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
+     *
+     * @type {boolean}
+     * @memberof SysFileUploadFileBody
+     */
+    isPublic?: boolean;
+
     /**
      * 文件路径
      *

+ 24 - 0
Web/src/api-services/models/sys-file.ts

@@ -84,6 +84,22 @@ export interface SysFile {
      */
     isDelete?: boolean;
 
+    /**
+     * 创建者部门Id
+     *
+     * @type {number}
+     * @memberof SysFile
+     */
+    createOrgId?: number | null;
+
+    /**
+     * 创建者部门名称
+     *
+     * @type {string}
+     * @memberof SysFile
+     */
+    createOrgName?: string | null;
+
     /**
      * 提供者
      *
@@ -187,4 +203,12 @@ export interface SysFile {
      * @memberof SysFile
      */
     fileType?: string | null;
+
+    /**
+     * 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
+     *
+     * @type {boolean}
+     * @memberof SysFile
+     */
+    isPublic?: boolean;
 }

+ 8 - 0
Web/src/api-services/models/upload-file-from-base64-input.ts

@@ -59,4 +59,12 @@ export interface UploadFileFromBase64Input {
      * @memberof UploadFileFromBase64Input
      */
     fileType?: string | null;
+
+    /**
+     * 是否公开  若为true则所有人都可以查看,默认只有自己或有权限的可以查看
+     *
+     * @type {boolean}
+     * @memberof UploadFileFromBase64Input
+     */
+    isPublic?: boolean;
 }

+ 7 - 7
Web/src/views/system/file/index.vue

@@ -53,10 +53,10 @@
 				<el-table-column prop="bucketName" label="存储位置" align="center" show-overflow-tooltip />
 				<el-table-column prop="id" label="存储标识" align="center" show-overflow-tooltip />
 				<el-table-column prop="fileType" label="文件类型" min-width="100" header-align="center" show-overflow-tooltip />
-				<el-table-column prop="isPublic" label="是否公开" min-width="100" header-align="center" show-overflow-tooltip >
-                    <template #default="scope">
+				<el-table-column prop="isPublic" label="是否公开" min-width="100" header-align="center" show-overflow-tooltip>
+					<template #default="scope">
 						<el-tag v-if="scope.row.isPublic === true" type="success">是</el-tag>
-							<el-tag v-else type="danger">否</el-tag>
+						<el-tag v-else type="danger">否</el-tag>
 					</template>
 				</el-table-column>
 				<el-table-column type="relationName" label="关联对象名称" min-width="150" align="center" />
@@ -101,8 +101,8 @@
 					<el-option label="相关文件" value="相关文件" />
 					<el-option label="归档文件" value="归档文件" />
 				</el-select>
-                是否公开:
-				<el-radio-group  v-model="state.isPublic">
+				是否公开:
+				<el-radio-group v-model="state.isPublic">
 					<el-radio :value="false">否</el-radio>
 					<el-radio :value="true">是</el-radio>
 				</el-radio-group>
@@ -183,7 +183,7 @@ const state = reactive({
 	pdfUrl: '',
 	fileName: '',
 	fileType: '',
-    isPublic:false,
+	isPublic: false,
 	previewList: [] as string[],
 });
 
@@ -216,7 +216,7 @@ const resetQuery = () => {
 const openUploadDialog = () => {
 	state.fileList = [];
 	state.dialogUploadVisible = true;
-    state.isPublic=false;
+	state.isPublic = false;
 };
 
 // 通过onChanne方法获得文件列表