代码优化

pull/146/head
ruibaby 2019-04-05 20:18:31 +08:00
parent cb4519a3ed
commit 0530171e5f
5 changed files with 36 additions and 20 deletions

View File

@ -16,9 +16,9 @@ public class Theme implements Serializable {
private static final long serialVersionUID = 1L;
/**
* Theme dir
* Theme key,is theme folder name.
*/
private String themeDir;
private String key;
/**
* Is support setting options

View File

@ -26,7 +26,16 @@ import java.util.List;
@Service
public class ThemeServiceImpl implements ThemeService {
/**
* The type of file that can be modified.
*/
private static String[] CAN_EDIT_SUFFIX = {"ftl", "css", "js"};
/**
* These file names cannot be displayed.
*/
private static String[] FILTER_FILES = {".git", ".DS_Store", "theme.properties"};
private final HaloProperties haloProperties;
public ThemeServiceImpl(HaloProperties haloProperties) {
@ -50,13 +59,9 @@ public class ThemeServiceImpl implements ThemeService {
continue;
}
theme = new Theme();
theme.setThemeDir(file.getName());
File optionsPath = new File(getThemeBasePath().getAbsolutePath(), file.getName() + "/module/options.ftl");
if (optionsPath.exists()) {
theme.setHasOptions(true);
} else {
theme.setHasOptions(false);
}
theme.setKey(file.getName());
File optionsPath = new File(file.getAbsolutePath(), "module/options.ftl");
theme.setHasOptions(optionsPath.exists());
theme.setProperties(getProperties(new File(getThemeBasePath(), file.getName())));
themes.add(theme);
}
@ -80,7 +85,13 @@ public class ThemeServiceImpl implements ThemeService {
File absolutePathFile = new File(absolutePath);
File[] baseFiles = absolutePathFile.listFiles();
if (null != baseFiles) {
baseFileFor:
for (File base : baseFiles) {
for (String filterFile : FILTER_FILES) {
if (filterFile.equals(base.getName())) {
continue baseFileFor;
}
}
ThemeFile file = new ThemeFile();
if (base.isDirectory()) {
file.setName(base.getName());

View File

@ -54,6 +54,11 @@ public class AdminController {
this.linkService = linkService;
}
/**
* Get some statistics about the count of posts, the count of comments, etc.
*
* @return counts
*/
@GetMapping("counts")
@ApiOperation("Gets count info")
public CountOutputDTO getCount() {

View File

@ -1,11 +1,5 @@
package run.halo.app.web.controller.admin.api;
import run.halo.app.model.dto.CategoryOutputDTO;
import run.halo.app.model.entity.Category;
import run.halo.app.model.params.CategoryParam;
import run.halo.app.model.vo.CategoryVO;
import run.halo.app.service.CategoryService;
import run.halo.app.service.PostCategoryService;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Sort;
import org.springframework.data.web.SortDefault;
@ -41,6 +35,12 @@ public class CategoryController {
this.postCategoryService = postCategoryService;
}
@GetMapping
@ApiOperation("List all categories")
public List<Category> listAll() {
return categoryService.listAll();
}
@GetMapping("tree_view")
@ApiOperation("List as category tree")
public List<CategoryVO> listAsTree(@SortDefault(sort = "name", direction = ASC) Sort sort) {

View File

@ -81,18 +81,18 @@ public class ThemeController {
/**
* Active theme
*
* @param themeName theme name
* @param theme theme name
* @throws TemplateModelException TemplateModelException
*/
@GetMapping(value = "active")
@ApiOperation("Active theme")
public void active(@RequestParam(name = "themeName", defaultValue = "anatole") String themeName) throws TemplateModelException {
public void active(@RequestParam(name = "theme", defaultValue = "anatole") String theme) throws TemplateModelException {
Map<PropertyEnum, String> properties = new HashMap<>(1);
properties.put(PrimaryProperties.THEME, themeName);
properties.put(PrimaryProperties.THEME, theme);
// TODO Refactor: saveProperties => saveProperty
optionService.saveProperties(properties, OptionSource.SYSTEM);
HaloConst.ACTIVATED_THEME_NAME = themeName;
configuration.setSharedVariable("themeName", themeName);
HaloConst.ACTIVATED_THEME_NAME = theme;
configuration.setSharedVariable("themeName", theme);
configuration.setSharedVariable("options", optionService.listOptions());
}
}