Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AuthorizeLogin
Overview
Overview
Details
Activity
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
虞诚毅
AuthorizeLogin
Commits
022cffea
Commit
022cffea
authored
Apr 19, 2019
by
303514581@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2019/4/19 定时获取ticket
parent
88eeb2b3
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
42 additions
and
23 deletions
+42
-23
src/main/java/com/zhiwei/AuthorizeLoginApplication.java
+2
-0
src/main/java/com/zhiwei/controller/WapWechatLoginController.java
+40
-23
No files found.
src/main/java/com/zhiwei/AuthorizeLoginApplication.java
View file @
022cffea
...
...
@@ -2,8 +2,10 @@ package com.zhiwei;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
@SpringBootApplication
@EnableScheduling
public
class
AuthorizeLoginApplication
{
public
static
void
main
(
String
[]
args
)
{
...
...
src/main/java/com/zhiwei/controller/WapWechatLoginController.java
View file @
022cffea
package
com
.
zhiwei
.
controller
;
import
java.io.IOException
;
import
java.util.List
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -15,6 +16,7 @@ import org.apache.http.util.EntityUtils;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
...
...
@@ -42,14 +44,29 @@ public class WapWechatLoginController {
private
static
String
ticket
=
null
;
private
static
Long
ticketTime
=
null
;
private
static
Long
ticket_expires_in
=
5L
;
//
private static Long ticketTime = null;
//
//
private static Long ticket_expires_in = 5L;
private
static
String
AccessTokenUrl
=
"http://yuqing.zhiweidata.com/WechatPublic/common/getToken.do?appId=10899EAFD60082D2E44C037DD89B881259479759686FDF66939F540EEC0901B1"
;
private
static
String
JsApiTicketUrl
=
"https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token="
;
@Scheduled
(
fixedDelay
=
6000
)
public
void
reflashTicket
()
{
// 获取project
String
tokenRes
=
Tools
.
httpGet
(
AccessTokenUrl
);
JSONObject
tokenInfo
=
JSONObject
.
parseObject
(
tokenRes
);
if
(
tokenInfo
.
getIntValue
(
"code"
)
==
200
)
{
String
access_Token
=
tokenInfo
.
getJSONObject
(
"data"
).
getString
(
"accessToken"
);
String
ticketRes
=
Tools
.
httpGet
(
JsApiTicketUrl
+
access_Token
);
JSONObject
ticketInfo
=
JSONObject
.
parseObject
(
ticketRes
);
ticket
=
ticketInfo
.
getString
(
"ticket"
);
}
else
{
ticket
=
tokenInfo
.
toJSONString
();
}
}
/**
* 回调接口
*
...
...
@@ -120,26 +137,26 @@ public class WapWechatLoginController {
@RequestMapping
(
"/wapwechat/jsapiticket"
)
public
String
wapJsapiTicket
(
HttpServletResponse
response
,
HttpServletRequest
request
)
{
try
{
if
(!
StringUtils
.
isEmpty
(
ticket
)
&&
((
System
.
currentTimeMillis
()
-
ticketTime
)
<
(
ticket_expires_in
*
1000L
)))
{
}
else
{
String
tokenRes
=
Tools
.
httpGet
(
AccessTokenUrl
);
JSONObject
tokenInfo
=
JSONObject
.
parseObject
(
tokenRes
);
if
(
tokenInfo
.
getIntValue
(
"code"
)
==
200
)
{
String
access_Token
=
tokenInfo
.
getJSONObject
(
"data"
).
getString
(
"accessToken"
);
String
ticketRes
=
Tools
.
httpGet
(
JsApiTicketUrl
+
access_Token
);
JSONObject
ticketInfo
=
JSONObject
.
parseObject
(
ticketRes
);
ticket
=
ticketInfo
.
getString
(
"ticket"
);
ticketTime
=
System
.
currentTimeMillis
();
ticket_expires_in
=
5L
;
}
}
logger
.
error
(
"ticketTime"
+
ticketTime
+
"|"
+
ticket_expires_in
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"微信公众号授权jsapiticket获取失败"
,
e
);
return
e
.
getMessage
();
}
//
try {
//
if (!StringUtils.isEmpty(ticket)
//
&& ((System.currentTimeMillis() - ticketTime) < (ticket_expires_in * 1000L))) {
//
} else {
//
String tokenRes = Tools.httpGet(AccessTokenUrl);
//
JSONObject tokenInfo = JSONObject.parseObject(tokenRes);
//
if (tokenInfo.getIntValue("code") == 200) {
//
String access_Token = tokenInfo.getJSONObject("data").getString("accessToken");
//
String ticketRes = Tools.httpGet(JsApiTicketUrl + access_Token);
//
JSONObject ticketInfo = JSONObject.parseObject(ticketRes);
//
ticket = ticketInfo.getString("ticket");
//
ticketTime = System.currentTimeMillis();
//
ticket_expires_in = 5L;
//
}
//
}
//
logger.error("ticketTime" + ticketTime + "|" + ticket_expires_in);
//
} catch (Exception e) {
//
logger.error("微信公众号授权jsapiticket获取失败", e);
//
return e.getMessage();
//
}
return
ticket
;
}
...
...
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