diff --git a/packages/ui/certd-client/src/App.vue b/packages/ui/certd-client/src/App.vue
index d1e432ab4..36f5f1214 100644
--- a/packages/ui/certd-client/src/App.vue
+++ b/packages/ui/certd-client/src/App.vue
@@ -47,8 +47,8 @@ provide("fn:router.reload", reload);
provide("fn:locale.changed", localeChanged);
//其他初始化
-const resourceStore = useResourceStore();
-resourceStore.init();
+// const resourceStore = useResourceStore();
+// resourceStore.init();
const pageStore = usePageStore();
pageStore.init();
const settingStore = useSettingStore();
diff --git a/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts b/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts
index 1df53c6a0..411b5b69e 100644
--- a/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts
+++ b/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts
@@ -2,7 +2,6 @@ import Validator from "async-validator";
import { DomainsVerifyPlanInput } from "./type";
function checkCnameVerifyPlan(rule, value: DomainsVerifyPlanInput) {
- debugger;
if (value == null) {
return true;
}
diff --git a/packages/ui/certd-client/src/layout/components/menu/index.tsx b/packages/ui/certd-client/src/layout/components/menu/index.tsx
index 3cdb29154..e88e4395b 100644
--- a/packages/ui/certd-client/src/layout/components/menu/index.tsx
+++ b/packages/ui/certd-client/src/layout/components/menu/index.tsx
@@ -131,7 +131,7 @@ export default defineComponent({
open(sub.path);
}
}
- slots.push();
+ slots.push();
} else {
slots.push(
diff --git a/packages/ui/certd-client/src/plugin/permission/store.permission.ts b/packages/ui/certd-client/src/plugin/permission/store.permission.ts
index a5d4cf251..e6cae2f74 100644
--- a/packages/ui/certd-client/src/plugin/permission/store.permission.ts
+++ b/packages/ui/certd-client/src/plugin/permission/store.permission.ts
@@ -6,10 +6,17 @@ import { env } from "/@/utils/util.env";
//监听注销事件
mitter.on("app.logout", () => {
+ debugger;
const permissionStore = usePermissionStore();
permissionStore.clear();
});
+mitter.on("app.login", () => {
+ const permissionStore = useResourceStore();
+ permissionStore.clear();
+ permissionStore.init();
+});
+
interface PermissionState {
permissions: [];
inited: boolean;
@@ -73,6 +80,7 @@ export const usePermissionStore = defineStore({
resourceStore.filterByPermission(permissions);
},
async loadFromRemote() {
+ debugger;
let permissionTree = [];
if (env.PM_ENABLED === "false") {
console.warn("当前权限模块未开启,权限列表为空");
diff --git a/packages/ui/certd-client/src/router/index.ts b/packages/ui/certd-client/src/router/index.ts
index 553683291..ab6a9bb44 100644
--- a/packages/ui/certd-client/src/router/index.ts
+++ b/packages/ui/certd-client/src/router/index.ts
@@ -22,6 +22,8 @@ router.beforeEach(async (to, from, next) => {
NProgress.start();
const settingStore = useSettingStore();
await settingStore.initOnce();
+ const resourceStore = useResourceStore();
+ resourceStore.init();
// 修复三级以上路由页面无法缓存的问题
if (to.matched && to.matched.length > 2) {
to.matched.splice(1, to.matched.length - 2);
@@ -37,11 +39,11 @@ router.beforeEach(async (to, from, next) => {
// 请根据自身业务需要修改
const token = userStore.getToken;
if (token) {
- await userStore.init();
next();
} else {
// 没有登录的时候跳转到登录界面
// 携带上登陆成功之后需要跳转的页面完整路径
+ resourceStore.clear();
next({
name: "login",
query: {
@@ -73,7 +75,7 @@ router.afterEach((to: any) => {
const matched = to.matched;
if (matched.length > 0) {
const resourceStore = useResourceStore();
- resourceStore.setAsideMenuByCurrentRoute(matched);
+ resourceStore.setCurrentTopMenuByCurrentRoute(matched);
}
});
export default router;
diff --git a/packages/ui/certd-client/src/router/source/modules/sys.ts b/packages/ui/certd-client/src/router/source/modules/sys.ts
index b4a83b788..888c907ff 100644
--- a/packages/ui/certd-client/src/router/source/modules/sys.ts
+++ b/packages/ui/certd-client/src/router/source/modules/sys.ts
@@ -10,7 +10,7 @@ export const sysResources = [
component: LayoutPass,
meta: {
icon: "ion:settings-outline",
- permission: "sys"
+ permission: "sys:settings:view"
},
children: [
{
diff --git a/packages/ui/certd-client/src/store/modules/resource.ts b/packages/ui/certd-client/src/store/modules/resource.ts
index 58d8fc49b..99adca658 100644
--- a/packages/ui/certd-client/src/store/modules/resource.ts
+++ b/packages/ui/certd-client/src/store/modules/resource.ts
@@ -4,46 +4,56 @@ import { frameworkMenus, headerMenus, filterMenus, findMenus } from "/src/router
import _ from "lodash-es";
import { mitter } from "/src/utils/util.mitt";
//监听注销事件
-mitter.on("app.logout", () => {
- const resourceStore = useResourceStore();
- resourceStore.clear();
-});
+// mitter.on("app.logout", () => {
+// debugger;
+// const resourceStore = useResourceStore();
+// resourceStore.clear();
+// });
+//
+// mitter.on("app.login", () => {
+// const resourceStore = useResourceStore();
+// resourceStore.clear();
+// resourceStore.init();
+// });
interface ResourceState {
- frameworkMenus: Array;
+ topMenus: Array;
+ authedTopMenus: Array;
headerMenus: Array;
asideMenus: Array;
fixedAsideMenus: Array;
inited: boolean;
- currentAsidePath: string;
+ currentTopMenu?: string;
+ currentAsidePath?: string;
}
export const useResourceStore = defineStore({
id: "app.resource",
state: (): ResourceState => ({
// user info
- frameworkMenus: [],
+ topMenus: [],
+ authedTopMenus: [],
headerMenus: [],
- asideMenus: [],
fixedAsideMenus: [],
inited: false,
- currentAsidePath: ""
+ currentTopMenu: undefined,
+ currentAsidePath: undefined
}),
getters: {
- // @ts-ignore
getAsideMenus() {
- // @ts-ignore
- return this.asideMenus;
+ let topMenu = this.currentTopMenu;
+ if (!topMenu && this.authedTopMenus.length > 0) {
+ topMenu = this.authedTopMenus[0];
+ }
+ let asideMenus = topMenu?.children || [];
+ asideMenus = [...this.fixedAsideMenus, ...asideMenus];
+ return asideMenus;
},
- // @ts-ignore
getHeaderMenus() {
- // @ts-ignore
return this.headerMenus;
},
- // @ts-ignore
getFrameworkMenus() {
- // @ts-ignore
- return this.frameworkMenus;
+ return this.authedTopMenus;
}
} as any,
actions: {
@@ -59,28 +69,26 @@ export const useResourceStore = defineStore({
}
this.inited = true;
- const showMenus = _.cloneDeep(frameworkMenus[0].children);
- this.frameworkMenus = filterMenus(showMenus, (item: any) => {
+ const allMenus = _.cloneDeep(frameworkMenus[0].children);
+ this.topMenus = filterMenus(allMenus, (item: any) => {
return item?.meta?.showOnHeader !== false;
});
- this.fixedAsideMenus = findMenus(showMenus, (item: any) => {
+ this.fixedAsideMenus = findMenus(allMenus, (item: any) => {
return item?.meta?.fixedAside === true;
});
this.headerMenus = headerMenus;
- this.setAsideMenu();
},
- setAsideMenu(topMenu?: any) {
+ setCurrentTopMenu(topMenu?: any) {
if (this.frameworkMenus.length === 0) {
return;
}
if (topMenu == null) {
topMenu = this.frameworkMenus[0];
}
- const asideMenus = topMenu?.children || [];
- this.asideMenus = [...this.fixedAsideMenus, ...asideMenus];
+ this.currentTopMenu = topMenu;
},
- setAsideMenuByCurrentRoute(matched: any) {
+ setCurrentTopMenuByCurrentRoute(matched: any) {
const menuHeader = this.frameworkMenus;
if (matched?.length <= 1) {
return;
@@ -109,11 +117,11 @@ export const useResourceStore = defineStore({
return;
}
this.currentAsidePath = _side[0];
- this.setAsideMenu(_side[0]);
+ this.setCurrentTopMenu(_side[0]);
}
},
filterByPermission(permissions: any) {
- this.frameworkMenus = this.filterChildrenByPermission(this.frameworkMenus, permissions);
+ this.authedTopMenus = this.filterChildrenByPermission(this.topMenus, permissions);
},
filterChildrenByPermission(list: any, permissions: any) {
const menus = list.filter((item: any) => {
diff --git a/packages/ui/certd-client/src/store/modules/user.ts b/packages/ui/certd-client/src/store/modules/user.ts
index 7ce198aaa..faeba1772 100644
--- a/packages/ui/certd-client/src/store/modules/user.ts
+++ b/packages/ui/certd-client/src/store/modules/user.ts
@@ -15,7 +15,6 @@ import { mitter } from "/src/utils/util.mitt";
interface UserState {
userInfo: Nullable;
token?: string;
- inited: boolean;
}
const USER_INFO_KEY = "USER_INFO";
@@ -26,8 +25,7 @@ export const useUserStore = defineStore({
// user info
userInfo: null,
// token
- token: undefined,
- inited: false
+ token: undefined
}),
getters: {
getUserInfo(): UserInfoRes {
@@ -114,16 +112,6 @@ export const useUserStore = defineStore({
await this.logout(true);
}
});
- },
- async init() {
- if (this.inited) {
- return;
- }
- this.inited = true;
- },
- async reInit() {
- this.inited = false;
- await this.init();
}
}
});
diff --git a/packages/ui/certd-client/src/views/certd/pipeline/certd-form/crud.tsx b/packages/ui/certd-client/src/views/certd/pipeline/certd-form/crud.tsx
index dd893124d..62bc6abf2 100644
--- a/packages/ui/certd-client/src/views/certd/pipeline/certd-form/crud.tsx
+++ b/packages/ui/certd-client/src/views/certd/pipeline/certd-form/crud.tsx
@@ -76,7 +76,6 @@ export default function (certPluginGroup: PluginGroup, formWrapperRef: any): Cre
},
valueChange: {
handle: async ({ form, value }) => {
- debugger;
const config = await api.GetPluginConfig({
name: value,
type: "builtIn"
diff --git a/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/step-form/index.vue b/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/step-form/index.vue
index 62f5b856b..8bb6a908f 100644
--- a/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/step-form/index.vue
+++ b/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/step-form/index.vue
@@ -256,7 +256,6 @@ export default {
}
}
//设置系统初始值
- debugger;
const pluginSysConfig = await pluginApi.GetPluginConfig({ name: pluginDefine.name, type: "builtIn" });
if (pluginSysConfig.sysSetting?.input) {
for (const key in pluginSysConfig.sysSetting?.input) {
diff --git a/packages/ui/certd-client/src/views/sys/cname/provider/crud.tsx b/packages/ui/certd-client/src/views/sys/cname/provider/crud.tsx
index daa8c2dbe..4e80e34e2 100644
--- a/packages/ui/certd-client/src/views/sys/cname/provider/crud.tsx
+++ b/packages/ui/certd-client/src/views/sys/cname/provider/crud.tsx
@@ -130,6 +130,7 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
component: {
name: "access-selector",
vModel: "modelValue",
+ from: "sys",
type: compute(({ form }) => {
return form.dnsProviderType;
})