Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gk
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
micro_app
gk
Commits
6da433d7
Commit
6da433d7
authored
Jun 16, 2025
by
daniel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(upload+richtext): 文件上传调整+富文本后端渲染
parent
717c777b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
296 additions
and
54 deletions
+296
-54
CmptSettingMapper.xml
...bridge/jadp/plugins/cmpt/dao/mapper/CmptSettingMapper.xml
+4
-3
RichTextMapper.xml
.../dlbridge/jadp/plugins/cmpt/dao/mapper/RichTextMapper.xml
+1
-0
RichText.java
...va/com/dlbridge/jadp/plugins/cmpt/dao/model/RichText.java
+4
-0
RichTextService.java
...m/dlbridge/jadp/plugins/cmpt/service/RichTextService.java
+4
-0
CmptSettingController.java
...dlbridge/jadp/plugins/cmpt/web/CmptSettingController.java
+10
-4
MicroApiController.java
...om/dlbridge/jadp/plugins/cmpt/web/MicroApiController.java
+23
-1
RichTextController.java
...om/dlbridge/jadp/plugins/cmpt/web/RichTextController.java
+9
-2
ServiceSettingController.java
...ridge/jadp/plugins/cmpt/web/ServiceSettingController.java
+18
-6
module.jsp
src/main/webapp/WEB-INF/views/cmpt/module.jsp
+11
-2
news.jsp
src/main/webapp/WEB-INF/views/cmpt/news.jsp
+40
-2
outter-link.jsp
src/main/webapp/WEB-INF/views/cmpt/outter-link.jsp
+20
-13
service.jsp
src/main/webapp/WEB-INF/views/cmpt/service.jsp
+84
-11
swiper.jsp
src/main/webapp/WEB-INF/views/cmpt/swiper.jsp
+11
-2
news.js
src/main/webapp/static/js/news.js
+57
-8
No files found.
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/CmptSettingMapper.xml
View file @
6da433d7
...
@@ -18,7 +18,8 @@
...
@@ -18,7 +18,8 @@
del_flag AS "delFlag",
del_flag AS "delFlag",
icon,
icon,
dead_time AS deadTime,
dead_time AS deadTime,
open_type AS openType
open_type AS openType,
content
FROM gk_cmptsetting a
FROM gk_cmptsetting a
WHERE a.id = #{id}
WHERE a.id = #{id}
and a.del_flag = '0'
and a.del_flag = '0'
...
@@ -243,7 +244,7 @@
...
@@ -243,7 +244,7 @@
</update>
</update>
<select
id=
"queryFuncs"
resultType=
"com.dlbridge.jadp.plugins.cmpt.bean.Func"
>
<select
id=
"queryFuncs"
resultType=
"com.dlbridge.jadp.plugins.cmpt.bean.Func"
>
select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb,`status`,icon,open_type openType,dead_time deadTime,start_time startTime,need_time needTime
select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb,`status`,icon,open_type openType,dead_time deadTime,start_time startTime,need_time needTime
,content
from gk_cmptsetting
from gk_cmptsetting
where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status>0
where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status>0
order by seq
order by seq
...
@@ -251,7 +252,7 @@
...
@@ -251,7 +252,7 @@
</select>
</select>
<select
id=
"queryAllFuncs"
resultType=
"com.dlbridge.jadp.plugins.cmpt.bean.Func"
>
<select
id=
"queryAllFuncs"
resultType=
"com.dlbridge.jadp.plugins.cmpt.bean.Func"
>
select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb,`status`,icon,open_type openType,dead_time deadTime,start_time startTime,need_time needTime
select id,cmptid cmptId,name,type,visibility,seq,app_id appId,url,name_web nameWeb,`status`,icon,open_type openType,dead_time deadTime,start_time startTime,need_time needTime
,content
from gk_cmptsetting
from gk_cmptsetting
where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status=1
where cmptid = #{cmptId} and visibility=1 and del_flag=0 and status=1
order by seq
order by seq
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/mapper/RichTextMapper.xml
View file @
6da433d7
...
@@ -123,6 +123,7 @@
...
@@ -123,6 +123,7 @@
,type
,type
,status
,status
,module_id AS moduleId
,module_id AS moduleId
,content
FROM
FROM
gksite.gk_rich_text
gksite.gk_rich_text
WHERE
WHERE
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/dao/model/RichText.java
View file @
6da433d7
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
dao
.
model
;
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
dao
.
model
;
import
lombok.Data
;
import
lombok.Data
;
import
org.springframework.data.annotation.Transient
;
@Data
@Data
public
class
RichText
{
public
class
RichText
{
...
@@ -13,6 +14,9 @@ public class RichText {
...
@@ -13,6 +14,9 @@ public class RichText {
private
Integer
moduleId
;
private
Integer
moduleId
;
private
String
title
;
private
String
title
;
private
String
address
;
private
String
address
;
// 链接地址
@Transient
private
String
url
;
private
Double
lng
;
private
Double
lng
;
private
Double
lat
;
private
Double
lat
;
private
String
content
;
private
String
content
;
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/RichTextService.java
View file @
6da433d7
...
@@ -119,4 +119,8 @@ public class RichTextService {
...
@@ -119,4 +119,8 @@ public class RichTextService {
return
new
ArrayList
();
return
new
ArrayList
();
}
}
}
}
public
RichText
getById
(
String
id
){
return
richTextMapper
.
getById
(
id
).
get
(
0
);
}
}
}
\ No newline at end of file
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/CmptSettingController.java
View file @
6da433d7
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
web
;
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
web
;
import
com.dlbridge.feign.GeexekScoreService
;
import
com.dlbridge.feign.GeexekScoreService
;
import
com.dlbridge.feign.bean.News
;
import
com.dlbridge.jadp.common.interceptor.PageView
;
import
com.dlbridge.jadp.common.interceptor.PageView
;
import
com.dlbridge.jadp.plugins.cmpt.bean.CmptSettingTemplate
;
import
com.dlbridge.jadp.plugins.cmpt.bean.CmptSettingTemplate
;
import
com.dlbridge.jadp.plugins.cmpt.bean.FuncSetting
;
import
com.dlbridge.jadp.plugins.cmpt.bean.FuncSetting
;
...
@@ -13,10 +14,7 @@ import com.dlbridge.jadp.plugins.cmpt.service.*;
...
@@ -13,10 +14,7 @@ import com.dlbridge.jadp.plugins.cmpt.service.*;
import
com.neusoft.www.utils.web.Result
;
import
com.neusoft.www.utils.web.Result
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.ModelAndView
;
import
springfox.documentation.annotations.ApiIgnore
;
import
springfox.documentation.annotations.ApiIgnore
;
...
@@ -129,6 +127,14 @@ public class CmptSettingController {
...
@@ -129,6 +127,14 @@ public class CmptSettingController {
return
"ok"
;
return
"ok"
;
}
}
@RequestMapping
(
value
=
"/page/{id}"
,
method
=
RequestMethod
.
GET
)
public
ModelAndView
page
(
@PathVariable
(
"id"
)
String
id
,
ModelAndView
mv
)
{
mv
.
setViewName
(
"cmpt/detail"
);
CmptSetting
cmptSetting
=
cmptSettingService
.
getCmptSettingById
(
id
);
mv
.
addObject
(
"news"
,
cmptSetting
);
return
mv
;
}
/**
/**
* 修改赛事活动启用状态
* 修改赛事活动启用状态
*/
*/
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/MicroApiController.java
View file @
6da433d7
...
@@ -38,6 +38,7 @@ import java.net.HttpURLConnection;
...
@@ -38,6 +38,7 @@ import java.net.HttpURLConnection;
import
java.net.URL
;
import
java.net.URL
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Log4j2
@Log4j2
...
@@ -468,8 +469,29 @@ public class MicroApiController {
...
@@ -468,8 +469,29 @@ public class MicroApiController {
@ApiOperation
(
value
=
"赛事功能模块列表"
,
notes
=
"赛事功能模块列表"
,
tags
=
"赛事页面"
)
@ApiOperation
(
value
=
"赛事功能模块列表"
,
notes
=
"赛事功能模块列表"
,
tags
=
"赛事页面"
)
public
Result
<
List
<
Func
>>
func
(
@PathVariable
(
"cmptId"
)
int
cmpId
,
public
Result
<
List
<
Func
>>
func
(
@PathVariable
(
"cmptId"
)
int
cmpId
,
HttpServletRequest
request
)
{
HttpServletRequest
request
)
{
String
enrollId
=
request
.
getParameter
(
"enrollId"
);
//
String enrollId = request.getParameter("enrollId");
List
<
Func
>
list
=
cmptSetting
.
queryFuncs
(
cmpId
);
List
<
Func
>
list
=
cmptSetting
.
queryFuncs
(
cmpId
);
list
=
list
.
stream
()
.
filter
(
v
->
{
if
(
v
.
getNeedTime
()
==
null
||
v
.
getNeedTime
()
!=
1
)
{
return
true
;
// 不需要时间校验的直接保留
}
Date
now
=
new
Date
();
// 检查开始时间条件(如果有)
boolean
startValid
=
v
.
getStartTime
()
==
null
||
!
now
.
before
(
v
.
getStartTime
());
// 检查结束时间条件(如果有)
boolean
endValid
=
v
.
getDeadTime
()
==
null
||
now
.
before
(
v
.
getDeadTime
());
// 必须同时满足开始和结束时间条件
return
startValid
&&
endValid
;
})
.
collect
(
Collectors
.
toList
());
list
.
forEach
(
v
->
{
if
(
v
.
getOpenType
().
equals
(
0
)){
v
.
setUrl
(
serverURL
+
"gk/cmpt/cmptSetting/page/"
+
v
.
getId
());
}
});
/* if (StringUtils.isBlank(enrollId)) {
/* if (StringUtils.isBlank(enrollId)) {
list = cmptSetting.queryAllFuncs(cmpId); // 查询 可对外的
list = cmptSetting.queryAllFuncs(cmpId); // 查询 可对外的
} else { // 绑定后
} else { // 绑定后
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/RichTextController.java
View file @
6da433d7
...
@@ -9,6 +9,7 @@ import io.swagger.annotations.Api;
...
@@ -9,6 +9,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiSort
;
import
io.swagger.annotations.ApiSort
;
import
lombok.extern.log4j.Log4j2
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -28,6 +29,9 @@ public class RichTextController {
...
@@ -28,6 +29,9 @@ public class RichTextController {
@Resource
@Resource
private
RichTextService
richTextService
;
private
RichTextService
richTextService
;
@Value
(
"${server.url.https}"
)
private
String
serverURL
;
@PostMapping
(
value
=
"/add"
)
@PostMapping
(
value
=
"/add"
)
@ApiOperation
(
value
=
"自助服务管理新增"
,
notes
=
"自助服务管理新增"
,
tags
=
"自助服务"
)
@ApiOperation
(
value
=
"自助服务管理新增"
,
notes
=
"自助服务管理新增"
,
tags
=
"自助服务"
)
public
Result
addRichText
(
@RequestBody
RichText
richText
)
{
public
Result
addRichText
(
@RequestBody
RichText
richText
)
{
...
@@ -73,8 +77,11 @@ public class RichTextController {
...
@@ -73,8 +77,11 @@ public class RichTextController {
public
Result
<
List
<
RichText
>>
getRichTextList
(
@RequestBody
RichTextBean
richTextBean
,
@PathVariable
(
"page"
)
int
page
,
@PathVariable
(
"pageSize"
)
int
pageSize
)
{
public
Result
<
List
<
RichText
>>
getRichTextList
(
@RequestBody
RichTextBean
richTextBean
,
@PathVariable
(
"page"
)
int
page
,
@PathVariable
(
"pageSize"
)
int
pageSize
)
{
List
<
RichText
>
richTextList
=
richTextService
.
getPage
(
richTextBean
,
page
-
1
,
pageSize
);
List
<
RichText
>
richTextList
=
richTextService
.
getPage
(
richTextBean
,
page
-
1
,
pageSize
);
//int fromIndex = pointService.getOffset(pageNo, pageCount);
richTextList
.
forEach
(
v
->
{
//richTextList = JoyfulRichTextService.subList(richTextList, fromIndex, fromIndex + pageCount);
if
(
v
.
getType
().
equals
(
0
)){
v
.
setUrl
(
serverURL
+
"gk/service/page/"
+
v
.
getId
());
}
});
return
Result
.
success
().
setContent
(
richTextList
);
return
Result
.
success
().
setContent
(
richTextList
);
}
}
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/ServiceSettingController.java
View file @
6da433d7
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
web
;
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
web
;
import
com.dlbridge.jadp.common.interceptor.PageView
;
import
com.dlbridge.jadp.common.interceptor.PageView
;
import
com.dlbridge.jadp.plugins.cmpt.bean.CmptScoreRule
;
import
com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt
;
import
com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt
;
import
com.dlbridge.jadp.plugins.cmpt.service.CmptScoreRuleService
;
import
com.dlbridge.jadp.plugins.cmpt.dao.model.CmptSetting
;
import
com.dlbridge.jadp.plugins.cmpt.dao.model.RichText
;
import
com.dlbridge.jadp.plugins.cmpt.service.CmptService
;
import
com.dlbridge.jadp.plugins.cmpt.service.CmptService
;
import
com.dlbridge.jadp.plugins.cmpt.service.RemoteService
;
import
com.dlbridge.jadp.plugins.cmpt.service.RichTextService
;
import
com.neusoft.www.utils.web.Result
;
import
lombok.extern.log4j.Log4j2
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.Re
sponseBody
;
import
org.springframework.web.bind.annotation.Re
questMethod
;
import
org.springframework.web.servlet.ModelAndView
;
import
org.springframework.web.servlet.ModelAndView
;
import
springfox.documentation.annotations.ApiIgnore
;
import
springfox.documentation.annotations.ApiIgnore
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.List
;
@Controller
@Controller
@Log4j2
@Log4j2
...
@@ -27,6 +25,9 @@ public class ServiceSettingController {
...
@@ -27,6 +25,9 @@ public class ServiceSettingController {
@Resource
@Resource
private
CmptService
cmptService
;
private
CmptService
cmptService
;
@Resource
private
RichTextService
richTextService
;
@RequestMapping
(
"index/{cmptId}"
)
@RequestMapping
(
"index/{cmptId}"
)
@PageView
@PageView
public
ModelAndView
servicePage
(
@PathVariable
(
"cmptId"
)
Integer
cmptId
,
ModelAndView
mv
)
{
public
ModelAndView
servicePage
(
@PathVariable
(
"cmptId"
)
Integer
cmptId
,
ModelAndView
mv
)
{
...
@@ -37,4 +38,15 @@ public class ServiceSettingController {
...
@@ -37,4 +38,15 @@ public class ServiceSettingController {
return
mv
;
return
mv
;
}
}
@RequestMapping
(
value
=
"/page/{id}"
,
method
=
RequestMethod
.
GET
)
public
ModelAndView
page
(
@PathVariable
(
"id"
)
String
id
,
ModelAndView
mv
)
{
mv
.
setViewName
(
"cmpt/detail"
);
RichText
richText
=
richTextService
.
getById
(
id
);
mv
.
addObject
(
"news"
,
richText
);
return
mv
;
}
}
}
src/main/webapp/WEB-INF/views/cmpt/module.jsp
View file @
6da433d7
...
@@ -42,6 +42,14 @@
...
@@ -42,6 +42,14 @@
<link
rel=
"stylesheet"
href=
"${ctxStatic}/layer/skin/layer.css"
>
<link
rel=
"stylesheet"
href=
"${ctxStatic}/layer/skin/layer.css"
>
<link
rel=
"stylesheet"
href=
"/static/cmpt/score.css?
<%=
System
.
currentTimeMillis
()
%>
"
>
<link
rel=
"stylesheet"
href=
"/static/cmpt/score.css?
<%=
System
.
currentTimeMillis
()
%>
"
>
<style>
<style>
.layui-layer-title
{
color
:
white
;
}
.layui-layer-btn
{
color
:
white
;
}
.action
{
.action
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
...
@@ -560,7 +568,7 @@
...
@@ -560,7 +568,7 @@
}
}
var
reads
=
new
FileReader
();
var
reads
=
new
FileReader
();
reads
.
readAsDataURL
(
file
);
reads
.
readAsDataURL
(
file
);
reads
.
onload
=
function
()
{
reads
.
onload
=
()
=>
{
//将处理完的图片文件上传到阿里云服务器
//将处理完的图片文件上传到阿里云服务器
//上传LOGO图片
//上传LOGO图片
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
...
@@ -574,7 +582,8 @@
...
@@ -574,7 +582,8 @@
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
app
.
$data
.
module
.
icon
=
res
.
content
this
.
module
.
icon
=
res
.
content
this
.
$forceUpdate
()
}
}
},
},
beforeSend
:
()
=>
{
beforeSend
:
()
=>
{
...
...
src/main/webapp/WEB-INF/views/cmpt/news.jsp
View file @
6da433d7
...
@@ -238,6 +238,21 @@
...
@@ -238,6 +238,21 @@
background-size
:
auto
;
background-size
:
auto
;
}
}
.file-cover
{
width
:
680px
;
height
:
232px
;
background
:
rgba
(
247
,
247
,
247
,
1
);
border-radius
:
4px
;
border
:
1px
solid
rgba
(
238
,
238
,
238
,
1
);
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
cursor
:
pointer
;
background-repeat
:
no-repeat
;
background-position
:
center
;
background-size
:
auto
;
}
input
,
input
,
textarea
{
textarea
{
outline
:
none
;
outline
:
none
;
...
@@ -273,6 +288,14 @@
...
@@ -273,6 +288,14 @@
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
}
}
.file-icon-cover
{
width
:
34px
;
height
:
34px
;
background-image
:
url("/static/images/icon_cover.png")
;
background-size
:
100%
;
background-repeat
:
no-repeat
;
}
.icon-add
{
.icon-add
{
display
:
inline-block
;
display
:
inline-block
;
width
:
16px
;
width
:
16px
;
...
@@ -442,8 +465,23 @@
...
@@ -442,8 +465,23 @@
</select>
</select>
</div>
</div>
</div>
</div>
<div
class=
"input-group hidden"
id=
"path-input"
style=
"height: 120px;margin-bottom: 10px;"
>
<div
class=
"input-group hidden"
id=
"file-upload"
<label
for=
""
>
路径
</label>
style=
"margin-top: 8px;margin-bottom: 30px;height: 240px"
>
<label
id=
"file-input"
>
上传
<br><span
style=
"font-size: 16px;color: #ce3939;margin-top: 20px"
>
<span
style=
"font-size: 12px;display: inline-block;border-radius: 50%;height: 18px;width: 18px;background: #ce3939;color: white;text-align: center;"
>
注
</span>
<span
style=
"display: inline"
>
上传对应
<br
/>
的文件
</span></span></label>
<div
style=
"float: right;"
>
<div
class=
"file-cover"
>
<span
class=
"file-icon-cover"
></span>
</div>
<input
id=
"file-doc"
type=
"file"
style=
"display: none"
onchange=
"uploadImageOrDocFile(this)"
>
</div>
</div>
<div
class=
"input-group"
id=
"path-input"
style=
"height: 120px;margin-bottom: 10px;"
>
<label
id=
"link-label"
for=
""
>
链接
</label>
<div>
<div>
<textarea
style=
"float: right;"
class=
"title-area"
type=
"text"
<textarea
style=
"float: right;"
class=
"title-area"
type=
"text"
placeholder=
"外链填写后,优先展示外链信息公众号必选绑定小程序"
id=
"path"
cols=
"50"
placeholder=
"外链填写后,优先展示外链信息公众号必选绑定小程序"
id=
"path"
cols=
"50"
...
...
src/main/webapp/WEB-INF/views/cmpt/outter-link.jsp
View file @
6da433d7
...
@@ -357,21 +357,20 @@
...
@@ -357,21 +357,20 @@
</span>
</span>
</div>
</div>
</div>
</div>
<div
class=
"func"
v-if=
"letter.openType != 0&&![5,6].includes(letter.openType)"
>
<div
class=
"func"
>
<span
class=
"title-new"
>
{{typeDesc[letter.openType].label}}
</span>
<span
class=
"title-new"
>
{{typeDesc[letter.openType].label}}
</span>
<div
style=
"position: relative;width: 400px"
>
<div
style=
"position: relative;width: 400px"
>
<input
class=
"input"
type=
"text"
v-model=
"letter.url"
<input
id=
"link"
class=
"input"
type=
"text"
v-model=
"letter.url"
:placeholder=
"typeDesc[letter.openType].placeholder"
>
:placeholder=
"typeDesc[letter.openType].placeholder"
>
</div>
</div>
</div>
</div>
<div
class=
"func"
v-if=
"[5,6].includes(letter.openType)"
>
<div
class=
"func"
v-if=
"[5,6].includes(letter.openType)"
>
<span
class=
"title-new"
>
{{typeDesc[letter.openType].label}}
</span>
<span
class=
"title-new"
>
上传
{{typeDesc[letter.openType].label}}
</span>
<div>
<div>
<label
for=
"url"
>
<label
for=
"url"
>
<div
v-if=
"!letter.url"
class=
"cover"
>
<div
class=
"cover"
>
<span
class=
"icon-cover"
></span>
<span
class=
"icon-cover"
></span>
</div>
</div>
<span
v-else
>
{{letter.url}}
</span>
</label>
</label>
<input
id=
"url"
type=
"file"
style=
"display: none"
@
change=
"uploadFile"
>
<input
id=
"url"
type=
"file"
style=
"display: none"
@
change=
"uploadFile"
>
</div>
</div>
...
@@ -620,7 +619,7 @@
...
@@ -620,7 +619,7 @@
}
}
var
reads
=
new
FileReader
();
var
reads
=
new
FileReader
();
reads
.
readAsDataURL
(
file
);
reads
.
readAsDataURL
(
file
);
reads
.
onload
=
function
()
{
reads
.
onload
=
()
=>
{
//将处理完的图片文件上传到阿里云服务器
//将处理完的图片文件上传到阿里云服务器
//上传LOGO图片
//上传LOGO图片
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
...
@@ -633,8 +632,10 @@
...
@@ -633,8 +632,10 @@
processData
:
false
,
processData
:
false
,
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
letter
.
icon
=
res
.
content
;
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
app
.
$data
.
letter
.
icon
=
res
.
content
this
.
$forceUpdate
();
// 强制更新视图
}
}
},
},
beforeSend
:
()
=>
{
beforeSend
:
()
=>
{
...
@@ -650,15 +651,18 @@
...
@@ -650,15 +651,18 @@
//文件上传处理
//文件上传处理
uploadFile
(
obj
)
{
uploadFile
(
obj
)
{
file
=
obj
.
target
.
files
[
0
];
file
=
obj
.
target
.
files
[
0
];
if
(
this
.
letter
.
openType
===
6
&&
file
.
type
&&
file
.
type
.
indexOf
(
"image"
)
==
-
1
)
{
if
(
file
.
type
&&
file
.
type
.
indexOf
(
"image"
)
==
-
1
&&
this
.
letter
.
openType
==
6
)
{
return
layer
.
msg
(
'请上传图片'
,
{
icon
:
5
})
layer
.
msg
(
'请上传图片'
,
{
icon
:
5
})
return
;
}
}
if
(
this
.
letter
.
openType
===
5
&&
file
.
type
&&
(
file
.
type
.
indexOf
(
".pdf"
)
===
-
1
||
file
.
type
.
indexOf
(
".doc"
)
===
-
1
))
{
// 文档
return
layer
.
msg
(
'请上传 pdf或doc文档'
,
{
icon
:
5
})
if
(
file
.
type
&&
!
[
'.docx'
,
'.xlsx'
,
'.pptx'
].
includes
(
file
.
name
.
slice
(
file
.
name
.
lastIndexOf
(
'.'
)))
&&
this
.
letter
.
openType
==
5
)
{
layer
.
msg
(
'请上传文档'
,
{
icon
:
5
})
return
;
}
}
var
reads
=
new
FileReader
();
var
reads
=
new
FileReader
();
reads
.
readAsDataURL
(
file
);
reads
.
readAsDataURL
(
file
);
reads
.
onload
=
function
()
{
reads
.
onload
=
()
=>
{
//将处理完的图片文件上传到阿里云服务器
//将处理完的图片文件上传到阿里云服务器
//上传LOGO图片
//上传LOGO图片
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
...
@@ -671,8 +675,11 @@
...
@@ -671,8 +675,11 @@
processData
:
false
,
processData
:
false
,
success
:
(
res
)
=>
{
success
:
(
res
)
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
letter
.
url
=
res
.
content
;
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
app
.
$data
.
letter
.
url
=
res
.
content
$
(
"#link"
).
val
(
res
.
content
)
this
.
$forceUpdate
();
// 强制更新视图
}
}
},
},
beforeSend
:
()
=>
{
beforeSend
:
()
=>
{
...
...
src/main/webapp/WEB-INF/views/cmpt/service.jsp
View file @
6da433d7
This diff is collapsed.
Click to expand it.
src/main/webapp/WEB-INF/views/cmpt/swiper.jsp
View file @
6da433d7
...
@@ -56,6 +56,14 @@
...
@@ -56,6 +56,14 @@
}
}
.layui-layer-title
{
color
:
white
;
}
.layui-layer-btn
{
color
:
white
;
}
.action
div
{
.action
div
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
...
@@ -648,7 +656,7 @@
...
@@ -648,7 +656,7 @@
}
}
var
reads
=
new
FileReader
();
var
reads
=
new
FileReader
();
reads
.
readAsDataURL
(
file
);
reads
.
readAsDataURL
(
file
);
reads
.
onload
=
function
()
{
reads
.
onload
=
()
=>
{
//将处理完的图片文件上传到阿里云服务器
//将处理完的图片文件上传到阿里云服务器
//上传LOGO图片
//上传LOGO图片
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
...
@@ -662,7 +670,8 @@
...
@@ -662,7 +670,8 @@
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
app
.
$data
.
service
.
imgUrl
=
res
.
content
this
.
service
.
imgUrl
=
res
.
content
this
.
$forceUpdate
()
}
}
},
},
beforeSend
:
()
=>
{
beforeSend
:
()
=>
{
...
...
src/main/webapp/static/js/news.js
View file @
6da433d7
...
@@ -23,11 +23,11 @@ const typeDesc = {
...
@@ -23,11 +23,11 @@ const typeDesc = {
},
},
5
:
{
5
:
{
label
:
'文档'
,
label
:
'文档'
,
placeholder
:
'请输入文档地址'
,
placeholder
:
'请输入文档地址
或点击上方上传
'
,
},
},
6
:
{
6
:
{
label
:
'图片'
,
label
:
'图片'
,
placeholder
:
'请输入图片地址'
,
placeholder
:
'请输入图片地址
或点击上方上传
'
,
},
},
7
:
{
7
:
{
label
:
'地图'
,
label
:
'地图'
,
...
@@ -37,7 +37,6 @@ const typeDesc = {
...
@@ -37,7 +37,6 @@ const typeDesc = {
$
(
document
).
ready
(
function
()
{
$
(
document
).
ready
(
function
()
{
editor
=
UE
.
getEditor
(
'container'
);
editor
=
UE
.
getEditor
(
'container'
);
$
(
'#save'
).
click
(
function
()
{
$
(
'#save'
).
click
(
function
()
{
var
title
=
$
(
'#title'
).
val
();
var
title
=
$
(
'#title'
).
val
();
if
(
!
title
)
{
if
(
!
title
)
{
...
@@ -100,6 +99,9 @@ $(document).ready(function () {
...
@@ -100,6 +99,9 @@ $(document).ready(function () {
$
(
'.cover'
).
click
(
function
()
{
$
(
'.cover'
).
click
(
function
()
{
$
(
'#file'
).
trigger
(
'click'
);
$
(
'#file'
).
trigger
(
'click'
);
});
});
$
(
'.file-cover'
).
click
(
function
()
{
$
(
'#file-doc'
).
trigger
(
'click'
);
});
$
(
'.back'
).
click
(
function
()
{
$
(
'.back'
).
click
(
function
()
{
$
(
'.container'
).
show
();
$
(
'.container'
).
show
();
...
@@ -181,18 +183,18 @@ function updateViews(openType = 0) {
...
@@ -181,18 +183,18 @@ function updateViews(openType = 0) {
// 修改 path 的 label 和 placeholder
// 修改 path 的 label 和 placeholder
$
(
'#path'
).
prev
(
'label'
).
text
(
desc
.
label
);
$
(
'#path'
).
prev
(
'label'
).
text
(
desc
.
label
);
$
(
'#path'
).
attr
(
'placeholder'
,
desc
.
placeholder
);
$
(
'#path'
).
attr
(
'placeholder'
,
desc
.
placeholder
);
if
(
openType
==
'0'
)
{
//
地图类型
if
(
openType
==
'0'
)
{
//
$
(
'#path-input'
).
addClass
(
'hidden'
);
$
(
'#path-input'
).
addClass
(
'hidden'
);
}
else
{
}
else
{
$
(
'#path-input'
).
removeClass
(
'hidden'
);
$
(
'#path-input'
).
removeClass
(
'hidden'
);
}
}
if
(
openType
==
'2'
)
{
//
地图类型
if
(
openType
==
'2'
)
{
//
$
(
'#appId-input'
).
removeClass
(
'hidden'
);
$
(
'#appId-input'
).
removeClass
(
'hidden'
);
}
else
{
}
else
{
$
(
'#appId-input'
).
addClass
(
'hidden'
);
$
(
'#appId-input'
).
addClass
(
'hidden'
);
}
}
// 根据类型显示/隐藏经纬度输入框
// 根据类型显示/隐藏经纬度输入框
if
(
openType
==
'7'
)
{
//
地图类型
if
(
openType
==
'7'
)
{
//
$
(
'#lat-input'
).
removeClass
(
'hidden'
);
$
(
'#lat-input'
).
removeClass
(
'hidden'
);
$
(
'#lng-input'
).
removeClass
(
'hidden'
);
$
(
'#lng-input'
).
removeClass
(
'hidden'
);
}
else
{
}
else
{
...
@@ -201,6 +203,12 @@ function updateViews(openType = 0) {
...
@@ -201,6 +203,12 @@ function updateViews(openType = 0) {
}
}
}
}
// 显示上传的弹框
if
([
"5"
,
"6"
].
includes
(
openType
))
{
$
(
'#file-upload'
).
removeClass
(
'hidden'
);
}
else
{
$
(
'#file-upload'
).
addClass
(
'hidden'
);
}
}
}
//文件上传处理
//文件上传处理
...
@@ -218,13 +226,13 @@ function uploadFile(obj) {
...
@@ -218,13 +226,13 @@ function uploadFile(obj) {
var
formData
=
new
FormData
();
var
formData
=
new
FormData
();
formData
.
append
(
"file"
,
file
);
formData
.
append
(
"file"
,
file
);
$
.
ajax
({
$
.
ajax
({
url
:
upload
File
,
/*接口域名地址*/
url
:
upload
Url
,
/*接口域名地址*/
type
:
'post'
,
type
:
'post'
,
data
:
formData
,
data
:
formData
,
contentType
:
false
,
contentType
:
false
,
processData
:
false
,
processData
:
false
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
code
==
"1"
)
{
if
(
res
.
code
==
200
)
{
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
$
(
'#file-cover'
).
attr
(
'data-src'
,
res
.
content
);
$
(
'#file-cover'
).
attr
(
'data-src'
,
res
.
content
);
$
(
'#file-cover'
).
attr
(
'data-src'
,
res
.
content
);
$
(
'#file-cover'
).
attr
(
'data-src'
,
res
.
content
);
...
@@ -235,6 +243,47 @@ function uploadFile(obj) {
...
@@ -235,6 +243,47 @@ function uploadFile(obj) {
})
})
};
};
}
}
//文件上传处理
function
uploadImageOrDocFile
(
obj
)
{
var
reads
=
new
FileReader
();
const
openType
=
$
(
'#openType'
).
val
();
file
=
obj
.
files
[
0
];
if
(
file
.
type
&&
file
.
type
.
indexOf
(
"image"
)
==
-
1
&&
openType
==
6
)
{
layer
.
msg
(
'请上传图片'
,
{
icon
:
5
})
return
;
}
// 文档
if
(
file
.
type
&&
!
[
'.docx'
,
'.xlsx'
,
'.pptx'
].
includes
(
file
.
name
.
slice
(
file
.
name
.
lastIndexOf
(
'.'
)))
&&
openType
==
5
)
{
layer
.
msg
(
'请上传文档'
,
{
icon
:
5
})
return
;
}
reads
.
readAsDataURL
(
file
);
reads
.
onload
=
function
(
e
)
{
//将处理完的图片文件上传到阿里云服务器
//上传LOGO图片
var
formData
=
new
FormData
();
formData
.
append
(
"file"
,
file
);
$
.
ajax
({
url
:
uploadUrl
,
/*接口域名地址*/
type
:
'post'
,
data
:
formData
,
contentType
:
false
,
processData
:
false
,
success
:
function
(
res
)
{
if
(
res
.
code
==
200
)
{
layer
.
msg
(
'上传成功'
,
{
icon
:
1
,
time
:
1500
});
// 正确的方式 - 使用val()方法
$
(
"#path"
).
val
(
res
.
content
);
if
(
openType
==
6
)
{
$
(
'.file-cover'
).
css
(
'background-image'
,
'url('
+
res
.
content
+
')'
)
$
(
'.file-icon-cover'
).
remove
();
}
}
}
})
};
}
function
getNews
(
id
)
{
function
getNews
(
id
)
{
layer
.
load
(
2
)
layer
.
load
(
2
)
...
...
Write
Preview
Markdown
is supported
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