20260716215550
This commit is contained in:
1 parent
5cd4e1e1d2
commit
49dafe524c
21 files changed
+1218
-272
No files matched your search
@@ -1,35 +1,47 @@
|
||||
import { ref } from "vue";
|
||||
import { defineStore } from "pinia";
|
||||
|
||||
const createDefaultVisitedTabs = () => [{ key: "/dashboard", label: "工作台", closable: false }];
|
||||
|
||||
export const useAppStore = defineStore("app", {
|
||||
state: () => ({
|
||||
locale: "zh-CN",
|
||||
sidebarCollapsed: false,
|
||||
visitedTabs: createDefaultVisitedTabs(),
|
||||
}),
|
||||
actions: {
|
||||
toggleSidebar() {
|
||||
this.sidebarCollapsed = !this.sidebarCollapsed;
|
||||
},
|
||||
setLocale(locale) {
|
||||
this.locale = locale;
|
||||
},
|
||||
addVisitedTab(tab) {
|
||||
if (!this.visitedTabs.some((item) => item.key === tab.key)) {
|
||||
this.visitedTabs.push(tab);
|
||||
export const useAppStore = defineStore(
|
||||
"app",
|
||||
() => {
|
||||
const locale = ref("zh-CN");
|
||||
const sidebarCollapsed = ref(false);
|
||||
const visitedTabs = ref(createDefaultVisitedTabs());
|
||||
|
||||
function toggleSidebar() {
|
||||
sidebarCollapsed.value = !sidebarCollapsed.value;
|
||||
}
|
||||
|
||||
function setLocale(value) {
|
||||
locale.value = value;
|
||||
}
|
||||
|
||||
function addVisitedTab(tab) {
|
||||
if (!visitedTabs.value.some((item) => item.key === tab.key)) {
|
||||
visitedTabs.value.push(tab);
|
||||
}
|
||||
},
|
||||
removeVisitedTab(key) {
|
||||
this.visitedTabs = this.visitedTabs.filter((item) => item.key !== key);
|
||||
}
|
||||
|
||||
function removeVisitedTab(key) {
|
||||
visitedTabs.value = visitedTabs.value.filter((item) => item.key !== key);
|
||||
}
|
||||
|
||||
return {
|
||||
locale,
|
||||
sidebarCollapsed,
|
||||
visitedTabs,
|
||||
toggleSidebar,
|
||||
setLocale,
|
||||
addVisitedTab,
|
||||
removeVisitedTab,
|
||||
};
|
||||
},
|
||||
{
|
||||
persist: {
|
||||
key: "fms-app",
|
||||
pick: ["locale"],
|
||||
},
|
||||
},
|
||||
persist: {
|
||||
key: "fms-app",
|
||||
pick: ["locale"],
|
||||
afterHydrate: ({ store }) => {
|
||||
store.sidebarCollapsed = false;
|
||||
store.visitedTabs = createDefaultVisitedTabs();
|
||||
},
|
||||
},
|
||||
});
|
||||
);
|
||||
@@ -5,25 +5,25 @@ export const useAuthStore = defineStore(
|
||||
"auth",
|
||||
() => {
|
||||
const token = ref("");
|
||||
const orgid = ref("");
|
||||
const orgId = ref("");
|
||||
const user = ref(null);
|
||||
const isAuthenticated = computed(() => Boolean(token.value));
|
||||
|
||||
function setSession(payload, organization) {
|
||||
token.value = payload.token ?? payload.access_token ?? "";
|
||||
orgid.value = payload.orgid ?? organization;
|
||||
user.value = payload.user ?? payload.user_info ?? null;
|
||||
function setSession(session, organizationId) {
|
||||
token.value = session.token ?? session.access_token ?? "";
|
||||
orgId.value = session.orgid ?? organizationId;
|
||||
user.value = session.user ?? session.user_info ?? null;
|
||||
}
|
||||
|
||||
function clearSession() {
|
||||
token.value = "";
|
||||
orgid.value = "";
|
||||
orgId.value = "";
|
||||
user.value = null;
|
||||
}
|
||||
|
||||
return {
|
||||
token,
|
||||
orgid,
|
||||
orgId,
|
||||
user,
|
||||
isAuthenticated,
|
||||
setSession,
|
||||
@@ -33,7 +33,7 @@ export const useAuthStore = defineStore(
|
||||
{
|
||||
persist: {
|
||||
key: "fms-auth",
|
||||
pick: ["token", "orgid", "user"],
|
||||
pick: ["token", "orgId", "user"],
|
||||
},
|
||||
},
|
||||
);
|
||||
Reference in new issue
Block a user