From 01ebcfa57dd5798b5c3ef9496697051bc9a84f8a Mon Sep 17 00:00:00 2001 From: yangsy Date: Tue, 13 Jan 2026 13:13:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AF=B9=E6=8E=A5=E6=9D=83=E9=99=90?= =?UTF-8?q?=E7=9B=B8=E5=85=B3API=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/model/base/base-employee.ts | 21 ++++++ src/apis/model/base/index.ts | 4 +- src/apis/model/biz/entity/index.ts | 2 +- src/apis/model/biz/entity/other/index.ts | 1 + .../model/biz/entity/other/ndm-permission.ts | 34 +++++++++ src/apis/model/index.ts | 1 + src/apis/model/types/index.ts | 3 + src/apis/model/{base => types}/model.ts | 0 src/apis/model/{base => types}/page.ts | 0 src/apis/model/{base => types}/reduce.ts | 0 src/apis/request/base/base-employee.ts | 21 ++++++ src/apis/request/base/index.ts | 1 + src/apis/request/biz/other/index.ts | 1 + src/apis/request/biz/other/ndm-permission.ts | 73 +++++++++++++++++++ src/apis/request/index.ts | 1 + 15 files changed, 159 insertions(+), 4 deletions(-) create mode 100644 src/apis/model/base/base-employee.ts create mode 100644 src/apis/model/biz/entity/other/ndm-permission.ts create mode 100644 src/apis/model/types/index.ts rename src/apis/model/{base => types}/model.ts (100%) rename src/apis/model/{base => types}/page.ts (100%) rename src/apis/model/{base => types}/reduce.ts (100%) create mode 100644 src/apis/request/base/base-employee.ts create mode 100644 src/apis/request/base/index.ts create mode 100644 src/apis/request/biz/other/ndm-permission.ts diff --git a/src/apis/model/base/base-employee.ts b/src/apis/model/base/base-employee.ts new file mode 100644 index 0000000..11561c4 --- /dev/null +++ b/src/apis/model/base/base-employee.ts @@ -0,0 +1,21 @@ +import type { BaseModel, ReduceForPageQuery, ReduceForSaveVO, ReduceForUpdateVO } from '@/apis'; +import type { Nullable, Optional } from '@/types'; + +export interface BaseEmployee extends BaseModel { + userId: string; + realName: string; + defUser: Nullable< + { + username: string; + nickName: string; + } & BaseModel + >; +} + +export type BaseEmployeeResultVO = Nullable; + +export type BaseEmployeeSaveVO = Partial>; + +export type BaseEmployeeUpdateVO = Optional>; + +export type BaseEmployeePageQuery = Partial>; diff --git a/src/apis/model/base/index.ts b/src/apis/model/base/index.ts index 196d27e..a174b11 100644 --- a/src/apis/model/base/index.ts +++ b/src/apis/model/base/index.ts @@ -1,3 +1 @@ -export * from './model'; -export * from './page'; -export * from './reduce'; +export * from './base-employee'; diff --git a/src/apis/model/biz/entity/index.ts b/src/apis/model/biz/entity/index.ts index 271108d..db23257 100644 --- a/src/apis/model/biz/entity/index.ts +++ b/src/apis/model/biz/entity/index.ts @@ -1,5 +1,5 @@ import type { Nullable, Optional } from '@/types'; -import type { ReduceForPageQuery, ReduceForSaveVO, ReduceForUpdateVO } from '../../base'; +import type { ReduceForPageQuery, ReduceForSaveVO, ReduceForUpdateVO } from '../../types'; import type { NdmAlarmHost } from './alarm'; import type { NdmSecurityBox, NdmSwitch } from './other'; import type { NdmNvr } from './storage'; diff --git a/src/apis/model/biz/entity/other/index.ts b/src/apis/model/biz/entity/other/index.ts index 7ac828d..7006bdc 100644 --- a/src/apis/model/biz/entity/other/index.ts +++ b/src/apis/model/biz/entity/other/index.ts @@ -1,2 +1,3 @@ +export * from './ndm-permission'; export * from './ndm-security-box'; export * from './ndm-switch'; diff --git a/src/apis/model/biz/entity/other/ndm-permission.ts b/src/apis/model/biz/entity/other/ndm-permission.ts new file mode 100644 index 0000000..c0cc862 --- /dev/null +++ b/src/apis/model/biz/entity/other/ndm-permission.ts @@ -0,0 +1,34 @@ +import type { BaseModel, ReduceForPageQuery, ReduceForSaveVO, ReduceForUpdateVO, Station } from '@/apis'; +import type { PermissionType } from '@/enums'; +import type { Nullable, Optional } from '@/types'; + +export interface NdmPermission extends BaseModel { + /** + * 员工ID + */ + employeeId: string; + /** + * 服务器IP地址 + */ + ipAddress: string; + /** + * 站号 + */ + stationCode: Station['code']; + /** + * 站名 + */ + name: string; + /** + * 权限类型 + */ + type: PermissionType; +} + +export type NdmPermissionResultVO = Nullable; + +export type NdmPermissionSaveVO = Partial>; + +export type NdmPermissionUpdateVO = Optional>; + +export type NdmPermissionPageQuery = Partial>; diff --git a/src/apis/model/index.ts b/src/apis/model/index.ts index 2171903..3956d90 100644 --- a/src/apis/model/index.ts +++ b/src/apis/model/index.ts @@ -2,3 +2,4 @@ export * from './base'; export * from './biz'; export * from './common'; export * from './system'; +export * from './types'; diff --git a/src/apis/model/types/index.ts b/src/apis/model/types/index.ts new file mode 100644 index 0000000..196d27e --- /dev/null +++ b/src/apis/model/types/index.ts @@ -0,0 +1,3 @@ +export * from './model'; +export * from './page'; +export * from './reduce'; diff --git a/src/apis/model/base/model.ts b/src/apis/model/types/model.ts similarity index 100% rename from src/apis/model/base/model.ts rename to src/apis/model/types/model.ts diff --git a/src/apis/model/base/page.ts b/src/apis/model/types/page.ts similarity index 100% rename from src/apis/model/base/page.ts rename to src/apis/model/types/page.ts diff --git a/src/apis/model/base/reduce.ts b/src/apis/model/types/reduce.ts similarity index 100% rename from src/apis/model/base/reduce.ts rename to src/apis/model/types/reduce.ts diff --git a/src/apis/request/base/base-employee.ts b/src/apis/request/base/base-employee.ts new file mode 100644 index 0000000..fcd4fc7 --- /dev/null +++ b/src/apis/request/base/base-employee.ts @@ -0,0 +1,21 @@ +import type { BaseEmployeePageQuery, BaseEmployeeResultVO, PageParams, PageResult } from '@/apis'; +import { userClient } from '@/apis/client'; +import { unwrapResponse } from '@/utils'; + +export const pageBaseEmployeeApi = async (pageQuery: PageParams, options?: { signal?: AbortSignal }) => { + const { signal } = options ?? {}; + const client = userClient; + const endpoint = '/api/base/baseEmployee/page'; + const resp = await client.post>(endpoint, pageQuery, { signal }); + const data = unwrapResponse(resp); + return data; +}; + +export const detailBaseEmployeeApi = async (id: string, options?: { signal?: AbortSignal }) => { + const { signal } = options ?? {}; + const client = userClient; + const endpoint = `/api/base/baseEmployee/detail`; + const resp = await client.get(endpoint, { params: { id }, signal }); + const data = unwrapResponse(resp); + return data; +}; diff --git a/src/apis/request/base/index.ts b/src/apis/request/base/index.ts new file mode 100644 index 0000000..a174b11 --- /dev/null +++ b/src/apis/request/base/index.ts @@ -0,0 +1 @@ +export * from './base-employee'; diff --git a/src/apis/request/biz/other/index.ts b/src/apis/request/biz/other/index.ts index 0d4f721..4f231a8 100644 --- a/src/apis/request/biz/other/index.ts +++ b/src/apis/request/biz/other/index.ts @@ -1,3 +1,4 @@ +export * from './ndm-permission'; export * from './ndm-security-box'; export * from './ndm-service-available'; export * from './ndm-switch'; diff --git a/src/apis/request/biz/other/ndm-permission.ts b/src/apis/request/biz/other/ndm-permission.ts new file mode 100644 index 0000000..46aed42 --- /dev/null +++ b/src/apis/request/biz/other/ndm-permission.ts @@ -0,0 +1,73 @@ +import { + ndmClient, + userClient, + type NdmPermissionPageQuery, + type NdmPermissionResultVO, + type NdmPermissionSaveVO, + type NdmPermissionUpdateVO, + type PageParams, + type PageResult, + type Station, +} from '@/apis'; +import type { PermissionTypeEnum } from '@/enums'; +import { unwrapResponse } from '@/utils'; + +export const permissionTypesApi = async (options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmPermission/types`; + const resp = await client.get(endpoint, { signal }); + const data = unwrapResponse(resp); + return data; +}; + +export const pagePermissionApi = async (pageQuery: PageParams, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmPermission/page`; + const resp = await client.post>(endpoint, pageQuery, { signal }); + const data = unwrapResponse(resp); + return data; +}; + +export const detailPermissionApi = async (id: string, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmPermission/detail`; + const resp = await client.get(endpoint, { params: { id }, signal }); + const data = unwrapResponse(resp); + return data; +}; + +export const savePermissionApi = async (saveVO: NdmPermissionSaveVO, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmPermission`; + const resp = await client.post(endpoint, saveVO, { signal }); + const result = unwrapResponse(resp); + return result; +}; + +export const updatePermissionApi = async (updateVO: NdmPermissionUpdateVO, options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmPermission`; + const resp = await client.put(endpoint, updateVO, { signal }); + const result = unwrapResponse(resp); + return result; +}; + +export const deletePermissionApi = async (ids: string[], options?: { stationCode?: Station['code']; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmPermission`; + const resp = await client.delete(endpoint, ids, { signal }); + const result = unwrapResponse(resp); + return result; +}; diff --git a/src/apis/request/index.ts b/src/apis/request/index.ts index ced1b3c..10cbc67 100644 --- a/src/apis/request/index.ts +++ b/src/apis/request/index.ts @@ -1,2 +1,3 @@ +export * from './base'; export * from './biz'; export * from './system';