提交 de97b941 编写于 作者: 智布道's avatar 智布道 👁

👽 blog-hunter 的配置文件(文件搬运工),支持通过 admin 端在线配置

上级 dca4f27c
......@@ -14,9 +14,9 @@ import com.zyd.blog.business.annotation.BussinessLog;
import com.zyd.blog.business.entity.Article;
import com.zyd.blog.business.service.BizArticleService;
import com.zyd.blog.business.service.SysConfigService;
import com.zyd.blog.core.BlogHunterConfigProvider;
import com.zyd.blog.core.websocket.server.ZydWebsocketServer;
import com.zyd.blog.util.ResultUtil;
import me.zhyd.hunter.config.HunterConfigTemplate;
import me.zhyd.hunter.config.platform.Platform;
import me.zhyd.hunter.enums.ExitWayEnum;
import org.apache.shiro.authz.annotation.RequiresAuthentication;
......@@ -45,9 +45,9 @@ public class RenderController {
@Autowired
private BizArticleService articleService;
@Autowired
private SysConfigService configService;
@Autowired
private ZydWebsocketServer websocketServer;
@Autowired
private BlogHunterConfigProvider blogHunterConfigProvider;
@RequiresAuthentication
@BussinessLog("进入首页")
......@@ -104,7 +104,7 @@ public class RenderController {
public ModelAndView edit(@PathVariable("id") Long id, Model model) {
model.addAttribute("id", id);
Article article = articleService.getByPrimaryKey(id);
if(article.getIsMarkdown()){
if (article.getIsMarkdown()) {
return ResultUtil.view("article/publish-md");
}
return ResultUtil.view("article/publish");
......@@ -200,7 +200,7 @@ public class RenderController {
@GetMapping("/remover")
public ModelAndView remover(Model model) {
model.addAttribute("exitWayList", ExitWayEnum.values());
model.addAttribute("spiderConfig", HunterConfigTemplate.configTemplate.toJSONString());
model.addAttribute("spiderConfig", blogHunterConfigProvider.getBlogHunterConfig());
model.addAttribute("platforms", Platform.values());
return ResultUtil.view("laboratory/remover");
}
......
package com.zyd.blog.core;
import com.alibaba.fastjson.JSON;
import com.zyd.blog.business.service.SysConfigService;
import lombok.extern.slf4j.Slf4j;
import me.zhyd.hunter.config.HunterConfigTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
/**
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0.0
* @since 1.0.0
*/
@Slf4j
@Component
public class BlogHunterConfigProvider {
@Autowired
private SysConfigService sysConfigService;
public String getBlogHunterConfig() {
String config = sysConfigService.getSpiderConfig();
if (StringUtils.isEmpty(config) || "{}".equals(config)) {
return HunterConfigTemplate.configTemplate.toJSONString();
}
try {
return JSON.parseObject(config).toJSONString();
} catch (Exception e) {
log.error("blog-hunter 的配置文件格式错误!将启用默认的 `src/main/resources/HunterConfig.json` 内容!", e);
}
return "{}";
}
}
......@@ -47,6 +47,9 @@
<li role="presentation" class="">
<a href="#tab_custom" role="tab" id="custom-tab" data-toggle="tab" aria-expanded="false"><i class="fa fa-cog fa-fw"></i> 定制页面</a>
</li>
<li role="presentation" class="">
<a href="#tab_hunter" role="tab" id="hunter-tab" data-toggle="tab" aria-expanded="false"><i class="fa fa-bug fa-fw"></i> Hunter 配置</a>
</li>
</ul>
<div id="myTabContent" class="tab-content">
<div role="tabpanel" class="tab-pane fade active in" id="tab_basic"
......@@ -619,6 +622,22 @@
</div>
</form>
</div>
<div role="tabpanel" class="tab-pane fade" id="tab_hunter" aria-labelledby="hunter-tab">
<form class="form-horizontal form-label-left" novalidate>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="blogHunterConfig">Hunter 配置文件 <i class="fa fa-question-circle" title="blog-hunter 配置文件,如果没有添加该配置,则默认取 src/main/resources/HunterConfig.json"></i></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<textarea class="form-control col-md-7 col-xs-12" id="blogHunterConfig" name="blogHunterConfig" placeholder="blog-hunter 配置文件,如果没有添加该配置,则默认取 src/main/resources/HunterConfig.json" rows="20"></textarea>
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="comment"></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<button type="button" class="btn btn-primary saveBtn"><i class="fa fa-save"> 保存</i></button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
......
......@@ -236,6 +236,11 @@ public enum ConfigKeyEnum {
* 自定义“CSS”内容
*/
CUSTOM_CSS("customCss"),
/**
* blog-hunter 配置文件,如果没有添加该配置,则默认取 src/main/resources/HunterConfig.json
*/
BLOG_HUNTER_CONFIG("blogHunterConfig"),
;
private final String key;
......
......@@ -164,7 +164,7 @@ public class SysConfigServiceImpl implements SysConfigService {
@Override
@RedisCache(enable = false)
public String getSpiderConfig() {
SysConfig config = this.getByKey("spiderConfig");
SysConfig config = this.getByKey(ConfigKeyEnum.BLOG_HUNTER_CONFIG.getKey());
if (config == null) {
return "{}";
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册