| import axios from "axios"; | |
| import {__USERSERVERHOST__} from "../../../global.config"; | |
| import {serverLog} from "../logger"; | |
| let publicKey = ""; | |
| export async function getPublicKey() { | |
| const maxRetry = 10; | |
| const timeout = 5000; | |
| let _retryNum = 0; | |
| while (!publicKey && _retryNum < maxRetry) { | |
| try { | |
| publicKey = (await axios.get(`${__USERSERVERHOST__}/user/public-key`)).data.data; | |
| } catch (e: any) { | |
| serverLog(`向用户服务器请求公钥失败,错误信息:${e.message}`, "error"); | |
| serverLog(`正在进行第${_retryNum + 1}次重试`, "warn"); | |
| await new Promise((resolve, reject) => { | |
| setTimeout(resolve, timeout) | |
| }); | |
| _retryNum++; | |
| } | |
| } | |
| if (_retryNum >= maxRetry) throw new Error("获取user服务器公钥失败"); | |
| return publicKey; | |
| } | |