Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
cms-ci-test
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
test-ci
cms-ci-test
Commits
1beaa28b
提交
1beaa28b
authored
5月 22, 2023
作者:
zhenjie
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
调用微信相关接口
上级
5a420129
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
82 行增加
和
4 行删除
+82
-4
WxService.java
...er/src/main/java/com/mmc/iuav/user/service/WxService.java
+35
-0
WxServiceImpl.java
...in/java/com/mmc/iuav/user/service/impl/WxServiceImpl.java
+47
-4
没有找到文件。
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/WxService.java
浏览文件 @
1beaa28b
package
com
.
mmc
.
iuav
.
user
.
service
;
package
com
.
mmc
.
iuav
.
user
.
service
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.model.vo.WxLoginVO
;
import
com.mmc.iuav.user.model.vo.WxLoginVO
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* @author: zj
* @author: zj
* @Date: 2023/5/16 13:43
* @Date: 2023/5/16 13:43
...
@@ -26,4 +30,35 @@ public interface WxService {
...
@@ -26,4 +30,35 @@ public interface WxService {
* @return
* @return
*/
*/
String
getAccessToken
();
String
getAccessToken
();
/**
* 获取公众号AccessToken
* @return
*/
String
getSubAccessToken
();
/**
* 监控微信公众号的事件变化通知
* @param request
* @param response
*/
void
receiveSubAccountEvents
(
HttpServletRequest
request
,
HttpServletResponse
response
);
/**
* 推送订阅消息
* @return
*/
ResultBody
sendSubMsg
();
/**
* 获取不限制的小程序码
* @param path
* @param scene
*/
void
getUnLimitedQRCode
(
String
path
,
String
scene
);
}
}
csm-service/cms-service-user/src/main/java/com/mmc/iuav/user/service/impl/WxServiceImpl.java
浏览文件 @
1beaa28b
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
package
com
.
mmc
.
iuav
.
user
.
service
.
impl
;
import
com.alibaba.fastjson2.JSONObject
;
import
com.mmc.iuav.http.HttpsRequestUtil
;
import
com.mmc.iuav.http.HttpsRequestUtil
;
import
com.mmc.iuav.response.ResultBody
;
import
com.mmc.iuav.user.constant.UserSystemConstant
;
import
com.mmc.iuav.user.constant.UserSystemConstant
;
import
com.mmc.iuav.user.constant.WxConstant
;
import
com.mmc.iuav.user.constant.WxConstant
;
import
com.mmc.iuav.user.model.vo.WxLoginVO
;
import
com.mmc.iuav.user.model.vo.WxLoginVO
;
import
com.mmc.iuav.user.service.WxService
;
import
com.mmc.iuav.user.service.WxService
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
/**
* @author: zj
* @author: zj
* @Date: 2023/5/16 13:44
* @Date: 2023/5/16 13:44
...
@@ -19,16 +25,16 @@ public class WxServiceImpl implements WxService {
...
@@ -19,16 +25,16 @@ public class WxServiceImpl implements WxService {
@Override
@Override
public
String
appLogin
(
WxLoginVO
wxLoginVO
)
{
public
String
appLogin
(
WxLoginVO
wxLoginVO
)
{
String
url
=
WxConstant
.
CODE2_SESSION_URL
+
"?appid="
+
userSystemConstant
.
getWxAppId
()
+
"&secret="
+
userSystemConstant
.
getWxAppSecret
()
+
"&js_code="
+
wxLoginVO
.
getCode
()
String
url
=
WxConstant
.
CODE2_SESSION_URL
+
"?appid="
+
userSystemConstant
.
getWxAppId
()
+
"&secret="
+
+
"&grant_type="
+
WxConstant
.
GRANT_TYPE
;
userSystemConstant
.
getWxAppSecret
()
+
"&js_code="
+
wxLoginVO
.
getCode
()
+
"&grant_type="
+
WxConstant
.
GRANT_TYPE
;
String
data
=
HttpsRequestUtil
.
httpsGet
(
url
,
null
);
String
data
=
HttpsRequestUtil
.
httpsGet
(
url
,
null
);
return
data
;
return
data
;
}
}
@Override
@Override
public
String
pcLogin
(
WxLoginVO
wxLoginVO
)
{
public
String
pcLogin
(
WxLoginVO
wxLoginVO
)
{
String
url
=
WxConstant
.
ACCESS_TOKEN_URL
+
"?appid="
+
userSystemConstant
.
getWxAppId
()
+
"&secret="
+
userSystemConstant
.
getWxAppSecret
()
+
"&code="
+
wxLoginVO
.
getCode
()
String
url
=
WxConstant
.
ACCESS_TOKEN_URL
+
"?appid="
+
userSystemConstant
.
getWxAppId
()
+
"&secret="
+
userSystemConstant
.
getWxAppSecret
()
+
+
"&grant_type="
+
WxConstant
.
GRANT_TYPE
;
"&code="
+
wxLoginVO
.
getCode
()
+
"&grant_type="
+
WxConstant
.
GRANT_TYPE
;
String
data
=
HttpsRequestUtil
.
httpsGet
(
url
,
null
);
String
data
=
HttpsRequestUtil
.
httpsGet
(
url
,
null
);
return
data
;
return
data
;
}
}
...
@@ -36,6 +42,43 @@ public class WxServiceImpl implements WxService {
...
@@ -36,6 +42,43 @@ public class WxServiceImpl implements WxService {
@Override
@Override
public
String
getAccessToken
()
{
public
String
getAccessToken
()
{
//token有效期为7200s,需要保存起来
//token有效期为7200s,需要保存起来
//先从redis中获取accessToken,没有则请求获取
String
accessToken
=
null
;
if
(
StringUtils
.
isBlank
(
accessToken
)){
String
getAccessTokenUrl
=
"https://api.weixin.qq.com/cgi-bin/token"
+
"?grant_type=client_credential"
+
"&appid="
+
userSystemConstant
.
getWxAppId
()
+
"&secret"
+
userSystemConstant
.
getWxAppSecret
();
String
accessTokenMsg
=
HttpsRequestUtil
.
httpsGet
(
getAccessTokenUrl
,
null
);
JSONObject
tokenResult
=
JSONObject
.
parseObject
(
accessTokenMsg
);
if
(
accessTokenMsg
.
indexOf
(
"access_token"
)
==
-
1
)
{
System
.
out
.
println
(
"获取用户信息有误:access_token请求失败:"
+
tokenResult
);
return
null
;
}
accessToken
=
tokenResult
.
getString
(
"access_token"
);
long
expiresIn
=
tokenResult
.
getLong
(
"expires_in"
);
//保存进redis
return
accessToken
;
}
else
{
return
accessToken
;
}
}
@Override
public
String
getSubAccessToken
()
{
return
null
;
}
@Override
public
void
receiveSubAccountEvents
(
HttpServletRequest
request
,
HttpServletResponse
response
)
{
}
@Override
public
ResultBody
sendSubMsg
()
{
return
null
;
return
null
;
}
}
@Override
public
void
getUnLimitedQRCode
(
String
path
,
String
scene
)
{
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论