MCPcopy Index your code
hub / github.com/smallfawn/QLScriptPublic / refresh_token

Method refresh_token

gqftbz.js:541–596  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

539 }
540 }
541 async refresh_token() {
542 let headers = this.getHeadersPost_android()
543 headers['DeviceId'] = '417d0945-b207-44ea-b185-c5673d268b81'
544 //headers["RegistrationID"] = '1a0018970bbcc32a71a'
545 try {
546 let YO = `${KO()}@DS@${KO()}`
547 let key = YO.split('@DS@')[0]
548 let iv = YO.split('@DS@')[1]
549 //console.log(YO);
550 //log(key)
551 //log(iv)
552 let options = {
553 url: `https://gw.nevapp.gtmc.com.cn/ha/iam/api/lgn/sec/checkAndUpdateToken`,
554 headers: headers,
555 body: JSON.stringify({ "encryptKey": getRSAEncryptResult(YO), "encryptData": AES_CBC_Encrypt({ "refreshToken": this.User_RefreshToken }, key, iv) })
556 }, result = await httpRequest(options);
557 //console.log(options);
558 //console.log(result);
559 if ("encryptData" in result) {
560 let rsaDeData = result.encryptKey;
561 let rsaDeResult = getRSADecryptResult_android(rsaDeData);
562 //log(rsaDeResult)
563 let aesDeData = result.encryptData;
564 let aesDekey = rsaDeResult.split("@DS@")[0];
565 let aesDeiv = rsaDeResult.split("@DS@")[1];
566 let deResult = AES_CBC_Decrypt(aesDeData, aesDekey, aesDeiv);
567 //log(deResult)
568 if (deResult.header.code == "10000000") {
569 // 假设您有一个名为data的数组
570 let data = await readFile()
571 let newData = data.filter(item => item.enKey !== this.enKey);
572
573 this.User_AccessToken = deResult["body"]["accessToken"]
574 this.User_RefreshToken = deResult["body"]["refreshToken"]
575
576 newData.push({ acToken: this.User_AccessToken, rfToken: this.User_RefreshToken, enData: result.encryptData, enKey: result.encryptKey })
577 let writeResult = await writeFile(newData)
578 if (writeResult) {
579 console.log(`刷新CK && 写入文件成功`)
580 await this.user_info()
581 await this.task_signin()
582 await this.art_list()
583 } else {
584 console.log(`刷新CK && 写入文件失败`)
585 }
586 this.ckStatus = true
587 } else {
588 this.ckStatus = false
589 }
590 } else {
591 this.ckStatus = false
592 }
593 } catch (e) {
594 console.log(e);
595 }
596 }
597}
598function readFile() {

Callers 2

getTokenMethod · 0.95
user_infoMethod · 0.95

Calls 13

user_infoMethod · 0.95
task_signinMethod · 0.95
art_listMethod · 0.95
KOFunction · 0.85
getRSAEncryptResultFunction · 0.85
AES_CBC_EncryptFunction · 0.85
AES_CBC_DecryptFunction · 0.85
readFileFunction · 0.85
writeFileFunction · 0.85
httpRequestFunction · 0.70

Tested by

no test coverage detected