Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
石磊
/
cihai
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit a7a252c4
authored
Jan 16, 2018
by
侯昆
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
页面整合完成
1 parent
3f8f3d18
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1328 additions
and
93 deletions
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/WordHtmlController.java
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/vo/RelateWordsVO.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/dto/OneCharacterDTO.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/dto/RecommendStatementDTO.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/dto/WordDTO.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/service/IWordRelationService.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/service/impl/WordRelationServiceImpl.java
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/service/impl/WordServiceImpl.java
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/controller/HomeController.java
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/controller/WordController.java
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/controller/vo/CharacterParaphVO.java
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/helper/HtmlHelper.java
serverside/cihai-pc/src/main/resources/application-dev.properties
serverside/cihai-pc/src/main/resources/application-production.properties
serverside/cihai-pc/src/main/resources/application-test.properties
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/home/index.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/home/today.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/include/footer.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/include/header.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/include/header_search.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/character_baike.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/character_paraph.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/statement_baike.jsp
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/statement_paraph.jsp
serverside/cihai-pc/src/main/webapp/static/2-3字-百科义.html
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/WordHtmlController.java
View file @
a7a252c
...
...
@@ -112,7 +112,7 @@ public class WordHtmlController extends BaseController {
@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
<
WordDomain
>
relateWords
=
wordRelationService
.
getRelateWord
s
(
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
);
...
...
serverside/cihai-app/src/main/java/com/dookay/cihai/app/controller/vo/RelateWordsVO.java
deleted
100644 → 0
View file @
3f8f3d1
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
;
}
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/dto/OneCharacterDTO.java
View file @
a7a252c
...
...
@@ -36,6 +36,9 @@ public class OneCharacterDTO {
private
String
description
;
public
static
OneCharacterDTO
fromDomain
(
WordDomain
word
)
{
if
(
word
==
null
)
{
return
null
;
}
String
description
=
""
;
String
baikeBrief
=
word
.
getBaikeBrief
();
int
i
=
StringUtils
.
indexOf
(
baikeBrief
,
'。'
);
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/dto/RecommendStatementDTO.java
View file @
a7a252c
...
...
@@ -40,10 +40,10 @@ public class RecommendStatementDTO {
public
static
RecommendStatementDTO
fromDomain
(
WordDomain
word
,
List
<
WordDomain
>
related
)
{
String
description
=
""
;
String
baike
Brief
=
word
.
getBaikeBrief
();
int
i
=
StringUtils
.
indexOf
(
baike
Brief
,
'。'
);
String
baike
Paraph
=
word
.
getBaikeParaphrase
();
int
i
=
StringUtils
.
indexOf
(
baike
Paraph
,
'。'
);
if
(
i
!=
-
1
)
{
description
=
StringUtils
.
substring
(
baike
Brief
,
0
,
i
+
1
);
description
=
StringUtils
.
substring
(
baike
Paraph
,
0
,
i
+
1
);
}
RecommendStatementDTO
dto
=
new
RecommendStatementDTO
();
dto
.
setWord
(
word
.
getWord
());
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/dto/WordDTO.java
View file @
a7a252c
...
...
@@ -61,7 +61,7 @@ public class WordDTO {
wordDTO
.
setType
(
type
);
wordDTO
.
setHasParaph
(!
StringUtils
.
isAllBlank
(
word
.
getBody
(),
word
.
getWordBrief
()));
wordDTO
.
setHasBaike
(!
StringUtils
.
isAllBlank
(
word
.
getBaikeBrief
(),
word
.
getBaikeParaphrase
()));
List
<
WordDomain
>
relateWord
=
wordRelationService
.
getRelateWord
(
word
.
getId
());
List
<
WordDomain
>
relateWord
=
wordRelationService
.
getRelateWord
s
(
word
.
getId
());
wordDTO
.
setHasRelated
(
CollectionUtils
.
isNotEmpty
(
relateWord
));
if
(
StringUtils
.
isNotEmpty
(
word
.
getBaikePhotos
()))
{
ImageModel
thumb
=
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/service/IWordRelationService.java
View file @
a7a252c
...
...
@@ -27,5 +27,5 @@ public interface IWordRelationService extends IBaseService<WordRelationDomain> {
* @author houkun
* @date 2018/1/11
*/
List
<
WordDomain
>
getRelateWord
(
Long
wordId
);
List
<
WordDomain
>
getRelateWord
s
(
Long
wordId
);
}
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/service/impl/WordRelationServiceImpl.java
View file @
a7a252c
...
...
@@ -58,7 +58,7 @@ public class WordRelationServiceImpl extends BaseServiceImpl<WordRelationDomain>
}
@Override
public
List
<
WordDomain
>
getRelateWord
(
Long
wordId
)
{
public
List
<
WordDomain
>
getRelateWord
s
(
Long
wordId
)
{
WordRelationQuery
q
=
new
WordRelationQuery
();
q
.
setWordId
(
wordId
);
WordRelationDomain
wordRelate
=
super
.
getFirst
(
q
);
...
...
serverside/cihai-core/src/main/java/com/dookay/cihai/core/word/service/impl/WordServiceImpl.java
View file @
a7a252c
...
...
@@ -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.RecommendStatementDTO
;
import
com.dookay.cihai.core.word.query.WordQuery
;
import
com.dookay.cihai.core.word.service.IWordRelationService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.context.annotation.Lazy
;
...
...
@@ -32,14 +33,18 @@ public class WordServiceImpl extends BaseServiceImpl<WordDomain> implements IWor
@Override
public
OneCharacterDTO
oneDayOnCharacter
()
{
WordDomain
wordDomain
=
wordMapper
.
selectWordLengthLessOrEquealThan
(
3
);
WordQuery
query
=
new
WordQuery
();
query
.
setWord
(
"象"
);
WordDomain
wordDomain
=
super
.
getFirst
(
query
);
return
OneCharacterDTO
.
fromDomain
(
wordDomain
);
}
@Override
public
RecommendStatementDTO
recomendStatement
()
{
WordDomain
wordDomain
=
wordMapper
.
selectWordLengthMoreThan
(
3
);
List
<
WordDomain
>
relateWord
=
wordRelationService
.
getRelateWord
(
wordDomain
.
getId
());
WordQuery
query
=
new
WordQuery
();
query
.
setWord
(
"鲁迅"
);
WordDomain
wordDomain
=
super
.
getFirst
(
query
);
List
<
WordDomain
>
relateWord
=
wordRelationService
.
getRelateWords
(
wordDomain
.
getId
());
return
RecommendStatementDTO
.
fromDomain
(
wordDomain
,
relateWord
);
}
}
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/controller/HomeController.java
View file @
a7a252c
...
...
@@ -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
;
}
}
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/controller/WordController.java
View file @
a7a252c
...
...
@@ -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.service.IWordRelationService
;
import
com.dookay.cihai.core.word.service.IWordService
;
import
com.dookay.cihai.pc.controller.vo.CharacterBaikeVO
;
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.cihai.pc.controller.vo.*
;
import
com.dookay.coral.common.core.exception.ServiceException
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
com.dookay.coral.common.web.controller.BaseController
;
...
...
@@ -34,7 +31,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.servlet.ModelAndView
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 词控制器
...
...
@@ -50,6 +46,7 @@ public class WordController extends BaseController {
@Autowired
private
IWordRelationService
wordRelationService
;
/**
* 词详情跳转页
*
...
...
@@ -94,7 +91,13 @@ public class WordController extends BaseController {
public
ModelAndView
characterParaph
(
@PathVariable
(
"id"
)
Long
id
)
{
WordDomain
character
=
wordService
.
get
(
id
);
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
(
"edition"
,
EditionVO
.
fromDomain
(
character
));
List
<
WordDomain
>
relateWords
=
wordRelationService
.
getRelateWords
(
character
.
getId
());
mv
.
addObject
(
"relateWords"
,
relateWords
);
return
mv
;
}
...
...
@@ -107,8 +110,14 @@ public class WordController extends BaseController {
@RequestMapping
(
value
=
"/character/baike/{id}"
,
method
=
RequestMethod
.
GET
)
public
ModelAndView
characterBaike
(
@PathVariable
(
"id"
)
Long
id
)
{
WordDomain
character
=
wordService
.
get
(
id
);
boolean
hasParaph
=
StringUtils
.
isNotBlank
(
character
.
getWordBrief
())
||
StringUtils
.
isNotBlank
(
character
.
getBody
());
ModelAndView
mv
=
new
ModelAndView
(
"/word/character_baike"
);
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
;
}
...
...
@@ -121,8 +130,14 @@ public class WordController extends BaseController {
@RequestMapping
(
value
=
"/statement/paraph/{id}"
,
method
=
RequestMethod
.
GET
)
public
ModelAndView
statementParaph
(
@PathVariable
(
"id"
)
Long
id
)
{
WordDomain
statement
=
wordService
.
get
(
id
);
boolean
hasBaike
=
StringUtils
.
isNotBlank
(
statement
.
getBaikeBrief
())
||
StringUtils
.
isNotBlank
(
statement
.
getBaikeParaphrase
());
ModelAndView
mv
=
new
ModelAndView
(
"/word/statement_paraph"
);
mv
.
addObject
(
"hasBaike"
,
hasBaike
);
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
;
}
...
...
@@ -135,26 +150,16 @@ public class WordController extends BaseController {
@RequestMapping
(
value
=
"/statement/baike/{id}"
,
method
=
RequestMethod
.
GET
)
public
ModelAndView
statementBaike
(
@PathVariable
(
"id"
)
Long
id
)
{
WordDomain
statement
=
wordService
.
get
(
id
);
boolean
hasParaph
=
StringUtils
.
isNotBlank
(
statement
.
getWordBrief
())
||
StringUtils
.
isNotBlank
(
statement
.
getBody
());
ModelAndView
mv
=
new
ModelAndView
(
"/word/statement_baike"
);
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
;
}
/**
* 相关词
*
* @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
;
}
}
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/controller/vo/CharacterParaphVO.java
View file @
a7a252c
...
...
@@ -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.pc.controller.dto.ParaphBodyDTO
;
import
com.dookay.coral.common.core.utils.lang.StringUtils
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Arrays
;
...
...
serverside/cihai-pc/src/main/java/com/dookay/cihai/pc/helper/HtmlHelper.java
0 → 100644
View file @
a7a252c
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
;
}
}
serverside/cihai-pc/src/main/resources/application-dev.properties
View file @
a7a252c
debug
=
false
# 数据库连接
spring.datasource.url
=
jdbc:mysql://192.168.2.2
4
:3306/cihai
spring.datasource.url
=
jdbc:mysql://192.168.2.2
8
:3306/cihai
spring.datasource.username
=
root
# 加密后的密码
spring.datasource.password
=
AmwpshLB35Fgazrs4rCfGlwNBZOTD34ezY/zS751V+7iSJHjr3tDNkpOfnW/y0fjFcMTNX0ycMt3KIUnDi8JYg==
...
...
serverside/cihai-pc/src/main/resources/application-production.properties
View file @
a7a252c
# 数据库连接
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.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.com.dookay.coral.common.core
=
info
...
...
serverside/cihai-pc/src/main/resources/application-test.properties
View file @
a7a252c
# 数据库连接
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.password
=
oeIOLg5LNEaK9BSQiwmjwdfkVksUrrt6kgBdEoONs3X4gZQN1TmweFerGfm8Jt+Cj94RxFumQ3N733MRlF4uoA
==
spring.datasource.password
=
AmwpshLB35Fgazrs4rCfGlwNBZOTD34ezY/zS751V+7iSJHjr3tDNkpOfnW/y0fjFcMTNX0ycMt3KIUnDi8JYg
==
# 加密时的公钥
public-
key
=
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAK
k6Fd6Bnc5NWXx5PSkdRwVxhG9WPGnvhQZJYtjy1+ug2ivEvwGValq0z3BDmA0uy3NBx9iOkPEWdGS24M6g3c
MCAwEAAQ==
public-
key
=
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAK
gof5ExfKmEZEjq+GuqEoHA8tkIftarLRzUDAxdQzJQtF57DF63gPJJkIZLcKa2t8jt5JC2SRdxERg1A/kx0B
MCAwEAAQ==
# 日志
logging.level.root
=
warn
...
...
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/home/index.jsp
View file @
a7a252c
<%@ page import="org.apache.commons.lang3.time.DateFormatUtils" %>
<%@ 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="recommendStatement" scope="request" type="com.dookay.cihai.core.word.dto.RecommendStatementDTO"/>
<%@ include file="/WEB-INF/jsp/include/taglib.jsp" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
...
...
@@ -11,7 +14,7 @@
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="
index.html
">
<a class="navbar-brand" href="
/
">
<img src="images/logo.png">
</a>
</div>
...
...
@@ -48,7 +51,7 @@
<form class="navbar-form clearfix j_search_form" action="/home/search" method="GET">
<div class="logo-search">
<a>
<img class="img-responsive" src="images/logo-search.png">
<img class="img-responsive" src="
/
images/logo-search.png">
</a>
</div>
<div class="search-main-input-wrapper">
...
...
@@ -80,7 +83,7 @@
<div class="card-main">
<div class="card-col card-character">
<div class="card-character-main">
<a href="/word/${oneDayCharacter.word}">${oneDayCharacter.word}</a>
<a href="/word/${oneDayCharacter.word
Id
}">${oneDayCharacter.word}</a>
<div class="card-character-voice">
<div class="icon icon-horn"></div>
</div>
...
...
@@ -89,12 +92,14 @@
</div>
</div>
<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-desc">中国民间最隆重的传统节日。
<br>时间在每年夏历元旦,即正月初一。
<div class="card-word-desc">
<%=StringUtils.replace(recommendStatement.getDescription(), "\n", "<br>")%>
</div>
<div class="card-word-metas">
<%=StringUtils.join(recommendStatement.getRelatedStatement().stream().limit(4).collect(Collectors.toList()), " / ")%>
</div>
<div class="card-word-metas">对联 / 福 / 中秋节 / 团圆节</div>
</div>
<div class="card-word-share">
<div class="icon icon-share"></div>
...
...
@@ -130,11 +135,13 @@
<img src="images/calendar.png">
<span class="next">后</span>
</div>
<a href="/today">
<div class="card-history-list">
<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">1997年<%=DateFormatUtils.format(new Date(), "M月d日")%>科菲·安南正式就任联合国秘书长</div>
</div>
</a>
</div>
</div>
</div>
...
...
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/home/today.jsp
0 → 100644
View file @
a7a252c
<%@ 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"/>
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/include/footer.jsp
View file @
a7a252c
...
...
@@ -2,15 +2,5 @@
<%--添加此行消除额外空格--%>
<%@ 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>
</html>
\ No newline at end of file
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/include/header.jsp
View file @
a7a252c
...
...
@@ -10,7 +10,18 @@
<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"
>
<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
();
})
</script>
</head>
<body>
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/include/header_search.jsp
0 → 100644
View file @
a7a252c
<
%@ 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>
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/character_baike.jsp
0 → 100644
View file @
a7a252c
<%@ 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"/>
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/character_paraph.jsp
0 → 100644
View file @
a7a252c
<%@ 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"/>
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/statement_baike.jsp
0 → 100644
View file @
a7a252c
<%@ 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"/>
serverside/cihai-pc/src/main/webapp/WEB-INF/jsp/word/statement_paraph.jsp
0 → 100644
View file @
a7a252c
<%@ 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"/>
serverside/cihai-pc/src/main/webapp/static/2-3字-百科义.html
View file @
a7a252c
...
...
@@ -58,6 +58,7 @@
</div>
</div>
</nav>
<div
class=
"encyclopedia"
style=
"background-image:url(images/word-bg-01.jpg)"
>
<div
class=
"container"
>
<div
class=
"content"
>
...
...
@@ -440,5 +441,6 @@
commonApp
.
photoSwipeFromDom
(
'.list-gallery'
);
});
</script>
</body>
</html>
\ No newline at end of file
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment