From badecf9f640254b46c4a142ac31bccd40e43e965 Mon Sep 17 00:00:00 2001 From: wangshuaiswim Date: Fri, 13 Jan 2023 11:54:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0menuStore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/menu.ts | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 src/store/menu.ts diff --git a/src/store/menu.ts b/src/store/menu.ts new file mode 100644 index 00000000..b03e4202 --- /dev/null +++ b/src/store/menu.ts @@ -0,0 +1,24 @@ +import { defineStore } from "pinia"; + +export const useMenuStore = defineStore({ + id: 'menu', + state: () => ({ + menus: {} as {[key: string]: string}, + }), + getters: { + hasPermission(state) { + return (menuCode: string | string[]) => { + if (!menuCode) { + return true + } + if (!!Object.keys(state.menus).length) { + if (typeof menuCode === 'string') { + return !!this.menus[menuCode] + } + return menuCode.some(code => !!this.menus[code]) + } + return false + } + } + } +}) \ No newline at end of file