diff --git a/src/main/java/run/halo/app/controller/admin/api/OptionController.java b/src/main/java/run/halo/app/controller/admin/api/OptionController.java index 622394c3e..09730f8fc 100644 --- a/src/main/java/run/halo/app/controller/admin/api/OptionController.java +++ b/src/main/java/run/halo/app/controller/admin/api/OptionController.java @@ -42,6 +42,12 @@ public class OptionController { return optionService.listOptions(); } + @GetMapping("map_keys") + @ApiOperation("List all of options by keys") + public Map listByKeysWithMapView(@RequestParam(value = "keys") String keys) { + return optionService.listByKeys(keys); + } + @PostMapping("map_view/saving") @ApiOperation("Saves options by option map") public void saveOptionsWithMapView(@RequestBody Map optionMap) { diff --git a/src/main/java/run/halo/app/service/OptionService.java b/src/main/java/run/halo/app/service/OptionService.java index c2bee620d..7376886d7 100755 --- a/src/main/java/run/halo/app/service/OptionService.java +++ b/src/main/java/run/halo/app/service/OptionService.java @@ -80,6 +80,15 @@ public interface OptionService extends CrudService { @NonNull Map listOptions(); + /** + * List by keys + * + * @param params params + * @return Map + */ + @NonNull + Map listByKeys(String params); + /** * Lists all option dtos. * diff --git a/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java b/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java index 197ef8cee..9cffe0dcf 100644 --- a/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java +++ b/src/main/java/run/halo/app/service/impl/OptionServiceImpl.java @@ -161,6 +161,18 @@ public class OptionServiceImpl extends AbstractCrudService impl return result; } + @Override + public Map listByKeys(String params) { + Assert.notNull(params, "Keys must not be null"); + Map options = listOptions(); + Map result = new HashMap<>(); + String[] keysParam = params.split(","); + for (String key : keysParam) { + result.put(key,options.get(key)); + } + return result; + } + @Override public List listDtos() { return listAll().stream().map(option -> new OptionDTO().convertFrom(option)).collect(Collectors.toList()); diff --git a/src/main/resources/templates/themes/anatole/settings.yaml b/src/main/resources/templates/themes/anatole/settings.yaml index 55c4f171f..1d4dfbdb7 100644 --- a/src/main/resources/templates/themes/anatole/settings.yaml +++ b/src/main/resources/templates/themes/anatole/settings.yaml @@ -1,5 +1,5 @@ sns: - label: 社交资料设置 + label: 社交资料 items: rss: name: rss