This commit is contained in:
2025-04-19 15:28:32 +08:00
parent c80b173e28
commit 9731d104f6
17 changed files with 796 additions and 738 deletions

View File

@@ -1,8 +1,8 @@
import {defineStore} from "pinia";
import {ref} from "vue";
import {mockRoutes1, mockRoutes2} from './mock.js';
import router from "../../router/index.js";
import generateRouter from "../../router/generateRouter.js";
import Api from "../../api/index.js";
export const useSystemStore = defineStore("SystemStore", () => {
const isRoot = ref(false);
@@ -26,8 +26,8 @@ export const useSystemStore = defineStore("SystemStore", () => {
RoutesTemp.value.length = 0;
// 请求资源 mockRoutes
const routes = generateRouter(isRoot.value ? mockRoutes2 : mockRoutes1);
RoutesTemp.value.push(...(isRoot.value ? mockRoutes2 : mockRoutes1));
const {data} = await Api.admin.getMenu();
RoutesTemp.value.push(...data);
await installRoute();
}

View File

@@ -1,30 +1,48 @@
import {defineStore} from "pinia";
import {ref} from "vue";
import {useSystemStore} from "../SystemStore/index.js";
import router from "../../router/index.js";
import Api from "../../api/index.js";
import {toPath} from "../../utils/index.js";
export const useUserStore = defineStore("UserStore", () => {
const isLogin = ref(false);
const userInfo = ref(null);
const token = ref(null);
const login = async (isRoot = false) => {
const login = async (isRoot = false, form) => {
// 请求
const data = {};
if (isRoot) { // 管理员
if (form.code) {
const {data: _data} = await Api.admin.phoneLogin(form);
Object.assign(data, _data);
} else {
const {data: _data} = await Api.admin.login(form);
Object.assign(data, _data);
}
} else { // 商户
}
// 修改状态
isLogin.value = true;
// 获取并安装路由
const { setRouter } = useSystemStore();
token.value = data.token;
userInfo.value = data;
// // 获取并安装路由
const {setRouter} = useSystemStore();
await setRouter(isRoot);
// 跳转
await router.push('/home');
// // 跳转
toPath('/home');
}
const logout = async () => {
isLogin.value = false;
const { clearRouter } = useSystemStore();
const {clearRouter} = useSystemStore();
await clearRouter();
}
return {
isLogin,
userInfo,
token,
login,
logout,
}
@@ -32,6 +50,6 @@ export const useUserStore = defineStore("UserStore", () => {
persist: {
key: 'UserStore',
storage: localStorage,
pick: ['isLogin']
pick: ['isLogin', 'token', 'userInfo']
}
});