mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-26 14:23:48 +00:00
1、系统配置修改上线 2、 pinia取代vuex
This commit is contained in:
@@ -1,26 +0,0 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import { getInitConfig } from "@/api/system/config";
|
||||
|
||||
export const useConfigStore = defineStore('config', {
|
||||
state: () => ({
|
||||
systemConfig: {},
|
||||
}),
|
||||
actions: {
|
||||
async getConfigInfo() {
|
||||
try {
|
||||
const response = await getInitConfig();
|
||||
const result = response.data;
|
||||
const configData = JSON.parse(result.data);
|
||||
this.systemConfig = configData;
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
},
|
||||
setSystemConfig(config) {
|
||||
this.systemConfig = config;
|
||||
},
|
||||
clearConfigInfo() {
|
||||
this.systemConfig = {};
|
||||
},
|
||||
},
|
||||
});
|
||||
+59
-10
@@ -1,14 +1,63 @@
|
||||
import { createStore } from "vuex";
|
||||
import user from "./modules/user";
|
||||
import { defineStore } from "pinia";
|
||||
import { getCurrentUserInfo } from "@/api/system/user";
|
||||
import { getInitConfig } from "@/api/system/config";
|
||||
|
||||
const store = createStore({
|
||||
modules: {
|
||||
user,
|
||||
|
||||
export const useUserStore = defineStore("user", {
|
||||
state: () => ({
|
||||
basicInfo: {},
|
||||
routeList: [],
|
||||
hasGetRoute: false,
|
||||
}),
|
||||
actions: {
|
||||
async getUserInfo() {
|
||||
try {
|
||||
const response = await getCurrentUserInfo();
|
||||
const result = response.data;
|
||||
const routers = result.data.menus;
|
||||
delete result.data.menus;
|
||||
this.setRoute(routers);
|
||||
this.basicInfo = { ...this.basicInfo, ...result.data };
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
},
|
||||
setRoute(routers) {
|
||||
this.routeList = routers;
|
||||
this.hasGetRoute = true;
|
||||
},
|
||||
setAvatar(avatar) {
|
||||
this.basicInfo = { ...this.basicInfo, avatar };
|
||||
},
|
||||
clearUserInfo() {
|
||||
this.basicInfo = {};
|
||||
this.routeList = [];
|
||||
this.hasGetRoute = false;
|
||||
},
|
||||
},
|
||||
state: {},
|
||||
mutations: {},
|
||||
actions: {},
|
||||
getters: {},
|
||||
});
|
||||
|
||||
export default store;
|
||||
export const useConfigStore = defineStore("config", {
|
||||
state: () => ({
|
||||
configData: {}, // 存储系统配置
|
||||
isConfigLoaded: false, // 标记配置是否已加载
|
||||
}),
|
||||
actions: {
|
||||
async fetchConfig() {
|
||||
try {
|
||||
const response = await getInitConfig();
|
||||
const { status_code, data } = response.data;
|
||||
if (status_code === 200) {
|
||||
this.configData = JSON.parse(data);
|
||||
console.log(this.configData);
|
||||
this.isConfigLoaded = true;
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("获取系统配置失败", error);
|
||||
}
|
||||
},
|
||||
getConfigValue(key) {
|
||||
return this.configData[key] || null;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
import { getCurrentUserInfo } from "@/api/system/user";
|
||||
|
||||
const user = {
|
||||
state: {
|
||||
basicInfo: {},
|
||||
routeList: [],
|
||||
hasGetRoute: false,
|
||||
},
|
||||
mutations: {
|
||||
setRoute(state, routers) {
|
||||
state.routeList = routers;
|
||||
state.hasGetRoute = true;
|
||||
},
|
||||
setAvatar(state, avatar) {
|
||||
state.basicInfo.avatar = avatar;
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
getUserInfo({ commit, state }) {
|
||||
return new Promise((resolve) => {
|
||||
getCurrentUserInfo()
|
||||
.then((response) => {
|
||||
const result = response.data;
|
||||
const routers = result.data.menus;
|
||||
delete result.data.menus;
|
||||
commit("setRoute", routers);
|
||||
state.basicInfo = Object.assign(state.basicInfo || {}, result.data);
|
||||
resolve();
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log(error);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
clearUserInfo({ state }) {
|
||||
state.basicInfo = {};
|
||||
state.routeList = [];
|
||||
state.hasGetRoute = false;
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default user;
|
||||
@@ -1,36 +0,0 @@
|
||||
import { defineStore } from 'pinia';
|
||||
import { getCurrentUserInfo } from "@/api/system/user";
|
||||
|
||||
export const useUserStore = defineStore('user', {
|
||||
state: () => ({
|
||||
basicInfo: {},
|
||||
routeList: [],
|
||||
hasGetRoute: false,
|
||||
}),
|
||||
actions: {
|
||||
async getUserInfo() {
|
||||
try {
|
||||
const response = await getCurrentUserInfo();
|
||||
const result = response.data;
|
||||
const routers = result.data.menus;
|
||||
delete result.data.menus;
|
||||
this.setRoute(routers);
|
||||
this.basicInfo = Object.assign(this.basicInfo || {}, result.data);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
},
|
||||
setRoute(routers) {
|
||||
this.routeList = routers;
|
||||
this.hasGetRoute = true;
|
||||
},
|
||||
setAvatar(avatar) {
|
||||
this.basicInfo.avatar = avatar;
|
||||
},
|
||||
clearUserInfo() {
|
||||
this.basicInfo = {};
|
||||
this.routeList = [];
|
||||
this.hasGetRoute = false;
|
||||
},
|
||||
},
|
||||
});
|
||||
Reference in New Issue
Block a user