diff --git a/web/src/api/imFeedbackConfig/index.ts b/web/src/api/imFeedbackConfig/index.ts new file mode 100644 index 0000000..02ee4da --- /dev/null +++ b/web/src/api/imFeedbackConfig/index.ts @@ -0,0 +1,9 @@ +import { http } from '@/utils/http/axios'; + +export function Get(params) { + return http.request({ url: '/imFeedbackConfig/get', method: 'GET', params }); +} + +export function Update(params) { + return http.request({ url: '/imFeedbackConfig/update', method: 'POST', params }); +} diff --git a/web/src/api/imFile/index.ts b/web/src/api/imFile/index.ts new file mode 100644 index 0000000..3f3f1e4 --- /dev/null +++ b/web/src/api/imFile/index.ts @@ -0,0 +1,46 @@ +import { http } from '@/utils/http/axios'; + +// 获取IM文件列表 +export function List(params) { + return http.request({ + url: '/imFile/list', + method: 'GET', + params, + }); +} + +// 获取IM文件详情 +export function View(params) { + return http.request({ + url: '/imFile/view', + method: 'GET', + params, + }); +} + +// 隔离IM文件 +export function Quarantine(params) { + return http.request({ + url: '/imFile/quarantine', + method: 'POST', + params, + }); +} + +// 删除IM文件 +export function Delete(params) { + return http.request({ + url: '/imFile/delete', + method: 'POST', + params, + }); +} + +// 清理IM孤儿文件 +export function CleanupOrphan(params) { + return http.request({ + url: '/imFile/cleanupOrphan', + method: 'POST', + params, + }); +} diff --git a/web/src/api/imFilePolicy/index.ts b/web/src/api/imFilePolicy/index.ts new file mode 100644 index 0000000..b2ae4bf --- /dev/null +++ b/web/src/api/imFilePolicy/index.ts @@ -0,0 +1,9 @@ +import { http } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imFilePolicy/list', method: 'GET', params }); +} + +export function Update(params) { + return http.request({ url: '/imFilePolicy/update', method: 'POST', params }); +} diff --git a/web/src/api/imGroup/index.ts b/web/src/api/imGroup/index.ts index 3ba4912..7949792 100644 --- a/web/src/api/imGroup/index.ts +++ b/web/src/api/imGroup/index.ts @@ -36,6 +36,78 @@ export function Governance(params) { }); } +// 更新IM群治理配置 +export function GovernanceUpdate(params) { + return http.request({ + url: '/imGroup/governanceUpdate', + method: 'POST', + params, + }); +} + +// 解散IM群 +export function Dissolve(params) { + return http.request({ + url: '/imGroup/dissolve', + method: 'POST', + params, + }); +} + +// 禁言IM群成员 +export function Mute(params) { + return http.request({ + url: '/imGroup/mute', + method: 'POST', + params, + }); +} + +// 解除IM群成员禁言 +export function Unmute(params) { + return http.request({ + url: '/imGroup/unmute', + method: 'POST', + params, + }); +} + +// 通过IM入群申请 +export function JoinRequestApprove(params) { + return http.request({ + url: '/imGroup/joinRequestApprove', + method: 'POST', + params, + }); +} + +// 拒绝IM入群申请 +export function JoinRequestReject(params) { + return http.request({ + url: '/imGroup/joinRequestReject', + method: 'POST', + params, + }); +} + +// 更新IM群成员角色 +export function RoleUpdate(params) { + return http.request({ + url: '/imGroup/roleUpdate', + method: 'POST', + params, + }); +} + +// 转让IM群主 +export function OwnerTransfer(params) { + return http.request({ + url: '/imGroup/ownerTransfer', + method: 'POST', + params, + }); +} + // 获取IM入群申请列表 export function JoinRequestList(params) { return http.request({ @@ -45,6 +117,24 @@ export function JoinRequestList(params) { }); } +// 获取IM群文件列表 +export function FileList(params) { + return http.request({ + url: '/imGroup/fileList', + method: 'GET', + params, + }); +} + +// 删除IM群文件 +export function FileDelete(params) { + return http.request({ + url: '/imGroup/fileDelete', + method: 'POST', + params, + }); +} + // 获取IM群邀请列表 export function InvitationList(params) { return http.request({ diff --git a/web/src/api/imGroupMessage/index.ts b/web/src/api/imGroupMessage/index.ts new file mode 100644 index 0000000..4f762f9 --- /dev/null +++ b/web/src/api/imGroupMessage/index.ts @@ -0,0 +1,17 @@ +import { http, jumpExport } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imGroupMessage/list', method: 'GET', params }); +} +export function View(params) { + return http.request({ url: '/imGroupMessage/view', method: 'GET', params }); +} +export function Hide(params) { + return http.request({ url: '/imGroupMessage/hide', method: 'POST', params }); +} +export function Delete(params) { + return http.request({ url: '/imGroupMessage/delete', method: 'POST', params }); +} +export function Export(params) { + jumpExport('/imGroupMessage/export', params); +} diff --git a/web/src/api/imLoginFailureLog/index.ts b/web/src/api/imLoginFailureLog/index.ts new file mode 100644 index 0000000..6cea803 --- /dev/null +++ b/web/src/api/imLoginFailureLog/index.ts @@ -0,0 +1,17 @@ +import { http, jumpExport } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imLoginFailureLog/list', method: 'GET', params }); +} +export function View(params) { + return http.request({ url: '/imLoginFailureLog/view', method: 'GET', params }); +} +export function Export(params) { + jumpExport('/imLoginFailureLog/export', params); +} +export function AddBlacklist(params) { + return http.request({ url: '/imLoginFailureLog/addBlacklist', method: 'POST', params }); +} +export function BanUser(params) { + return http.request({ url: '/imLoginFailureLog/banUser', method: 'POST', params }); +} diff --git a/web/src/api/imMailboxConfig/index.ts b/web/src/api/imMailboxConfig/index.ts new file mode 100644 index 0000000..eb49288 --- /dev/null +++ b/web/src/api/imMailboxConfig/index.ts @@ -0,0 +1,9 @@ +import { http } from '@/utils/http/axios'; + +export function Get(params) { + return http.request({ url: '/imMailboxConfig/get', method: 'GET', params }); +} + +export function Update(params) { + return http.request({ url: '/imMailboxConfig/update', method: 'POST', params }); +} diff --git a/web/src/api/imNotification/index.ts b/web/src/api/imNotification/index.ts new file mode 100644 index 0000000..b41baba --- /dev/null +++ b/web/src/api/imNotification/index.ts @@ -0,0 +1,9 @@ +import { http } from '@/utils/http/axios'; + +export function TemplateList(params) { + return http.request({ url: '/imNotification/templateList', method: 'GET', params }); +} + +export function TemplateUpdate(params) { + return http.request({ url: '/imNotification/templateUpdate', method: 'POST', params }); +} diff --git a/web/src/api/imOrg/index.ts b/web/src/api/imOrg/index.ts new file mode 100644 index 0000000..0a0dcfb --- /dev/null +++ b/web/src/api/imOrg/index.ts @@ -0,0 +1,37 @@ +import { http, jumpExport } from '@/utils/http/axios'; + +export function DepartmentList(params) { + return http.request({ url: '/imOrg/departmentList', method: 'GET', params }); +} + +export function DepartmentExport(params) { + jumpExport('/imOrg/departmentExport', params); +} + +export function DepartmentEdit(params) { + return http.request({ url: '/imOrg/departmentEdit', method: 'POST', params }); +} + +export function DepartmentDelete(params) { + return http.request({ url: '/imOrg/departmentDelete', method: 'POST', params }); +} + +export function MemberList(params) { + return http.request({ url: '/imOrg/memberList', method: 'GET', params }); +} + +export function MemberExport(params) { + jumpExport('/imOrg/memberExport', params); +} + +export function MemberEdit(params) { + return http.request({ url: '/imOrg/memberEdit', method: 'POST', params }); +} + +export function MemberDelete(params) { + return http.request({ url: '/imOrg/memberDelete', method: 'POST', params }); +} + +export function Search(params) { + return http.request({ url: '/imOrg/search', method: 'GET', params }); +} diff --git a/web/src/api/imOutbox/index.ts b/web/src/api/imOutbox/index.ts new file mode 100644 index 0000000..e9f2282 --- /dev/null +++ b/web/src/api/imOutbox/index.ts @@ -0,0 +1,33 @@ +import { http } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ + url: '/imOutbox/list', + method: 'get', + params, + }); +} + +export function View(params) { + return http.request({ + url: '/imOutbox/view', + method: 'GET', + params, + }); +} + +export function Retry(params) { + return http.request({ + url: '/imOutbox/retry', + method: 'POST', + params, + }); +} + +export function Dead(params) { + return http.request({ + url: '/imOutbox/dead', + method: 'POST', + params, + }); +} diff --git a/web/src/api/imPrivateMessage/index.ts b/web/src/api/imPrivateMessage/index.ts new file mode 100644 index 0000000..6cd29c4 --- /dev/null +++ b/web/src/api/imPrivateMessage/index.ts @@ -0,0 +1,17 @@ +import { http, jumpExport } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imPrivateMessage/list', method: 'GET', params }); +} +export function View(params) { + return http.request({ url: '/imPrivateMessage/view', method: 'GET', params }); +} +export function Hide(params) { + return http.request({ url: '/imPrivateMessage/hide', method: 'POST', params }); +} +export function Delete(params) { + return http.request({ url: '/imPrivateMessage/delete', method: 'POST', params }); +} +export function Export(params) { + jumpExport('/imPrivateMessage/export', params); +} diff --git a/web/src/api/imSecurityPolicy/index.ts b/web/src/api/imSecurityPolicy/index.ts new file mode 100644 index 0000000..afb3c3d --- /dev/null +++ b/web/src/api/imSecurityPolicy/index.ts @@ -0,0 +1,18 @@ +import { http } from '@/utils/http/axios'; + +export const List = (params) => + http.request({ url: '/imSecurityPolicy/list', method: 'GET', params }); +export const View = (params) => + http.request({ url: '/imSecurityPolicy/view', method: 'GET', params }); +export const Save = (params) => + http.request({ url: '/imSecurityPolicy/save', method: 'POST', params }); +export const Publish = (params) => + http.request({ url: '/imSecurityPolicy/publish', method: 'POST', params }); +export const RestoreDefault = (params) => + http.request({ url: '/imSecurityPolicy/restoreDefault', method: 'POST', params }); +export const IPRuleList = (params) => + http.request({ url: '/imSecurityPolicy/ipRuleList', method: 'GET', params }); +export const IPRuleEdit = (params) => + http.request({ url: '/imSecurityPolicy/ipRuleEdit', method: 'POST', params }); +export const IPRuleDelete = (params) => + http.request({ url: '/imSecurityPolicy/ipRuleDelete', method: 'POST', params }); diff --git a/web/src/api/imSensitiveWord/index.ts b/web/src/api/imSensitiveWord/index.ts new file mode 100644 index 0000000..b776d1c --- /dev/null +++ b/web/src/api/imSensitiveWord/index.ts @@ -0,0 +1,16 @@ +import { http } from '@/utils/http/axios'; + +export const List = (params) => + http.request({ url: '/imSensitiveWord/list', method: 'GET', params }); +export const Edit = (params) => + http.request({ url: '/imSensitiveWord/edit', method: 'POST', params }); +export const Delete = (params) => + http.request({ url: '/imSensitiveWord/delete', method: 'POST', params }); +export const Status = (params) => + http.request({ url: '/imSensitiveWord/status', method: 'POST', params }); +export const BatchImport = (params) => + http.request({ url: '/imSensitiveWord/batchImport', method: 'POST', params }); +export const GroupList = (params) => + http.request({ url: '/imSensitiveWord/groupList', method: 'GET', params }); +export const GroupEdit = (params) => + http.request({ url: '/imSensitiveWord/groupEdit', method: 'POST', params }); diff --git a/web/src/api/imTaskDashboard/index.ts b/web/src/api/imTaskDashboard/index.ts new file mode 100644 index 0000000..002b91e --- /dev/null +++ b/web/src/api/imTaskDashboard/index.ts @@ -0,0 +1,5 @@ +import { http } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imTaskDashboard/list', method: 'GET', params }); +} diff --git a/web/src/api/imTenant/index.ts b/web/src/api/imTenant/index.ts index bab11ec..0b5eff0 100644 --- a/web/src/api/imTenant/index.ts +++ b/web/src/api/imTenant/index.ts @@ -1,15 +1,21 @@ import { http } from '@/utils/http/axios'; -// 获取IM租户列表 -export function List(params) { - return http.request({ +// 获取IM商户列表 +export async function List(params) { + const res: any = await http.request({ url: '/imTenant/list', method: 'get', params, }); + if (Array.isArray(res?.list)) { + res.list = [...res.list].sort((left, right) => { + return Number(right.code === 'default') - Number(left.code === 'default'); + }); + } + return res; } -// 添加/编辑IM租户 +// 添加/编辑IM商户 export function Edit(params) { return http.request({ url: '/imTenant/edit', @@ -18,7 +24,7 @@ export function Edit(params) { }); } -// 修改IM租户状态 +// 修改IM商户状态 export function Status(params) { return http.request({ url: '/imTenant/status', @@ -27,7 +33,7 @@ export function Status(params) { }); } -// 获取IM租户指定详情 +// 获取IM商户指定详情 export function View(params) { return http.request({ url: '/imTenant/view', @@ -35,3 +41,36 @@ export function View(params) { params, }); } + +// 获取IM商户用量和健康状态 +export function Usage(params) { + return http.request({ + url: '/imTenant/usage', + method: 'GET', + params, + }); +} + +export function DeletionCheck(params) { + return http.request({ + url: '/imTenant/deletionCheck', + method: 'GET', + params, + }); +} + +export function EnterDeleting(params) { + return http.request({ + url: '/imTenant/enterDeleting', + method: 'POST', + params, + }); +} + +export function Restore(params) { + return http.request({ + url: '/imTenant/restore', + method: 'POST', + params, + }); +} diff --git a/web/src/api/imUser/index.ts b/web/src/api/imUser/index.ts index 621a5ac..503d920 100644 --- a/web/src/api/imUser/index.ts +++ b/web/src/api/imUser/index.ts @@ -1,4 +1,21 @@ -import { http } from '@/utils/http/axios'; +import { http, jumpExport } from '@/utils/http/axios'; +import type { UploadFileParams } from '@/utils/http/axios/types'; + +export function Create(params) { + return http.request({ url: '/imUser/create', method: 'POST', params }); +} + +export function BatchCreate(params) { + return http.request({ url: '/imUser/batchCreate', method: 'POST', params }); +} + +export function ImportUsers(params: UploadFileParams) { + return http.uploadFile({ url: '/imUser/import', method: 'POST' }, params); +} + +export function DownloadTemplate() { + jumpExport('/imUser/downloadTemplate', {}); +} // 获取IM用户列表 export function List(params) { @@ -49,3 +66,74 @@ export function AccountCancel(params) { export function AccountDelete(params) { return http.request({ url: '/imUser/accountDelete', method: 'POST', params }); } + +// 撤销IM用户会话 +export function RevokeSessions(params) { + return http.request({ + url: '/imUser/revokeSessions', + method: 'POST', + params, + }); +} + +// 更新IM用户状态 +export function Status(params) { + return http.request({ + url: '/imUser/status', + method: 'POST', + params, + }); +} + +export function AdjustGroup(params) { + return http.request({ url: '/imUser/adjustGroup', method: 'POST', params }); +} + +export function IPWhitelist(params) { + return http.request({ url: '/imUser/ipWhitelist', method: 'GET', params }); +} + +export function IPWhitelistSave(params) { + return http.request({ url: '/imUser/ipWhitelistSave', method: 'POST', params }); +} + +// 获取IM用户设备列表 +export function Devices(params) { + return http.request({ + url: '/imUser/devices', + method: 'GET', + params, + }); +} + +export function Ban(params) { + return http.request({ url: '/imUser/ban', method: 'POST', params }); +} + +export function Unban(params) { + return http.request({ url: '/imUser/unban', method: 'POST', params }); +} + +export function Freeze(params) { + return http.request({ url: '/imUser/freeze', method: 'POST', params }); +} + +export function Unfreeze(params) { + return http.request({ url: '/imUser/unfreeze', method: 'POST', params }); +} + +export function DeviceKick(params) { + return http.request({ url: '/imUser/deviceKick', method: 'POST', params }); +} + +export function LogoutAll(params) { + return http.request({ url: '/imUser/logoutAll', method: 'POST', params }); +} + +export function AccountCancel(params) { + return http.request({ url: '/imUser/accountCancel', method: 'POST', params }); +} + +export function AccountDelete(params) { + return http.request({ url: '/imUser/accountDelete', method: 'POST', params }); +} diff --git a/web/src/api/imUserLoginHistory/index.ts b/web/src/api/imUserLoginHistory/index.ts new file mode 100644 index 0000000..1129361 --- /dev/null +++ b/web/src/api/imUserLoginHistory/index.ts @@ -0,0 +1,8 @@ +import { http, jumpExport } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imUserLoginHistory/list', method: 'GET', params }); +} +export function Export(params) { + jumpExport('/imUserLoginHistory/export', params); +} diff --git a/web/src/api/imUserPolicyGroup/index.ts b/web/src/api/imUserPolicyGroup/index.ts new file mode 100644 index 0000000..56f7045 --- /dev/null +++ b/web/src/api/imUserPolicyGroup/index.ts @@ -0,0 +1,22 @@ +import { http } from '@/utils/http/axios'; + +export const List = (params) => + http.request({ url: '/imUserPolicyGroup/list', method: 'GET', params }); +export const View = (params) => + http.request({ url: '/imUserPolicyGroup/view', method: 'GET', params }); +export const Edit = (params) => + http.request({ url: '/imUserPolicyGroup/edit', method: 'POST', params }); +export const Delete = (params) => + http.request({ url: '/imUserPolicyGroup/delete', method: 'POST', params }); +export const Status = (params) => + http.request({ url: '/imUserPolicyGroup/status', method: 'POST', params }); +export const MemberList = (params) => + http.request({ url: '/imUserPolicyGroup/memberList', method: 'GET', params }); +export const MemberAdd = (params) => + http.request({ url: '/imUserPolicyGroup/memberAdd', method: 'POST', params }); +export const MemberRemove = (params) => + http.request({ url: '/imUserPolicyGroup/memberRemove', method: 'POST', params }); +export const LoginIPWhitelist = (params) => + http.request({ url: '/imUserPolicyGroup/loginIPWhitelist', method: 'GET', params }); +export const LoginIPWhitelistSave = (params) => + http.request({ url: '/imUserPolicyGroup/loginIPWhitelistSave', method: 'POST', params }); diff --git a/web/src/api/imWorkbench/index.ts b/web/src/api/imWorkbench/index.ts new file mode 100644 index 0000000..38b8847 --- /dev/null +++ b/web/src/api/imWorkbench/index.ts @@ -0,0 +1,17 @@ +import { http } from '@/utils/http/axios'; + +export function List(params) { + return http.request({ url: '/imWorkbench/list', method: 'GET', params }); +} + +export function Edit(params) { + return http.request({ url: '/imWorkbench/edit', method: 'POST', params }); +} + +export function Delete(params) { + return http.request({ url: '/imWorkbench/delete', method: 'POST', params }); +} + +export function Reorder(params) { + return http.request({ url: '/imWorkbench/reorder', method: 'POST', params }); +} diff --git a/web/src/router/generator-routers.ts b/web/src/router/generator-routers.ts index 1f107ee..5275e0f 100644 --- a/web/src/router/generator-routers.ts +++ b/web/src/router/generator-routers.ts @@ -9,6 +9,7 @@ const LayoutMap = new Map Promise>(); LayoutMap.set('LAYOUT', Layout); LayoutMap.set('IFRAME', Iframe); +LayoutMap.set('ParentLayout', ParentLayout); /** * 格式化 后端 结构信息并递归生成层级路由表 diff --git a/web/src/views/im/registrationInvite/BatchViewModal.vue b/web/src/views/im/registrationInvite/BatchViewModal.vue index c81cdb8..4928f0c 100644 --- a/web/src/views/im/registrationInvite/BatchViewModal.vue +++ b/web/src/views/im/registrationInvite/BatchViewModal.vue @@ -1,10 +1,9 @@