mirror of
https://github.com/qaiu/netdisk-fast-download.git
synced 2026-06-11 07:57:28 +00:00
fix: FjTool 并发安全 - token/userId/authFlag 改为 volatile,header0 副本替代共享修改
This commit is contained in:
@@ -109,9 +109,9 @@ public class FjTool extends PanBase {
|
|||||||
|
|
||||||
// String uuid = UUID.randomUUID().toString().toLowerCase(); // 也可以使用 UUID.randomUUID().toString()
|
// String uuid = UUID.randomUUID().toString().toLowerCase(); // 也可以使用 UUID.randomUUID().toString()
|
||||||
|
|
||||||
static String token = null;
|
static volatile String token = null;
|
||||||
static String userId = null;
|
static volatile String userId = null;
|
||||||
public static boolean authFlag = true;
|
public static volatile boolean authFlag = true;
|
||||||
|
|
||||||
public FjTool(ShareLinkInfo shareLinkInfo) {
|
public FjTool(ShareLinkInfo shareLinkInfo) {
|
||||||
super(shareLinkInfo);
|
super(shareLinkInfo);
|
||||||
@@ -289,12 +289,14 @@ public class FjTool extends PanBase {
|
|||||||
JsonObject json = asJson(res2);
|
JsonObject json = asJson(res2);
|
||||||
if (json.getInteger("code") == 200) {
|
if (json.getInteger("code") == 200) {
|
||||||
token = json.getJsonObject("data").getString("appToken");
|
token = json.getJsonObject("data").getString("appToken");
|
||||||
header0.set("appToken", token);
|
MultiMap h0 = MultiMap.caseInsensitiveMultiMap();
|
||||||
|
h0.addAll(header0);
|
||||||
|
h0.set("appToken", token);
|
||||||
log.info("登录成功 token: {}...", token.substring(0, Math.min(8, token.length())));
|
log.info("登录成功 token: {}...", token.substring(0, Math.min(8, token.length())));
|
||||||
client.postAbs(UriTemplate.of(TOKEN_VERIFY_URL))
|
client.postAbs(UriTemplate.of(TOKEN_VERIFY_URL))
|
||||||
.setTemplateParam("uuid", uuid)
|
.setTemplateParam("uuid", uuid)
|
||||||
.setTemplateParam("ts", tsEncode2)
|
.setTemplateParam("ts", tsEncode2)
|
||||||
.putHeaders(header0).send().onSuccess(res -> {
|
.putHeaders(h0).send().onSuccess(res -> {
|
||||||
if (asJson(res).getInteger("code") == 200) {
|
if (asJson(res).getInteger("code") == 200) {
|
||||||
if (FjTool.userId == null) {
|
if (FjTool.userId == null) {
|
||||||
FjTool.userId = asJson(res).getJsonObject("map").getString("userId");
|
FjTool.userId = asJson(res).getJsonObject("map").getString("userId");
|
||||||
|
|||||||
Reference in New Issue
Block a user