smart-admin-web 10.12.1 → 10.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.d.ts +28 -1
- package/dist/api/index.js +65 -38
- package/dist/api/index.js.map +1 -1
- package/dist/api/schema.d.ts +769 -3
- package/dist/assets/icons/ph-subset.json.js +1 -1
- package/dist/composables/useModule.js +35 -27
- package/dist/composables/useModule.js.map +1 -1
- package/dist/index.js +250 -249
- package/dist/layouts/AppHeader.vue.js +1 -1
- package/dist/layouts/AppHeader2.vue.js +306 -292
- package/dist/layouts/AppHeader2.vue.js.map +1 -1
- package/dist/lib/runtime.js +1 -1
- package/dist/locales/en-US.d.ts +49 -1
- package/dist/locales/en-US.js +50 -2
- package/dist/locales/en-US.js.map +1 -1
- package/dist/locales/zh-CN.d.ts +49 -1
- package/dist/locales/zh-CN.js +50 -2
- package/dist/locales/zh-CN.js.map +1 -1
- package/dist/router/index.js +18 -13
- package/dist/router/index.js.map +1 -1
- package/dist/router/viewRegistry.js +1 -1
- package/dist/router/viewRegistry.js.map +1 -1
- package/dist/stores/user.d.ts +6 -1
- package/dist/stores/user.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/api.d.ts +59 -0
- package/dist/types/api.js.map +1 -1
- package/dist/views/dashboard/ShortcutPicker.vue.d.ts +16 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js +8 -0
- package/dist/views/dashboard/ShortcutPicker.vue.js.map +1 -0
- package/dist/views/dashboard/ShortcutPicker2.vue.js +86 -0
- package/dist/views/dashboard/ShortcutPicker2.vue.js.map +1 -0
- package/dist/views/dashboard/biz.vue.js +2 -2
- package/dist/views/dashboard/biz2.vue.js +265 -93
- package/dist/views/dashboard/biz2.vue.js.map +1 -1
- package/dist/views/dashboard/onlineDuration.d.ts +5 -0
- package/dist/views/dashboard/onlineDuration.js +8 -0
- package/dist/views/dashboard/onlineDuration.js.map +1 -0
- package/dist/views/dashboard/shortcutGroups.d.ts +18 -0
- package/dist/views/dashboard/shortcutGroups.js +19 -0
- package/dist/views/dashboard/shortcutGroups.js.map +1 -0
- package/dist/views/system/tenant/index.vue.d.ts +3 -0
- package/dist/views/system/tenant/index.vue.js +8 -0
- package/dist/views/system/tenant/index.vue.js.map +1 -0
- package/dist/views/system/tenant/index2.vue.js +366 -0
- package/dist/views/system/tenant/index2.vue.js.map +1 -0
- package/dist/views/system/user/index.vue.js +2 -2
- package/dist/views/system/user/index2.vue.js +281 -211
- package/dist/views/system/user/index2.vue.js.map +1 -1
- package/package.json +1 -1
package/dist/api/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { components } from './schema';
|
|
2
|
-
import { AddUserInput, AddUserOutput, AiProviderAddInput, AiProviderPreset, AiProviderUpdateInput, AiProviderView, AiTestResult, AiUsageGroupBy, AiUsageSummary, AiUsageTrendPoint, ChunkInitOutput, ConfigInput, CronPreviewOutput, DashboardSummary, DataScopeType, DictItem, DictItemInput, DictTypeInput, DuplicateStrategy, FileUploadOutput, ImportCommitResult, ImportPreview, ImportRow, JobDashboard, JobHandlersOutput, JobInput, LoginOutput, ModuleInput, ModuleRow, MyModulesOutput, MySessionItem, NoticeMineItem, NoticePublishInput, OnlineSessionItem, OrgInput, PermissionRouteItem, PositionInput, RoleInput, ServerInfoOutput, SysAiUsageLog, SysConfig, SysDictItem, SysDictType, SysExceptionLog, SysFile, SysJob, SysJobLog, SysLoginLog, SysNotice, SysOpLog, SysOrg, SysPosition, SysRole, SysRoleDataScope, UpdateUserInput, UserDetail, UserItem, UserProfile } from '../types/api';
|
|
2
|
+
import { AddUserInput, AddUserOutput, AiProviderAddInput, AiProviderPreset, AiProviderUpdateInput, AiProviderView, AiTestResult, AiUsageGroupBy, AiUsageSummary, AiUsageTrendPoint, ChunkInitOutput, ConfigInput, CronPreviewOutput, DashboardSummary, DataScopeType, DictItem, DictItemInput, DictTypeInput, DuplicateStrategy, FileUploadOutput, ImportCommitResult, ImportPreview, ImportRow, JobDashboard, JobHandlersOutput, JobInput, LastLoginInfo, LoginOutput, ModuleInput, ModuleRow, MyModulesOutput, MySessionItem, NoticeMineItem, NoticePublishInput, OnlineSessionItem, OrgInput, PermissionRouteItem, PositionInput, RoleInput, ServerInfoOutput, SysAiUsageLog, SysConfig, SysDictItem, SysDictType, SysExceptionLog, SysFile, SysJob, SysJobLog, SysLoginLog, SysNotice, SysOpLog, SysOrg, SysPosition, SysRole, SysRoleDataScope, SysTenant, TenantCreateInput, TenantInput, UpdateUserInput, UserDetail, UserItem, UserProfile, UserShortcutItem, WorkbenchTodoSummary } from '../types/api';
|
|
3
3
|
import { MenuInput, MenuNode, MenuTreeNode } from '../types/menu';
|
|
4
4
|
/** 业务错误(含后端 code / msgKey);视图 catch 后经 translateError 展示。 */
|
|
5
5
|
export declare class ApiError extends Error {
|
|
@@ -255,6 +255,18 @@ export declare const personalApi: {
|
|
|
255
255
|
}) => Promise<boolean>;
|
|
256
256
|
/** 当前用户权限码集合(= 规范化路由);喂给 authStore.permissionCodes 驱动 v-auth。超管返回空集。 */
|
|
257
257
|
permissions: () => Promise<string[]>;
|
|
258
|
+
/** 上一次成功登录的信息(排除本次);首次登录返回 null。 */
|
|
259
|
+
lastLogin: () => Promise<LastLoginInfo | null>;
|
|
260
|
+
/** 工作台待办摘要;内核默认恒空,消费方接入真实审批/工单系统后有数据。 */
|
|
261
|
+
workbenchTodo: () => Promise<WorkbenchTodoSummary>;
|
|
262
|
+
/** 工作台快捷方式(置顶优先 + 高频自动补位,已按此排好序)。 */
|
|
263
|
+
shortcuts: () => Promise<UserShortcutItem[]>;
|
|
264
|
+
/** 置顶一个快捷方式(幂等)。 */
|
|
265
|
+
pinShortcut: (menuPath: string) => Promise<boolean>;
|
|
266
|
+
/** 取消置顶(幂等)。 */
|
|
267
|
+
unpinShortcut: (menuPath: string) => Promise<boolean>;
|
|
268
|
+
/** 记一次快捷方式访问(高频自动补位用);失败静默,不是用户能感知的操作。 */
|
|
269
|
+
recordShortcutVisit: (menuPath: string) => Promise<boolean>;
|
|
258
270
|
};
|
|
259
271
|
export declare const userApi: {
|
|
260
272
|
/** 归一后端 PagedList<UserItem>({current,size,total,items}) → SmartTable fetcher 契约的 {items,total}。 */
|
|
@@ -720,4 +732,19 @@ export declare const aiUsageApi: {
|
|
|
720
732
|
total: number;
|
|
721
733
|
}>;
|
|
722
734
|
};
|
|
735
|
+
export declare const tenantApi: {
|
|
736
|
+
page: (params: {
|
|
737
|
+
page: number;
|
|
738
|
+
pageSize: number;
|
|
739
|
+
name?: string;
|
|
740
|
+
sortField?: string;
|
|
741
|
+
sortOrder?: string;
|
|
742
|
+
}) => Promise<{
|
|
743
|
+
items: SysTenant[];
|
|
744
|
+
total: number;
|
|
745
|
+
}>;
|
|
746
|
+
add: (body: TenantCreateInput) => Promise<number>;
|
|
747
|
+
update: (id: number, body: TenantInput) => Promise<boolean>;
|
|
748
|
+
remove: (id: number) => Promise<boolean>;
|
|
749
|
+
};
|
|
723
750
|
export {};
|
package/dist/api/index.js
CHANGED
|
@@ -4,8 +4,8 @@ var y = (e, t, i) => P(e, typeof t != "symbol" ? t + "" : t, i);
|
|
|
4
4
|
import { client as s, LONG_TIMEOUT_MS as l } from "./client.js";
|
|
5
5
|
import { runtime as S } from "../lib/runtime.js";
|
|
6
6
|
class u extends Error {
|
|
7
|
-
constructor(i, o, n,
|
|
8
|
-
super(
|
|
7
|
+
constructor(i, o, n, d) {
|
|
8
|
+
super(d ?? o ?? `Error ${i}`);
|
|
9
9
|
y(this, "code");
|
|
10
10
|
y(this, "msgKey");
|
|
11
11
|
y(this, "args");
|
|
@@ -15,9 +15,9 @@ class u extends Error {
|
|
|
15
15
|
function a(e) {
|
|
16
16
|
const { data: t, error: i, response: o } = e;
|
|
17
17
|
if (i != null) {
|
|
18
|
-
const
|
|
19
|
-
if (typeof
|
|
20
|
-
throw new u(
|
|
18
|
+
const d = i;
|
|
19
|
+
if (typeof d.code == "number")
|
|
20
|
+
throw new u(d.code, d.msgKey, d.args, d.message);
|
|
21
21
|
const h = i;
|
|
22
22
|
throw new u(
|
|
23
23
|
o.status,
|
|
@@ -46,7 +46,7 @@ const r = (e) => ({
|
|
|
46
46
|
SortField: e.sortField,
|
|
47
47
|
SortOrder: e.sortOrder
|
|
48
48
|
}), f = (e) => !e || e.length !== 2 ? { start: void 0, end: void 0 } : { start: e[0] || void 0, end: e[1] ? `${e[1]} 23:59:59` : void 0 };
|
|
49
|
-
function
|
|
49
|
+
function p(e) {
|
|
50
50
|
const t = a(e);
|
|
51
51
|
return { items: t.items, total: t.total };
|
|
52
52
|
}
|
|
@@ -56,9 +56,9 @@ async function m(e) {
|
|
|
56
56
|
const h = i ?? {};
|
|
57
57
|
throw typeof h.code == "number" ? new u(h.code, h.msgKey, h.args, h.message) : new u(o.status, void 0, void 0, o.statusText);
|
|
58
58
|
}
|
|
59
|
-
const n = t,
|
|
60
|
-
if (
|
|
61
|
-
if (
|
|
59
|
+
const n = t, d = o.headers.get("content-type") ?? "";
|
|
60
|
+
if (d.includes("spreadsheet") || d.includes("octet-stream")) return n;
|
|
61
|
+
if (d.includes("json") || d.includes("text/plain")) {
|
|
62
62
|
const h = JSON.parse(await n.text());
|
|
63
63
|
if (typeof h.code == "number" && h.code !== 0)
|
|
64
64
|
throw new u(h.code, h.msgKey, h.args, h.message);
|
|
@@ -185,7 +185,19 @@ const C = {
|
|
|
185
185
|
kickSession: (e) => s.DELETE("/api/v1/personal/sessions/{sessionId}", { params: { path: { sessionId: e } } }).then((t) => a(t)),
|
|
186
186
|
updatePassword: (e) => s.PUT("/api/v1/personal/password", { body: e }).then((t) => a(t)),
|
|
187
187
|
/** 当前用户权限码集合(= 规范化路由);喂给 authStore.permissionCodes 驱动 v-auth。超管返回空集。 */
|
|
188
|
-
permissions: () => s.GET("/api/v1/personal/permissions", {}).then((e) => a(e))
|
|
188
|
+
permissions: () => s.GET("/api/v1/personal/permissions", {}).then((e) => a(e)),
|
|
189
|
+
/** 上一次成功登录的信息(排除本次);首次登录返回 null。 */
|
|
190
|
+
lastLogin: () => s.GET("/api/v1/personal/last-login", {}).then((e) => a(e)),
|
|
191
|
+
/** 工作台待办摘要;内核默认恒空,消费方接入真实审批/工单系统后有数据。 */
|
|
192
|
+
workbenchTodo: () => s.GET("/api/v1/personal/workbench/todo", {}).then((e) => a(e)),
|
|
193
|
+
/** 工作台快捷方式(置顶优先 + 高频自动补位,已按此排好序)。 */
|
|
194
|
+
shortcuts: () => s.GET("/api/v1/personal/shortcuts", {}).then((e) => a(e)),
|
|
195
|
+
/** 置顶一个快捷方式(幂等)。 */
|
|
196
|
+
pinShortcut: (e) => s.PUT("/api/v1/personal/shortcuts/pin", { body: { menuPath: e } }).then((t) => a(t)),
|
|
197
|
+
/** 取消置顶(幂等)。 */
|
|
198
|
+
unpinShortcut: (e) => s.PUT("/api/v1/personal/shortcuts/unpin", { body: { menuPath: e } }).then((t) => a(t)),
|
|
199
|
+
/** 记一次快捷方式访问(高频自动补位用);失败静默,不是用户能感知的操作。 */
|
|
200
|
+
recordShortcutVisit: (e) => s.POST("/api/v1/personal/shortcuts/visit", { body: { menuPath: e } }).then((t) => a(t))
|
|
189
201
|
}, N = {
|
|
190
202
|
/** 归一后端 PagedList<UserItem>({current,size,total,items}) → SmartTable fetcher 契约的 {items,total}。 */
|
|
191
203
|
page: (e) => s.GET("/api/v1/sys/user/page", {
|
|
@@ -203,7 +215,7 @@ const C = {
|
|
|
203
215
|
SortOrder: e.sortOrder
|
|
204
216
|
}
|
|
205
217
|
}
|
|
206
|
-
}).then((t) =>
|
|
218
|
+
}).then((t) => p(t)),
|
|
207
219
|
/** 用户详情(含 roleIds,编辑回显 + 提交时原样带回避免清空角色)。 */
|
|
208
220
|
detail: (e) => s.GET("/api/v1/sys/user/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
209
221
|
/** 新增用户;返回新 Id + 实际生效的初始口令(留空 password 时后端随机生成,不接住就没人知道这个号的密码)。 */
|
|
@@ -292,7 +304,7 @@ const C = {
|
|
|
292
304
|
SortOrder: e.sortOrder
|
|
293
305
|
}
|
|
294
306
|
}
|
|
295
|
-
}).then((t) =>
|
|
307
|
+
}).then((t) => p(t)),
|
|
296
308
|
add: (e) => s.POST("/api/v1/sys/position/add", { body: e }).then((t) => a(t)),
|
|
297
309
|
update: (e, t) => s.PUT("/api/v1/sys/position/{id}", { params: { path: { id: e } }, body: t }).then((i) => a(i)),
|
|
298
310
|
remove: (e) => s.DELETE("/api/v1/sys/position/{id}", { params: { path: { id: e } } }).then((t) => a(t))
|
|
@@ -300,7 +312,7 @@ const C = {
|
|
|
300
312
|
/** 角色分页;搜索键 name → PascalCase Name。列表用 + 用户/授权页拉一大页当下拉源。 */
|
|
301
313
|
page: (e) => s.GET("/api/v1/sys/role/page", {
|
|
302
314
|
params: { query: { ...r(e), Name: e.name } }
|
|
303
|
-
}).then((t) =>
|
|
315
|
+
}).then((t) => p(t)),
|
|
304
316
|
add: (e) => s.POST("/api/v1/sys/role/add", { body: e }).then((t) => a(t)),
|
|
305
317
|
update: (e, t) => s.PUT("/api/v1/sys/role/{id}", { params: { path: { id: e } }, body: t }).then((i) => a(i)),
|
|
306
318
|
remove: (e) => s.DELETE("/api/v1/sys/role/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
@@ -335,7 +347,7 @@ const C = {
|
|
|
335
347
|
ExcludedGroupCodes: e.excludedGroupCodes
|
|
336
348
|
}
|
|
337
349
|
}
|
|
338
|
-
}).then((t) =>
|
|
350
|
+
}).then((t) => p(t)),
|
|
339
351
|
add: (e) => s.POST("/api/v1/sys/config", { body: e }).then((t) => a(t)),
|
|
340
352
|
update: (e, t) => s.PUT("/api/v1/sys/config/{id}", { params: { path: { id: e } }, body: t }).then((i) => a(i)),
|
|
341
353
|
remove: (e) => s.DELETE("/api/v1/sys/config/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
@@ -378,7 +390,7 @@ const B = {
|
|
|
378
390
|
...v(e.createTime)
|
|
379
391
|
}
|
|
380
392
|
}
|
|
381
|
-
}).then((t) =>
|
|
393
|
+
}).then((t) => p(t)),
|
|
382
394
|
/** 清空登录日志(硬删,不可恢复)。 */
|
|
383
395
|
loginClear: () => s.DELETE("/api/v1/sys/log/login", {}).then((e) => a(e)),
|
|
384
396
|
/** 操作日志分页;操作名模糊 + 成败 + 操作人(精确)+ 接口路径(模糊)+ 时间范围——审计要能答"谁在什么时候干了什么"。 */
|
|
@@ -393,7 +405,7 @@ const B = {
|
|
|
393
405
|
...v(e.createTime)
|
|
394
406
|
}
|
|
395
407
|
}
|
|
396
|
-
}).then((t) =>
|
|
408
|
+
}).then((t) => p(t)),
|
|
397
409
|
/** 清空操作日志(硬删,不可恢复)。 */
|
|
398
410
|
opClear: () => s.DELETE("/api/v1/sys/log/op", {}).then((e) => a(e)),
|
|
399
411
|
/**
|
|
@@ -424,7 +436,7 @@ const B = {
|
|
|
424
436
|
...v(e.createTime)
|
|
425
437
|
}
|
|
426
438
|
}
|
|
427
|
-
}).then((t) =>
|
|
439
|
+
}).then((t) => p(t)),
|
|
428
440
|
/** 清空异常日志(硬删,不可恢复)。 */
|
|
429
441
|
exceptionClear: () => s.DELETE("/api/v1/sys/log/exception", {}).then((e) => a(e))
|
|
430
442
|
}, M = {
|
|
@@ -451,11 +463,11 @@ const B = {
|
|
|
451
463
|
enabled: i.enabled ?? !0
|
|
452
464
|
}))
|
|
453
465
|
)
|
|
454
|
-
},
|
|
466
|
+
}, V = {
|
|
455
467
|
/** 字典类型分页;搜索键 code/name → PascalCase Code/Name 查询参。 */
|
|
456
468
|
typePage: (e) => s.GET("/api/v1/sys/dict/type/page", {
|
|
457
469
|
params: { query: { ...r(e), Code: e.code, Name: e.name } }
|
|
458
|
-
}).then((t) =>
|
|
470
|
+
}).then((t) => p(t)),
|
|
459
471
|
typeAdd: (e) => s.POST("/api/v1/sys/dict/type", { body: e }).then((t) => a(t)),
|
|
460
472
|
typeUpdate: (e, t) => s.PUT("/api/v1/sys/dict/type/{id}", { params: { path: { id: e } }, body: t }).then((i) => a(i)),
|
|
461
473
|
typeRemove: (e) => s.DELETE("/api/v1/sys/dict/type/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
@@ -470,11 +482,11 @@ const B = {
|
|
|
470
482
|
itemRemove: (e) => s.DELETE("/api/v1/sys/dict/item/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
471
483
|
/** 批量删除字典项。 */
|
|
472
484
|
itemBatchRemove: (e) => s.POST("/api/v1/sys/dict/item/batch-delete", { body: { ids: e } }).then((t) => a(t))
|
|
473
|
-
},
|
|
485
|
+
}, _ = {
|
|
474
486
|
/** 文件分页;搜索键 originalName → 后端 FileName 模糊过滤。 */
|
|
475
487
|
page: (e) => s.GET("/api/v1/sys/file/page", {
|
|
476
488
|
params: { query: { ...r(e), FileName: e.originalName } }
|
|
477
|
-
}).then((t) =>
|
|
489
|
+
}).then((t) => p(t)),
|
|
478
490
|
/** 上传单个文件:bodySerializer 建 FormData(字段名 file),openapi-fetch 对 FormData 不注入 json header,浏览器自动补 boundary(client.ts 无需改)。 */
|
|
479
491
|
upload: (e) => s.POST("/api/v1/sys/file/upload", {
|
|
480
492
|
timeout: l,
|
|
@@ -505,30 +517,30 @@ const B = {
|
|
|
505
517
|
timeout: l,
|
|
506
518
|
body: { uploadId: e, index: t, chunk: i },
|
|
507
519
|
bodySerializer: (o) => {
|
|
508
|
-
const n = o,
|
|
509
|
-
return
|
|
520
|
+
const n = o, d = new FormData();
|
|
521
|
+
return d.append("uploadId", n.uploadId), d.append("index", String(n.index)), d.append("chunk", n.chunk), d;
|
|
510
522
|
}
|
|
511
523
|
}).then((o) => a(o)),
|
|
512
524
|
/** 完成:触发服务端合并 + 哈希校验 + 三道关 + 落库。 */
|
|
513
525
|
chunkComplete: (e) => s.POST("/api/v1/sys/file/chunk/complete", { timeout: l, body: e }).then((t) => a(t))
|
|
514
|
-
},
|
|
526
|
+
}, H = {
|
|
515
527
|
/** 在线会话分页(只读)。后端仅支持按 UserId 过滤,这里不带业务搜索。 */
|
|
516
|
-
online: (e) => s.GET("/api/v1/sys/session/online", { params: { query: r(e) } }).then((t) =>
|
|
528
|
+
online: (e) => s.GET("/api/v1/sys/session/online", { params: { query: r(e) } }).then((t) => p(t)),
|
|
517
529
|
/** 强制下线:按 sessionId 踢会话。 */
|
|
518
530
|
kick: (e) => s.DELETE("/api/v1/sys/session/{sessionId}", { params: { path: { sessionId: e } } }).then((t) => a(t))
|
|
519
|
-
},
|
|
531
|
+
}, Q = {
|
|
520
532
|
// ── 管理端 ──
|
|
521
533
|
/** 管理端分页(全量);搜索键 title/type → PascalCase 查询参。 */
|
|
522
534
|
page: (e) => s.GET("/api/v1/sys/notice/page", {
|
|
523
535
|
params: { query: { ...r(e), Title: e.title, Type: e.type } }
|
|
524
|
-
}).then((t) =>
|
|
536
|
+
}).then((t) => p(t)),
|
|
525
537
|
publish: (e) => s.POST("/api/v1/sys/notice", { body: e }).then((t) => a(t)),
|
|
526
538
|
remove: (e) => s.DELETE("/api/v1/sys/notice/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
527
539
|
// ── 用户端(任何登录用户) ──
|
|
528
540
|
/** 我的通知分页(含已读标记);onlyUnread 供"未读"页签用。 */
|
|
529
541
|
mine: (e) => s.GET("/api/v1/sys/notice/mine", {
|
|
530
542
|
params: { query: { ...r(e), OnlyUnread: e.onlyUnread } }
|
|
531
|
-
}).then((t) =>
|
|
543
|
+
}).then((t) => p(t)),
|
|
532
544
|
/** 当前用户未读通知数(顶栏角标轮询)。 */
|
|
533
545
|
unreadCount: () => s.GET("/api/v1/sys/notice/unread-count", {}).then((e) => a(e)),
|
|
534
546
|
markRead: (e) => s.PUT("/api/v1/sys/notice/{id}/read", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
@@ -553,7 +565,7 @@ const B = {
|
|
|
553
565
|
SortOrder: e.sortOrder
|
|
554
566
|
}
|
|
555
567
|
}
|
|
556
|
-
}).then((t) =>
|
|
568
|
+
}).then((t) => p(t)),
|
|
557
569
|
add: (e) => s.POST("/api/v1/sys/job", { body: e }).then((t) => a(t)),
|
|
558
570
|
update: (e, t) => s.PUT("/api/v1/sys/job/{id}", { params: { path: { id: e } }, body: t }).then((i) => a(i)),
|
|
559
571
|
remove: (e) => s.DELETE("/api/v1/sys/job/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
@@ -584,7 +596,7 @@ const B = {
|
|
|
584
596
|
StartTo: (i = e.startRange) != null && i[1] ? `${e.startRange[1]} 23:59:59` : void 0
|
|
585
597
|
}
|
|
586
598
|
}
|
|
587
|
-
}).then((o) =>
|
|
599
|
+
}).then((o) => p(o));
|
|
588
600
|
},
|
|
589
601
|
/** 终止一次执行(跨节点写终止旗标,目标节点最迟 KillPollSeconds 后停)。 */
|
|
590
602
|
kill: (e) => s.POST("/api/v1/sys/job/log/{id}/kill", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
@@ -595,7 +607,7 @@ const B = {
|
|
|
595
607
|
}, Y = {
|
|
596
608
|
page: (e) => (t) => s.GET("/api/v1/sys/recycle/{type}/page", {
|
|
597
609
|
params: { path: { type: e }, query: r(t) }
|
|
598
|
-
}).then((i) =>
|
|
610
|
+
}).then((i) => p(i)),
|
|
599
611
|
restore: (e, t) => s.POST("/api/v1/sys/recycle/{type}/{id}/restore", { params: { path: { type: e, id: t } } }).then((i) => a(i)),
|
|
600
612
|
purge: (e, t) => s.DELETE("/api/v1/sys/recycle/{type}/{id}", { params: { path: { type: e, id: t } } }).then((i) => a(i))
|
|
601
613
|
}, Z = {
|
|
@@ -608,7 +620,7 @@ const B = {
|
|
|
608
620
|
Enabled: e.enabled
|
|
609
621
|
}
|
|
610
622
|
}
|
|
611
|
-
}).then((t) =>
|
|
623
|
+
}).then((t) => p(t)),
|
|
612
624
|
get: (e) => s.GET("/api/v1/sys/ai/provider/{id}", { params: { path: { id: e } } }).then((t) => a(t)),
|
|
613
625
|
/** 厂商预置清单(协议/BaseUrl/鉴权方式/起步模型),新增抽屉选预设用。 */
|
|
614
626
|
presets: () => s.GET("/api/v1/sys/ai/provider/presets", {}).then((e) => a(e)),
|
|
@@ -662,7 +674,21 @@ const B = {
|
|
|
662
674
|
Success: e.success
|
|
663
675
|
}
|
|
664
676
|
}
|
|
665
|
-
}).then((t) =>
|
|
677
|
+
}).then((t) => p(t))
|
|
678
|
+
}, te = {
|
|
679
|
+
page: (e) => s.GET("/api/v1/sys/tenant/page", {
|
|
680
|
+
params: {
|
|
681
|
+
query: {
|
|
682
|
+
...r(e),
|
|
683
|
+
Name: e.name,
|
|
684
|
+
SortField: e.sortField,
|
|
685
|
+
SortOrder: e.sortOrder
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
}).then((t) => p(t)),
|
|
689
|
+
add: (e) => s.POST("/api/v1/sys/tenant/add", { body: e }).then((t) => a(t)),
|
|
690
|
+
update: (e, t) => s.PUT("/api/v1/sys/tenant/{id}", { params: { path: { id: e } }, body: t }).then((i) => a(i)),
|
|
691
|
+
remove: (e) => s.DELETE("/api/v1/sys/tenant/{id}", { params: { path: { id: e } } }).then((t) => a(t))
|
|
666
692
|
};
|
|
667
693
|
export {
|
|
668
694
|
u as ApiError,
|
|
@@ -674,10 +700,10 @@ export {
|
|
|
674
700
|
z as configApi,
|
|
675
701
|
k as dashboardApi,
|
|
676
702
|
f as dayRange,
|
|
677
|
-
|
|
703
|
+
V as dictAdminApi,
|
|
678
704
|
J as dictApi,
|
|
679
705
|
D as externalAuthApi,
|
|
680
|
-
|
|
706
|
+
_ as fileApi,
|
|
681
707
|
q as highSensApi,
|
|
682
708
|
X as jobApi,
|
|
683
709
|
x as listQuery,
|
|
@@ -688,15 +714,16 @@ export {
|
|
|
688
714
|
M as monitorApi,
|
|
689
715
|
O as normalizeCommit,
|
|
690
716
|
g as normalizePreview,
|
|
691
|
-
|
|
717
|
+
Q as noticeApi,
|
|
692
718
|
R as orgApi,
|
|
693
719
|
r as pageParams,
|
|
694
720
|
L as personalApi,
|
|
695
721
|
F as positionApi,
|
|
696
722
|
Y as recycleApi,
|
|
697
723
|
K as roleApi,
|
|
698
|
-
|
|
699
|
-
|
|
724
|
+
H as sessionApi,
|
|
725
|
+
te as tenantApi,
|
|
726
|
+
p as toPage,
|
|
700
727
|
T as toWireRows,
|
|
701
728
|
a as unwrap,
|
|
702
729
|
m as unwrapDownload,
|