diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/UserCollectInfoVO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/UserCollectInfoVO.java index 32945de8..bcc15762 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/UserCollectInfoVO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/UserCollectInfoVO.java @@ -37,7 +37,4 @@ public class UserCollectInfoVO { @Schema(description = "系统偏好") private Map systemPreference; - @Schema(description = "提示偏好") - private Map tipsPreference; - } diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/PreferenceTypeEnum.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/PreferenceTypeEnum.java index 245e5fd9..aa720287 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/PreferenceTypeEnum.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/enums/PreferenceTypeEnum.java @@ -20,11 +20,6 @@ public enum PreferenceTypeEnum { */ SYSTEM("systemPreferenceStrategy"), - /** - * 提示偏好 - */ - TIPS("tipsPreferenceStrategy"), - ; PreferenceTypeEnum(String beanName) { diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TipsPreferenceModel.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TipsPreferenceModel.java deleted file mode 100644 index 80184e47..00000000 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/model/TipsPreferenceModel.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.orion.ops.module.infra.handler.preference.model; - -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * 提示偏好模型 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023/10/8 13:59 - */ -@Data -@Builder -@NoArgsConstructor -@AllArgsConstructor -public class TipsPreferenceModel implements PreferenceModel { - - @Schema(description = "是否提示过系统偏好设置模态框") - private Boolean tippedSystemPreferenceModal; - -} diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TipsPreferenceStrategy.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TipsPreferenceStrategy.java deleted file mode 100644 index 64cbe737..00000000 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/handler/preference/strategy/TipsPreferenceStrategy.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.orion.ops.module.infra.handler.preference.strategy; - -import com.orion.ops.module.infra.handler.preference.model.TipsPreferenceModel; -import org.springframework.stereotype.Component; - -/** - * 提示偏好处理策略 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023/10/8 15:11 - */ -@Component -public class TipsPreferenceStrategy implements IPreferenceStrategy { - - @Override - public TipsPreferenceModel getDefault() { - return TipsPreferenceModel.builder() - .tippedSystemPreferenceModal(false) - .build(); - } - -} diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/PermissionServiceImpl.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/PermissionServiceImpl.java index 4ff16a67..a3a83c73 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/PermissionServiceImpl.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/service/impl/PermissionServiceImpl.java @@ -201,8 +201,6 @@ public class PermissionServiceImpl implements PermissionService { Long id = user.getId(); // 获取用户系统偏好 Future> systemPreference = preferenceService.getPreference(id, PreferenceTypeEnum.SYSTEM); - // 获取用户提示偏好 - Future> tipsPreference = preferenceService.getPreference(id, PreferenceTypeEnum.TIPS); // 获取用户角色 List roles = this.getUserEnabledRoles(); // 获取用户权限 @@ -228,7 +226,6 @@ public class PermissionServiceImpl implements PermissionService { } // 获取异步结果 user.setSystemPreference(systemPreference.get()); - user.setTipsPreference(tipsPreference.get()); // 组装数据 return UserPermissionVO.builder() .user(user) diff --git a/orion-ops-ui/src/api/user/preference.ts b/orion-ops-ui/src/api/user/preference.ts index 20976194..6f23f39a 100644 --- a/orion-ops-ui/src/api/user/preference.ts +++ b/orion-ops-ui/src/api/user/preference.ts @@ -1,6 +1,6 @@ import axios from 'axios'; -type Preference = 'SYSTEM' | 'TIPS' +type Preference = 'SYSTEM' /** * 用户偏好更新请求 diff --git a/orion-ops-ui/src/components/global-setting/block.vue b/orion-ops-ui/src/components/global-setting/block.vue index 4898ad05..0c50ba27 100644 --- a/orion-ops-ui/src/components/global-setting/block.vue +++ b/orion-ops-ui/src/components/global-setting/block.vue @@ -1,16 +1,18 @@ @@ -26,6 +28,7 @@ name: string; key: string; type?: string; + permission?: string[]; defaultVal?: boolean | string | number; options?: Array; } diff --git a/orion-ops-ui/src/components/global-setting/index.vue b/orion-ops-ui/src/components/global-setting/index.vue index b8cd5548..cbab06b0 100644 --- a/orion-ops-ui/src/components/global-setting/index.vue +++ b/orion-ops-ui/src/components/global-setting/index.vue @@ -78,6 +78,7 @@ name: '主机列表', key: 'hostView', type: 'radio-group', + permission: ['asset:host:query'], defaultVal: appStore.hostView, options: [{ value: 'table', label: '表格' }, { value: 'card', label: '卡片' }] }, @@ -85,6 +86,7 @@ name: '主机秘钥', key: 'hostKeyView', type: 'radio-group', + permission: ['asset:host-key:query'], defaultVal: appStore.hostKeyView, options: [{ value: 'table', label: '表格' }, { value: 'card', label: '卡片' }] }, @@ -92,6 +94,7 @@ name: '主机身份', key: 'hostIdentityView', type: 'radio-group', + permission: ['asset:host-identity:query'], defaultVal: appStore.hostIdentityView, options: [{ value: 'table', label: '表格' }, { value: 'card', label: '卡片' }] }, diff --git a/orion-ops-ui/src/components/navbar/index.vue b/orion-ops-ui/src/components/navbar/index.vue index 9a6a38fb..0c610f61 100644 --- a/orion-ops-ui/src/components/navbar/index.vue +++ b/orion-ops-ui/src/components/navbar/index.vue @@ -117,16 +117,31 @@
  • - - - - - + + + + + + + + +
  • @@ -177,6 +192,8 @@ import MessageBox from '../message-box/index.vue'; import { openGlobalSettingKey, toggleDrawerMenuKey } from '@/types/symbol'; + // TODO 默认值 + const tippedPreference = ref(true); const appStore = useAppStore(); const userStore = useUserStore(); const { logout } = useUser(); @@ -201,7 +218,9 @@ valueLight: 'light', storageKey: 'arco-theme', onChanged(dark: boolean) { - appStore.toggleTheme(dark); + appStore.updateSettings({ + theme: dark ? 'dark' : 'light' + }); }, }); @@ -232,6 +251,15 @@ // 注入收缩菜单 const toggleDrawerMenu = inject(toggleDrawerMenuKey) as () => void; + + // 关闭偏好提示 + const closePreferenceTip = (ack: boolean) => { + tippedPreference.value = false; + if (ack) { + // TODO 修改 + } + }; + diff --git a/orion-ops-ui/src/hooks/favorite.ts b/orion-ops-ui/src/hooks/favorite.ts index ab10cae9..89f201e4 100644 --- a/orion-ops-ui/src/hooks/favorite.ts +++ b/orion-ops-ui/src/hooks/favorite.ts @@ -4,6 +4,7 @@ import { FavoriteType, addFavorite, cancelFavorite } from '@/api/meta/favorite'; export default function useFavorite(type: FavoriteType) { const toggle = async (record: any, id: number, cancelField = 'favorite') => { const request = { relId: id, type }; + Message.clear(); const loading = Message.loading(record[cancelField] ? '取消中' : '收藏中'); try { if (record[cancelField]) { diff --git a/orion-ops-ui/src/store/index.ts b/orion-ops-ui/src/store/index.ts index 6e3da954..05ed693c 100644 --- a/orion-ops-ui/src/store/index.ts +++ b/orion-ops-ui/src/store/index.ts @@ -12,7 +12,7 @@ export { useMenuStore, useUserStore, useTabBarStore, - useCacheStore + useCacheStore, }; export default pinia; diff --git a/orion-ops-ui/src/store/modules/app/index.ts b/orion-ops-ui/src/store/modules/app/index.ts index 70b14026..21fb82d9 100644 --- a/orion-ops-ui/src/store/modules/app/index.ts +++ b/orion-ops-ui/src/store/modules/app/index.ts @@ -1,6 +1,5 @@ import { defineStore } from 'pinia'; import { AppState } from './types'; -import TimeScale from 'echarts/types/src/scale/Time'; const defaultConfig: AppState = { // 应用设置 diff --git a/orion-ops-ui/src/store/modules/app/types.ts b/orion-ops-ui/src/store/modules/app/types.ts index 53f74623..bad5db58 100644 --- a/orion-ops-ui/src/store/modules/app/types.ts +++ b/orion-ops-ui/src/store/modules/app/types.ts @@ -1,6 +1,6 @@ -export type Theme = 'light' | 'dark' -export type Device = 'desktop' | 'mobile' -export type ViewType = 'table' | 'card' | undefined +type Theme = 'light' | 'dark'; +type Device = 'desktop' | 'mobile'; +type ViewType = 'table' | 'card' | undefined; /** * 应用状态