This commit is contained in:
Chuck1sn
2025-05-14 10:16:48 +08:00
commit 3cd59337e7
220 changed files with 23768 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
import client from "@/api/client";
export const usePermissionBind = () => {
const bindPermission = async ({
roleId,
permissionIds,
}: {
roleId: number;
permissionIds: number[];
}) => {
await client.POST("/iam/permission/bind", {
body: {
roleId,
permissionIds,
},
});
};
const unbindPermission = async ({
roleId,
permissionIds,
}: {
roleId: number;
permissionIds: number[];
}) => {
await client.POST("/iam/permission/unbind", {
body: {
roleId,
permissionIds,
},
});
};
return {
bindPermission,
unbindPermission,
};
};

View File

@@ -0,0 +1,19 @@
import client from "@/api/client";
const usePermissionDelete = () => {
const deletePermission = async (id: number) => {
await client.DELETE("/iam/permission", {
params: {
query: {
permissionId: id,
},
},
});
};
return {
deletePermission,
};
};
export default usePermissionDelete;

View File

@@ -0,0 +1,48 @@
import client from "@/api/client";
import { ref } from "vue";
import type { components } from "../../api/types/schema";
const usePermissionsQuery = () => {
const total = ref<number>(0);
const permissions = ref<components["schemas"]["PermissionRespDto"][]>([]);
const fetchPermissionsWith = async (
query: {
name?: string;
roleId?: number;
bindState?: "BIND" | "ALL" | "UNBIND";
},
page = 1,
size = 10,
) => {
const { data } = await client.GET("/iam/permissions", {
params: {
query: {
pageRequestDto: {
page,
size,
},
permissionQueryDto: {
permissionName: query.name,
roleId: query.roleId,
bindState: query.bindState,
},
},
},
});
if (!data) {
throw new Error("获取权限数据失败");
}
total.value = data.total ?? 0;
permissions.value = data.data ?? [];
};
return {
total,
permissions,
fetchPermissionsWith,
};
};
export default usePermissionsQuery;

View File

@@ -0,0 +1,19 @@
import client from "../../api/client";
import type { PermissionUpsertModel } from "../../types/permission";
const usePermissionUpsert = () => {
const upsertPermission = async (permission: PermissionUpsertModel) => {
await client.POST("/iam/permission", {
body: {
id: permission.id,
name: permission.name,
code: permission.code,
},
});
};
return {
upsertPermission,
};
};
export default usePermissionUpsert;