Commit a7a252c4 by 侯昆

页面整合完成

1 parent 3f8f3d18
Showing 25 changed files with 1328 additions and 93 deletions
...@@ -112,7 +112,7 @@ public class WordHtmlController extends BaseController { ...@@ -112,7 +112,7 @@ public class WordHtmlController extends BaseController {
@RequestMapping(value = "/relate/{id}", method = RequestMethod.GET) @RequestMapping(value = "/relate/{id}", method = RequestMethod.GET)
public ModelAndView relate(@PathVariable("id") Long id) { public ModelAndView relate(@PathVariable("id") Long id) {
WordDomain wordDomain = wordService.get(id); WordDomain wordDomain = wordService.get(id);
List<WordDomain> relateWords = wordRelationService.getRelateWord(id); List<WordDomain> relateWords = wordRelationService.getRelateWords(id);
List<WordDTO> vos = relateWords.stream().filter(r -> !r.getId().equals(id)).map(word -> WordDTO.fromDomain(word, wordRelationService)).collect(Collectors.toList()); List<WordDTO> vos = relateWords.stream().filter(r -> !r.getId().equals(id)).map(word -> WordDTO.fromDomain(word, wordRelationService)).collect(Collectors.toList());
ModelAndView mv = new ModelAndView("/word/relate"); ModelAndView mv = new ModelAndView("/word/relate");
mv.addObject("word", wordDomain); mv.addObject("word", wordDomain);
......
package com.dookay.cihai.app.controller.vo;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import com.dookay.cihai.core.word.dto.WordDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author houkun
* @date 2018/1/14
*/
@Data
public class RelateWordsVO {
@ApiModelProperty("相关词列表")
public List<WordDTO> words;
}
...@@ -36,6 +36,9 @@ public class OneCharacterDTO { ...@@ -36,6 +36,9 @@ public class OneCharacterDTO {
private String description; private String description;
public static OneCharacterDTO fromDomain(WordDomain word) { public static OneCharacterDTO fromDomain(WordDomain word) {
if (word == null) {
return null;
}
String description = ""; String description = "";
String baikeBrief = word.getBaikeBrief(); String baikeBrief = word.getBaikeBrief();
int i = StringUtils.indexOf(baikeBrief, '。'); int i = StringUtils.indexOf(baikeBrief, '。');
......
...@@ -40,10 +40,10 @@ public class RecommendStatementDTO { ...@@ -40,10 +40,10 @@ public class RecommendStatementDTO {
public static RecommendStatementDTO fromDomain(WordDomain word, List<WordDomain> related) { public static RecommendStatementDTO fromDomain(WordDomain word, List<WordDomain> related) {
String description = ""; String description = "";
String baikeBrief = word.getBaikeBrief(); String baikeParaph = word.getBaikeParaphrase();
int i = StringUtils.indexOf(baikeBrief, '。'); int i = StringUtils.indexOf(baikeParaph, '。');
if (i != -1) { if (i != -1) {
description = StringUtils.substring(baikeBrief, 0,i + 1); description = StringUtils.substring(baikeParaph, 0,i + 1);
} }
RecommendStatementDTO dto = new RecommendStatementDTO(); RecommendStatementDTO dto = new RecommendStatementDTO();
dto.setWord(word.getWord()); dto.setWord(word.getWord());
......
...@@ -61,7 +61,7 @@ public class WordDTO { ...@@ -61,7 +61,7 @@ public class WordDTO {
wordDTO.setType(type); wordDTO.setType(type);
wordDTO.setHasParaph(!StringUtils.isAllBlank(word.getBody(), word.getWordBrief())); wordDTO.setHasParaph(!StringUtils.isAllBlank(word.getBody(), word.getWordBrief()));
wordDTO.setHasBaike(!StringUtils.isAllBlank(word.getBaikeBrief(), word.getBaikeParaphrase())); wordDTO.setHasBaike(!StringUtils.isAllBlank(word.getBaikeBrief(), word.getBaikeParaphrase()));
List<WordDomain> relateWord = wordRelationService.getRelateWord(word.getId()); List<WordDomain> relateWord = wordRelationService.getRelateWords(word.getId());
wordDTO.setHasRelated(CollectionUtils.isNotEmpty(relateWord)); wordDTO.setHasRelated(CollectionUtils.isNotEmpty(relateWord));
if (StringUtils.isNotEmpty(word.getBaikePhotos())) { if (StringUtils.isNotEmpty(word.getBaikePhotos())) {
ImageModel thumb = ImageModel thumb =
......
...@@ -27,5 +27,5 @@ public interface IWordRelationService extends IBaseService<WordRelationDomain> { ...@@ -27,5 +27,5 @@ public interface IWordRelationService extends IBaseService<WordRelationDomain> {
* @author houkun * @author houkun
* @date 2018/1/11 * @date 2018/1/11
*/ */
List<WordDomain> getRelateWord(Long wordId); List<WordDomain> getRelateWords(Long wordId);
} }
...@@ -58,7 +58,7 @@ public class WordRelationServiceImpl extends BaseServiceImpl<WordRelationDomain> ...@@ -58,7 +58,7 @@ public class WordRelationServiceImpl extends BaseServiceImpl<WordRelationDomain>
} }
@Override @Override
public List<WordDomain> getRelateWord(Long wordId) { public List<WordDomain> getRelateWords(Long wordId) {
WordRelationQuery q = new WordRelationQuery(); WordRelationQuery q = new WordRelationQuery();
q.setWordId(wordId); q.setWordId(wordId);
WordRelationDomain wordRelate = super.getFirst(q); WordRelationDomain wordRelate = super.getFirst(q);
......
...@@ -2,6 +2,7 @@ package com.dookay.cihai.core.word.service.impl; ...@@ -2,6 +2,7 @@ package com.dookay.cihai.core.word.service.impl;
import com.dookay.cihai.core.word.dto.OneCharacterDTO; import com.dookay.cihai.core.word.dto.OneCharacterDTO;
import com.dookay.cihai.core.word.dto.RecommendStatementDTO; import com.dookay.cihai.core.word.dto.RecommendStatementDTO;
import com.dookay.cihai.core.word.query.WordQuery;
import com.dookay.cihai.core.word.service.IWordRelationService; import com.dookay.cihai.core.word.service.IWordRelationService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
...@@ -32,14 +33,18 @@ public class WordServiceImpl extends BaseServiceImpl<WordDomain> implements IWor ...@@ -32,14 +33,18 @@ public class WordServiceImpl extends BaseServiceImpl<WordDomain> implements IWor
@Override @Override
public OneCharacterDTO oneDayOnCharacter() { public OneCharacterDTO oneDayOnCharacter() {
WordDomain wordDomain = wordMapper.selectWordLengthLessOrEquealThan(3); WordQuery query = new WordQuery();
query.setWord("象");
WordDomain wordDomain = super.getFirst(query);
return OneCharacterDTO.fromDomain(wordDomain); return OneCharacterDTO.fromDomain(wordDomain);
} }
@Override @Override
public RecommendStatementDTO recomendStatement() { public RecommendStatementDTO recomendStatement() {
WordDomain wordDomain = wordMapper.selectWordLengthMoreThan(3); WordQuery query = new WordQuery();
List<WordDomain> relateWord = wordRelationService.getRelateWord(wordDomain.getId()); query.setWord("鲁迅");
WordDomain wordDomain = super.getFirst(query);
List<WordDomain> relateWord = wordRelationService.getRelateWords(wordDomain.getId());
return RecommendStatementDTO.fromDomain(wordDomain, relateWord); return RecommendStatementDTO.fromDomain(wordDomain, relateWord);
} }
} }
...@@ -164,4 +164,15 @@ public class HomeController extends BaseController { ...@@ -164,4 +164,15 @@ public class HomeController extends BaseController {
} }
} }
/**
* 历史上的今天
* @author houkun
* @date 2018/1/16
*/
@RequestMapping(value = "/today", method = RequestMethod.GET)
public ModelAndView today() {
ModelAndView mv = new ModelAndView("/home/today");
return mv;
}
} }
...@@ -19,10 +19,7 @@ import com.dookay.cihai.core.word.dto.WordDTO; ...@@ -19,10 +19,7 @@ import com.dookay.cihai.core.word.dto.WordDTO;
import com.dookay.cihai.core.word.enums.WordType; import com.dookay.cihai.core.word.enums.WordType;
import com.dookay.cihai.core.word.service.IWordRelationService; import com.dookay.cihai.core.word.service.IWordRelationService;
import com.dookay.cihai.core.word.service.IWordService; import com.dookay.cihai.core.word.service.IWordService;
import com.dookay.cihai.pc.controller.vo.CharacterBaikeVO; import com.dookay.cihai.pc.controller.vo.*;
import com.dookay.cihai.pc.controller.vo.CharacterParaphVO;
import com.dookay.cihai.pc.controller.vo.StatementBaikeVO;
import com.dookay.cihai.pc.controller.vo.StatementParaphVO;
import com.dookay.coral.common.core.exception.ServiceException; import com.dookay.coral.common.core.exception.ServiceException;
import com.dookay.coral.common.core.utils.lang.StringUtils; import com.dookay.coral.common.core.utils.lang.StringUtils;
import com.dookay.coral.common.web.controller.BaseController; import com.dookay.coral.common.web.controller.BaseController;
...@@ -34,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestMethod; ...@@ -34,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 词控制器 * 词控制器
...@@ -50,6 +46,7 @@ public class WordController extends BaseController { ...@@ -50,6 +46,7 @@ public class WordController extends BaseController {
@Autowired @Autowired
private IWordRelationService wordRelationService; private IWordRelationService wordRelationService;
/** /**
* 词详情跳转页 * 词详情跳转页
* *
...@@ -94,7 +91,13 @@ public class WordController extends BaseController { ...@@ -94,7 +91,13 @@ public class WordController extends BaseController {
public ModelAndView characterParaph(@PathVariable("id") Long id) { public ModelAndView characterParaph(@PathVariable("id") Long id) {
WordDomain character = wordService.get(id); WordDomain character = wordService.get(id);
ModelAndView mv = new ModelAndView("/word/character_paraph"); ModelAndView mv = new ModelAndView("/word/character_paraph");
boolean hasBaike = StringUtils.isNotBlank(character.getBaikeBrief()) ||
StringUtils.isNotBlank(character.getBaikeParaphrase());
mv.addObject("hasBaike", hasBaike);
mv.addObject("vo", CharacterParaphVO.fromDomain(character)); mv.addObject("vo", CharacterParaphVO.fromDomain(character));
mv.addObject("edition", EditionVO.fromDomain(character));
List<WordDomain> relateWords = wordRelationService.getRelateWords(character.getId());
mv.addObject("relateWords", relateWords);
return mv; return mv;
} }
...@@ -107,8 +110,14 @@ public class WordController extends BaseController { ...@@ -107,8 +110,14 @@ public class WordController extends BaseController {
@RequestMapping(value = "/character/baike/{id}", method = RequestMethod.GET) @RequestMapping(value = "/character/baike/{id}", method = RequestMethod.GET)
public ModelAndView characterBaike(@PathVariable("id") Long id) { public ModelAndView characterBaike(@PathVariable("id") Long id) {
WordDomain character = wordService.get(id); WordDomain character = wordService.get(id);
boolean hasParaph = StringUtils.isNotBlank(character.getWordBrief()) ||
StringUtils.isNotBlank(character.getBody());
ModelAndView mv = new ModelAndView("/word/character_baike"); ModelAndView mv = new ModelAndView("/word/character_baike");
mv.addObject("vo", CharacterBaikeVO.fromDomain(character)); mv.addObject("vo", CharacterBaikeVO.fromDomain(character));
mv.addObject("hasParaph", hasParaph);
mv.addObject("edition", EditionVO.fromDomain(character));
List<WordDomain> relateWords = wordRelationService.getRelateWords(character.getId());
mv.addObject("relateWords", relateWords);
return mv; return mv;
} }
...@@ -121,8 +130,14 @@ public class WordController extends BaseController { ...@@ -121,8 +130,14 @@ public class WordController extends BaseController {
@RequestMapping(value = "/statement/paraph/{id}", method = RequestMethod.GET) @RequestMapping(value = "/statement/paraph/{id}", method = RequestMethod.GET)
public ModelAndView statementParaph(@PathVariable("id") Long id) { public ModelAndView statementParaph(@PathVariable("id") Long id) {
WordDomain statement = wordService.get(id); WordDomain statement = wordService.get(id);
boolean hasBaike = StringUtils.isNotBlank(statement.getBaikeBrief()) ||
StringUtils.isNotBlank(statement.getBaikeParaphrase());
ModelAndView mv = new ModelAndView("/word/statement_paraph"); ModelAndView mv = new ModelAndView("/word/statement_paraph");
mv.addObject("hasBaike", hasBaike);
mv.addObject("vo", StatementParaphVO.fromDomain(statement)); mv.addObject("vo", StatementParaphVO.fromDomain(statement));
mv.addObject("edition", EditionVO.fromDomain(statement));
List<WordDomain> relateWords = wordRelationService.getRelateWords(statement.getId());
mv.addObject("relateWords", relateWords);
return mv; return mv;
} }
...@@ -135,26 +150,16 @@ public class WordController extends BaseController { ...@@ -135,26 +150,16 @@ public class WordController extends BaseController {
@RequestMapping(value = "/statement/baike/{id}", method = RequestMethod.GET) @RequestMapping(value = "/statement/baike/{id}", method = RequestMethod.GET)
public ModelAndView statementBaike(@PathVariable("id") Long id) { public ModelAndView statementBaike(@PathVariable("id") Long id) {
WordDomain statement = wordService.get(id); WordDomain statement = wordService.get(id);
boolean hasParaph = StringUtils.isNotBlank(statement.getWordBrief()) ||
StringUtils.isNotBlank(statement.getBody());
ModelAndView mv = new ModelAndView("/word/statement_baike"); ModelAndView mv = new ModelAndView("/word/statement_baike");
mv.addObject("vo", StatementBaikeVO.fromDomain(statement)); mv.addObject("vo", StatementBaikeVO.fromDomain(statement));
mv.addObject("hasParaph", hasParaph);
mv.addObject("edition", EditionVO.fromDomain(statement));
List<WordDomain> relateWords = wordRelationService.getRelateWords(statement.getId());
mv.addObject("relateWords", relateWords);
return mv; return mv;
} }
/**
* 相关词
*
* @param id
* @return
*/
@RequestMapping(value = "/relate/{id}", method = RequestMethod.GET)
public ModelAndView relate(@PathVariable("id") Long id) {
WordDomain wordDomain = wordService.get(id);
List<WordDomain> relateWords = wordRelationService.getRelateWord(id);
List<WordDTO> vos = relateWords.stream().filter(r -> !r.getId().equals(id)).map(word -> WordDTO.fromDomain(word, wordRelationService)).collect(Collectors.toList());
ModelAndView mv = new ModelAndView("/word/relate");
mv.addObject("word", wordDomain);
mv.addObject("vos", vos);
return mv;
}
} }
...@@ -14,10 +14,9 @@ package com.dookay.cihai.pc.controller.vo; ...@@ -14,10 +14,9 @@ package com.dookay.cihai.pc.controller.vo;
* * * *
****************************************/ ****************************************/
import com.dookay.cihai.app.controller.dto.ParaphBodyDTO;
import com.dookay.cihai.core.word.domain.WordDomain; import com.dookay.cihai.core.word.domain.WordDomain;
import com.dookay.cihai.pc.controller.dto.ParaphBodyDTO;
import com.dookay.coral.common.core.utils.lang.StringUtils; import com.dookay.coral.common.core.utils.lang.StringUtils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Arrays; import java.util.Arrays;
......
package com.dookay.cihai.pc.helper;
/*****************************************
* *
* @dookay.com Internet make it happen *
* ----------- ----------------------- *
* dddd ddddd Internet make it happen *
* o o o Internet make it happen *
* k k k Internet make it happen *
* a a a Internet make it happen *
* yyyy yyyyy Internet make it happen *
* ----------- ----------------------- *
* @dookay.com Internet make it happen *
* *
****************************************/
import com.dookay.coral.common.core.utils.lang.StringUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author houkun
* @date 2018/1/14
*/
public class HtmlHelper {
private HtmlHelper() {
}
/**
* 语词简介
*
* @author houkun
* @date 2018/1/16
*/
public static List<String> paraphBriefToHtml(List<String> brief) {
List<String> collect = brief.stream().map(
b -> {
String[] split = StringUtils.split(b, ":");
if (split.length != 2) {
split = StringUtils.split(b, ":");
}
if (split.length != 2) {
return null;
}
if (brief.indexOf(b) % 3 == 0) {
return String.format(
"<div class=\"character-info-cell\">\n" +
" <span class=\"character-info-label\">%s: </span>\n" +
" <span class=\"character-info-num\">%s</span>\n" +
"</div>",
split[0], split[1]);
} else {
return String.format(
"<div class=\"character-info-cell\">\n" +
" <span class=\"character-info-label\">%s: </span>\n" +
" <span class=\"character-info-value\">%s</span>\n" +
"</div>",
split[0], split[1]);
}
})
.filter(StringUtils::isNoneBlank)
.collect(Collectors.toList());
return collect;
}
/**
* 简介转html
*
* @param brief
* @return
* @author houkun
* @date 2018/1/14
*/
public static List<String> baikeBreifToHtml(List<String> brief) {
List<String> collect = brief.stream()
.map(b -> {
String[] split = StringUtils.split(b, ":");
if (split.length != 2) {
split = StringUtils.split(b, ":");
}
if (split.length != 2) {
return null;
}
if (brief.indexOf(b) % 2 == 0){
return String.format(
"<div class=\"intro-item col-xs-8 clearfix\">\n" +
" <div class=\"name pull-left\">%s:</div>\n" +
" <div class=\"txt pull-left\">%s</div>\n" +
"</div>",
split[0], split[1]);
} else{
return String.format(
"<div class=\"intro-item col-xs-16 clearfix\">\n" +
" <div class=\"name pull-left\">%s:</div>\n" +
" <div class=\"txt pull-left\">%s</div>\n" +
"</div>",
split[0], split[1]);
}
})
.filter(StringUtils::isNoneBlank)
.collect(Collectors.toList());
return collect;
}
}
debug=false
# 数据库连接 # 数据库连接
spring.datasource.url=jdbc:mysql://192.168.2.24:3306/cihai spring.datasource.url=jdbc:mysql://192.168.2.28:3306/cihai
spring.datasource.username=root spring.datasource.username=root
# 加密后的密码 # 加密后的密码
spring.datasource.password=AmwpshLB35Fgazrs4rCfGlwNBZOTD34ezY/zS751V+7iSJHjr3tDNkpOfnW/y0fjFcMTNX0ycMt3KIUnDi8JYg== spring.datasource.password=AmwpshLB35Fgazrs4rCfGlwNBZOTD34ezY/zS751V+7iSJHjr3tDNkpOfnW/y0fjFcMTNX0ycMt3KIUnDi8JYg==
......
# 数据库连接 # 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/cihai spring.datasource.url=jdbc:mysql://192.168.2.28:3306/cihai
spring.datasource.username=root spring.datasource.username=root
# 加密后的密码 # 加密后的密码
spring.datasource.password=oeIOLg5LNEaK9BSQiwmjwdfkVksUrrt6kgBdEoONs3X4gZQN1TmweFerGfm8Jt+Cj94RxFumQ3N733MRlF4uoA== spring.datasource.password=AmwpshLB35Fgazrs4rCfGlwNBZOTD34ezY/zS751V+7iSJHjr3tDNkpOfnW/y0fjFcMTNX0ycMt3KIUnDi8JYg==
# 加密时的公钥 # 加密时的公钥
public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKk6Fd6Bnc5NWXx5PSkdRwVxhG9WPGnvhQZJYtjy1+ug2ivEvwGValq0z3BDmA0uy3NBx9iOkPEWdGS24M6g3cMCAwEAAQ== public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKgof5ExfKmEZEjq+GuqEoHA8tkIftarLRzUDAxdQzJQtF57DF63gPJJkIZLcKa2t8jt5JC2SRdxERg1A/kx0BMCAwEAAQ==
# 日志 # 日志
logging.level.root=error logging.level.root=error
logging.level.com.dookay.coral.common.core=info logging.level.com.dookay.coral.common.core=info
......
# 数据库连接 # 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/cihai spring.datasource.url=jdbc:mysql://192.168.2.28:3306/cihai
spring.datasource.username=root spring.datasource.username=root
# 加密后的密码 # 加密后的密码
spring.datasource.password=oeIOLg5LNEaK9BSQiwmjwdfkVksUrrt6kgBdEoONs3X4gZQN1TmweFerGfm8Jt+Cj94RxFumQ3N733MRlF4uoA== spring.datasource.password=AmwpshLB35Fgazrs4rCfGlwNBZOTD34ezY/zS751V+7iSJHjr3tDNkpOfnW/y0fjFcMTNX0ycMt3KIUnDi8JYg==
# 加密时的公钥 # 加密时的公钥
public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKk6Fd6Bnc5NWXx5PSkdRwVxhG9WPGnvhQZJYtjy1+ug2ivEvwGValq0z3BDmA0uy3NBx9iOkPEWdGS24M6g3cMCAwEAAQ== public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKgof5ExfKmEZEjq+GuqEoHA8tkIftarLRzUDAxdQzJQtF57DF63gPJJkIZLcKa2t8jt5JC2SRdxERg1A/kx0BMCAwEAAQ==
# 日志 # 日志
logging.level.root=warn logging.level.root=warn
......
<%@ page import="org.apache.commons.lang3.time.DateFormatUtils" %> <%@ page import="org.apache.commons.lang3.time.DateFormatUtils" %>
<%@ page import="java.util.Date" %> <%@ page import="java.util.Date" %>
<%@ page import="org.apache.commons.lang3.StringUtils" %>
<%@ page import="java.util.stream.Collectors" %>
<jsp:useBean id="oneDayCharacter" scope="request" type="com.dookay.cihai.core.word.dto.OneCharacterDTO"/> <jsp:useBean id="oneDayCharacter" scope="request" type="com.dookay.cihai.core.word.dto.OneCharacterDTO"/>
<jsp:useBean id="recommendStatement" scope="request" type="com.dookay.cihai.core.word.dto.RecommendStatementDTO"/>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %> <%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
...@@ -11,7 +14,7 @@ ...@@ -11,7 +14,7 @@
<nav class="navbar navbar-default"> <nav class="navbar navbar-default">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
<a class="navbar-brand" href="index.html"> <a class="navbar-brand" href="/">
<img src="images/logo.png"> <img src="images/logo.png">
</a> </a>
</div> </div>
...@@ -48,7 +51,7 @@ ...@@ -48,7 +51,7 @@
<form class="navbar-form clearfix j_search_form" action="/home/search" method="GET"> <form class="navbar-form clearfix j_search_form" action="/home/search" method="GET">
<div class="logo-search"> <div class="logo-search">
<a> <a>
<img class="img-responsive" src="images/logo-search.png"> <img class="img-responsive" src="/images/logo-search.png">
</a> </a>
</div> </div>
<div class="search-main-input-wrapper"> <div class="search-main-input-wrapper">
...@@ -80,7 +83,7 @@ ...@@ -80,7 +83,7 @@
<div class="card-main"> <div class="card-main">
<div class="card-col card-character"> <div class="card-col card-character">
<div class="card-character-main"> <div class="card-character-main">
<a href="/word/${oneDayCharacter.word}">${oneDayCharacter.word}</a> <a href="/word/${oneDayCharacter.wordId}">${oneDayCharacter.word}</a>
<div class="card-character-voice"> <div class="card-character-voice">
<div class="icon icon-horn"></div> <div class="icon icon-horn"></div>
</div> </div>
...@@ -89,12 +92,14 @@ ...@@ -89,12 +92,14 @@
</div> </div>
</div> </div>
<div class="card-col card-word"> <div class="card-col card-word">
<div class="card-word-value">春节</div> <div class="card-word-value">${recommendStatement.word}</div>
<div class="card-word-content"> <div class="card-word-content">
<div class="card-word-desc">中国民间最隆重的传统节日。 <div class="card-word-desc">
<br>时间在每年夏历元旦,即正月初一。 <%=StringUtils.replace(recommendStatement.getDescription(), "\n", "<br>")%>
</div>
<div class="card-word-metas">
<%=StringUtils.join(recommendStatement.getRelatedStatement().stream().limit(4).collect(Collectors.toList()), " / ")%>
</div> </div>
<div class="card-word-metas">对联 / 福 / 中秋节 / 团圆节</div>
</div> </div>
<div class="card-word-share"> <div class="card-word-share">
<div class="icon icon-share"></div> <div class="icon icon-share"></div>
...@@ -130,11 +135,13 @@ ...@@ -130,11 +135,13 @@
<img src="images/calendar.png"> <img src="images/calendar.png">
<span class="next">后</span> <span class="next">后</span>
</div> </div>
<a href="/today">
<div class="card-history-list"> <div class="card-history-list">
<div class="card-history-item">2004年<%=DateFormatUtils.format(new Date(), "M月d日")%>人类第一次进行从彗星核中取样</div> <div class="card-history-item">2004年<%=DateFormatUtils.format(new Date(), "M月d日")%>人类第一次进行从彗星核中取样</div>
<div class="card-history-item">2001年<%=DateFormatUtils.format(new Date(), "M月d日")%>金门与厦门之间 两岸“小三通”首航</div> <div class="card-history-item">2001年<%=DateFormatUtils.format(new Date(), "M月d日")%>金门与厦门之间 两岸“小三通”首航</div>
<div class="card-history-item">1997年<%=DateFormatUtils.format(new Date(), "M月d日")%>科菲·安南正式就任联合国秘书长</div> <div class="card-history-item">1997年<%=DateFormatUtils.format(new Date(), "M月d日")%>科菲·安南正式就任联合国秘书长</div>
</div> </div>
</a>
</div> </div>
</div> </div>
</div> </div>
......
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:include page="/WEB-INF/jsp/include/header_search.jsp">
<jsp:param name="pageTitle" value="历史上的今天"/>
</jsp:include>
<div class="history-content text-center">
<img src="/images/history-01.jpg">
</div>
<footer class="footer-main">
<div class="container">
<p class="copyright">Copyright © 2006-2016 上海辞书出版社有限公司
<a class="beian" href="#" target="_blank">沪ICP备12009386号-3</a>
</p>
</div>
</footer>
<jsp:include page="/WEB-INF/jsp/include/footer.jsp"/>
...@@ -2,15 +2,5 @@ ...@@ -2,15 +2,5 @@
<%--添加此行消除额外空格--%> <%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %> <%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%> <%--添加此行消除额外空格--%>
<script src="js/plugins/jquery.min.js"></script>
<script src="js/vendor.js" merge="true"></script>
<script src="js/backend.js"></script>
<script src="js/layer/layer.js"></script>
<script src="js/plugins/validator/jquery.validator.js"></script>
<script>
$(function () {
backEndApp.init();
})
</script>
</body> </body>
</html> </html>
\ No newline at end of file \ No newline at end of file
...@@ -10,7 +10,18 @@ ...@@ -10,7 +10,18 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit"> <meta name="renderer" content="webkit">
<title>辞海-${param.pageTitle}</title> <title>辞海-${param.pageTitle}</title>
<link rel="stylesheet" href="css/vendor.css"> <link rel="stylesheet" href="/css/vendor.css">
<link rel="stylesheet" href="css/index.css"> <link rel="stylesheet" href="/css/index.css">
<script src="/js/plugins/jquery.min.js"></script>
<script src="/js/plugins/validator/jquery.validator.js"></script>
<script src="/js/common.js"></script>
<script src="/js/vendor.js" merge="true"></script>
<script src="/js/backend.js"></script>
<script src="/js/layer/layer.js"></script>
<script>
$(function () {
backEndApp.init();
})
</script>
</head> </head>
<body> <body>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%--添加此行消除额外空格--%>
<%@ page trimDirectiveWhitespaces="true" %>
<%--添加此行消除额外空格--%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
<title>辞海-${param.pageTitle}</title>
<link rel="stylesheet" href="/css/vendor.css">
<link rel="stylesheet" href="/css/index.css">
<script src="/js/plugins/jquery.min.js"></script>
<script src="/js/plugins/validator/jquery.validator.js"></script>
<script src="/js/common.js"></script>
<script src="/js/vendor.js" merge="true"></script>
<script src="/js/backend.js"></script>
<script src="/js/layer/layer.js"></script>
<script>
$(function () {
backEndApp.init();
$('.j_search_form').ajaxSubmitForm({
success: function ($form, data) {
if(data.code ==="OK"){
location.href = '/word/' + data.data.wordId;
}
else{
$.tip(data.message);
}
},
});
})
</script>
</head>
<body>
<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="/">
<img src="/images/logo.png">
</a>
</div>
<div class="navbar-collapse">
<form class="navbar-form clearfix j_search_form" method="GET" action="/home/search">
<div class="form-group input-group-lg">
<input class="form-control" type="text" placeholder="之云" name="keyword">
<%--<button class="btn navbar-search-camera" type="button">--%>
<%--<div class="icon icon-camera"></div>--%>
<%--</button>--%>
<%--<button class="btn navbar-search-microphone" type="button">--%>
<%--<div class="icon icon-microphone"></div>--%>
<%--</button>--%>
</div>
<button class="btn btn-inverse btn-lg" type="submit">进入词条</button>
<button class="btn btn-default btn-lg" type="submit">搜索词条</button>
<a class="btn btn-link btn-lg" type="button">搜索助手
<span class="icon icon-help"></span>
</a>
<div class="navbar-main-list">
<span class="icon icon-search-tag"></span>
<a href="#">语词</a>
<a href="#">哲学</a>
<a href="#">社会</a>
<a href="#">民族</a>
<a href="#">历史</a>
<a href="#">地理</a>
<a href="#">文学</a>
<a href="#">艺术</a>
<a href="#">生命</a>
<a href="#">农业</a>
<a href="#">医学</a>
<a href="#">科技</a>
</div>
</form>
<ul class="nav navbar-nav navbar-right">
<li>
<a class="btn btn-primary" href="#">登录</a>
</li>
<li>
<a class="btn btn-default" href="#">注册</a>
</li>
</ul>
</div>
</div>
</nav>
<%@ page import="com.alibaba.fastjson.JSON" %>
<%@ page import="com.dookay.cihai.pc.helper.HtmlHelper" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="relateWords" scope="request" type="java.util.List<com.dookay.cihai.core.word.domain.WordDomain>"/>
<jsp:useBean id="edition" scope="request" type="com.dookay.cihai.pc.controller.vo.EditionVO"/>
<jsp:useBean id="vo" scope="request" type="com.dookay.cihai.pc.controller.vo.CharacterBaikeVO"/>
<jsp:include page="/WEB-INF/jsp/include/header_search.jsp">
<jsp:param name="pageTitle" value="百科"/>
</jsp:include>
<div class="encyclopedia"
<c:choose>
<c:when test="${vo.images.size() > 0}">
style="background-image:url(${vo.images.get(0).file})"
</c:when>
<c:otherwise>
style="background-image:url(/images/word-bg-01.jpg)">
</c:otherwise>
</c:choose>
<div class="container">
<div class="content">
<div class="row">
<div class="col-xs-17">
<ul class="tab-nav">
<c:if test="${hasParaph}">
<li class="tab-nav-item">
<a href="/word/character/paraph/${vo.wordId}">语词</a>
</li>
</c:if>
<li class="tab-nav-item active">
<a href="javascript:;">百科</a>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-xs-17">
<main class="main">
<div class="word-detail">
<div class="head-intro clearfix">
<div class="word pull-left">${vo.word}</div>
<div class="voice-box pull-left">
<div class="voice clearfix">
<div class="pull-left py">
<c:forEach items="${vo.spell}" var="item">
【${item}】
</c:forEach>
</div>
<div class="icon" style="background-image:url(/icons/voice.png)"></div>
</div>
<%--<div class="sub-name">长鼻目象科哺乳动物</div>--%>
</div>
</div>
<div class="intro-box clearfix">
<c:forEach items="<%=HtmlHelper.baikeBreifToHtml(vo.getBrief())%>" var="item">
${item}
</c:forEach>
</div>
<c:if test="${vo.images.size() > 0}">
<div class="album-box js-album">
<div class="album">
<div class="pic" style="background-image:url(${vo.images.get(0).file})"></div>
</div>
<div class="sub-tip">${vo.word}图册(5)</div>
</div>
</c:if>
</div>
<div class="main__bd">
<ul class="main-tab js-tab clearfix">
<li class="main-tab-item active">
<a href="#tab1">释义</a>
</li>
<c:if test="${vo.videos.size() > 0}">
<li class="main-tab-item">
<a href="#tab2">视频
<span class="badge">${vo.videos.size()}</span>
</a>
</li>
</c:if>
<%--<li class="main-tab-item">--%>
<%--<a href="#tab3">音频</a>--%>
<%--</li>--%>
<%--<li class="main-tab-item">--%>
<%--<a href="#tab4">图谱</a>--%>
<%--</li>--%>
</ul>
<div class="tab-content">
<div class="tab-pane active paraphrase" id="tab1">
<article class="paraphrase-article">
<section class="paraphrase-section js-sec">
<c:forEach items="${vo.body}" var="item" varStatus="status">
<p class="paraphrase-p">${item}</p>
</c:forEach>
<a class="paraphrase-btn js-copy" href="#">复制</a>
</section>
</article>
</div>
<div class="tab-pane" id="tab2">
<div class="row list-img list-gallery">
<c:forEach items="${vo.videos}" var="item">
<figure class="col-xs-6">
<a href="/temp/xiang.jpg" data-size="202x146">
<video class="img-responsive" src="${item.file}">
</a>
</figure>
</c:forEach>
</div>
</div>
</div>
</div>
<div class="js-top"></div>
</main>
</div>
<div class="col-xs-7">
<aside class="aside">
<div class="statistics">
<div class="statistics-title title-base">词条统计</div>
<div class="statistics-content">
<div class="statistics-p">
<span class="statistics-label">主 编:</span>
<span class="statistics-value">${edition.mainEditor}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订者:</span>
<span class="statistics-value">${edition.reviser}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订记录:</span>
<span class="statistics-value">
<span class="text-lg">${edition.reviseCount}</span>次</span>
<a class="statistics-link" href="#">历史版本</a>
</div>
<div class="statistics-p">
<span class="statistics-label">浏览次数:</span>
<span class="statistics-value">
<span class="text-lg"><fmt:formatNumber value="${edition.viewCount}" type="number"/></span> 次</span>
</div>
</div>
</div>
<c:if test="${relateWords.size()>0}">
<div class="recommend">
<div class="recommend-title title-base">推荐词</div>
<div class="recommend-section">
<div class="recommend-section-title title-sm title-primary">${vo.word}</div>
<div class="recommend-cells">
<c:forEach items="${relateWords}" var="item">
<span class="recommend-cell">${item.word}</span>
</c:forEach>
</div>
</div>
</div>
</c:if>
<div class="aside-tag text-primary">标签:语词</div>
</aside>
</div>
</div>
</div>
</div>
</div>
<div class="album-alert">
<div class="album-swiper swiper-container">
<div class="swiper-wrapper">
<c:forEach items="${vo.images}" var="item">
<div class="swiper-slide">
<img src="${item.file}">
</div>
</c:forEach>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
<footer class="footer-main">
<div class="container">
<p class="copyright">Copyright © 2006-2016 上海辞书出版社有限公司
<a class="beian" href="#" target="_blank">沪ICP备12009386号-3</a>
</p>
</div>
</footer>
<script>
$(function () {
$('.js-album').click(function () {
layer.open({
type: 1,
title: false,
shadeClose: true,
shade: 0.6,
closeBtn: false,
area: false,
content: $('.album-alert')
});
var mySwiper = new Swiper('.album-swiper', {
loop: true,
pagination: '.swiper-pagination',
paginationClickable: true
});
});
// tab选项卡
$(".js-tab a").click(function (e) {
e.preventDefault()
$(this).tab('show')
})
// 显示起源
$(".js-origin").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
$("#collapse").slideToggle()
})
// layer
$(".js-calligraphy").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
if ($("#collapse").is(":visible")) $("#collapse").slideUp()
layer.open({
type: 1,
content: $("#calligraphy"),
area: ['900px'],
title: false,
btn: [],
cancel: function () {
$(".js-calligraphy").removeClass("active")
}
})
})
// 复制
var clipboard = new Clipboard(".js-copy")
$(".js-copy").click(function (e) {
e.preventDefault()
var parent = $(this).parents(".js-sec")
var text = parent.find(".paraphrase-title").text() + "\n" + parent.find(".paraphrase-p").text()
$(this).attr('data-clipboard-text', text)
})
// 相册查看
commonApp.photoSwipeFromDom('.list-gallery');
});
</script>
<jsp:include page="/WEB-INF/jsp/include/footer.jsp"/>
<%@ page import="com.dookay.cihai.pc.helper.HtmlHelper" %>
<%@ page import="com.google.common.collect.Lists" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="relateWords" scope="request" type="java.util.List<com.dookay.cihai.core.word.domain.WordDomain>"/>
<jsp:useBean id="edition" scope="request" type="com.dookay.cihai.pc.controller.vo.EditionVO"/>
<jsp:useBean id="vo" scope="request" type="com.dookay.cihai.pc.controller.vo.CharacterParaphVO"/>
<jsp:include page="/WEB-INF/jsp/include/header_search.jsp">
<jsp:param name="pageTitle" value="语词"/>
</jsp:include>
<%--<%=JSON.toJSONString(vo)%>--%>
<div class="container">
<div class="calligraphy" id="calligraphy">
<div class="calligraphy-title">
<div class="text">
<b>${vo.word}</b>的书法
</div>
</div>
<div class="calligraphy-main">
<section class="calligraphy-section">
<div class="calligraphy-section__hd">
<div class="title-base title-primary">【六体书法】</div>
</div>
<div class="calligraphy-section__bd">
<img src="/temp/calligraphy1.png">
</div>
</section>
<section class="calligraphy-section">
<div class="calligraphy-section__hd">
<div class="title-base title-primary">【楷书书法】</div>
</div>
<div class="calligraphy-section__bd">
<img src="/temp/calligraphy2.png">
</div>
</section>
<section class="calligraphy-section">
<div class="calligraphy-section__hd">
<div class="title-base title-primary">【行书书法】</div>
</div>
<div class="calligraphy-section__bd">
<img src="/temp/calligraphy3.png">
</div>
</section>
<section class="calligraphy-section">
<div class="calligraphy-section__hd">
<div class="title-base title-primary">【篆书书法】</div>
</div>
<div class="calligraphy-section__bd">
<img src="/temp/calligraphy4.png">
</div>
</section>
<section class="calligraphy-section">
<div class="calligraphy-section__hd">
<div class="title-base title-primary">【隶书书法】</div>
</div>
<div class="calligraphy-section__bd">
<img src="/temp/calligraphy5.png">
</div>
</section>
</div>
</div>
<div class="content">
<div class="row">
<div class="col-xs-17">
<ul class="tab-nav">
<li class="tab-nav-item active">
<a href="javascript:;">语词</a>
</li>
<c:if test="${hasBaike}">
<li class="tab-nav-item">
<a href="/word/character/baike/${vo.wordId}">百科</a>
</li>
</c:if>
</ul>
</div>
</div>
<div class="row">
<div class="col-xs-17">
<main class="main">
<div class="main__hd">
<div class="character">
<div class="clearfix">
<div class="character__hd">
<div class="character-huge">${vo.word}</div>
<div class="character-cells">
<div class="character-cell js-origin">字源</div>
<div class="character-cell js-calligraphy">书法</div>
</div>
</div>
<div class="character__bd">
<div class="character-spell">
<c:forEach items="${vo.spell}" var="item">
【${item}】
</c:forEach>
<div class="character-voice">
<div class="icon icon-voice"></div>
</div>
</div>
<div class="character-info clearfix">
<c:forEach items="<%=HtmlHelper.paraphBriefToHtml(vo.getBrief())%>" var="item">
${item}
</c:forEach>
</div>
</div>
</div>
<div class="collapse" id="collapse">
<div class="character-origin clearfix">
<div class="character-origin-item">
<div class="character-origin-image">
<img src="/temp/origin1.png">
</div>
<div class="character-origin-desc">甲骨文</div>
</div>
<div class="character-origin-item">
<div class="character-origin-image">
<img src="/temp/origin2.png">
</div>
<div class="character-origin-desc">金文</div>
</div>
<div class="character-origin-item">
<div class="character-origin-image">
<img src="/temp/origin3.png">
</div>
<div class="character-origin-desc">小篆</div>
</div>
<div class="character-origin-item">
<div class="character-origin-image">
<img src="/temp/origin4.png">
</div>
<div class="character-origin-desc">康熙字</div>
</div>
<div class="character-origin-item">
<div class="character-origin-image">
<img src="/temp/origin5.png">
</div>
<div class="character-origin-desc">楷体</div>
</div>
</div>
</div>
</div>
</div>
<div class="main__bd">
<ul class="main-tab js-tab clearfix">
<li class="main-tab-item active">
<a href="#tab1">释义</a>
</li>
<li class="main-tab-item">
<a href="#tab2">精简释义</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active paraphrase" id="tab1">
<article class="paraphrase-article">
<c:forEach items="${vo.body}" var="item" varStatus="status">
<section class="paraphrase-section js-sec">
<div class="paraphrase-title">
<span class="paraphrase-num">${status.index+1}.</span>${item.main}
</div>
<c:forEach items="${item.description}" var="d">
<p class="paraphrase-p">${d}</p>
</c:forEach>
<a class="paraphrase-btn js-copy" href="#">复制</a>
</section>
</c:forEach>
</article>
</div>
<div class="tab-pane paraphrase-simple" id="tab2">
<div class="paraphrase-simple-cells">
<div class="row">
<c:forEach items="<%=Lists.partition(vo.getBody(), 5)%>" var="group" varStatus="gStatus">
<div class="col-xs-12">
<c:forEach items="${group}" var="item" varStatus="iStatus">
<div class="paraphrase-simple-cell">
<div class="paraphrase-num">${gStatus.index*5+iStatus.index+1}.</div>
<div class="paraphrase-title">${item.main}</div>
</div>
</c:forEach>
</div>
</c:forEach>
</div>
</div>
</div>
</div>
</div>
<div class="js-top"></div>
</main>
</div>
<div class="col-xs-7">
<aside class="aside">
<div class="statistics">
<div class="statistics-title title-base">词条统计</div>
<div class="statistics-content">
<div class="statistics-p">
<span class="statistics-label">主 编:</span>
<span class="statistics-value">${edition.mainEditor}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订者:</span>
<span class="statistics-value">${edition.reviser}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订记录: </span>
<span class="statistics-value">
<span class="text-lg">${edition.reviseCount}</span>次</span>
<a class="statistics-link" href="#">历史版本</a>
</div>
<div class="statistics-p">
<span class="statistics-label">浏览次数: </span>
<span class="statistics-value">
<span class="text-lg"><fmt:formatNumber value="${edition.viewCount}" type="number"/></span> 次</span>
</div>
</div>
</div>
<c:if test="${relateWords.size()>0}">
<div class="recommend">
<div class="recommend-title title-base">推荐词</div>
<div class="recommend-section">
<div class="recommend-section-title title-sm title-primary">${vo.word}</div>
<div class="recommend-cells">
<c:forEach items="${relateWords}" var="item">
<span class="recommend-cell">${item.word}</span>
</c:forEach>
</div>
</div>
</div>
</c:if>
<div class="aside-tag text-primary">标签:语词</div>
</aside>
</div>
</div>
</div>
</div>
<footer class="footer-main">
<div class="container">
<p class="copyright">Copyright © 2006-2016 上海辞书出版社有限公司
<a class="beian" href="#" target="_blank">沪ICP备12009386号-3</a>
</p>
</div>
</footer>
<script>
// tab选项卡
$(".js-tab a").click(function (e) {
e.preventDefault()
$(this).tab('show')
})
// 显示起源
$(".js-origin").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
$("#collapse").slideToggle()
})
// layer
$(".js-calligraphy").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
if ($("#collapse").is(":visible")) $("#collapse").slideUp()
layer.open({
type: 1,
content: $("#calligraphy"),
area: ['900px'],
title: false,
btn: [],
cancel: function () {
$(".js-calligraphy").removeClass("active")
}
})
})
// 复制
var clipboard = new Clipboard(".js-copy")
$(".js-copy").click(function (e) {
e.preventDefault()
var parent = $(this).parents(".js-sec")
var text = parent.find(".paraphrase-title").text() + "\n" + parent.find(".paraphrase-p").text()
$(this).attr('data-clipboard-text', text)
})
</script>
<jsp:include page="/WEB-INF/jsp/include/footer.jsp"/>
<%@ page import="com.alibaba.fastjson.JSON" %>
<%@ page import="com.dookay.cihai.pc.helper.HtmlHelper" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="relateWords" scope="request" type="java.util.List<com.dookay.cihai.core.word.domain.WordDomain>"/>
<jsp:useBean id="edition" scope="request" type="com.dookay.cihai.pc.controller.vo.EditionVO"/>
<jsp:useBean id="vo" scope="request" type="com.dookay.cihai.pc.controller.vo.StatementBaikeVO"/>
<%--<%=JSON.toJSONString(vo)%>--%>
<jsp:include page="/WEB-INF/jsp/include/header_search.jsp">
<jsp:param name="pageTitle" value="百科"/>
</jsp:include>
<div class="encyclopedia"
<c:choose>
<c:when test="${vo.images.size() > 0}">
style="background-image:url(${vo.images.get(0).file})"
</c:when>
<c:otherwise>
style="background-image:url(/images/word-bg-01.jpg)">
</c:otherwise>
</c:choose>
<div class="container">
<div class="content">
<div class="row">
<div class="col-xs-17">
<ul class="tab-nav">
<c:if test="${hasParaph}">
<li class="tab-nav-item">
<a href="/word/statement/paraph/${vo.wordId}">语词</a>
</li>
</c:if>
<li class="tab-nav-item active">
<a href="javascript:;">百科</a>
</li>
</ul>
</div>
</div>
<div class="row">
<div class="col-xs-17">
<main class="main">
<div class="word-detail">
<div class="head-intro clearfix">
<div class="word pull-left">${vo.word}</div>
<div class="voice-box pull-left">
<div class="voice clearfix">
<div class="pull-left py">
<c:forEach items="${vo.spell}" var="item">
${item}
</c:forEach>
</div>
<div class="icon" style="background-image:url(/icons/voice.png)"></div>
</div>
<%--<div class="sub-name">长鼻目象科哺乳动物</div>--%>
</div>
</div>
<div class="intro-box clearfix">
<c:forEach items="<%=HtmlHelper.baikeBreifToHtml(vo.getBrief())%>" var="item">
${item}
</c:forEach>
</div>
<c:if test="${vo.images.size() > 0}">
<div class="album-box js-album">
<div class="album">
<div class="pic" style="background-image:url(${vo.images.get(0).file})"></div>
</div>
<div class="sub-tip">${vo.word}图册(5)</div>
</div>
</c:if>
</div>
<div class="main__bd">
<ul class="main-tab js-tab clearfix">
<li class="main-tab-item active">
<a href="#tab1">释义</a>
</li>
<c:if test="${vo.videos.size() > 0}">
<li class="main-tab-item">
<a href="#tab2">视频
<span class="badge">${vo.videos.size()}</span>
</a>
</li>
</c:if>
<%--<li class="main-tab-item">--%>
<%--<a href="#tab3">音频</a>--%>
<%--</li>--%>
<%--<li class="main-tab-item">--%>
<%--<a href="#tab4">图谱</a>--%>
<%--</li>--%>
</ul>
<div class="tab-content">
<div class="tab-pane active paraphrase" id="tab1">
<article class="paraphrase-article">
<section class="paraphrase-section js-sec">
<c:forEach items="${vo.body}" var="item" varStatus="status">
<p class="paraphrase-p">${item}</p>
</c:forEach>
<a class="paraphrase-btn js-copy" href="#">复制</a>
</section>
</article>
</div>
<div class="tab-pane" id="tab2">
<div class="row list-img list-gallery">
<c:forEach items="${vo.videos}" var="item">
<figure class="col-xs-6">
<a href="/temp/xiang.jpg" data-size="202x146">
<video class="img-responsive" src="${item.file}">
</a>
</figure>
</c:forEach>
</div>
</div>
</div>
</div>
<div class="js-top"></div>
</main>
</div>
<div class="col-xs-7">
<aside class="aside">
<div class="statistics">
<div class="statistics-title title-base">词条统计</div>
<div class="statistics-content">
<div class="statistics-p">
<span class="statistics-label">主 编:</span>
<span class="statistics-value">${edition.mainEditor}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订者:</span>
<span class="statistics-value">${edition.reviser}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订记录:</span>
<span class="statistics-value">
<span class="text-lg">${edition.reviseCount}</span>次</span>
<a class="statistics-link" href="#">历史版本</a>
</div>
<div class="statistics-p">
<span class="statistics-label">浏览次数:</span>
<span class="statistics-value">
<span class="text-lg"><fmt:formatNumber value="${edition.viewCount}" type="number"/></span> 次</span>
</div>
</div>
</div>
<c:if test="${relateWords.size()>0}">
<div class="recommend">
<div class="recommend-title title-base">推荐词</div>
<div class="recommend-section">
<div class="recommend-section-title title-sm title-primary">${vo.word}</div>
<div class="recommend-cells">
<c:forEach items="${relateWords}" var="item">
<span class="recommend-cell">${item.word}</span>
</c:forEach>
</div>
</div>
</div>
</c:if>
<div class="aside-tag text-primary">标签:语词</div>
</aside>
</div>
</div>
</div>
</div>
</div>
<div class="album-alert">
<div class="album-swiper swiper-container">
<div class="swiper-wrapper">
<c:forEach items="${vo.images}" var="item">
<div class="swiper-slide">
<img src="${item.file}">
</div>
</c:forEach>
</div>
<div class="swiper-pagination"></div>
</div>
</div>
<footer class="footer-main">
<div class="container">
<p class="copyright">Copyright © 2006-2016 上海辞书出版社有限公司
<a class="beian" href="#" target="_blank">沪ICP备12009386号-3</a>
</p>
</div>
</footer>
<script>
$(function () {
$('.js-album').click(function () {
layer.open({
type: 1,
title: false,
shadeClose: true,
shade: 0.6,
closeBtn: false,
area: false,
content: $('.album-alert')
});
var mySwiper = new Swiper('.album-swiper', {
loop: true,
pagination: '.swiper-pagination',
paginationClickable: true
});
});
// tab选项卡
$(".js-tab a").click(function (e) {
e.preventDefault()
$(this).tab('show')
})
// 显示起源
$(".js-origin").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
$("#collapse").slideToggle()
})
// layer
$(".js-calligraphy").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
if ($("#collapse").is(":visible")) $("#collapse").slideUp()
layer.open({
type: 1,
content: $("#calligraphy"),
area: ['900px'],
title: false,
btn: [],
cancel: function () {
$(".js-calligraphy").removeClass("active")
}
})
})
// 复制
var clipboard = new Clipboard(".js-copy")
$(".js-copy").click(function (e) {
e.preventDefault()
var parent = $(this).parents(".js-sec")
var text = parent.find(".paraphrase-title").text() + "\n" + parent.find(".paraphrase-p").text()
$(this).attr('data-clipboard-text', text)
})
// 相册查看
commonApp.photoSwipeFromDom('.list-gallery');
});
</script>
<jsp:include page="/WEB-INF/jsp/include/footer.jsp"/>
<%@ page import="com.dookay.cihai.pc.helper.HtmlHelper" %>
<%@ page import="com.google.common.collect.Lists" %>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<jsp:useBean id="relateWords" scope="request" type="java.util.List<com.dookay.cihai.core.word.domain.WordDomain>"/>
<jsp:useBean id="edition" scope="request" type="com.dookay.cihai.pc.controller.vo.EditionVO"/>
<jsp:useBean id="vo" scope="request" type="com.dookay.cihai.pc.controller.vo.StatementParaphVO"/>
<jsp:include page="/WEB-INF/jsp/include/header_search.jsp">
<jsp:param name="pageTitle" value="语词"/>
</jsp:include>
<div class="encyclopedia">
<div class="container">
<div class="content">
<div class="row">
<div class="col-xs-17">
<ul class="tab-nav">
<li class="tab-nav-item active">
<a href="javascript:;">语词</a>
</li>
<c:if test="${hasBaike}">
<li class="tab-nav-item">
<a href="/word/statement/baike/${vo.wordId}">百科</a>
</li>
</c:if>
</ul>
</div>
</div>
<div class="row">
<div class="col-xs-17">
<main class="main">
<div class="word-detail">
<div class="head-intro clearfix">
<div class="word pull-left">${vo.word}</div>
<div class="voice-box pull-left">
<div class="voice clearfix">
<div class="pull-left py">
<c:forEach items="${vo.spell}" var="item">
${item}
</c:forEach>
</div>
<div class="icon" style="background-image:url(/icons/voice.png)"></div>
</div>
<%--<div class="sub-name">长鼻目象科哺乳动物</div>--%>
</div>
</div>
<div class="intro-box clearfix">
<c:forEach items="<%=HtmlHelper.baikeBreifToHtml(vo.getBrief())%>" var="item">
${item}
</c:forEach>
</div>
<%--<c:if test="${vo.images.size() > 0}">--%>
<%--<div class="album-box js-album">--%>
<%--<div class="album">--%>
<%--<div class="pic" style="background-image:url(${vo.images.get(0).file})"></div>--%>
<%--</div>--%>
<%--<div class="sub-tip">${vo.word}图册(5)</div>--%>
<%--</div>--%>
<%--</c:if>--%>
</div>
<%--<div class="main__hd">--%>
<%--<div class="character">--%>
<%--<div class="clearfix">--%>
<%--<div class="character__hd">--%>
<%--<div class="character-huge">${vo.word}</div>--%>
<%--<div class="character-cells">--%>
<%--<div class="character-cell js-origin">字源</div>--%>
<%--<div class="character-cell js-calligraphy">书法</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="character__bd">--%>
<%--<div class="character-spell">--%>
<%--<c:forEach items="${vo.spell}" var="item">--%>
<%--【${item}】--%>
<%--</c:forEach>--%>
<%--<div class="character-voice">--%>
<%--<div class="icon icon-voice"></div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="character-info clearfix">--%>
<%--<c:forEach items="<%=HtmlHelper.paraphBriefToHtml(vo.getBrief())%>" var="item">--%>
<%--${item}--%>
<%--</c:forEach>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="collapse" id="collapse">--%>
<%--<div class="character-origin clearfix">--%>
<%--<div class="character-origin-item">--%>
<%--<div class="character-origin-image">--%>
<%--<img src="/temp/origin1.png">--%>
<%--</div>--%>
<%--<div class="character-origin-desc">甲骨文</div>--%>
<%--</div>--%>
<%--<div class="character-origin-item">--%>
<%--<div class="character-origin-image">--%>
<%--<img src="/temp/origin2.png">--%>
<%--</div>--%>
<%--<div class="character-origin-desc">金文</div>--%>
<%--</div>--%>
<%--<div class="character-origin-item">--%>
<%--<div class="character-origin-image">--%>
<%--<img src="/temp/origin3.png">--%>
<%--</div>--%>
<%--<div class="character-origin-desc">小篆</div>--%>
<%--</div>--%>
<%--<div class="character-origin-item">--%>
<%--<div class="character-origin-image">--%>
<%--<img src="/temp/origin4.png">--%>
<%--</div>--%>
<%--<div class="character-origin-desc">康熙字</div>--%>
<%--</div>--%>
<%--<div class="character-origin-item">--%>
<%--<div class="character-origin-image">--%>
<%--<img src="/temp/origin5.png">--%>
<%--</div>--%>
<%--<div class="character-origin-desc">楷体</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<div class="main__bd">
<ul class="main-tab js-tab clearfix">
<li class="main-tab-item active">
<a href="#tab1">释义</a>
</li>
<li class="main-tab-item">
<a href="#tab2">精简释义</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active paraphrase" id="tab1">
<article class="paraphrase-article">
<c:forEach items="${vo.body}" var="item" varStatus="status">
<section class="paraphrase-section js-sec">
<div class="paraphrase-title">
<span class="paraphrase-num">${status.index+1}.</span>${item.main}
</div>
<c:forEach items="${item.description}" var="d">
<p class="paraphrase-p">${d}</p>
</c:forEach>
<a class="paraphrase-btn js-copy" href="#">复制</a>
</section>
</c:forEach>
</article>
</div>
<div class="tab-pane paraphrase-simple" id="tab2">
<div class="paraphrase-simple-cells">
<div class="row">
<c:forEach items="<%=Lists.partition(vo.getBody(), 5)%>" var="group" varStatus="gStatus">
<div class="col-xs-12">
<c:forEach items="${group}" var="item" varStatus="iStatus">
<div class="paraphrase-simple-cell">
<div class="paraphrase-num">${gStatus.index*5+iStatus.index+1}.</div>
<div class="paraphrase-title">${item.main}</div>
</div>
</c:forEach>
</div>
</c:forEach>
</div>
</div>
</div>
</div>
</div>
<div class="js-top"></div>
</main>
</div>
<div class="col-xs-7">
<aside class="aside">
<div class="statistics">
<div class="statistics-title title-base">词条统计</div>
<div class="statistics-content">
<div class="statistics-p">
<span class="statistics-label">主 编:</span>
<span class="statistics-value">${edition.mainEditor}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订者:</span>
<span class="statistics-value">${edition.reviser}</span>
</div>
<div class="statistics-p">
<span class="statistics-label">修订记录: </span>
<span class="statistics-value">
<span class="text-lg">${edition.reviseCount}</span>次</span>
<a class="statistics-link" href="#">历史版本</a>
</div>
<div class="statistics-p">
<span class="statistics-label">浏览次数: </span>
<span class="statistics-value">
<span class="text-lg"><fmt:formatNumber value="${edition.viewCount}" type="number"/></span> 次</span>
</div>
</div>
</div>
<c:if test="${relateWords.size()>0}">
<div class="recommend">
<div class="recommend-title title-base">推荐词</div>
<div class="recommend-section">
<div class="recommend-section-title title-sm title-primary">${vo.word}</div>
<div class="recommend-cells">
<c:forEach items="${relateWords}" var="item">
<span class="recommend-cell">${item.word}</span>
</c:forEach>
</div>
</div>
</div>
</c:if>
<div class="aside-tag text-primary">标签:语词</div>
</aside>
</div>
</div>
</div>
</div>
</div>
<footer class="footer-main">
<div class="container">
<p class="copyright">Copyright © 2006-2016 上海辞书出版社有限公司
<a class="beian" href="#" target="_blank">沪ICP备12009386号-3</a>
</p>
</div>
</footer>
<script>
// tab选项卡
$(".js-tab a").click(function (e) {
e.preventDefault()
$(this).tab('show')
})
// 显示起源
$(".js-origin").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
$("#collapse").slideToggle()
})
// layer
$(".js-calligraphy").click(function () {
$(this).toggleClass("active").siblings().removeClass("active")
if ($("#collapse").is(":visible")) $("#collapse").slideUp()
layer.open({
type: 1,
content: $("#calligraphy"),
area: ['900px'],
title: false,
btn: [],
cancel: function () {
$(".js-calligraphy").removeClass("active")
}
})
})
// 复制
var clipboard = new Clipboard(".js-copy")
$(".js-copy").click(function (e) {
e.preventDefault()
var parent = $(this).parents(".js-sec")
var text = parent.find(".paraphrase-title").text() + "\n" + parent.find(".paraphrase-p").text()
$(this).attr('data-clipboard-text', text)
})
</script>
<jsp:include page="/WEB-INF/jsp/include/footer.jsp"/>
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
</div> </div>
</div> </div>
</nav> </nav>
<div class="encyclopedia" style="background-image:url(images/word-bg-01.jpg)"> <div class="encyclopedia" style="background-image:url(images/word-bg-01.jpg)">
<div class="container"> <div class="container">
<div class="content"> <div class="content">
...@@ -440,5 +441,6 @@ ...@@ -440,5 +441,6 @@
commonApp.photoSwipeFromDom('.list-gallery'); commonApp.photoSwipeFromDom('.list-gallery');
}); });
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!