😎1、增加接口名称翻译 2、去掉多余的匿名接口特性
This commit is contained in:
parent
8e81bad181
commit
ae9e2870e0
@ -91,6 +91,8 @@ public class SysRoleMenuSeedData : ISqlSugarEntitySeedData<SysRoleMenu>
|
||||
new SysRoleMenu{ Id=1300000001208, RoleId=1300000000101, MenuId=1310000000198 },
|
||||
////// 平台管理
|
||||
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 },
|
||||
|
||||
@ -24,6 +24,27 @@ public class SysCacheService : IDynamicApiController, ISingleton
|
||||
_cacheOptions = cacheOptions.Value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 申请分布式锁
|
||||
/// </summary>
|
||||
/// <param name="key">要锁定的key</param>
|
||||
/// <param name="msTimeout">申请锁等待的时间,单位毫秒</param>
|
||||
/// <param name="msExpire">锁过期时间,超过该时间没有主动是放则自动是放,必须整数秒,单位毫秒</param>
|
||||
/// <param name="throwOnFailure">失败时是否抛出异常,如不抛出异常,可通过判断返回null得知申请锁失败</param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("申请分布式锁")]
|
||||
public IDisposable? BeginCacheLock(string key, int msTimeout = 500, int msExpire = 10000, bool throwOnFailure = true)
|
||||
{
|
||||
try
|
||||
{
|
||||
return _cacheProvider.Cache.AcquireLock(key, msTimeout, msExpire, throwOnFailure);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取缓存键名集合 🔖
|
||||
/// </summary>
|
||||
|
||||
@ -153,6 +153,7 @@ public class SysCommonService : IDynamicApiController, ITransient
|
||||
/// 获取机器序列号 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("获取机器序列号")]
|
||||
public string GetMachineSerialKey()
|
||||
{
|
||||
try
|
||||
|
||||
@ -23,6 +23,7 @@ public class SysProcService : IDynamicApiController, ITransient
|
||||
/// 导出存储过程数据-指定列,没有指定的字段会被隐藏 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("导出存储过程数据")]
|
||||
public async Task<IActionResult> PocExport2(ExportProcInput input)
|
||||
{
|
||||
var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
|
||||
@ -45,6 +46,7 @@ public class SysProcService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("根据模板导出存储过程数据")]
|
||||
public async Task<IActionResult> PocExport(ExportProcByTMPInput input)
|
||||
{
|
||||
var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
|
||||
@ -61,6 +63,7 @@ public class SysProcService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("获取存储过程返回表")]
|
||||
public async Task<DataTable> ProcTable(BaseProcInput input)
|
||||
{
|
||||
var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
|
||||
@ -74,6 +77,7 @@ public class SysProcService : IDynamicApiController, ITransient
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[DisplayName("获取存储过程返回数据集")]
|
||||
public async Task<DataSet> CommonDataSet(BaseProcInput input)
|
||||
{
|
||||
var db = _db.AsTenant().GetConnectionScope(input.ConfigId);
|
||||
|
||||
@ -10,7 +10,6 @@ namespace Admin.NET.Core.Service;
|
||||
/// 系统常量服务 🧩
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Order = 280)]
|
||||
[AllowAnonymous]
|
||||
public class SysConstService : IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly SysCacheService _sysCacheService;
|
||||
|
||||
@ -105,7 +105,6 @@ public class SysDatabaseService : IDynamicApiController, ITransient
|
||||
/// <param name="tableName">表名</param>
|
||||
/// <param name="configId">ConfigId</param>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[DisplayName("获取字段列表")]
|
||||
public List<DbColumnOutput> GetColumnList(string tableName, string configId = SqlSugarConst.MainConfigId)
|
||||
{
|
||||
|
||||
@ -10,7 +10,6 @@ namespace Admin.NET.Core.Service;
|
||||
/// 系统字典值服务 🧩
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Order = 420)]
|
||||
[AllowAnonymous]
|
||||
public class SysDictDataService : IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly SqlSugarRepository<SysDictData> _sysDictDataRep;
|
||||
|
||||
@ -10,7 +10,6 @@ namespace Admin.NET.Core.Service;
|
||||
/// 系统字典类型服务 🧩
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Order = 430)]
|
||||
[AllowAnonymous]
|
||||
public class SysDictTypeService : IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly SqlSugarRepository<SysDictType> _sysDictTypeRep;
|
||||
@ -56,7 +55,6 @@ public class SysDictTypeService : IDynamicApiController, ITransient
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[AllowAnonymous]
|
||||
[DisplayName("获取字典类型-值列表")]
|
||||
public async Task<List<SysDictData>> GetDataList([FromQuery] GetDataDictTypeInput input)
|
||||
{
|
||||
@ -148,7 +146,6 @@ public class SysDictTypeService : IDynamicApiController, ITransient
|
||||
/// 获取所有字典集合 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[DisplayName("获取所有字典集合")]
|
||||
public async Task<dynamic> GetAllDictList()
|
||||
{
|
||||
|
||||
@ -10,7 +10,6 @@ namespace Admin.NET.Core.Service;
|
||||
/// 系统枚举服务 🧩
|
||||
/// </summary>
|
||||
[ApiDescriptionSettings(Order = 275)]
|
||||
[AllowAnonymous]
|
||||
public class SysEnumService : IDynamicApiController, ITransient
|
||||
{
|
||||
private readonly EnumOptions _enumOptions;
|
||||
|
||||
@ -146,7 +146,6 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
/// <param name="Id"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("文件预览")]
|
||||
[AllowAnonymous]
|
||||
public async Task<IActionResult> GetPreview([FromRoute] long Id)
|
||||
{
|
||||
var file = await GetFile(new FileInput { Id = Id });
|
||||
@ -178,7 +177,6 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="url"></param>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[DisplayName("下载指定文件Base64格式")]
|
||||
public async Task<string> DownloadFileBase64([FromBody] string url)
|
||||
{
|
||||
|
||||
@ -77,7 +77,6 @@ public class SysMenuService : IDynamicApiController, ITransient
|
||||
/// 获取菜单列表 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[DisplayName("获取菜单列表")]
|
||||
public async Task<List<SysMenu>> GetList([FromQuery] MenuInput input)
|
||||
{
|
||||
|
||||
@ -48,6 +48,8 @@ public class SysSmsService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[AllowAnonymous]
|
||||
[DisplayName("校验短信验证码")]
|
||||
public bool VerifyCode(SmsVerifyCodeInput input)
|
||||
{
|
||||
var verifyCode = _sysCacheService.Get<string>($"{CacheConst.KeyPhoneVerCode}{input.Phone}");
|
||||
|
||||
@ -27,6 +27,7 @@ public class SysUserMenuService : IDynamicApiController, ITransient
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[ApiDescriptionSettings(Name = "Add"), HttpPost]
|
||||
[DisplayName("收藏菜单")]
|
||||
public async Task AddUserMenu(UserMenuInput input)
|
||||
{
|
||||
await _sysUserMenuRep.DeleteAsync(u => u.UserId == input.UserId);
|
||||
@ -46,6 +47,7 @@ public class SysUserMenuService : IDynamicApiController, ITransient
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[ApiDescriptionSettings(Name = "Delete"), HttpPost]
|
||||
[DisplayName("取消收藏菜单")]
|
||||
public async Task DeleteUserMenu(UserMenuInput input)
|
||||
{
|
||||
await _sysUserMenuRep.DeleteAsync(u => u.UserId == input.UserId && input.MenuIdList.Contains(u.MenuId));
|
||||
@ -57,6 +59,7 @@ public class SysUserMenuService : IDynamicApiController, ITransient
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[ApiDescriptionSettings(Name = "DeleteByUserId"), HttpPost]
|
||||
[DisplayName("根据用户Id删除收藏菜单")]
|
||||
public async Task DeleteByUserId(long userId)
|
||||
{
|
||||
await _sysUserMenuRep.DeleteAsync(u => u.UserId == userId);
|
||||
@ -67,6 +70,7 @@ public class SysUserMenuService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("根据用户Id获取收藏菜单集合")]
|
||||
public async Task<List<MenuOutput>> GetUserMenuList(long userId)
|
||||
{
|
||||
var sysUserMenuList = await _sysUserMenuRep.AsQueryable()
|
||||
@ -80,6 +84,7 @@ public class SysUserMenuService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("根据用户Id获取收藏菜单Id集合")]
|
||||
public async Task<List<long>> GetUserMenuIdList(long userId)
|
||||
{
|
||||
return await _sysUserMenuRep.AsQueryable()
|
||||
|
||||
@ -15,5 +15,5 @@ public class GoViewConst
|
||||
/// <summary>
|
||||
/// API分组名称
|
||||
/// </summary>
|
||||
public const string GroupName = "GoView";
|
||||
public const string GroupName = "GoView 大屏设计";
|
||||
}
|
||||
@ -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 清空所有缓存 🔖
|
||||
|
||||
69
Web/src/api-services/models/admin-result-idisposable.ts
Normal file
69
Web/src/api-services/models/admin-result-idisposable.ts
Normal file
@ -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;
|
||||
}
|
||||
22
Web/src/api-services/models/idisposable.ts
Normal file
22
Web/src/api-services/models/idisposable.ts
Normal file
@ -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 {
|
||||
}
|
||||
@ -27,6 +27,7 @@ export * from './admin-result-dictionary-string-string';
|
||||
export * from './admin-result-generate-qrimage-output';
|
||||
export * from './admin-result-get-refund-domestic-refund-by-out-refund-number-response';
|
||||
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';
|
||||
@ -207,6 +208,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';
|
||||
|
||||
@ -192,4 +192,55 @@ export default {
|
||||
btnTwo: '马上更新',
|
||||
btnTwoLoading: '更新中',
|
||||
},
|
||||
apiservice: {
|
||||
sysAuth: '授权管理',
|
||||
sysOAuth: 'OAuth管理',
|
||||
sysLdap: 'Ldap管理',
|
||||
sysUser: '用户管理',
|
||||
sysOAuthUser: '三方账号',
|
||||
sysRole: '角色管理',
|
||||
sysOrg: '机构管理',
|
||||
sysPos: '职位管理',
|
||||
sysMenu: '菜单管理',
|
||||
sysUserMenu: '快捷菜单',
|
||||
sysConfig: '系统配置',
|
||||
sysDictType: '字典类型',
|
||||
sysDictData: '字典数据',
|
||||
sysFile: '文件管理',
|
||||
sysCache: '缓存管理',
|
||||
sysTenant: '租户管理',
|
||||
sysNotice: '通知公告',
|
||||
sysEmail: '邮件管理',
|
||||
sysMessage: '消息管理',
|
||||
sysLogOp: '操作日志',
|
||||
sysLogEx: '异常日志',
|
||||
sysLogVis: '访问日志',
|
||||
sysLogDiff: '差异日志',
|
||||
sysJob: '任务调度',
|
||||
sysRegion: '行政区域',
|
||||
sysPrint: '打印管理',
|
||||
sysOnlineUser: '在线用户',
|
||||
sysSchedule: '日程管理',
|
||||
sysServer: '系统监控',
|
||||
sysConst: '常量管理',
|
||||
sysEnum: '枚举管理',
|
||||
sysCodeGen: '代码生成',
|
||||
sysCodeGenConfig: '生成配置',
|
||||
sysDatabase: '库表管理',
|
||||
sysPlugin: '插件管理',
|
||||
sysOpenAccess: '开放接口',
|
||||
sysWxOpen: '微信小程序',
|
||||
sysWechat: '微信公众号',
|
||||
sysWechatPay: '微信支付',
|
||||
sysSms: '短信管理',
|
||||
sysProc: '存储过程',
|
||||
sysCommon: '通用接口',
|
||||
aPIJSON: 'APIJSON',
|
||||
|
||||
GoView: '大屏设计',
|
||||
project: '大屏项目',
|
||||
sys: '大屏接口',
|
||||
|
||||
appAuth: '移动端授权',
|
||||
},
|
||||
};
|
||||
|
||||
@ -119,15 +119,13 @@ const onSave = async () => {
|
||||
sysSecondVer: state.formData.sysSecondVer,
|
||||
sysCaptcha: state.formData.sysCaptcha,
|
||||
});
|
||||
if (res.data!.type !== 'success') return;
|
||||
if (res.data.code !== 200) return;
|
||||
|
||||
// 清空 file 变量
|
||||
state.file = undefined;
|
||||
// await loadData();
|
||||
ElMessage.success('保存成功');
|
||||
|
||||
// 刷新浏览器
|
||||
window.location.reload();
|
||||
// window.location.reload();
|
||||
} finally {
|
||||
nextTick(() => {
|
||||
state.isLoading = false;
|
||||
|
||||
@ -62,12 +62,14 @@
|
||||
import { reactive, onMounted, ref, watch } from 'vue';
|
||||
import type { ElTree } from 'element-plus';
|
||||
import { Search } from '@element-plus/icons-vue';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
|
||||
import { getAPI } from '/@/utils/axios-utils';
|
||||
import { SysCommonApi, SysRoleApi } from '/@/api-services/api';
|
||||
|
||||
const filterText = ref('');
|
||||
const treeRef = ref<InstanceType<typeof ElTree>>();
|
||||
const { t } = useI18n();
|
||||
|
||||
const state = reactive({
|
||||
loading: false,
|
||||
@ -98,6 +100,13 @@ const initTreeData = async () => {
|
||||
treeRef.value?.setCheckedKeys([]); // 清空选中值
|
||||
state.allApiData = tData;
|
||||
state.loading = false;
|
||||
|
||||
// 翻译所有控制器名称
|
||||
state.allApiData.forEach((pNode: any) => {
|
||||
pNode.children.forEach((cNode: any) => {
|
||||
cNode.name = t('message.apiservice.' + cNode.name) + '【' + cNode.name + '】';
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
// 打开页面
|
||||
|
||||
Loading…
Reference in New Issue
Block a user