Commit 2d3b0160 authored by msgroup's avatar msgroup

5.2.1发布

parent 6c759ad9
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
很多人说铭飞是大天朝国唯一完整开源的J2EE系统!团队希望看到更多的优秀好用的开源系统,我们一直会努力下去!<br/> 很多人说铭飞是大天朝国唯一完整开源的J2EE系统!团队希望看到更多的优秀好用的开源系统,我们一直会努力下去!<br/>
QQ交流群号:[![加入QQ群](https://img.shields.io/badge/一群-231212174-blue.svg)](https://jq.qq.com/?_wv=1027&k=5zykX7V) [![加入QQ群](https://img.shields.io/badge/二群-221335098-blue.svg)](https://jq.qq.com/?_wv=1027&k=56BqFKu) [![加入QQ群](https://img.shields.io/badge/三群-242805203-blue.svg)](https://jq.qq.com/?_wv=1027&k=5oF19sl) QQ交流群号: [![加入QQ群](https://img.shields.io/badge/五群-231211521-blue.svg)](https://jq.qq.com/?_wv=1027&k=5oF19sl) [![加入QQ群](https://img.shields.io/badge/四群-881894877-blue.svg)](https://jq.qq.com/?_wv=1027&k=5oF19sl) [![加入QQ群](https://img.shields.io/badge/一群-231212174-blue.svg)](https://jq.qq.com/?_wv=1027&k=5zykX7V) [![加入QQ群](https://img.shields.io/badge/二群-221335098-blue.svg)](https://jq.qq.com/?_wv=1027&k=56BqFKu) [![加入QQ群](https://img.shields.io/badge/三群-242805203-blue.svg)](https://jq.qq.com/?_wv=1027&k=5oF19sl)
# 开源说明 # 开源说明
......
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
UPDATE `mdiy_tag_sql` SET `tag_id` = 4, `tag_sql` = '<#assign _typeid=\"0\"/>\r\n<#if column?? && column.id?? && column.id?number gt 0>\r\n <#assign _typeid=\"${column.id}\">\r\n <#assign selfid=\"${column.id}\">\r\n</#if>\r\n<#if typeid??>\r\n <#assign _typeid=\"${typeid}\">\r\n</#if>\r\nselect \r\n @rownum := @rownum + 1 AS typeindex,\r\n id,\r\n id as typeid,\r\n category_title as typetitle,\r\n <#--返回父id集合-->\r\n category_parent_id as pids,\r\n <#--栏目选中的样式-->\r\n IF(<#if selfid?has_content>${selfid}<#else>${_typeid}</#if> = id ,\"${class!\'\'}\",\"\") as class,\r\n <#--动态链接-->\r\n <#if isDo?? && isDo>\r\n CONCAT(\"/${modelName}/list.do?typeid=\", id) as typelink,\r\n <#else>\r\n <#--栏目类型为链接-->\r\n IF(\"3\" = category_type,category_diy_url,CONCAT(category_path,\"/index.html\")) as typelink,\r\n </#if>\r\n category_keyword as typekeyword,\r\n category_diy_url as typeurl,\r\n category_flag as flag,\r\n category_parent_id as parentid,\r\ncategory_descrip as typedescrip,\r\n ( CASE category_img WHEN \'\' THEN category_img ELSE CONVERT ( JSON_UNQUOTE( JSON_EXTRACT( category_img -> \'$[0]\', \'$.path\' ) ) USING utf8 ) END ) as typelitpic ,\r\n(select count(*) from cms_category c where c.category_id=typeid and c.del=0) as childsize\r\n from (SELECT @rownum := 0) r,cms_category \r\n where \r\n cms_category.del=0 \r\n <#--根据站点编号查询-->\r\n <#if appId?? >\r\n and cms_category.app_id=${appId}\r\n </#if>\r\n <#--栏目属性-->\r\n <#if flag?? >\r\n and\r\n ( <#list flag?split(\',\') as item>\r\n <#if item?index gt 0> or</#if>\r\n FIND_IN_SET(\'${item}\',category_flag)\r\n </#list>)\r\n </#if>\r\n\r\n <#if noflag?? >\r\n and\r\n (\r\n <#list noflag?split(\',\') as item>\r\n <#if item?index gt 0> and</#if>\r\n FIND_IN_SET(\'${item}\',category_flag)=0\r\n </#list> or category_flag is null)\r\n </#if>\r\n <#--type默认son-->\r\n<#if !type??||!type?has_content>\r\n<#assign type=\"son\"/>\r\n</#if>\r\n<#if type?has_content>\r\n <#--顶级栏目(单个)-->\r\n <#if type==\"top\">\r\n <#if _typeid != \"0\">\r\n and id=(SELECT IF(IF(LEFT ( category_parent_id, LOCATE( \",\", category_parent_id ) - 1 ),LEFT ( category_parent_id, LOCATE( \",\", category_parent_id ) - 1 ),category_parent_id),IF(LEFT ( category_parent_id, LOCATE( \",\", category_parent_id ) - 1 ),LEFT ( category_parent_id, LOCATE( \",\", category_parent_id ) - 1 ),category_parent_id),id)FROM cms_category WHERE id = ${_typeid})\r\n </#if>\r\n <#elseif type==\"nav\">\r\n and(category_id=0 or category_id is null)\r\n <#--同级栏目(多个)-->\r\n <#elseif type==\"level\">\r\n and\r\n <#if _typeid?has_content>\r\n category_id=(select category_id from cms_category where id=${_typeid})\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--当前栏目(单个)-->\r\n <#elseif type==\"self\">\r\n and \r\n <#if _typeid?has_content>\r\n id=${_typeid}\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--当前栏目的所属栏目(多个)-->\r\n <#elseif type==\"path\">\r\n and \r\n <#if _typeid?has_content>\r\n id in (<#if column?? && column.categoryParentId??>${column.categoryParentId},</#if>${_typeid})\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--子栏目(多个)-->\r\n <#elseif type==\"son\">\r\n and \r\n <#if _typeid?has_content>\r\n category_id=${_typeid}\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--上一级栏目没有则取当前栏目(单个)-->\r\n <#elseif type==\"parent\">\r\n and \r\n <#if _typeid?has_content>\r\n <#if column?? && column.categoryId??>\r\n id=${column.categoryId}\r\n <#else>\r\n id=${_typeid}\r\n </#if>\r\n <#else>\r\n 1=1\r\n </#if>\r\n <#--子栏目或同级栏目(多个)-->\r\n <#elseif type==\"sonOrLevel\">\r\n and \r\n <#if _typeid?has_content>\r\n category_id= if((SELECT count(*) FROM cms_category\r\n WHERE category_id=${_typeid})>0,${_typeid},(select category_id from cms_category where id=${_typeid}))\r\n <#else>\r\n 1=1\r\n </#if>\r\n </#if>\r\n<#else> <#--默认顶级栏目-->\r\n and\r\n <#if _typeid?has_content>\r\n id=${_typeid}\r\n <#else>\r\n (category_id=0 or category_id is null)\r\n </#if>\r\n</#if>\r\n<#--字段排序-->\r\n <#if orderby?? >\r\n ORDER BY \r\n <#if orderby==\"date\"> category_datetime\r\n <#elseif orderby==\"sort\"> category_sort\r\n <#else>cms_content.id</#if>\r\n <#else>\r\n ORDER BY id\r\n </#if>\r\n <#if order?? >\r\n <#if order==\"desc\"> desc</#if>\r\n <#if order==\"asc\"> asc</#if>\r\n </#if>', `sort` = 1 WHERE `id` = 6;
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -10,10 +10,10 @@ ...@@ -10,10 +10,10 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>net.mingsoft</groupId> <groupId>net.mingsoft</groupId>
<artifactId>ms-mcms</artifactId> <artifactId>ms-mcms</artifactId>
<version>5.2.0.RELEASE</version> <version>5.2.1</version>
<name>ms-mcms</name> <name>ms-mcms</name>
<!-- 打包war包 --> <!-- 打包war包 -->
<!-- <packaging>war</packaging>--> <!-- <packaging>war</packaging>-->
<properties> <properties>
<java.version>1.8</java.version> <java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
...@@ -49,23 +49,17 @@ ...@@ -49,23 +49,17 @@
<dependency> <dependency>
<groupId>net.mingsoft</groupId> <groupId>net.mingsoft</groupId>
<artifactId>ms-basic</artifactId> <artifactId>ms-basic</artifactId>
<version>1.0.37</version> <version>2.1.0</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.mingsoft</groupId> <groupId>net.mingsoft</groupId>
<artifactId>ms-mdiy</artifactId> <artifactId>ms-mdiy</artifactId>
<version>1.0.28</version> <version>2.1.0</version>
</dependency>
<dependency>
<groupId>net.mingsoft</groupId>
<artifactId>ms-mpeople</artifactId>
<version>1.0.33</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>net.mingsoft</groupId> <groupId>net.mingsoft</groupId>
<artifactId>store-client</artifactId> <artifactId>store-client</artifactId>
<version>5.2</version> <version>2.1.0</version>
</dependency> </dependency>
</dependencies> </dependencies>
...@@ -129,4 +123,4 @@ ...@@ -129,4 +123,4 @@
</plugins> </plugins>
<defaultGoal>compile</defaultGoal> <defaultGoal>compile</defaultGoal>
</build> </build>
</project> </project>
\ No newline at end of file
...@@ -32,14 +32,12 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2; ...@@ -32,14 +32,12 @@ import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Locale; import java.util.Locale;
@SpringBootApplication @SpringBootApplication(scanBasePackages = {"net.mingsoft"})
@ComponentScan(basePackages = {"net.mingsoft"})
@MapperScan(basePackages={"**.dao","com.baomidou.**.mapper"}) @MapperScan(basePackages={"**.dao","com.baomidou.**.mapper"})
@ServletComponentScan(basePackages = {"net.mingsoft"}) @ServletComponentScan(basePackages = {"net.mingsoft"})
@EnableCaching
public class MSApplication { public class MSApplication {
public static void main(String[] args) { public static void main(String[] args) {
SpringApplication.run(MSApplication.class, args); SpringApplication.run(MSApplication.class, args);
} }
} }
\ No newline at end of file
...@@ -295,7 +295,8 @@ public class CategoryAction extends BaseAction { ...@@ -295,7 +295,8 @@ public class CategoryAction extends BaseAction {
return ResultData.build().error(getResString("cannot.select.child")); return ResultData.build().error(getResString("cannot.select.child"));
} }
} }
categoryBiz.updateEntity(category); // 这里不能使用mybitsplus 存在业务
categoryBiz.updateEntity(category);
return ResultData.build().success(category); return ResultData.build().success(category);
} }
......
...@@ -285,7 +285,7 @@ public class ContentAction extends BaseAction { ...@@ -285,7 +285,7 @@ public class ContentAction extends BaseAction {
if(!StringUtil.checkLength(content.getContentUrl()+"", 0, 200)){ if(!StringUtil.checkLength(content.getContentUrl()+"", 0, 200)){
return ResultData.build().error(getResString("err.length", this.getResString("content.url"), "0", "200")); return ResultData.build().error(getResString("err.length", this.getResString("content.url"), "0", "200"));
} }
contentBiz.updateEntity(content); contentBiz.saveOrUpdate(content);
return ResultData.build().success(content); return ResultData.build().success(content);
} }
......
...@@ -133,7 +133,7 @@ public class GeneraterAction extends BaseAction { ...@@ -133,7 +133,7 @@ public class GeneraterAction extends BaseAction {
String generateFileName = request.getParameter("position"); String generateFileName = request.getParameter("position");
// 获取文件所在路径 首先判断用户输入的模版文件是否存在 // 获取文件所在路径 首先判断用户输入的模版文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath())) { if (!FileUtil.exist(ParserUtil.buildTemplatePath())) {
return ResultData.build().error(getResString("templet.file")); return ResultData.build().error(getResString("templet.file"));
} else { } else {
...@@ -186,7 +186,7 @@ public class GeneraterAction extends BaseAction { ...@@ -186,7 +186,7 @@ public class GeneraterAction extends BaseAction {
case LIST: // 列表 case LIST: // 列表
// 判断模板文件是否存在 // 判断模板文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath(column.getCategoryListUrl()))) { if (!FileUtil.exist(ParserUtil.buildTemplatePath(column.getCategoryListUrl()))) {
LOG.error("模板不存在:{}", column.getCategoryUrl()); LOG.error("模板不存在:{}", column.getCategoryUrl());
continue; continue;
} }
...@@ -244,7 +244,7 @@ public class GeneraterAction extends BaseAction { ...@@ -244,7 +244,7 @@ public class GeneraterAction extends BaseAction {
// 分类是列表 // 分类是列表
if (category.getCategoryType().equals(CategoryTypeEnum.LIST.toString())) { if (category.getCategoryType().equals(CategoryTypeEnum.LIST.toString())) {
// 判断模板文件是否存在 // 判断模板文件是否存在
if (!FileUtil.exist(ParserUtil.buildTempletPath(category.getCategoryListUrl())) || StringUtils.isEmpty(category.getCategoryListUrl())) { if (!FileUtil.exist(ParserUtil.buildTemplatePath(category.getCategoryListUrl())) || StringUtils.isEmpty(category.getCategoryListUrl())) {
LOG.error("模板不存在:{}", category.getCategoryUrl()); LOG.error("模板不存在:{}", category.getCategoryUrl());
continue; continue;
} }
......
...@@ -129,7 +129,7 @@ public class CategoryAction extends net.mingsoft.cms.action.BaseAction{ ...@@ -129,7 +129,7 @@ public class CategoryAction extends net.mingsoft.cms.action.BaseAction{
if(category.getId()==null) { if(category.getId()==null) {
return ResultData.build().error(); return ResultData.build().error();
} }
CategoryEntity _category = (CategoryEntity)categoryBiz.getEntity(Integer.parseInt(category.getId())); CategoryEntity _category = (CategoryEntity)categoryBiz.getById(category.getId());
return ResultData.build().success(_category); return ResultData.build().success(_category);
} }
......
...@@ -118,7 +118,7 @@ public class ContentAction extends net.mingsoft.cms.action.BaseAction{ ...@@ -118,7 +118,7 @@ public class ContentAction extends net.mingsoft.cms.action.BaseAction{
if(content.getId()==null) { if(content.getId()==null) {
return ResultData.build().error(); return ResultData.build().error();
} }
ContentEntity _content = (ContentEntity)contentBiz.getEntity(Integer.parseInt(content.getId())); ContentEntity _content = (ContentEntity)contentBiz.getById(content.getId());;
return ResultData.build().success(_content); return ResultData.build().success(_content);
} }
......
...@@ -347,30 +347,33 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction { ...@@ -347,30 +347,33 @@ public class MCmsAction extends net.mingsoft.cms.action.BaseAction {
//获取栏目信息 //获取栏目信息
String typeId = null; String typeId = null;
String categoryIds = BasicUtil.getString("categoryIds"); String categoryIds = BasicUtil.getString("categoryIds");
List categoryIdList = CollectionUtil.newArrayList();
//List categoryIdList = CollectionUtil.newArrayList();
//当传递了栏目编号,但不是栏目集合 //当传递了栏目编号,但不是栏目集合
if (StringUtils.isNotBlank(categoryIds) && !categoryIds.contains(",")) { if (StringUtils.isNotBlank(categoryIds) && !categoryIds.contains(",")) {
typeId = categoryIds; typeId = categoryIds;
} else {
//取出所有的子栏目
String[] ids = categoryIds.split(",");
List<CategoryEntity> categoryList = categoryBiz.list(Wrappers.<CategoryEntity>lambdaQuery().ne(CategoryEntity::getCategoryType, CategoryTypeEnum.LINK.toString()));
categoryIdList = CollectionUtil.newArrayList(ids);
for(CategoryEntity c:categoryList) {
if(StringUtils.isNotEmpty(c.getParentids())) {
for(String id:ids) {
if(c.getParentids().indexOf(id)>-1) {
categoryIdList.add(c.getId());
break;
}
}
}
}
} }
// else {
// //取出所有的子栏目
// String[] ids = categoryIds.split(",");
// List<CategoryEntity> categoryList = categoryBiz.list(Wrappers.<CategoryEntity>lambdaQuery().ne(CategoryEntity::getCategoryType, CategoryTypeEnum.LINK.toString()));
//
// categoryIdList = CollectionUtil.newArrayList(ids);
// for(CategoryEntity c:categoryList) {
// if(StringUtils.isNotEmpty(c.getParentids())) {
// for(String id:ids) {
// if(c.getParentids().indexOf(id)>-1) {
// categoryIdList.add(c.getId());
// break;
// }
// }
// }
// }
// }
//重新组织 ID //重新组织 ID
categoryIds = StringUtils.join(categoryIdList, ","); //categoryIds = StringUtils.join(categoryIdList, ",");
//根据栏目确定自定义模型 //根据栏目确定自定义模型
......
...@@ -71,7 +71,7 @@ public class ContentAop extends BaseAop { ...@@ -71,7 +71,7 @@ public class ContentAop extends BaseAop {
if(content.getId()==null) { if(content.getId()==null) {
return pjp.proceed(); return pjp.proceed();
} }
content = (ContentEntity)contentBiz.getEntity(Integer.parseInt(content.getId())); content = contentBiz.getById(content.getId());
//如果文章不存在则直接发行 //如果文章不存在则直接发行
if(content == null){ if(content == null){
return pjp.proceed(); return pjp.proceed();
......
...@@ -439,6 +439,13 @@ public class CategoryEntity extends BaseEntity { ...@@ -439,6 +439,13 @@ public class CategoryEntity extends BaseEntity {
return this.id; return this.id;
} }
/**
* 获取栏目Id(标签使用)
*/
public Boolean getTypeleaf() {
return this.leaf; }
/** /**
* 获取栏目图片 (标签使用) * 获取栏目图片 (标签使用)
*/ */
......
...@@ -239,7 +239,7 @@ public class CmsParserUtil { ...@@ -239,7 +239,7 @@ public class CmsParserUtil {
} }
// 判断文件是否存在,若不存在弹出返回信息 // 判断文件是否存在,若不存在弹出返回信息
if (!FileUtil.exist(ParserUtil.buildTempletPath(columnUrl)) || categoryBean.getId() == null || categoryBean.getCategoryType() == null) { if (!FileUtil.exist(ParserUtil.buildTemplatePath(columnUrl)) || categoryBean.getId() == null || categoryBean.getCategoryType() == null) {
artId++; artId++;
continue; continue;
} }
......
...@@ -65,6 +65,11 @@ public class WebConfig implements WebMvcConfigurer { ...@@ -65,6 +65,11 @@ public class WebConfig implements WebMvcConfigurer {
*/ */
@Value("${ms.upload.mapping}") @Value("${ms.upload.mapping}")
private String uploadMapping; private String uploadMapping;
/**
* 上传路径映射
*/
@Value("${ms.diy.html-dir}")
private String htmlDir;
@Bean @Bean
public ActionInterceptor actionInterceptor() { public ActionInterceptor actionInterceptor() {
return new ActionInterceptor(); return new ActionInterceptor();
...@@ -88,7 +93,8 @@ public class WebConfig implements WebMvcConfigurer { ...@@ -88,7 +93,8 @@ public class WebConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry) { public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler(uploadMapping).addResourceLocations(File.separator+uploadFloderPath+File.separator,"file:"+uploadFloderPath+File.separator,"classpath:/template/"); registry.addResourceHandler(uploadMapping).addResourceLocations(File.separator+uploadFloderPath+File.separator,"file:"+uploadFloderPath+File.separator,"classpath:/template/");
registry.addResourceHandler("/template/**").addResourceLocations(File.separator+template+File.separator,"file:"+template+File.separator,"classpath:/html/"); registry.addResourceHandler("/template/**").addResourceLocations(File.separator+template+File.separator,"file:"+template+File.separator,"classpath:/html/");
registry.addResourceHandler("/html/**").addResourceLocations("/html/","file:html/"); //注意这里的htmlDir资源不能使用File.separator替代"/",会导致Windows一键版访问失效
registry.addResourceHandler("/".concat(htmlDir).concat("/**")).addResourceLocations("/".concat(htmlDir).concat("/"),"file:".concat(htmlDir).concat("/"));
//三种映射方式 webapp下、当前目录下、jar内 //三种映射方式 webapp下、当前目录下、jar内
registry.addResourceHandler("/app/**").addResourceLocations("/app/","file:app/", "classpath:/app/"); registry.addResourceHandler("/app/**").addResourceLocations("/app/","file:app/", "classpath:/app/");
registry.addResourceHandler("/static/**").addResourceLocations("/static/","file:static/","classpath:/static/","classpath:/META-INF/resources/"); registry.addResourceHandler("/static/**").addResourceLocations("/static/","file:static/","classpath:/static/","classpath:/META-INF/resources/");
......
...@@ -4,4 +4,4 @@ spring: ...@@ -4,4 +4,4 @@ spring:
username: root username: root
password: root password: root
filters: wall,mergeStat filters: wall,mergeStat
type: com.alibaba.druid.pool.DruidDataSource type: com.alibaba.druid.pool.DruidDataSource
\ No newline at end of file
...@@ -20,7 +20,7 @@ ms: ...@@ -20,7 +20,7 @@ ms:
manager: manager:
path: /ms #后台访问的路径,如:http://项目/ms/login.do,生产的时候建议修改 path: /ms #后台访问的路径,如:http://项目/ms/login.do,生产的时候建议修改
view-path: /WEB-INF/manager #后台视图层路径配置 view-path: /WEB-INF/manager #后台视图层路径配置
check-code: true #默认开启验证码验证,false验证码不验证 check-code: false #默认开启验证码验证,false验证码不验证
upload: upload:
enable-web: true #启用web层的上传 enable-web: true #启用web层的上传
...@@ -91,4 +91,4 @@ mybatis-plus: ...@@ -91,4 +91,4 @@ mybatis-plus:
db-config: db-config:
id-type: auto id-type: auto
configuration: configuration:
database-id: mysql database-id: mysql
\ No newline at end of file
...@@ -589,7 +589,8 @@ ...@@ -589,7 +589,8 @@
}); });
}else { }else {
this.$notify({ this.$notify({
title: response.msg, title: '失败',
message: response.msg,
type: 'warning' type: 'warning'
}); });
} }
...@@ -598,7 +599,8 @@ ...@@ -598,7 +599,8 @@
//上传超过限制 //上传超过限制
categoryImghandleExceed: function (files, fileList) { categoryImghandleExceed: function (files, fileList) {
this.$notify({ this.$notify({
title: '当前最多上传1个文件', title: '失败',
message: '当前最多上传1个文件',
type: 'warning' type: 'warning'
}); });
}, },
......
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>文章</title> <title>文章1</title>
<#include "../../include/head-file.ftl"> <#include "../../include/head-file.ftl">
<script src="${base}/static/mdiy/index.js"></script>
</head> </head>
<body> <body>
<div id="form" v-cloak> <div id="form" v-cloak>
...@@ -272,7 +273,7 @@ ...@@ -272,7 +273,7 @@
scaleEnabled: true, scaleEnabled: true,
compressSide: 0, compressSide: 0,
maxImageSideLength: 1000, maxImageSideLength: 1000,
maximumWords: 2000, maximumWords: 100000,
initialFrameWidth: '100%', initialFrameWidth: '100%',
initialFrameHeight: 400, initialFrameHeight: 400,
serverUrl: ms.base + "/static/plugins/ueditor/1.4.3.1/jsp/editor.do?jsonConfig=%7BvideoUrlPrefix:\'" + ms.base + "\',fileUrlPrefix:\'" + ms.base + "\',imageUrlPrefix:\'" + ms.base + "\',imagePathFormat:\'/upload/${appId}/cms/content/editor/%7Btime%7D\',filePathFormat:\'/upload/${appId}/cms/content/editor/%7Btime%7D\',videoPathFormat:\'/upload/${appId}/cms/content/editor/%7Btime%7D\'%7D", serverUrl: ms.base + "/static/plugins/ueditor/1.4.3.1/jsp/editor.do?jsonConfig=%7BvideoUrlPrefix:\'" + ms.base + "\',fileUrlPrefix:\'" + ms.base + "\',imageUrlPrefix:\'" + ms.base + "\',imagePathFormat:\'/upload/${appId}/cms/content/editor/%7Btime%7D\',filePathFormat:\'/upload/${appId}/cms/content/editor/%7Btime%7D\',videoPathFormat:\'/upload/${appId}/cms/content/editor/%7Btime%7D\'%7D",
...@@ -440,50 +441,24 @@ ...@@ -440,50 +441,24 @@
changeModel: function () { changeModel: function () {
var that = this; var that = this;
that.editableTabs = [that.editableTabs[0]]; that.editableTabs = [that.editableTabs[0]];
this.removeModel();
if (this.currCategory) { if (this.currCategory) {
if (this.currCategory.mdiyModelId) { if (this.currCategory.mdiyModelId) {
ms.http.get(ms.manager + "/mdiy/model/get.do", { that.rederModel(this.currCategory.mdiyModelId)
id: this.currCategory.mdiyModelId
}).then(function (data) {
if (data.data && data.data.id) {
that.rederModel(data.data, JSON.parse(data.data.modelJson));
}
});
} }
} }
}, },
rederModel: function (modelEntity, data) { rederModel: function (modelId) {
var that = this; var that = this;
that.editableTabs.push({ that.editableTabs.push({
title: modelEntity.modelName, title: '',
name: 'custom-name' name: 'custom-name'
}); });
this.removeModel(); ms.mdiy.model.extend("model1", {id:modelId},{ linkId: that.form.id }).then(function(obj) {
that.$nextTick(function () { that.model = obj;
var div = document.createElement('div'); that.editableTabs[1].title = obj.modelName
div.id = 'c_model';
var model = document.getElementById('model1');
model.appendChild(div);
var s = document.createElement('script');
s.innerHTML = data.script;
var con = document.createElement('div');
con.id = 'custom-model';
con.innerHTML = data.html;
div.appendChild(s);
div.appendChild(con); //初始化自定义模型并传入关联参数
that.model = new custom_model({
data: {
title: modelEntity.modelName,
modelId: modelEntity.id,
form: {
linkId: that.form.id
}
}
});
}); });
}, },
getValue: function (data) { getValue: function (data) {
this.form.categoryId = data.id; this.form.categoryId = data.id;
...@@ -620,7 +595,8 @@ ...@@ -620,7 +595,8 @@
}); });
}else { }else {
this.$notify({ this.$notify({
title: response.msg, title: '失败',
message: response.msg,
type: 'warning' type: 'warning'
}); });
} }
...@@ -639,7 +615,8 @@ ...@@ -639,7 +615,8 @@
//上传超过限制 //上传超过限制
contentImghandleExceed: function (files, fileList) { contentImghandleExceed: function (files, fileList) {
this.$notify({ this.$notify({
title: '当前最多上传1个文件', title: '失败',
message: '当前最多上传1个文件',
type: 'warning' type: 'warning'
}); });
}, },
......
...@@ -302,7 +302,7 @@ ...@@ -302,7 +302,7 @@
ms.http.post(ms.manager + "/cms/content/list.do", form.sqlWhere ? Object.assign({}, { ms.http.post(ms.manager + "/cms/content/list.do", form.sqlWhere ? Object.assign({}, {
categoryType: '1', categoryType: '1',
sqlWhere: form.sqlWhere sqlWhere: form.sqlWhere
}, page) : Object.assign({}, that.form, page)).then(function (res) { }, page) : Object.assign({}, form, page)).then(function (res) {
if (that.loadState) { if (that.loadState) {
that.loading = false; that.loading = false;
} else { } else {
......
...@@ -166,7 +166,8 @@ ...@@ -166,7 +166,8 @@
var that = this; var that = this;
if (!that.position || that.position == '') { if (!that.position || that.position == '') {
this.$notify({ this.$notify({
title: '请输入主页位置!', title: '失败',
message: '请输入主页位置!',
type: 'warning' type: 'warning'
}); });
return; return;
...@@ -178,13 +179,14 @@ ...@@ -178,13 +179,14 @@
}).then(function (data) { }).then(function (data) {
if (data.result) { if (data.result) {
that.$notify({ that.$notify({
title: '更新成功!', title: '成功',
message: '更新成功!',
type: 'success' type: 'success'
}); });
} else { } else {
that.$notify({ that.$notify({
title: '更新失败!', title: '失败',
message: "错误", message: "更新失败!",
type: 'error' type: 'error'
}); });
} }
...@@ -203,7 +205,8 @@ ...@@ -203,7 +205,8 @@
viewIndex: function () { viewIndex: function () {
if (!this.position || this.position == '') { if (!this.position || this.position == '') {
this.$notify({ this.$notify({
title: '请输入主页位置!', title: '失败',
message: '请输入主页位置!',
type: 'warning' type: 'warning'
}); });
return; return;
...@@ -217,7 +220,8 @@ ...@@ -217,7 +220,8 @@
ms.http.get(ms.manager + '/cms/generate/' + (that.section ? that.section : 0) + '/genernateColumn.do').then(function (data) { ms.http.get(ms.manager + '/cms/generate/' + (that.section ? that.section : 0) + '/genernateColumn.do').then(function (data) {
if (data.result) { if (data.result) {
that.$notify({ that.$notify({
title: '更新成功!', title: '成功',
message: '更新成功!',
type: 'success' type: 'success'
}); });
}else { }else {
...@@ -247,7 +251,8 @@ ...@@ -247,7 +251,8 @@
}).then(function (data) { }).then(function (data) {
if (data.result) { if (data.result) {
that.$notify({ that.$notify({
title: '更新成功!', title: '成功',
message:'更新成功!',
type: 'success' type: 'success'
}); });
}else { }else {
......
/** /**
* 封装http请求 * 封装http请求
*/ */
(function() { (function () {
axios.defaults.timeout = 1000 * 60; axios.defaults.timeout = 1000 * 60;
axios.defaults.baseURL = ''; axios.defaults.baseURL = '';
//http request 拦截器 //http request 拦截器
axios.interceptors.request.use( axios.interceptors.request.use(
function (config) {
function(config) {
config.headers = { config.headers = {
'Content-Type': 'application/x-www-form-urlencoded', 'Content-Type': 'application/x-www-form-urlencoded',
'Cache-Control': 'no-cache', 'Cache-Control': 'no-cache',
...@@ -23,23 +22,58 @@ ...@@ -23,23 +22,58 @@
} }
return config; return config;
}, },
function(error) { function (error) {
return Promise.reject(err); return Promise.reject(error);
} }
); );
//http response 拦截器 //http response 拦截器
axios.interceptors.response.use( axios.interceptors.response.use(
function(response) { function (response) {
//登录失效
if (response.data.bizCode == "401" && ms.isLoginRedirect) {
window.parent.location.href = ms.base + "/" + ms.login + "?backurl=" + encodeURIComponent(window.parent.location.href);
return;
}
return response; return response;
}, },
function(error) { function (error) {
if (error.response) {
let msg;
if (error.response.status == 401) {
msg = "登录失败";
} else if (error.response.status == 400) {
msg = "客户端错误";
} else if (error.response.status == 403) {
msg = "您的权限不足";
} else if (error.response.status == 404) {
msg = "请求不存在";
} else if (error.response.status == 423) {
msg = "账号被锁定!";
} else if (error.response.status == 500) {
msg = "服务器异常";
} else if (error.response.status == 501) {
msg = "您的操作被取消或不允许提交";
} else if (error.response.status == 423) {
msg = "服务器正在开小差....";
}
if(error.response.data && error.response.data.msg) {
msg = error.response.data.msg;
}
if (msg) {
var tempVue = document.createElement('div');
tempVue.id = "tempVue";
document.body.appendChild(tempVue)
new Vue({el: '#tempVue',}).$notify.error({
title: '错误',
message: msg,
type: 'warning'
});
if (error.response.status == 401) {
window.location.reload();
}
document.body.removeChild(tempVue);
}
}
return Promise.reject(error) return Promise.reject(error)
} }
) )
...@@ -52,7 +86,7 @@ ...@@ -52,7 +86,7 @@
headers: conf.headers == undefined ? null : conf.headers, headers: conf.headers == undefined ? null : conf.headers,
}); });
_axios.interceptors.request.use( _axios.interceptors.request.use(
function(config) { function (config) {
if (config.method === 'post' && config.headers["Content-Type"] === "application/x-www-form-urlencoded") { if (config.method === 'post' && config.headers["Content-Type"] === "application/x-www-form-urlencoded") {
config.data = Qs.stringify(config.data, { config.data = Qs.stringify(config.data, {
allowDots: true allowDots: true
...@@ -60,8 +94,8 @@ ...@@ -60,8 +94,8 @@
} }
return config; return config;
}, },
function(error) { function (error) {
return Promise.reject(err); return Promise.reject(error);
} }
); );
return _axios; return _axios;
...@@ -70,7 +104,6 @@ ...@@ -70,7 +104,6 @@
} }
/** /**
* 封装get方法 * 封装get方法
* @param url * @param url
...@@ -82,14 +115,14 @@ ...@@ -82,14 +115,14 @@
if (params == undefined) { if (params == undefined) {
params = {} params = {}
} }
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
ajax().get(url, { ajax().get(url, {
params: params params: params
}) })
.then(function(response) { .then(function (response) {
resolve(response.data); resolve(response.data);
}) })
.catch(function(err) { .catch(function (err) {
reject(err) reject(err)
}) })
}) })
...@@ -109,11 +142,11 @@ ...@@ -109,11 +142,11 @@
data = {} data = {}
} }
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
ajax(conf).post(url, data, conf) ajax(conf).post(url, data, conf)
.then(function(response) { .then(function (response) {
resolve(response.data); resolve(response.data);
}, function(err) { }, function (err) {
reject(err) reject(err)
}) })
}) })
...@@ -131,11 +164,11 @@ ...@@ -131,11 +164,11 @@
if (data == undefined) { if (data == undefined) {
data = {} data = {}
} }
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
ajax(conf).patch(url, data, conf) ajax(conf).patch(url, data, conf)
.then(function(response) { .then(function (response) {
resolve(response); resolve(response);
}, function(err) { }, function (err) {
reject(err) reject(err)
}) })
}) })
...@@ -152,22 +185,69 @@ ...@@ -152,22 +185,69 @@
if (data == undefined) { if (data == undefined) {
data = {} data = {}
} }
return new Promise(function(resolve, reject) { return new Promise(function (resolve, reject) {
ajax(conf).put(url, data, conf) ajax(conf).put(url, data, conf)
.then(function(response) { .then(function (response) {
resolve(response.data); resolve(response.data);
}, function(err) { }, function (err) {
reject(err) reject(err)
}) })
}) })
} }
/**
* 下载资源
* @param url
* @param data
* @returns {Promise}
*/
function download(url, data) {
if (data == undefined) {
data = {}
}
return new Promise(function (resolve, reject) {
axios({
method: 'post',
// 请求地址
url: url,
// 参数
data: data,
// 表明返回服务器返回的数据类型
responseType: 'blob',
headers: {Accept: 'application/vnd.openxmlformats-officedocument'}
}).then((res) => { // 处理返回的文件流
const content = res.data
const blob = new Blob([content])
const fileName = res.headers["filename"];
if ('download' in document.createElement('a')) { // 非IE下载
const elink = document.createElement('a')
elink.download = fileName
elink.style.display = 'none'
elink.href = URL.createObjectURL(blob)
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href) // 释放URL 对象
document.body.removeChild(elink)
} else { // IE10+下载
navigator.msSaveBlob(blob, fileName)
}
resolve(res);
}, function (err) {
reject(err)
})
})
}
var http = { var http = {
get: get, get: get,
post: post, post: post,
put: put, put: put,
patch: patch patch: patch,
download: download
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment