Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
MCMS
Commits
b03361cd
"src/main/webapp/vscode:/vscode.git/clone" did not exist on "11717c3b6eab9bb1f9634e8d1f0b7a41cadc7e8d"
Commit
b03361cd
authored
Dec 02, 2019
by
sgjj
Browse files
恢复标签
parent
765bfd55
Changes
14
Expand all
Hide whitespace changes
Inline
Side-by-side
src/main/java/net/mingsoft/cms/action/CategoryAction.java
View file @
b03361cd
...
...
@@ -102,6 +102,7 @@ public class CategoryAction extends BaseAction{
@RequestMapping
(
"/list"
)
@ResponseBody
public
ResultData
list
(
@ModelAttribute
@ApiIgnore
CategoryEntity
category
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
,
BindingResult
result
)
{
category
.
setAppId
(
BasicUtil
.
getAppId
());
BasicUtil
.
startPage
();
List
categoryList
=
categoryBiz
.
query
(
category
);
return
ResultData
.
build
().
success
(
new
EUListBean
(
categoryList
,(
int
)
BasicUtil
.
endPage
(
categoryList
).
getTotal
()));
...
...
@@ -131,6 +132,7 @@ public class CategoryAction extends BaseAction{
if
(
category
.
getId
()==
null
)
{
return
ResultData
.
build
().
error
();
}
category
.
setAppId
(
BasicUtil
.
getAppId
());
CategoryEntity
_category
=
(
CategoryEntity
)
categoryBiz
.
getEntity
(
Integer
.
parseInt
(
category
.
getId
()));
return
ResultData
.
build
().
success
(
_category
);
}
...
...
@@ -188,6 +190,7 @@ public class CategoryAction extends BaseAction{
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryParentId
()+
""
,
1
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.parent.id"
),
"1"
,
"100"
));
}
category
.
setAppId
(
BasicUtil
.
getAppId
());
categoryBiz
.
saveEntity
(
category
);
return
ResultData
.
build
().
success
(
category
);
}
...
...
@@ -262,6 +265,7 @@ public class CategoryAction extends BaseAction{
if
(!
StringUtil
.
checkLength
(
category
.
getCategoryParentId
()+
""
,
0
,
100
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"category.parent.id"
),
"1"
,
"100"
));
}
category
.
setAppId
(
BasicUtil
.
getAppId
());
categoryBiz
.
updateEntity
(
category
);
return
ResultData
.
build
().
success
(
category
);
}
...
...
src/main/java/net/mingsoft/cms/action/ContentAction.java
View file @
b03361cd
package
net.mingsoft.cms.action
;
import
java.util.List
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.Map
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.alibaba.fastjson.JSON
;
import
net.mingsoft.base.entity.ResultData
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.validation.BindingResult
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.ui.ModelMap
;
...
...
@@ -20,19 +13,15 @@ import org.springframework.stereotype.Controller;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
net.mingsoft.cms.biz.IContentBiz
;
import
net.mingsoft.cms.entity.ContentEntity
;
import
net.mingsoft.base.util.JSONObject
;
import
net.mingsoft.base.entity.BaseEntity
;
import
net.mingsoft.basic.util.BasicUtil
;
import
net.mingsoft.basic.util.StringUtil
;
import
net.mingsoft.base.filter.DateValueFilter
;
import
net.mingsoft.base.filter.DoubleValueFilter
;
import
net.mingsoft.basic.bean.EUListBean
;
import
net.mingsoft.basic.annotation.LogAnn
;
import
net.mingsoft.basic.constant.e.BusinessTypeEnum
;
...
...
@@ -105,6 +94,7 @@ public class ContentAction extends BaseAction{
@RequestMapping
(
"/list"
)
@ResponseBody
public
ResultData
list
(
@ModelAttribute
@ApiIgnore
ContentEntity
content
,
HttpServletResponse
response
,
HttpServletRequest
request
,
@ApiIgnore
ModelMap
model
,
BindingResult
result
)
{
content
.
setAppId
(
BasicUtil
.
getAppId
());
BasicUtil
.
startPage
();
List
contentList
=
contentBiz
.
query
(
content
);
return
ResultData
.
build
().
success
(
new
EUListBean
(
contentList
,(
int
)
BasicUtil
.
endPage
(
contentList
).
getTotal
()));
...
...
@@ -134,6 +124,7 @@ public class ContentAction extends BaseAction{
if
(
content
.
getId
()==
null
)
{
return
ResultData
.
build
().
error
();
}
content
.
setAppId
(
BasicUtil
.
getAppId
());
ContentEntity
_content
=
(
ContentEntity
)
contentBiz
.
getEntity
(
Integer
.
parseInt
(
content
.
getId
()));
return
ResultData
.
build
().
success
(
_content
);
}
...
...
@@ -191,6 +182,7 @@ public class ContentAction extends BaseAction{
if
(!
StringUtil
.
checkLength
(
content
.
getContentUrl
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.url"
),
"0"
,
"200"
));
}
content
.
setAppId
(
BasicUtil
.
getAppId
());
contentBiz
.
saveEntity
(
content
);
return
ResultData
.
build
().
success
(
content
);
}
...
...
@@ -265,6 +257,7 @@ public class ContentAction extends BaseAction{
if
(!
StringUtil
.
checkLength
(
content
.
getContentUrl
()+
""
,
0
,
200
)){
return
ResultData
.
build
().
error
(
getResString
(
"err.length"
,
this
.
getResString
(
"content.url"
),
"0"
,
"200"
));
}
content
.
setAppId
(
BasicUtil
.
getAppId
());
contentBiz
.
updateEntity
(
content
);
return
ResultData
.
build
().
success
(
content
);
}
...
...
src/main/java/net/mingsoft/cms/action/GeneraterAction.java
View file @
b03361cd
...
...
@@ -24,7 +24,6 @@ package net.mingsoft.cms.action;
import
java.io.File
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
...
...
@@ -32,6 +31,9 @@ import javax.servlet.http.HttpServletResponse;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
net.mingsoft.cms.biz.ICategoryBiz
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.shiro.authz.annotation.RequiresPermissions
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -42,13 +44,9 @@ import org.springframework.web.bind.annotation.PathVariable;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
com.alibaba.fastjson.JSONArray
;
import
net.mingsoft.basic.action.BaseAction
;
import
net.mingsoft.basic.biz.IColumnBiz
;
import
net.mingsoft.basic.biz.IModelBiz
;
import
net.mingsoft.basic.entity.AppEntity
;
import
net.mingsoft.basic.entity.CategoryEntity
;
import
net.mingsoft.basic.entity.ColumnEntity
;
import
net.mingsoft.cms.bean.ColumnArticleIdBean
;
import
net.mingsoft.cms.biz.IArticleBiz
;
import
net.mingsoft.cms.constant.ModelCode
;
...
...
@@ -84,7 +82,7 @@ public class GeneraterAction extends BaseAction {
* 栏目管理业务层
*/
@Autowired
private
IC
olumnBiz
column
Biz
;
private
IC
ategoryBiz
category
Biz
;
/**
* 模块管理业务层
...
...
@@ -155,40 +153,42 @@ public class GeneraterAction extends BaseAction {
* @param response
* @param columnId
*/
@RequestMapping
(
"/{
column
Id}/genernateColumn"
)
@RequestMapping
(
"/{
Category
Id}/genernateColumn"
)
@RequiresPermissions
(
"cms:generate:column"
)
@ResponseBody
public
void
genernateColumn
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
int
column
Id
)
{
public
void
genernateColumn
(
HttpServletRequest
request
,
HttpServletResponse
response
,
@PathVariable
String
Category
Id
)
{
// 获取站点id
AppEntity
app
=
BasicUtil
.
getApp
();
List
<
C
olumn
Entity
>
columns
=
new
ArrayList
<
C
olumn
Entity
>();
List
<
C
ategory
Entity
>
columns
=
new
ArrayList
<
C
ategory
Entity
>();
// 如果栏目id小于0则更新所有的栏目,否则只更新选中的栏目
int
modelId
=
BasicUtil
.
getModelCodeId
(
ModelCode
.
CMS_COLUMN
);
// 查询当前模块编号
if
(
columnId
>
0
)
{
List
<
CategoryEntity
>
categorys
=
columnBiz
.
queryChildrenCategory
(
columnId
,
app
.
getAppId
(),
modelId
);
for
(
CategoryEntity
c
:
categorys
)
{
columns
.
add
((
ColumnEntity
)
columnBiz
.
getEntity
(
c
.
getCategoryId
()));
}
if
(
StringUtils
.
isNotBlank
(
CategoryId
))
{
CategoryEntity
categoryEntity
=
new
CategoryEntity
();
categoryEntity
.
setId
(
CategoryId
);
categoryEntity
.
setAppId
(
app
.
getAppId
());
columns
=
categoryBiz
.
queryChilds
(
categoryEntity
);
}
else
{
// 获取所有的内容管理栏目
columns
=
columnBiz
.
queryAll
(
app
.
getAppId
(),
modelId
);
CategoryEntity
categoryEntity
=
new
CategoryEntity
();
categoryEntity
.
setAppId
(
app
.
getAppId
());
columns
=
categoryBiz
.
query
(
categoryEntity
);
}
List
<
ColumnArticleIdBean
>
articleIdList
=
null
;
try
{
// 1、设置模板文件夹路径
// 获取栏目列表模版
for
(
C
olumn
Entity
column
:
columns
)
{
for
(
C
ategory
Entity
column
:
columns
)
{
// 判断模板文件是否存在
if
(!
FileUtil
.
exist
(
ParserUtil
.
buildTempletPath
(
column
.
getC
olumn
Url
())))
{
if
(!
FileUtil
.
exist
(
ParserUtil
.
buildTempletPath
(
column
.
getC
ategory
Url
())))
{
continue
;
}
articleIdList
=
articleBiz
.
queryIdsByCategoryIdForParser
(
column
.
getCategoryId
(),
null
,
null
);
articleIdList
=
articleBiz
.
queryIdsByCategoryIdForParser
(
Integer
.
parseInt
(
column
.
getCategoryId
()
)
,
null
,
null
);
// 判断列表类型
switch
(
column
.
getColumnType
())
{
case
ColumnEntity
.
COLUMN_TYPE_LIST
:
// 列表
switch
(
column
.
getCategoryType
())
{
//TODO 暂时先用字符串代替
case
"1"
:
// 列表
CmsParserUtil
.
generateList
(
column
,
articleIdList
.
size
());
break
;
case
ColumnEntity
.
COLUMN_TYPE_COVER
:
// 单页
case
"2"
:
// 单页
if
(
articleIdList
.
size
()==
0
){
ColumnArticleIdBean
columnArticleIdBean
=
new
ColumnArticleIdBean
();
CopyOptions
copyOptions
=
CopyOptions
.
create
();
...
...
@@ -198,8 +198,6 @@ public class GeneraterAction extends BaseAction {
}
CmsParserUtil
.
generateBasic
(
articleIdList
);
break
;
default
:
throw
new
IllegalStateException
(
"Unexpected value: "
+
column
.
getColumnType
());
}
}
}
catch
(
IOException
e
)
{
...
...
src/main/java/net/mingsoft/cms/action/web/MCmsAction.java
View file @
b03361cd
...
...
@@ -196,7 +196,7 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
String
content
=
""
;
try
{
//根据模板路径,参数生成
content
=
CmsParserUtil
.
generate
(
columnArticles
.
get
(
0
).
getC
olumn
ListUrl
(),
map
,
isMobileDevice
(
req
));
content
=
CmsParserUtil
.
generate
(
columnArticles
.
get
(
0
).
getC
ategory
ListUrl
(),
map
,
isMobileDevice
(
req
));
}
catch
(
TemplateNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
MalformedTemplateNameException
e
)
{
...
...
@@ -251,20 +251,20 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
continue
;
}
// 文章的栏目路径
String
articleColumnPath
=
articleIdList
.
get
(
artId
).
getC
olumn
Path
();
String
articleColumnPath
=
articleIdList
.
get
(
artId
).
getC
ategory
Path
();
// 文章的栏目模型编号
in
t
columnContentModelId
=
articleIdList
.
get
(
artId
).
get
ColumnContent
ModelId
();
Str
in
g
columnContentModelId
=
articleIdList
.
get
(
artId
).
get
Mdiy
ModelId
();
Map
<
String
,
Object
>
parserParams
=
new
HashMap
<
String
,
Object
>();
parserParams
.
put
(
ParserUtil
.
COLUMN
,
articleIdList
.
get
(
artId
));
// 判断当前栏目是否有自定义模型
if
(
columnContentModelId
>
0
)
{
if
(
StringUtils
.
isNotBlank
(
columnContentModelId
)
)
{
// 通过当前栏目的模型编号获取,自定义模型表名
if
(
contentModelMap
.
containsKey
(
columnContentModelId
))
{
parserParams
.
put
(
ParserUtil
.
TABLE_NAME
,
contentModel
.
getCmTableName
());
}
else
{
// 通过栏目模型编号获取自定义模型实体
contentModel
=
(
ContentModelEntity
)
SpringUtil
.
getBean
(
IContentModelBiz
.
class
)
.
getEntity
(
columnContentModelId
);
.
getEntity
(
Integer
.
parseInt
(
columnContentModelId
)
)
;
// 将自定义模型编号设置为key值
contentModelMap
.
put
(
columnContentModelId
,
contentModel
.
getCmTableName
());
parserParams
.
put
(
ParserUtil
.
TABLE_NAME
,
contentModel
.
getCmTableName
());
...
...
src/main/java/net/mingsoft/cms/bean/ColumnArticleIdBean.java
View file @
b03361cd
...
...
@@ -22,13 +22,14 @@ The MIT License (MIT) * Copyright (c) 2016 铭飞科技(mingsoft.net)
package
net.mingsoft.cms.bean
;
import
net.mingsoft.basic.entity.ColumnEntity
;
import
net.mingsoft.cms.entity.CategoryEntity
;
/**
* 文章解析生成
* @author 铭飞开源团队
* @date 2018年12月13日
*/
public
class
ColumnArticleIdBean
extends
C
olumn
Entity
{
public
class
ColumnArticleIdBean
extends
C
ategory
Entity
{
/**
* 文章编号
*/
...
...
src/main/java/net/mingsoft/cms/biz/ICategoryBiz.java
View file @
b03361cd
package
net.mingsoft.cms.biz
;
import
net.mingsoft.base.biz.IBaseBiz
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
java.util.List
;
/**
...
...
@@ -11,4 +14,14 @@ import net.mingsoft.base.biz.IBaseBiz;
*/
public
interface
ICategoryBiz
extends
IBaseBiz
{
/**
* 查询当前分类下的所有子分类
* @param category
* @return
*/
List
<
CategoryEntity
>
queryChilds
(
CategoryEntity
category
);
int
saveEntity
(
CategoryEntity
entity
);
void
updateEntity
(
CategoryEntity
entity
);
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/biz/impl/CategoryBizImpl.java
View file @
b03361cd
...
...
@@ -21,12 +21,15 @@ The MIT License (MIT) * Copyright (c) 2019 铭飞科技
package
net.mingsoft.cms.biz.impl
;
import
net.mingsoft.base.entity.BaseEntity
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
net.mingsoft.base.biz.impl.BaseBizImpl
;
import
net.mingsoft.base.dao.IBaseDao
;
import
java.util.*
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
net.mingsoft.cms.biz.ICategoryBiz
;
import
net.mingsoft.cms.dao.ICategoryDao
;
...
...
@@ -48,5 +51,42 @@ public class CategoryBizImpl extends BaseBizImpl implements ICategoryBiz {
protected
IBaseDao
getDao
()
{
// TODO Auto-generated method stub
return
categoryDao
;
}
}
@Override
public
List
<
CategoryEntity
>
queryChilds
(
CategoryEntity
category
)
{
// TODO Auto-generated method stub
return
categoryDao
.
queryChildren
(
category
);
}
@Override
public
int
saveEntity
(
CategoryEntity
categoryEntity
)
{
// TODO Auto-generated method stub
setParentId
(
categoryEntity
);
return
super
.
saveEntity
(
categoryEntity
);
}
private
void
setParentId
(
CategoryEntity
categoryEntity
)
{
if
(
StringUtils
.
isNotEmpty
(
categoryEntity
.
getCategoryId
())&&
Integer
.
parseInt
(
categoryEntity
.
getCategoryId
())>
0
)
{
CategoryEntity
category
=
(
CategoryEntity
)
categoryDao
.
getEntity
(
Integer
.
parseInt
(
categoryEntity
.
getCategoryId
()));
if
(
StringUtils
.
isEmpty
(
category
.
getCategoryParentId
()))
{
categoryEntity
.
setCategoryParentId
(
categoryEntity
.
getCategoryId
());
}
else
{
categoryEntity
.
setCategoryParentId
(
category
.
getCategoryParentId
()+
","
+
categoryEntity
.
getCategoryParentId
());
}
}
}
@Override
public
void
updateEntity
(
CategoryEntity
entity
)
{
List
<
CategoryEntity
>
categoryEntities
=
queryChilds
(
entity
);
setParentId
(
entity
);
super
.
updateEntity
(
entity
);
categoryEntities
.
forEach
(
x
->{
setParentId
(
x
);
if
(!
x
.
getId
().
equals
(
entity
.
getId
())){
super
.
updateEntity
(
x
);
}
});
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/dao/ICategoryDao.java
View file @
b03361cd
...
...
@@ -2,7 +2,9 @@ package net.mingsoft.cms.dao;
import
net.mingsoft.base.dao.IBaseDao
;
import
java.util.*
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Component
;
/**
...
...
@@ -13,4 +15,12 @@ import org.springframework.stereotype.Component;
*/
@Component
(
"cmsCategoryDao"
)
public
interface
ICategoryDao
extends
IBaseDao
{
/**
* 查询当前分类下面的所有子分类
* @param category 必须存在categoryId categoryParentId
* @return
*/
public
List
<
net
.
mingsoft
.
cms
.
entity
.
CategoryEntity
>
queryChildren
(
CategoryEntity
category
);
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/dao/ICategoryDao.xml
View file @
b03361cd
...
...
@@ -90,7 +90,7 @@
update cms_category
<set>
<if
test=
"categoryTitle != null and categoryTitle != ''"
>
category_title=#{categoryTitle},
</if>
<if
test=
"categoryId != null and categoryId != ''"
>
category_id=#{categoryId},
</if>
category_id=#{categoryId},
<if
test=
"categoryType != null and categoryType != ''"
>
category_type=#{categoryType},
</if>
<if
test=
"categorySort != null"
>
category_sort=#{categorySort},
</if>
<if
test=
"categoryListUrl != null and categoryListUrl != ''"
>
category_list_url=#{categoryListUrl},
</if>
...
...
@@ -116,7 +116,7 @@
where id = #{id}
</update>
<!--根据id获取-->
<!--根据id获取-->
<select
id=
"getEntity"
resultMap=
"resultMap"
parameterType=
"int"
>
select * from cms_category where id=#{id}
</select>
...
...
@@ -151,6 +151,41 @@
</where>
limit 0,1
</select>
<sql
id=
"queryWhereCategoryId"
databaseId=
"mysql"
>
find_in_set('${id}',CATEGORY_PARENT_ID)
</sql>
<sql
id=
"queryWhereCategoryId"
databaseId=
"oracle"
>
instr(','||'${id}'||',', ','||CATEGORY_PARENT_ID||',')>0
</sql>
<sql
id=
"queryWhereCategoryId"
databaseId=
"sqlServer"
>
CHARINDEX(','+'${id}'+',' , ','+CATEGORY_PARENT_ID +',')>0
</sql>
<!-- 模糊查询开始 -->
<select
id=
"queryChildren"
resultMap=
"resultMap"
>
select * from cms_category
<where>
<if
test=
"appId > 0"
>
and app_id=#{appId}
</if>
<if
test=
"dictId > 0"
>
and dict_id=#{dictId}
</if>
and
(
<if
test=
"categoryParentId != null and categoryParentId!=''"
>
CATEGORY_PARENT_ID like '%${categoryParentId}%'
</if>
<if
test=
"categoryParentId == null or categoryParentId ==''"
>
<include
refid=
"queryWhereCategoryId"
></include>
</if>
<if
test=
"id != null"
>
or id=#{id}
</if>
)
and del=0
</where>
</select>
<!--删除-->
...
...
src/main/java/net/mingsoft/cms/dao/IContentDao.xml
View file @
b03361cd
...
...
@@ -18,7 +18,7 @@
<result
column=
"content_details"
property=
"contentDetails"
/>
<!--文章内容 -->
<result
column=
"content_url"
property=
"contentUrl"
/>
<!--文章跳转链接地址 -->
<result
column=
"content_hit"
property=
"contentHit"
/>
<!--点击次数 -->
<result
column=
"appid"
property=
"app
i
d"
/>
<!--文章管理的应用id -->
<result
column=
"app
_
id"
property=
"app
I
d"
/>
<!--文章管理的应用id -->
<result
column=
"create_by"
property=
"createBy"
/>
<!--创建人 -->
<result
column=
"create_date"
property=
"createDate"
/>
<!--创建时间 -->
<result
column=
"update_by"
property=
"updateBy"
/>
<!--修改人 -->
...
...
@@ -45,7 +45,7 @@
<if
test=
"contentDetails != null and contentDetails != ''"
>
content_details,
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
content_url,
</if>
<if
test=
"contentHit != null"
>
content_hit,
</if>
<if
test=
"app
i
d != null"
>
appid,
</if>
<if
test=
"app
I
d != null"
>
app
_
id,
</if>
<if
test=
"createBy > 0"
>
create_by,
</if>
<if
test=
"createDate != null"
>
create_date,
</if>
<if
test=
"updateBy > 0"
>
update_by,
</if>
...
...
@@ -67,7 +67,7 @@
<if
test=
"contentDetails != null and contentDetails != ''"
>
#{contentDetails},
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
#{contentUrl},
</if>
<if
test=
"contentHit != null"
>
#{contentHit},
</if>
<if
test=
"app
i
d != null"
>
#{app
i
d},
</if>
<if
test=
"app
I
d != null"
>
#{app
I
d},
</if>
<if
test=
"createBy > 0"
>
#{createBy},
</if>
<if
test=
"createDate != null"
>
#{createDate},
</if>
<if
test=
"updateBy > 0"
>
#{updateBy},
</if>
...
...
@@ -94,7 +94,7 @@
<if
test=
"contentDetails != null and contentDetails != ''"
>
content_details=#{contentDetails},
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
content_url=#{contentUrl},
</if>
<if
test=
"contentHit != null"
>
content_hit=#{contentHit},
</if>
<if
test=
"app
i
d != null"
>
appid=#{app
i
d},
</if>
<if
test=
"app
I
d != null"
>
app
_
id=#{app
I
d},
</if>
<if
test=
"createBy > 0"
>
create_by=#{createBy},
</if>
<if
test=
"createDate != null"
>
create_date=#{createDate},
</if>
<if
test=
"updateBy > 0"
>
update_by=#{updateBy},
</if>
...
...
@@ -127,7 +127,7 @@
<if
test=
"contentDetails != null and contentDetails != ''"
>
and content_details=#{contentDetails}
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
and content_url=#{contentUrl}
</if>
<if
test=
"contentHit != null"
>
and content_hit=#{contentHit}
</if>
<if
test=
"app
i
d != null"
>
and appid=#{app
i
d}
</if>
<if
test=
"app
I
d != null"
>
and app
_
id=#{app
I
d}
</if>
<if
test=
"createBy > 0"
>
and create_by=#{createBy}
</if>
<if
test=
"createDate != null"
>
and create_date=#{createDate}
</if>
<if
test=
"updateBy > 0"
>
and update_by=#{updateBy}
</if>
...
...
@@ -173,7 +173,7 @@
<if
test=
"contentDetails != null and contentDetails != ''"
>
and content_details=#{contentDetails}
</if>
<if
test=
"contentUrl != null and contentUrl != ''"
>
and content_url=#{contentUrl}
</if>
<if
test=
"contentHit != null"
>
and content_hit=#{contentHit}
</if>
<if
test=
"app
i
d != null"
>
and appid=#{app
i
d}
</if>
<if
test=
"app
I
d != null"
>
and app
_
id=#{app
I
d}
</if>
<if
test=
"createBy > 0"
>
and create_by=#{createBy}
</if>
<if
test=
"createDate != null"
>
and create_date=#{createDate}
</if>
<if
test=
"updateBy > 0"
>
and update_by=#{updateBy}
</if>
...
...
src/main/java/net/mingsoft/cms/entity/ContentEntity.java
View file @
b03361cd
...
...
@@ -73,7 +73,7 @@ private static final long serialVersionUID = 1574925152617L;
/**
* 文章管理的应用id
*/
private
Integer
app
i
d
;
private
Integer
app
I
d
;
/**
* 点击次数
*/
...
...
@@ -259,14 +259,14 @@ private static final long serialVersionUID = 1574925152617L;
/**
* 设置文章管理的应用id
*/
public
void
setApp
i
d
(
Integer
app
i
d
)
{
this
.
app
i
d
=
app
i
d
;
public
void
setApp
I
d
(
Integer
app
I
d
)
{
this
.
app
I
d
=
app
I
d
;
}
/**
* 获取文章管理的应用id
*/
public
Integer
getApp
i
d
()
{
return
this
.
app
i
d
;
public
Integer
getApp
I
d
()
{
return
this
.
app
I
d
;
}
}
\ No newline at end of file
src/main/java/net/mingsoft/cms/util/CmsParserUtil.java
View file @
b03361cd
...
...
@@ -22,11 +22,15 @@ import net.mingsoft.basic.util.BasicUtil;
import
net.mingsoft.basic.util.SpringUtil
;
import
net.mingsoft.cms.bean.ColumnArticleIdBean
;
import
net.mingsoft.cms.constant.e.ColumnTypeEnum
;
import
net.mingsoft.cms.entity.CategoryEntity
;
import
net.mingsoft.mdiy.bean.PageBean
;
import
net.mingsoft.mdiy.biz.IContentModelBiz
;
import
net.mingsoft.mdiy.biz.impl.ModelBizImpl
;
import
net.mingsoft.mdiy.entity.ContentModelEntity
;
import
net.mingsoft.mdiy.entity.ModelEntity
;
import
net.mingsoft.mdiy.parser.TagParser
;
import
net.mingsoft.mdiy.util.ParserUtil
;
import
org.apache.commons.lang3.StringUtils
;
public
class
CmsParserUtil
extends
ParserUtil
{
...
...
@@ -42,9 +46,8 @@ public class CmsParserUtil extends ParserUtil {
public
static
void
generate
(
String
templatePath
,
String
targetPath
)
throws
IOException
{
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
IS_DO
,
false
);
C
olumn
Entity
column
=
new
C
olumn
Entity
();
C
ategory
Entity
column
=
new
C
ategory
Entity
();
//内容管理栏目编码
column
.
setCategoryModelId
(
BasicUtil
.
getModelCodeId
(
"02990000"
));
map
.
put
(
COLUMN
,
column
);
String
content
=
CmsParserUtil
.
generate
(
templatePath
,
map
,
false
);
FileUtil
.
writeString
(
content
,
ParserUtil
.
buildHtmlPath
(
targetPath
),
Const
.
UTF8
);
...
...
@@ -67,7 +70,7 @@ public class CmsParserUtil extends ParserUtil {
* @throws ParseException
* @throws IOException
*/
public
static
void
generateList
(
C
olumn
Entity
column
,
int
articleIdTotal
)
public
static
void
generateList
(
C
ategory
Entity
column
,
int
articleIdTotal
)
throws
TemplateNotFoundException
,
MalformedTemplateNameException
,
ParseException
,
IOException
{
// 只初始化一次cfg
if
(
ftl
==
null
)
{
...
...
@@ -76,12 +79,12 @@ public class CmsParserUtil extends ParserUtil {
}
// 移动端模板
Template
mobileTemplate
=
cfg
.
getTemplate
(
BasicUtil
.
getApp
().
getAppMobileStyle
()
+
File
.
separator
+
column
.
getC
olumn
ListUrl
(),
Const
.
UTF8
);
BasicUtil
.
getApp
().
getAppMobileStyle
()
+
File
.
separator
+
column
.
getC
ategory
ListUrl
(),
Const
.
UTF8
);
// pc端模板
Template
template
=
cfg
.
getTemplate
(
File
.
separator
+
column
.
getC
olumn
ListUrl
(),
Const
.
UTF8
);
Template
template
=
cfg
.
getTemplate
(
File
.
separator
+
column
.
getC
ategory
ListUrl
(),
Const
.
UTF8
);
// 文章的栏目模型编号
in
t
columnContentModelId
=
column
.
get
ColumnContent
ModelId
();
Str
in
g
columnContentModelId
=
column
.
get
Mdiy
ModelId
();
StringWriter
writer
=
new
StringWriter
();
try
{
// 为了分页添加column,判断栏目是否为父栏目
...
...
@@ -94,11 +97,11 @@ public class CmsParserUtil extends ParserUtil {
String
columnListPath
;
String
mobilePath
;
Content
ModelEntity
contentModel
=
null
;
ModelEntity
contentModel
=
null
;
// 判断当前栏目是否有自定义模型
if
(
columnContentModelId
>
0
)
{
if
(
StringUtils
.
isNotBlank
(
columnContentModelId
)
)
{
// 通过栏目模型编号获取自定义模型实体
contentModel
=
(
Content
ModelEntity
)
SpringUtil
.
getBean
(
IContent
ModelBiz
.
class
).
getEntity
(
columnContentModelId
);
contentModel
=
(
ModelEntity
)
SpringUtil
.
getBean
(
ModelBiz
Impl
.
class
).
getEntity
(
Integer
.
parseInt
(
columnContentModelId
)
)
;
}
int
pageNo
=
1
;
PageBean
page
=
new
PageBean
();
...
...
@@ -112,7 +115,7 @@ public class CmsParserUtil extends ParserUtil {
parserParams
.
put
(
APP_ID
,
BasicUtil
.
getAppId
());
if
(
contentModel
!=
null
)
{
// 将自定义模型编号设置为key值
parserParams
.
put
(
TABLE_NAME
,
contentModel
.
get
Cm
TableName
());
parserParams
.
put
(
TABLE_NAME
,
contentModel
.
get
Model
TableName
());
}
//如果单站点,就废弃站点地址
if
(
ParserUtil
.
IS_SINGLE
)
{
...
...
@@ -123,15 +126,15 @@ public class CmsParserUtil extends ParserUtil {
if
(
totalPageSize
<=
0
)
{
// 数据库中第一页是从开始0*size
// 首页路径index.html
mobilePath
=
ParserUtil
.
buildMobileHtmlPath
(
column
.
getC
olumn
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
columnListPath
=
ParserUtil
.
buildHtmlPath
(
column
.
getC
olumn
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
mobilePath
=
ParserUtil
.
buildMobileHtmlPath
(
column
.
getC
ategory
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
columnListPath
=
ParserUtil
.
buildHtmlPath
(
column
.
getC
ategory
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
// 设置分页的起始位置
page
.
setPageNo
(
pageNo
);
parserParams
.
put
(
ParserUtil
.
PAGE
,
page
);
TagParser
tag
=
new
TagParser
(
content
,
parserParams
);
FileUtil
.
writeString
(
tag
.
rendering
(),
columnListPath
,
Const
.
UTF8
);
// 判断是手机端生成还是pc端,防止重复生成
if
(
ParserUtil
.
hasMobileFile
(
column
.
getC
olumn
ListUrl
()))
{
if
(
ParserUtil
.
hasMobileFile
(
column
.
getC
ategory
ListUrl
()))
{
writer
=
new
StringWriter
();
mobileTemplate
.
process
(
null
,
writer
);
tag
=
new
TagParser
(
writer
.
toString
(),
parserParams
);
...
...
@@ -146,15 +149,15 @@ public class CmsParserUtil extends ParserUtil {
// 数据库中第一页是从开始0*size
// 首页路径index.html
mobilePath
=
ParserUtil
.
buildMobileHtmlPath
(
column
.
getC
olumn
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
.
buildMobileHtmlPath
(
column
.
getC
ategory
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
columnListPath
=
ParserUtil
.
buildHtmlPath
(
column
.
getC
olumn
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
.
buildHtmlPath
(
column
.
getC
ategory
Path
()
+
File
.
separator
+
ParserUtil
.
INDEX
);
}
else
{
// 其他路径list-2.html
mobilePath
=
ParserUtil
.
buildMobileHtmlPath
(
column
.
getC
olumn
Path
()
+
File
.
separator
+
ParserUtil
.
PAGE_LIST
+
pageNo
);
column
.
getC
ategory
Path
()
+
File
.
separator
+
ParserUtil
.
PAGE_LIST
+
pageNo
);
columnListPath
=
ParserUtil
.
buildHtmlPath
(
column
.
getC
olumn
Path
()
+
File
.
separator
+
ParserUtil
.
PAGE_LIST
+
pageNo
);
.
buildHtmlPath
(
column
.
getC
ategory
Path
()
+
File
.
separator
+
ParserUtil
.
PAGE_LIST
+
pageNo
);
}
// 设置分页的起始位置
page
.
setPageNo
(
pageNo
);
...
...
@@ -162,7 +165,7 @@ public class CmsParserUtil extends ParserUtil {
TagParser
tag
=
new
TagParser
(
content
,
parserParams
);
FileUtil
.
writeString
(
tag
.
rendering
(),
columnListPath
,
Const
.
UTF8
);
// 判断是手机端生成还是pc端,防止重复生成
if
(
ParserUtil
.
hasMobileFile
(
column
.
getC
olumn
ListUrl
()))
{
if
(
ParserUtil
.
hasMobileFile
(
column
.
getC
ategory
ListUrl
()))
{
writer
=
new
StringWriter
();
mobileTemplate
.
process
(
null
,
writer
);
tag
=
new
TagParser
(
writer
.
toString
(),
parserParams
);
...
...
@@ -204,11 +207,11 @@ public class CmsParserUtil extends ParserUtil {
// 文章编号
int
articleId
=
articleIdList
.
get
(
artId
).
getArticleId
();
// 文章的栏目路径
String
articleColumnPath
=
articleIdList
.
get
(
artId
).
getC
olumn
Path
();
String
articleColumnPath
=
articleIdList
.
get
(
artId
).
getC
ategory
Path
();
// 文章的模板路径
String
columnUrl
=
articleIdList
.
get
(
artId
).
getC
olumn
Url
();
String
columnUrl
=
articleIdList
.
get
(
artId
).
getC
ategory
Url
();
// 文章的栏目模型编号
in
t
columnContentModelId
=
articleIdList
.
get
(
artId
).
get
ColumnContent
ModelId
();
Str
in
g
columnContentModelId
=
articleIdList
.
get
(
artId
).
get
Mdiy
ModelId
();
// 文章是否已经生成了,生成了就跳过
if
(
generateIds
.
contains
(
articleId
))
{
artId
++;
...
...
@@ -225,20 +228,20 @@ public class CmsParserUtil extends ParserUtil {
// 组合文章路径如:html/站点id/栏目id/文章id.html
writePath
=
ParserUtil
.
buildHtmlPath
(
articleColumnPath
+
File
.
separator
+
articleId
);
//如果是封面就生成index.html
if
(
articleIdList
.
get
(
artId
).
getC
olumn
Type
()
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
if
(
Integer
.
parseInt
(
articleIdList
.
get
(
artId
).
getC
ategory
Type
()
)
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
writePath
=
ParserUtil
.
buildHtmlPath
(
articleColumnPath
+
File
.
separator
+
ParserUtil
.
INDEX
);
}
Map
<
String
,
Object
>
parserParams
=
new
HashMap
<
String
,
Object
>();
parserParams
.
put
(
ParserUtil
.
COLUMN
,
articleIdList
.
get
(
artId
));
// 判断当前栏目是否有自定义模型
if
(
columnContentModelId
>
0
)
{
if
(
StringUtils
.
isNotBlank
(
columnContentModelId
)
)
{
// 通过当前栏目的模型编号获取,自定义模型表名
if
(
contentModelMap
.
containsKey
(
columnContentModelId
))
{
parserParams
.
put
(
TABLE_NAME
,
contentModel
.
getCmTableName
());
}
else
{
// 通过栏目模型编号获取自定义模型实体
contentModel
=
(
ContentModelEntity
)
SpringUtil
.
getBean
(
IContentModelBiz
.
class
)
.
getEntity
(
columnContentModelId
);
.
getEntity
(
Integer
.
parseInt
(
columnContentModelId
)
)
;
// 将自定义模型编号设置为key值
contentModelMap
.
put
(
columnContentModelId
,
contentModel
.
getCmTableName
());
parserParams
.
put
(
TABLE_NAME
,
contentModel
.
getCmTableName
());
...
...
@@ -265,13 +268,13 @@ public class CmsParserUtil extends ParserUtil {
parserParams
.
put
(
IS_DO
,
false
);
parserParams
.
put
(
ParserUtil
.
PAGE
,
page
);
String
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
artId
).
getC
olumn
Url
(),
parserParams
,
false
);
String
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
artId
).
getC
ategory
Url
(),
parserParams
,
false
);
FileUtil
.
writeString
(
content
,
writePath
,
Const
.
UTF8
);
// 手机端
if
(
ParserUtil
.
hasMobileFile
(
columnUrl
))
{
writePath
=
ParserUtil
.
buildMobileHtmlPath
(
articleColumnPath
+
File
.
separator
+
articleId
);
//如果是封面就生成index.html
if
(
articleIdList
.
get
(
artId
).
getC
olumn
Type
()
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
if
(
Integer
.
parseInt
(
articleIdList
.
get
(
artId
).
getC
ategory
Type
()
)
==
ColumnTypeEnum
.
COLUMN_TYPE_COVER
.
toInt
())
{
writePath
=
ParserUtil
.
buildMobileHtmlPath
(
articleColumnPath
+
File
.
separator
+
ParserUtil
.
INDEX
);
}
// 判断文件是否存在,若不存在弹出返回信息
...
...
@@ -280,7 +283,7 @@ public class CmsParserUtil extends ParserUtil {
continue
;
}
parserParams
.
put
(
MOBILE
,
BasicUtil
.
getApp
().
getAppMobileStyle
());
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
artId
).
getC
olumn
Url
(),
parserParams
,
true
);
content
=
CmsParserUtil
.
generate
(
articleIdList
.
get
(
artId
).
getC
ategory
Url
(),
parserParams
,
true
);
FileUtil
.
writeString
(
content
,
writePath
,
Const
.
UTF8
);
}
artId
++;
...
...
src/main/webapp/static/plugins/tree-select/tree.js
View file @
b03361cd
This diff is collapsed.
Click to expand it.
src/main/webapp/templets/1/default/index.htm
View file @
b03361cd
<!DOCTYPE html>
<html>
<head>
<
#include
"
head-file.htm
"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"{ms:global.host/}/plugins/bootstrap/3.3.5/css/bootstrap.min.css"
>
<script
type=
"text/javascript"
src=
"{ms:global.host/}/plugins/bootstrap/3.3.5/js/bootstrap.min.js"
></script>
<script>
var
ms
=
{
base
:
"
http://store.mingsoft.net
"
}
</script>
<script
src=
"http://store.mingsoft.net/api/ms.web.mstore.js"
></script>
</head>
<body>
<
#include
"
head.htm
"
>
<!-- <div class="ms-banner">
<img src="./images/banner.jpg">
</div> -->
<div
id=
"indexVue"
>
<div
id=
"banner_tabs"
class=
"flexslider"
>
<ul
class=
"slides"
>
<template
v-for=
"banner in bannerList"
>
<li
style=
"background:url({ms:global.host/}/{ms:global.style/}/images/03.jpg) no-repeat center;"
>
<p
class=
"banner_tit animated fadeInLeft"
>
铭飞MS平台
</p>
<p
class=
"banner_des animated fadeInRight"
>
MCms系统永久完整开源
</p>
</li>
<li
style=
"background:url({ms:global.host/}/{ms:global.style/}/images/03.jpg) no-repeat center;"
>
<p
class=
"banner_tit animated fadeInLeft"
>
MStore
</p>
<p
class=
"banner_des animated fadeInRight"
>
丰富强大的功能插件、海量精美的行业模板
</p>
</li>
<li
style=
"background:url({ms:global.host/}/{ms:global.style/}/images/03.jpg) no-repeat center;"
>
<p
class=
"banner_tit animated fadeInLeft"
>
优质的服务体验
</p>
<p
class=
"banner_des animated fadeInRight"
>
人工远程协助服务、永久享受更新升级
</p>
</li>
</template>
</ul>
<ul
class=
"flex-direction-nav"
>
<li>
<a
class=
"flex-prev"
href=
"javascript:;"
>
Previous
</a>
</li>
<li>
<a
class=
"flex-next"
href=
"javascript:;"
>
Next
</a>
</li>
</ul>
</div>
<div
class=
"ms-content-index"
>
<div
class=
"ms-content-template"
>
<div>
<ul
class=
"nav nav-tabs ms-index-tabs"
role=
"tablist"
>
<li
role=
"presentation"
class=
"active"
>
<a
href=
"#model"
aria-controls=
"model"
role=
"tab"
data-toggle=
"tab"
>
模板
</a>
</li>
<li
role=
"presentation"
>
<a
href=
"#plug"
aria-controls=
"plug"
role=
"tab"
data-toggle=
"tab"
>
插件
</a>
</li>
</ul>
<div
class=
"ms-content-all"
>
<div
class=
"tab-content"
>
<div
role=
"tabpanel"
class=
"tab-pane active"
id=
"model"
>
<div
style=
"display: none;"
class=
"ms-loading"
v-show=
"!loading"
>
<img
src=
"{ms:global.host/}/{ms:global.style/}/images/loading.gif"
/>
</div>
<div
class=
"ms-model-content"
style=
"display: none;"
v-show=
"loading"
>
<template
v-for=
"model in modelList"
>
<div
class=
"ms-model-list"
>
<a
class=
"ms-model-img"
:href=
"model.upgraderVersionUrl"
target=
"_blank"
>
<img
@
mouseout=
"imgMout()"
@
mouseover=
"imgMover()"
:src=
"'http://store.mingsoft.net/'+model.upgraderVersionImg"
onerror=
"this.src='{ms:global.host/}/{ms:global.style/}/images/no-data.png'"
/>
</a>
<div
class=
"ms-model-mobile-img"
v-if=
"model.upgraderVersionMobileImg != '' && model.upgraderVersionMobileImg != undefined"
style=
"background: url({ms:global.host/}/{ms:global.style/}/images/mobile.png)"
>
<div>
<img
@
mouseout=
"imgMout()"
@
mouseover=
"imgMover()"
:src=
"'http://store.mingsoft.net/'+model.upgraderVersionMobileImg"
onerror=
"this.src='{ms:global.host/}/{ms:global.style/}/images/no-data.png'"
/>
</div>
</div>
<div
class=
"ms-model-info"
>
<span
v-text=
"model.upgraderVersionName"
></span>
<img
class=
"ms-model-info-img"
:src=
"model.upgraderVersionPeopleIcon"
onerror=
"this.src='http://cdn.mingsoft.net/global/images/msheader.png'"
/>
<img
:src=
"'{ms:global.host/}/{ms:global.style/}/images/level-'+model.upgraderVersionStart+'.png'"
/>
<div
class=
"ms-model-type"
>
模板
</div>
</div>
</div>
</template>
<div
class=
"ms-model-list"
style=
"display: none;"
v-show=
"loading"
>
<div
class=
"ms-model-more"
>
<div
onclick=
"window.open('http://store.mingsoft.net/mstoreShow.do')"
>
查看更多
</div>
</div>
</div>
</div>
</div>
<div
role=
"tabpanel"
class=
"tab-pane"
id=
"plug"
>
<div
class=
"ms-model-content"
style=
"display: none;"
v-show=
"loading"
>
<template
v-for=
"pulg in pulgList"
>
<div
class=
"ms-model-list"
>
<a
class=
"ms-model-img"
:href=
"pulg.upgraderVersionUrl"
target=
"_blank"
>
<img
:src=
"'http://store.mingsoft.net/'+pulg.upgraderVersionImg"
onerror=
"this.src='{ms:global.host/}/{ms:global.style/}/images/no-data.png'"
/>
</a>
<div
class=
"ms-model-info"
>
<span
v-text=
"pulg.upgraderVersionName"
></span>
<img
class=
"ms-model-info-img"
:src=
"pulg.upgraderVersionPeopleIcon"
onerror=
"this.src='http://cdn.mingsoft.net/global/images/msheader.png'"
/>
<img
:src=
"'{ms:global.host/}/{ms:global.style/}/images/level-'+pulg.upgraderVersionStart+'.png'"
/>
<div
class=
"ms-model-type"
>
插件
</div>
</div>
</div>
</template>
<div
class=
"ms-model-list"
style=
"display: none;"
v-show=
"loading"
>
<div
class=
"ms-model-more"
>
<div
onclick=
"window.open('http://store.mingsoft.net/mstoreShow.do')"
>
查看更多
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"ms-content-case"
>
<div
class=
"ms-content-case-mian"
>
<div
class=
"ms-content-case-title"
>
<div
class=
"ms-content-case-title-words"
>
网站案例
</div>
<div
class=
"ms-content-case-more"
>
<a
href=
'{ms:global.url/}/149/index.html'
>
MORE>>
</a>
</div>
</div>
<div
class=
"ms-content-case-list"
>
{ms:arclist typeid=149 size=6}
<div
class=
"ms-content-main-case"
>
<div
class=
"ms-content-main-case-img"
>
<img
src=
"{ms:global.host/}[field.litpic/]"
>
</div>
<div
class=
"ms-content-main-case-explain"
>
<div
class=
"ms-content-main-case-title"
>
[field.title/]
</div>
<div
class=
"ms-content-main-case-content"
>
<p
class=
"ms-content-main-case-written"
>
[field.content/]
</p>
</div>
<div
class=
"ms-content-main-case-click"
>
<a
target=
"_blank"
href=
"[field.source/]"
>
点击查看
</a>
</div>
</div>
</div>
{/ms:arclist}
</div>
</div>
</div>
<div
class=
"ms-content-product"
>
<div
class=
"ms-content-product-main"
>
<div
class=
"ms-content-product-title"
>
<div
class=
"ms-content-product-title-words"
>
产品方向
</div>
</div>
<div
class=
"ms-content-product-list"
>
<ul
class=
"ms-content-product-list-ul"
>
<li>
<div
class=
"ms-content-product-list-img"
>
<a
target=
"_blank"
href=
"http://www.mingsoft.net/html/1/5523/index.html"
>
<img
src=
"http://www.mingsoft.net/templets/1/ming-soft//images/hu1.png"
></a>
</div>
<div
class=
"ms-content-product-list-content"
>
<div
class=
"ms-content-product-list-content-title"
>
<a
target=
"_blank"
href=
"http://www.mingsoft.net/html/1/5523/index.html"
>
铭飞建站系统MCMS
</a></div>
<div
class=
"ms-content-product-list-content-describe"
>
纯Java开发,MCMS支持PC与MOBILE皮肤定制,同时使用MS团队移动JS插件,支持站群。
</div></div>
</li>
<li>
<div
class=
"ms-content-product-list-img"
>
<a
target=
"_blank"
href=
"http://www.mingsoft.net/html/1/5524/index.html"
>
<img
src=
"http://www.mingsoft.net/templets/1/ming-soft//images/hu2.jpg"
></a>
</div>
<div
class=
"ms-content-product-list-content"
>
<div
class=
"ms-content-product-list-content-title"
>
<a
target=
"_blank"
href=
"http://www.mingsoft.net/html/1/5524/index.html"
>
移动互联网
</a></div>
<div
class=
"ms-content-product-list-content-describe"
>
重新定义移动开发,快速、开放、高性能,数据无缝对接,超过500个模块api 接口,方便实现各种应用。
</div></div>
</li>
<li>
<div
class=
"ms-content-product-list-img"
>
<a
target=
"_blank"
href=
"http://www.mingsoft.net/html/1/5526/index.html"
>
<img
src=
"http://www.mingsoft.net/templets/1/ming-soft//images/hu3.jpg"
></a>
</div>
<div
class=
"ms-content-product-list-content"
>
<div
class=
"ms-content-product-list-content-title"
>
<a
target=
"_blank"
href=
"http://www.mingsoft.net/html/1/5526/index.html"
>
铭飞物联网
</a></div>
<div
class=
"ms-content-product-list-content-describe"
>
MS+物联网,让生产企业真正掌握企业命脉,实现互联网+生产,给企业插上信息化翅膀,共享、共荣大数据时代
</div></div>
</li>
</ul>
</div>
</div>
</div>
<div
class=
"ms-content-news"
>
<div
class=
"ms-content-news-main"
>
<div
class=
"ms-content-news-main-title"
>
<div
class=
"ms-content-news-main-title-words"
>
公司动态
</div>
<div
class=
"ms-content-news-main-title-more"
>
<a
href=
'{ms:global.url/}/59/index.html'
>
MORE>>
</a>
</div>
</div>
<div
class=
"ms-content-news-main-img-text"
>
{ms:arclist typeid=59 size=1}
<img
src=
"{ms:global.host/}[field.litpic/]"
>
{/ms:arclist}
<ul
class=
"ms-content-news-main-ul"
>
{ms:arclist typeid=59 size=6}
<li>
<a
href=
"{ms:global.url/}[field.link/]"
>
<div
class=
"ms-content-news-main-li-title"
>
<!-- <span class="ms-content-news-main-li-span">·</span> -->
<span
class=
""
>
[field.title/]
</span>
</div>
<div
class=
"ms-content-news-main-li-time"
>
[field.date?string("yyyy-mm-dd")/]
</div>
</a>
</li>
{/ms:arclist}
</ul>
</div>
</div>
</div>
</div>
</div>
<
#include
"
footer.htm
"
>
</body>
</html>
<script
type=
"text/javascript"
>
var
index
=
new
Vue
({
el
:
"
#indexVue
"
,
data
:
{
bannerList
:
[
'
01
'
,
'
02
'
,
'
03
'
,
'
04
'
,
'
05
'
],
//幻灯片列表
modelList
:
[],
//模板列表
pulgList
:
[],
//插件列表
loading
:
false
,
//加载状态
},
methods
:
{
query
:
function
(
data
,
type
)
{
var
target
=
this
;
ms
.
web
.
mstore
.
list
(
data
,
function
(
json
)
{
if
(
type
==
'
model
'
)
{
target
.
modelList
=
json
.
list
;
}
else
{
target
.
pulgList
=
json
.
list
;
target
.
loading
=
true
;
}
});
},
imgMover
:
function
()
{
var
_this
=
event
.
target
;
var
ms_top
=
(
$
(
_this
).
height
())
-
275
;
if
(
ms_top
<
0
)
{
ms_top
=
0
;
}
$
(
_this
).
stop
(
true
);
$
(
_this
).
animate
({
"
top
"
:
-
(
ms_top
)
},
2500
);
},
imgMout
:
function
()
{
var
_this
=
event
.
target
;
$
(
_this
).
stop
(
true
);
$
(
_this
).
animate
({
"
top
"
:
0
},
2500
);
},
},
mounted
:
function
()
{
var
data
=
"
upgraderVersionType=2&upgraderVersionIndustry=0&orderBy=uv_id&pageSize=5&pageNo=1
"
;
this
.
query
(
data
,
'
model
'
);
var
data
=
"
upgraderVersionType=1&upgraderVersionIndustry=0&orderBy=uv_id&pageSize=5&pageNo=1
"
;
this
.
query
(
data
,
'
pulg
'
);
/*幻灯*/
setTimeout
(
function
()
{
var
bannerSlider
=
new
Slider
(
$
(
'
#banner_tabs
'
),
{
time
:
5000
,
delay
:
400
,
event
:
'
hover
'
,
auto
:
true
,
mode
:
'
fade
'
,
controller
:
$
(
'
#bannerCtrl
'
),
activeControllerCls
:
'
active
'
});
$
(
'
#banner_tabs .flex-prev
'
).
click
(
function
()
{
bannerSlider
.
prev
()
});
$
(
'
#banner_tabs .flex-next
'
).
click
(
function
()
{
bannerSlider
.
next
()
});
},
300
)
},
})
</script>
\ No newline at end of file
{ms:channel ref=one}
[field.typetitle/]
{ms:arclist refs=one}
[field.title/]
<br>
[field.author/]
<br>
{/ms:arclist}
{/ms:channel}
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
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 comment