()
| 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 | } |
| 598 | function readFile() { |
no test coverage detected