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
2ec8939b
Commit
2ec8939b
authored
Sep 10, 2025
by
daniel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(wechat): 微信小程序工具
parent
1a6681e7
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
239 additions
and
37 deletions
+239
-37
WxCodeParam.java
...java/com/dlbridge/jadp/plugins/cmpt/bean/WxCodeParam.java
+22
-0
RichTextService.java
...m/dlbridge/jadp/plugins/cmpt/service/RichTextService.java
+0
-3
WechatMiniService.java
...dlbridge/jadp/plugins/cmpt/service/WechatMiniService.java
+151
-15
ResourcesController.java
...m/dlbridge/jadp/plugins/cmpt/web/ResourcesController.java
+0
-7
WechatMiniController.java
.../dlbridge/jadp/plugins/cmpt/web/WechatMiniController.java
+31
-4
CommonController.java
...va/com/dlbridge/jadp/plugins/common/CommonController.java
+27
-7
menu.jsp
src/main/webapp/WEB-INF/views/common/menu.jsp
+8
-1
No files found.
src/main/java/com/dlbridge/jadp/plugins/cmpt/bean/WxCodeParam.java
0 → 100644
View file @
2ec8939b
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
bean
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel
(
value
=
"小程序WxCodeParam"
,
description
=
"小程序WxCodeParam"
)
public
class
WxCodeParam
{
@ApiModelProperty
(
value
=
"宽度"
)
Integer
width
=
1280
;
@ApiModelProperty
(
value
=
"跳转的页面"
,
allowEmptyValue
=
true
)
String
path
=
"pages/index/index"
;
@ApiModelProperty
(
value
=
"正式版为 release,体验版为 trial,开发版为 develop"
)
String
envVersion
=
"release"
;
@ApiModelProperty
(
value
=
"赛客id"
)
Integer
cmptId
;
}
\ No newline at end of file
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/RichTextService.java
View file @
2ec8939b
...
...
@@ -7,8 +7,6 @@ import com.dlbridge.jadp.plugins.cmpt.utils.GpsUtil;
import
com.dlbridge.jadp.plugins.cmpt.utils.QRCodeUtil
;
import
com.google.gson.Gson
;
import
org.apache.commons.lang3.StringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
...
...
@@ -27,7 +25,6 @@ import java.util.stream.Collectors;
@Service
public
class
RichTextService
{
private
static
final
Logger
log
=
LoggerFactory
.
getLogger
(
RichTextService
.
class
);
@Resource
RichTextMapper
richTextMapper
;
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/service/WechatMiniService.java
View file @
2ec8939b
This diff is collapsed.
Click to expand it.
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/ResourcesController.java
View file @
2ec8939b
...
...
@@ -43,13 +43,6 @@ public class ResourcesController {
private
WechatMiniService
wechatMiniService
;
/**
* 小程序码生成
* @param cmptid 赛事ID
...
...
src/main/java/com/dlbridge/jadp/plugins/cmpt/web/WechatMiniController.java
View file @
2ec8939b
package
com
.
dlbridge
.
jadp
.
plugins
.
cmpt
.
web
;
import
com.dlbridge.jadp.common.interceptor.PageView
;
import
com.dlbridge.jadp.plugins.cmpt.bean.UrlLinkParam
;
import
com.dlbridge.jadp.plugins.cmpt.bean.UrlSchemeParam
;
import
com.dlbridge.jadp.plugins.cmpt.bean.WxCodeParam
;
import
com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt
;
import
com.dlbridge.jadp.plugins.cmpt.service.CmptService
;
import
com.dlbridge.jadp.plugins.cmpt.service.WechatMiniService
;
import
com.neusoft.www.utils.web.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.log4j.Log4j2
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.servlet.ModelAndView
;
import
javax.annotation.Resource
;
import
javax.servlet.http.HttpServletResponse
;
@Controller
@RestController
...
...
@@ -23,6 +26,20 @@ import javax.annotation.Resource;
public
class
WechatMiniController
{
@Resource
private
WechatMiniService
wechatMiniService
;
@Resource
private
CmptService
cmptService
;
@RequestMapping
(
"index/{cmptId}"
)
@PageView
public
ModelAndView
index
(
@PathVariable
(
"cmptId"
)
Integer
cmptId
,
ModelAndView
mv
)
{
Cmpt
cmpt
=
cmptService
.
queryCmptBycmptId
(
cmptId
);
mv
.
addObject
(
"cmpt"
,
cmpt
);
mv
.
setViewName
(
"cmpt/wechat"
);
return
mv
;
}
/**
* @param urlLinkParam 参数
* @return string
...
...
@@ -43,4 +60,14 @@ public class WechatMiniController {
public
Result
<
String
>
generateUrlScheme
(
@RequestBody
UrlSchemeParam
urlSchemeParam
)
{
return
wechatMiniService
.
generateUrlScheme
(
urlSchemeParam
);
}
/**
* @param wxCodeParam 参数
* @return string
* @link <a href="https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/url-link/generateUrlLink.html">...</a>
*/
@GetMapping
(
"/wxQrCode"
)
@ApiOperation
(
value
=
"生成小程序二维码"
,
notes
=
"生成小程序二维码"
)
public
void
generateQrcode
(
WxCodeParam
wxCodeParam
,
HttpServletResponse
response
)
{
wechatMiniService
.
generateQrCode
(
wxCodeParam
,
response
);
}
}
src/main/java/com/dlbridge/jadp/plugins/common/CommonController.java
View file @
2ec8939b
package
com
.
dlbridge
.
jadp
.
plugins
.
common
;
import
cn.hutool.http.HttpUtil
;
import
com.dlbridge.jadp.plugins.cmpt.dao.model.Cmpt
;
import
com.dlbridge.jadp.plugins.cmpt.service.CmptService
;
import
com.dlbridge.jadp.plugins.cmpt.utils.AliOssUtil
;
import
com.neusoft.www.utils.web.Result
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
com.neusoft.www.utils.web.Result
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.*
;
...
...
@@ -25,8 +21,7 @@ import java.util.*;
@Slf4j
public
class
CommonController
{
@Resource
private
CmptService
cmptService
;
// 定义允许上传的文件类型及其对应的魔数
private
static
final
Map
<
String
,
byte
[]>
ALLOWED_FILE_TYPES
=
new
HashMap
<>();
...
...
@@ -102,6 +97,31 @@ public class CommonController {
return
Result
.
fail
().
setMsg
(
"文件上传失败"
);
}
@PostMapping
(
"/uploadWithName"
)
@ApiOperation
(
value
=
"文件上传+文件名"
)
public
Result
<?>
uploadWithName
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"folder"
,
defaultValue
=
""
)
String
folder
,
@RequestParam
(
value
=
"fileName"
)
String
fileName
)
{
try
{
String
originalFilename
=
file
.
getOriginalFilename
();
assert
originalFilename
!=
null
;
// 检查文件名中是否包含点号
int
lastIndex
=
originalFilename
.
lastIndexOf
(
"."
);
if
(
lastIndex
==
-
1
)
{
// 如果没有后缀名,直接返回报错信息
return
Result
.
fail
().
setMsg
(
"上传的文件没有后缀名,请检查文件"
);
}
String
objectName
=
fileName
;
if
(!
Objects
.
equals
(
folder
,
""
))
{
objectName
=
folder
+
"/"
+
fileName
;
}
String
filePath
=
aliOssUtil
.
upload
(
file
.
getBytes
(),
objectName
);
log
.
info
(
"文件上传名: {} 保存的文件名:{}"
,
originalFilename
,
filePath
);
return
Result
.
success
().
setContent
(
filePath
);
}
catch
(
IOException
e
)
{
log
.
error
(
"文件上传失败:{}"
,
e
);
}
return
Result
.
fail
().
setMsg
(
"文件上传失败"
);
}
@PostMapping
(
"/uploadClaimer"
)
@ApiOperation
(
value
=
"参赛声明上传"
)
public
Result
<?>
uploadClaimer
(
@RequestPart
@RequestParam
(
"file"
)
MultipartFile
file
,
@RequestParam
(
value
=
"gCmptId"
)
Integer
gCmptId
)
{
...
...
src/main/webapp/WEB-INF/views/common/menu.jsp
View file @
2ec8939b
...
...
@@ -404,6 +404,13 @@
<span
class=
"menu-txt"
>
领物导航
</span>
</a>
</li>
<li
class=
"wechat menu-sub-item"
>
<a
href=
"/gk/wechatMini/index/${cmpt.cmptId}?uId=${uId}&cId=${cId}×tamp=${timestamp}&sign=${sign}"
>
<span
class=
"left-arrow"
></span>
<span
class=
"menu-txt"
>
微信小程序
</span>
</a>
</li>
</ul>
</li>
</ul>
...
...
@@ -466,7 +473,7 @@
var
classes
=
[
'cmptSetting'
,
'nameList'
,
'manual'
,
'contact'
,
'manage'
,
'route'
,
'road'
,
'equip'
,
'photo'
,
'news'
,
'cert'
,
'data'
,
'banner'
,
'score'
,
'auto'
,
'scan'
,
'review'
,
'customer'
,
'rule'
,
'outter-link'
,
'sure-letter'
,
'rankSetting'
,
'service'
,
"module"
,
"swiper"
,
"bag"
,
"invoice"
,
"markNoSelect"
,
"feedback"
,
"markNoRule"
,
"gunRule"
,
"disClaimer"
,
"location"
];
'outter-link'
,
'sure-letter'
,
'rankSetting'
,
'service'
,
"module"
,
"swiper"
,
"bag"
,
"invoice"
,
"markNoSelect"
,
"feedback"
,
"markNoRule"
,
"gunRule"
,
"disClaimer"
,
"location"
,
"wechat"
];
let
url
=
document
.
location
.
href
;
var
done
=
false
;
for
(
var
i
in
classes
)
{
...
...
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