From 89a5fedfe041ebacb2d81ecae1023b206cd3f353 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 24 四月 2025 09:10:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/main' --- eims-ui-mobile/src/store/access.ts | 79 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 79 insertions(+), 0 deletions(-) diff --git a/eims-ui-mobile/src/store/access.ts b/eims-ui-mobile/src/store/access.ts new file mode 100644 index 0000000..1f0a631 --- /dev/null +++ b/eims-ui-mobile/src/store/access.ts @@ -0,0 +1,79 @@ +import { defineStore } from 'pinia' +import { ref } from 'vue' + +type AccessToken = null | string +const initState = { + access_codes: [], + access_menus: [], + access_routes: [], + access_token: null, + is_access_checked: false, + login_expired: false, + refresh_token: null, +} + +interface AccessInfo { + /** + * 鏉冮檺鐮� + */ + access_codes: string[] + /** + * 鍙闂殑鑿滃崟鍒楄〃 + */ + access_menus: string[] + /** + * 鍙闂殑璺敱鍒楄〃 + */ + access_routes: string[] + /** + * 鐧诲綍 accessToken + */ + access_token: AccessToken + /** + * 鏄惁宸茬粡妫�鏌ヨ繃鏉冮檺 + */ + is_access_checked: boolean + /** + * 鐧诲綍鏄惁杩囨湡 + */ + login_expired: boolean + /** + * 鐧诲綍 accessToken + */ + refresh_token: AccessToken +} + +export const useAccessStore = defineStore( + 'accessInfo', + () => { + const accessInfo = ref<AccessInfo>({ ...initState }) + + const setAccessInfo = (val: AccessInfo) => { + accessInfo.value = val + } + const setAccessToken = (val: AccessToken) => { + accessInfo.value.access_token = val + } + + const clearAccessInfo = () => { + accessInfo.value = { ...initState } + } + // 涓�鑸病鏈塺eset闇�姹傦紝涓嶉渶瑕佺殑鍙互鍒犻櫎 + const reset = () => { + accessInfo.value = { ...initState } + } + const isLogined = computed(() => !!accessInfo.value.access_token) + + return { + accessInfo, + setAccessInfo, + setAccessToken, + clearAccessInfo, + isLogined, + reset, + } + }, + { + persist: true, + }, +) -- Gitblit v1.9.3