diff --git a/sf-ui/src/store/getters.js b/sf-ui/src/store/getters.js index 5920c6e..46e2bee 100644 --- a/sf-ui/src/store/getters.js +++ b/sf-ui/src/store/getters.js @@ -11,6 +11,7 @@ const getters = { introduction: state => state.user.introduction, roles: state => state.user.roles, permissions: state => state.user.permissions, + applicationId: state => state.user.applicationId, permission_routes: state => state.permission.routes, topbarRouters:state => state.permission.topbarRouters, defaultRoutes:state => state.permission.defaultRoutes, diff --git a/sf-ui/src/store/modules/user.js b/sf-ui/src/store/modules/user.js index 75c0c57..7b8ffd8 100644 --- a/sf-ui/src/store/modules/user.js +++ b/sf-ui/src/store/modules/user.js @@ -1,5 +1,6 @@ import { login, logout, getInfo } from '@/api/login' import { getToken, setToken, removeToken } from '@/utils/auth' +import { getApplicationId, setApplicationId, removeApplicationId } from '@/utils/application' const user = { state: { @@ -7,7 +8,9 @@ const user = { name: '', avatar: '', roles: [], - permissions: [] + permissions: [], + applicationId: getApplicationId(), + applicationInfo: {}, // 用户选中的项目/应用 }, mutations: { @@ -25,7 +28,12 @@ const user = { }, SET_PERMISSIONS: (state, permissions) => { state.permissions = permissions - } + }, + SET_APPLICATION: (state, applicationInfo) => { + const { id } = applicationInfo; + state.applicationId = id; + state.applicationInfo = applicationInfo; + }, }, actions: { @@ -74,6 +82,8 @@ const user = { commit('SET_TOKEN', '') commit('SET_ROLES', []) commit('SET_PERMISSIONS', []) + commit('SET_APPLICATION', {}) + removeApplicationId() removeToken() resolve() }).catch(error => { @@ -86,9 +96,17 @@ const user = { FedLogOut({ commit }) { return new Promise(resolve => { commit('SET_TOKEN', '') + commit('SET_APPLICATION', {}) + removeApplicationId() removeToken() resolve() }) + }, + + // 设置选中的项目应用信息 + SetApplication({ commit }, applicationInfo) { + commit('SET_APPLICATION', applicationInfo) + setApplicationId(applicationInfo?.id); } } } diff --git a/sf-ui/src/utils/application.js b/sf-ui/src/utils/application.js new file mode 100644 index 0000000..250e16d --- /dev/null +++ b/sf-ui/src/utils/application.js @@ -0,0 +1,30 @@ +import Cookies from "js-cookie"; + +const ApplicationKey = "Admin-Application-Id"; + +/** + * 获取应用项目ID + * 该函数从Cookie中检索与应用项目相关的关键信息。 + * @returns {string} 返回从Cookie中获取的应用项目ID。 + */ +export function getApplicationId() { + return Cookies.get(ApplicationKey); +} + +/** + * 设置应用项目ID到Cookie中 + * @param {string} ApplicationId - 需要设置的应用项目ID。 + * @return {boolean|Object} 返回Cookie设置的结果。成功则返回true,失败则返回设置失败的对象。 + */ +export function setApplicationId(ApplicationId) { + return Cookies.set(ApplicationKey, ApplicationId); +} + +/** + * 移除应用ID的Cookie + * 本函数用于删除与应用相关的ID Cookie。 + * @returns {boolean} 返回删除操作的结果。如果删除成功,则返回true;如果删除失败,则返回false。 + */ +export function removeApplicationId() { + return Cookies.remove(ApplicationKey); +} \ No newline at end of file diff --git a/sf-ui/src/views/components/home/card.vue b/sf-ui/src/views/components/home/card.vue index ba83e37..cf925aa 100644 --- a/sf-ui/src/views/components/home/card.vue +++ b/sf-ui/src/views/components/home/card.vue @@ -15,7 +15,7 @@ :size="100" /> -->