feat. 终端主题设置.

This commit is contained in:
lijiahang
2023-12-08 19:05:00 +08:00
parent 73dd7cd3d5
commit fc81c78849
20 changed files with 267 additions and 142 deletions

View File

@@ -20,6 +20,11 @@ public enum PreferenceTypeEnum {
*/
SYSTEM("systemPreferenceStrategy"),
/**
* 终端偏好
*/
TERMINAL("terminalPreferenceStrategy"),
;
PreferenceTypeEnum(String beanName) {

View File

@@ -17,7 +17,7 @@ import lombok.NoArgsConstructor;
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AppPreferenceModel implements PreferenceModel {
public class SystemPreferenceModel implements PreferenceModel {
@Schema(description = "是否使用侧边菜单")
private Boolean menu;

View File

@@ -0,0 +1,32 @@
package com.orion.ops.module.infra.handler.preference.model;
import com.alibaba.fastjson.JSONObject;
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/12/8 14:46
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TerminalPreferenceModel implements PreferenceModel {
@Schema(description = "暗色主题")
private String darkTheme;
@Schema(description = "终端主题")
private JSONObject terminalTheme;
@Schema(description = "显示设置")
private JSONObject viewSetting;
}

View File

@@ -1,6 +1,6 @@
package com.orion.ops.module.infra.handler.preference.strategy;
import com.orion.ops.module.infra.handler.preference.model.AppPreferenceModel;
import com.orion.ops.module.infra.handler.preference.model.SystemPreferenceModel;
import org.springframework.stereotype.Component;
/**
@@ -11,11 +11,11 @@ import org.springframework.stereotype.Component;
* @since 2023/10/8 13:48
*/
@Component
public class SystemPreferenceStrategy implements IPreferenceStrategy<AppPreferenceModel> {
public class SystemPreferenceStrategy implements IPreferenceStrategy<SystemPreferenceModel> {
@Override
public AppPreferenceModel getDefault() {
return AppPreferenceModel.builder()
public SystemPreferenceModel getDefault() {
return SystemPreferenceModel.builder()
.menu(true)
.topMenu(false)
.navbar(true)

View File

@@ -0,0 +1,26 @@
package com.orion.ops.module.infra.handler.preference.strategy;
import com.alibaba.fastjson.JSONObject;
import com.orion.ops.module.infra.handler.preference.model.TerminalPreferenceModel;
import org.springframework.stereotype.Component;
/**
* 终端偏好处理策略
*
* @author Jiahang Li
* @version 1.0.0
* @since 2023/12/8 14:46
*/
@Component
public class TerminalPreferenceStrategy implements IPreferenceStrategy<TerminalPreferenceModel> {
@Override
public TerminalPreferenceModel getDefault() {
return TerminalPreferenceModel.builder()
.darkTheme("dark")
.terminalTheme(new JSONObject())
.viewSetting(new JSONObject())
.build();
}
}