mirror of
https://github.com/ccmjga/zhilu-admin
synced 2026-03-29 15:13:43 +08:00
init
This commit is contained in:
36
frontend/src/composables/permission/usePermissionBind.ts
Normal file
36
frontend/src/composables/permission/usePermissionBind.ts
Normal 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,
|
||||
};
|
||||
};
|
||||
19
frontend/src/composables/permission/usePermissionDelete.ts
Normal file
19
frontend/src/composables/permission/usePermissionDelete.ts
Normal 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;
|
||||
48
frontend/src/composables/permission/usePermissionQuery.ts
Normal file
48
frontend/src/composables/permission/usePermissionQuery.ts
Normal 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;
|
||||
19
frontend/src/composables/permission/usePermissionUpsert.ts
Normal file
19
frontend/src/composables/permission/usePermissionUpsert.ts
Normal 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;
|
||||
Reference in New Issue
Block a user