diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/autoTokenController.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/autoTokenController.java index 4b5913a..fc5421d 100644 --- a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/autoTokenController.java +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/autoTokenController.java @@ -4,6 +4,7 @@ import com.tokensTool.pandoraNext.pojo.Result; import com.tokensTool.pandoraNext.pojo.token; import com.tokensTool.pandoraNext.service.impl.poolServiceImpl; +import com.tokensTool.pandoraNext.service.impl.shareServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; @@ -26,6 +27,9 @@ public class autoTokenController { @Autowired private poolServiceImpl poolService; + @Autowired + private shareServiceImpl shareService; + /** * 自动更新access_Token和share_token * 更换tokens.json里存储的Tokens @@ -35,10 +39,10 @@ public class autoTokenController { * @throws Exception */ @Log - @Scheduled(cron = "0 0/6 * * * ?") + @Scheduled(cron = "0 0 */6 * * ?") public void toUpdateToken() { try { - log.info("开始自动更新Token.........................."); + log.info("开始自动检查更新refresh_token,session_token,生成和刷新share_token,pool_token.........................."); toUpdateAllToken(); } catch (Exception e) { e.printStackTrace(); @@ -51,6 +55,7 @@ public void toUpdateToken() { * 失效变黄 * 并更新所有access_token和share_token * 并重新组成pool_token + * * @return */ @Log @@ -61,9 +66,10 @@ public Result toUpdateAllToken() { if (res.contains("生成Token成功")) { try { String s = poolService.refreshAllTokens(); - return Result.success(res + "\n" + s); + String s1 = shareService.refreshAllToken(); + return Result.success(res + s + s1); } catch (Exception e) { - return Result.success(res + "\n但是自动更新pool_token失败,请手动点击一键全更新pool_token!"); + return Result.success(res + "
但是自动更新pool_token和oneApi里的share_token失败"); } } } catch (Exception e) { @@ -94,6 +100,7 @@ public Result toUpdateToken(@RequestBody token token) { /** * 自动更新指定用户名的session或refresh + * * @return "更新成功" or "刷新Token失败,请尝重新刷新!” * @throws Exception */ @@ -113,6 +120,7 @@ public Result toUpdateSessionToken(@RequestBody token token) { /** * 自动更新指定用户名的session或refresh组 + * * @return "更新成功" or "刷新Token失败,请尝重新刷新!” * @throws Exception */ @@ -121,14 +129,13 @@ public Result toUpdateSessionToken(@RequestBody token token) { public Result toUpdateSessionTokenList(@RequestBody List tokens) { try { int count = 0; - for(token token : tokens) { - if(token.isSetPoolToken()){ + for (token token : tokens) { + if (token.isSetPoolToken()) { token resToken = apiService.updateSession(token); if (resToken != null) { count++; } - } - else{ + } else { count++; } } diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/chatController.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/chatController.java index 12e3aa2..985d782 100644 --- a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/chatController.java +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/chatController.java @@ -40,63 +40,25 @@ @RestController() public class chatController { - private static HashMap modelsUsage; - - static { - modelsUsage = new HashMap<>(); - log.info("初始化ipList成功!"); - } /** * 缓存cocopilotToken */ private static final HashMap copilotTokenList; - /** * 缓存copilotToken */ private static final HashMap coCopilotTokenList; - - @Scheduled(cron = "0 0 0 * * ?") - private void clearModelsUsage() { - HashMap newModelsUsaget = new HashMap<>(); - modelsUsage = newModelsUsaget; - log.info("重置modelsUsage成功!"); - } - /** * 模型 */ - private static final String models = "{ \"data\": [ {\"id\": \"text-search-babbage-doc-001\",\"object\": \"model\",\"created\": 1651172509,\"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"gpt-4\", \"object\": \"model\", \"created\": 1687882411, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"babbage\", \"object\": \"model\", \"created\": 1649358449, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"gpt-3.5-turbo-0613\", \"object\": \"model\", \"created\": 1686587434, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"text-babbage-001\", \"object\": \"model\", \"created\": 1649364043, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"gpt-3.5-turbo\", \"object\": \"model\", \"created\": 1677610602, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"gpt-3.5-turbo-1106\", \"object\": \"model\", \"created\": 1698959748, \"owned_by\": \"system\"},\n" + - " {\"id\": \"curie-instruct-beta\", \"object\": \"model\", \"created\": 1649364042, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"gpt-3.5-turbo-0301\", \"object\": \"model\", \"created\": 1677649963, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"gpt-3.5-turbo-16k-0613\", \"object\": \"model\", \"created\": 1685474247, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"text-embedding-ada-002\", \"object\": \"model\", \"created\": 1671217299, \"owned_by\": \"openai-internal\"},\n" + - " {\"id\": \"davinci-similarity\", \"object\": \"model\", \"created\": 1651172509, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"curie-similarity\", \"object\": \"model\", \"created\": 1651172510, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"babbage-search-document\", \"object\": \"model\", \"created\": 1651172510, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"curie-search-document\", \"object\": \"model\", \"created\": 1651172508, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"babbage-code-search-code\", \"object\": \"model\", \"created\": 1651172509, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"ada-code-search-text\", \"object\": \"model\", \"created\": 1651172510, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"text-search-curie-query-001\", \"object\": \"model\", \"created\": 1651172509, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"text-davinci-002\", \"object\": \"model\", \"created\": 1649880484, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"ada\", \"object\": \"model\", \"created\": 1649357491, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"text-ada-001\", \"object\": \"model\", \"created\": 1649364042, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"ada-similarity\", \"object\": \"model\", \"created\": 1651172507, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"code-search-ada-code-001\", \"object\": \"model\", \"created\": 1651172507, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"text-similarity-ada-001\", \"object\": \"model\", \"created\": 1651172505, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"text-davinci-edit-001\", \"object\": \"model\", \"created\": 1649809179, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"code-davinci-edit-001\", \"object\": \"model\", \"created\": 1649880484, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"text-search-curie-doc-001\", \"object\": \"model\", \"created\": 1651172509, \"owned_by\": \"openai-dev\"},\n" + - " {\"id\": \"text-curie-001\", \"object\": \"model\", \"created\": 1649364043, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"curie\", \"object\": \"model\", \"created\": 1649359874, \"owned_by\": \"openai\"},\n" + - " {\"id\": \"davinci\", \"object\": \"model\", \"created\": 1649359874, \"owned_by\": \"openai\"},\n"; + private static final String models = "{\"data\":[{\"id\":\"text-search-babbage-doc-001\",\"object\":\"model\",\"created\":1651172509,\"owned_by\":\"openai-dev\"},{\"id\":\"gpt-4\",\"object\":\"model\",\"created\":1687882411,\"owned_by\":\"openai\"},{\"id\":\"babbage\",\"object\":\"model\",\"created\":1649358449,\"owned_by\":\"openai\"},{\"id\":\"gpt-3.5-turbo-0613\",\"object\":\"model\",\"created\":1686587434,\"owned_by\":\"openai\"},{\"id\":\"text-babbage-001\",\"object\":\"model\",\"created\":1649364043,\"owned_by\":\"openai\"},{\"id\":\"gpt-3.5-turbo\",\"object\":\"model\",\"created\":1677610602,\"owned_by\":\"openai\"},{\"id\":\"gpt-3.5-turbo-1106\",\"object\":\"model\",\"created\":1698959748,\"owned_by\":\"system\"},{\"id\":\"curie-instruct-beta\",\"object\":\"model\",\"created\":1649364042,\"owned_by\":\"openai\"},{\"id\":\"gpt-3.5-turbo-0301\",\"object\":\"model\",\"created\":1677649963,\"owned_by\":\"openai\"},{\"id\":\"gpt-3.5-turbo-16k-0613\",\"object\":\"model\",\"created\":1685474247,\"owned_by\":\"openai\"},{\"id\":\"text-embedding-ada-002\",\"object\":\"model\",\"created\":1671217299,\"owned_by\":\"openai-internal\"},{\"id\":\"davinci-similarity\",\"object\":\"model\",\"created\":1651172509,\"owned_by\":\"openai-dev\"},{\"id\":\"curie-similarity\",\"object\":\"model\",\"created\":1651172510,\"owned_by\":\"openai-dev\"},{\"id\":\"babbage-search-document\",\"object\":\"model\",\"created\":1651172510,\"owned_by\":\"openai-dev\"},{\"id\":\"curie-search-document\",\"object\":\"model\",\"created\":1651172508,\"owned_by\":\"openai-dev\"},{\"id\":\"babbage-code-search-code\",\"object\":\"model\",\"created\":1651172509,\"owned_by\":\"openai-dev\"},{\"id\":\"ada-code-search-text\",\"object\":\"model\",\"created\":1651172510,\"owned_by\":\"openai-dev\"},{\"id\":\"text-search-curie-query-001\",\"object\":\"model\",\"created\":1651172509,\"owned_by\":\"openai-dev\"},{\"id\":\"text-davinci-002\",\"object\":\"model\",\"created\":1649880484,\"owned_by\":\"openai\"},{\"id\":\"ada\",\"object\":\"model\",\"created\":1649357491,\"owned_by\":\"openai\"},{\"id\":\"text-ada-001\",\"object\":\"model\",\"created\":1649364042,\"owned_by\":\"openai\"},{\"id\":\"ada-similarity\",\"object\":\"model\",\"created\":1651172507,\"owned_by\":\"openai-dev\"},{\"id\":\"code-search-ada-code-001\",\"object\":\"model\",\"created\":1651172507,\"owned_by\":\"openai-dev\"},{\"id\":\"text-similarity-ada-001\",\"object\":\"model\",\"created\":1651172505,\"owned_by\":\"openai-dev\"},{\"id\":\"text-davinci-edit-001\",\"object\":\"model\",\"created\":1649809179,\"owned_by\":\"openai\"},{\"id\":\"code-davinci-edit-001\",\"object\":\"model\",\"created\":1649880484,\"owned_by\":\"openai\"},{\"id\":\"text-search-curie-doc-001\",\"object\":\"model\",\"created\":1651172509,\"owned_by\":\"openai-dev\"},{\"id\":\"text-curie-001\",\"object\":\"model\",\"created\":1649364043,\"owned_by\":\"openai\"},{\"id\":\"curie\",\"object\":\"model\",\"created\":1649359874,\"owned_by\":\"openai\"},{\"id\":\"davinci\",\"object\":\"model\",\"created\":1649359874,\"owned_by\":\"openai\"}]}"; private static final String machineId; + private static HashMap modelsUsage; + + static { + modelsUsage = new HashMap<>(); + log.info("初始化ipList成功!"); + } static { copilotTokenList = new HashMap<>(); @@ -127,6 +89,13 @@ private static String generateMachineId() { } } + @Scheduled(cron = "0 0 0 * * ?") + private void clearModelsUsage() { + HashMap newModelsUsaget = new HashMap<>(); + modelsUsage = newModelsUsaget; + log.info("重置modelsUsage成功!"); + } + /** * 请求体不是json 会报Request body is missing or not in JSON format * Authorization token缺失 会报Authorization header is missing @@ -140,7 +109,7 @@ private static String generateMachineId() { * @throws IOException */ @PostMapping(value = "/v1/chat/completions") - public Object coPilotConversation(HttpServletResponse response, HttpServletRequest request, @org.springframework.web.bind.annotation.RequestBody Conversation conversation){ + public Object coPilotConversation(HttpServletResponse response, HttpServletRequest request, @org.springframework.web.bind.annotation.RequestBody Conversation conversation) { try { if (conversation == null) { return new ResponseEntity<>("Request body is missing or not in JSON format", HttpStatus.BAD_REQUEST); @@ -210,7 +179,7 @@ public Object coPilotConversation(HttpServletResponse response, HttpServletReque * @throws IOException */ @PostMapping(value = "/cocopilot/v1/chat/completions") - public Object coCoPilotConversation(HttpServletResponse response, HttpServletRequest request, @org.springframework.web.bind.annotation.RequestBody Conversation conversation){ + public Object coCoPilotConversation(HttpServletResponse response, HttpServletRequest request, @org.springframework.web.bind.annotation.RequestBody Conversation conversation) { try { if (conversation == null) { return new ResponseEntity<>("Request body is missing or not in JSON format", HttpStatus.BAD_REQUEST); @@ -266,25 +235,26 @@ public Object coCoPilotConversation(HttpServletResponse response, HttpServletReq } } - private void addModel(Conversation conversation){ + private void addModel(Conversation conversation) { String model = conversation.getModel(); - if(modelsUsage.containsKey(model)){ + if (modelsUsage.containsKey(model)) { modelsUsage.put(model, modelsUsage.get(model) + 1); - } - else { - modelsUsage.put(model,1); + } else { + modelsUsage.put(model, 1); } } + @GetMapping(value = "api/modelsUsage") - private Result getModelUsage(){ + private Result getModelUsage() { try { List res = new ArrayList(); - modelsUsage.forEach((key, value) -> res.add(new modelsUsage(key,value))); + modelsUsage.forEach((key, value) -> res.add(new modelsUsage(key, value))); return Result.success(res); } catch (Exception e) { throw new RuntimeException(e); } } + private String getCopilotToken(String apiKey) throws IOException { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() @@ -362,7 +332,7 @@ private void addHeader(Map headersMap, String chat_token) { } - private void outPutChat(HttpServletResponse response, Response resp , Conversation conversation) { + private void outPutChat(HttpServletResponse response, Response resp, Conversation conversation) { try { Boolean isStream = conversation.getStream(); if (isStream != null && isStream) { diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/poolController.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/poolController.java index 296ed0c..b0607c9 100644 --- a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/poolController.java +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/poolController.java @@ -49,7 +49,7 @@ public Result requirePoolToken(@RequestBody poolToken poolToken) { } catch (Exception e) { e.printStackTrace(); } - return Result.error("添加失败!"); + return Result.error("修改失败!"); } @PostMapping("deletePoolToken") @@ -67,6 +67,23 @@ public Result deletePoolToken(@RequestBody poolToken poolToken) { return Result.error("删除失败!"); } + @PostMapping("deletePoolTokenList") + public Result deletePoolTokenList(@RequestBody List poolTokens) { + try { + int count = 0; + for (poolToken poolToken : poolTokens) { + String res = poolService.deletePoolToken(poolToken); + if (res.contains("成功")) { + count++; + } + } + return Result.success("删除成功:" + count + ",失败:" + (poolTokens.size() - count)); + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("删除失败!"); + } + @PostMapping("refreshSimplyPoolToken") public Result refreshSimplyPoolToken(@RequestBody poolToken poolToken) { try { @@ -82,6 +99,23 @@ public Result refreshSimplyPoolToken(@RequestBody poolToken poolToken) { return Result.error("刷新失败!"); } + @PostMapping("refreshSimplyPoolTokenList") + public Result refreshSimplyPoolTokenList(@RequestBody List poolTokens) { + try { + int count = 0; + for (poolToken poolToken : poolTokens) { + String res = poolService.refreshSimplyToken(poolToken); + if (res.contains("成功")) { + count++; + } + } + return Result.success("刷新成功:" + count + ",失败:" + (poolTokens.size() - count)); + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("刷新失败!"); + } + @PostMapping("changePoolToken") public Result changePoolToken(@RequestBody poolToken poolToken) { try { @@ -97,6 +131,23 @@ public Result changePoolToken(@RequestBody poolToken poolToken) { return Result.error("更换失败!"); } + @PostMapping("changePoolTokenList") + public Result changePoolTokenList(@RequestBody List poolTokens) { + try { + int count = 0; + for (poolToken poolToken : poolTokens) { + String res = poolService.changePoolToken(poolToken); + if (res.contains("成功")) { + count++; + } + } + return Result.success("更换成功:" + count + ",失败:" + (poolTokens.size() - count)); + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("更换失败!"); + } + @GetMapping("selectPoolToken") public Result selectPoolToken(@RequestParam("name") String name) { try { @@ -129,6 +180,23 @@ public Result verifySimplyPoolToken(@RequestBody poolToken poolToken) { } } + @PostMapping("verifySimplyPoolTokenList") + public Result verifySimplyPoolTokenList(@RequestBody List poolTokens) { + try { + int count = 0; + for (poolToken poolToken : poolTokens) { + String res = poolService.verifySimplyPoolToken(poolToken); + if (res.contains("正常")) { + count++; + } + } + return Result.success("检验请求成功:" + count + ",失败:" + (poolTokens.size() - count)); + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("poolToken失效或请求网址失效,请刷新或检查请求网址!"); + } + @GetMapping("verifyAllPoolToken") public Result verifyAllPoolToken() { try { diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/shareController.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/shareController.java new file mode 100644 index 0000000..ea92b1e --- /dev/null +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/controller/shareController.java @@ -0,0 +1,80 @@ +package com.tokensTool.pandoraNext.controller; + +import com.tokensTool.pandoraNext.pojo.Result; +import com.tokensTool.pandoraNext.pojo.shareToken; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * @author Yangyang + * @create 2024-01-08 10:21 + */ + +@Slf4j +@RestController +@Component +@RequestMapping("/api") +public class shareController { + @Autowired + private com.tokensTool.pandoraNext.service.shareService shareService; + + @PostMapping("addShareToken") + public Result addPoolToken(@RequestBody shareToken shareToken) { + try { + String res = shareService.addShareToken(shareToken); + if (res.contains("成功")) { + return Result.success(res); + } else { + return Result.error(res); + } + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("添加失败!"); + } + + @PostMapping("requireShareToken") + public Result requireShareToken(@RequestBody shareToken shareToken) { + try { + String res = shareService.requireShareToken(shareToken); + if (res.contains("成功")) { + return Result.success(res); + } else { + return Result.error(res); + } + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("修改失败!"); + } + + @PutMapping("deleteShareToken") + public Result deleteShareToken(@RequestBody shareToken shareToken) { + try { + String res = shareService.deleteShareToken(shareToken); + if (res.contains("成功")) { + return Result.success(res); + } else { + return Result.error(res); + } + } catch (Exception e) { + e.printStackTrace(); + } + return Result.error("删除失败!"); + } + + @GetMapping("selectShareToken") + public Result selectShareToken(@RequestParam("name") String name) { + try { + List res = shareService.selectShareToken(name); + return Result.success(res); + } catch (Exception e) { + e.printStackTrace(); + return Result.error("获取失败"); + } + } +} diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/pojo/shareToken.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/pojo/shareToken.java new file mode 100644 index 0000000..92336b1 --- /dev/null +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/pojo/shareToken.java @@ -0,0 +1,54 @@ +package com.tokensTool.pandoraNext.pojo; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author Yangyang + * @create 2024-01-08 10:16 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class shareToken { + /** + * 接入oneApi的独一无二的名字 + */ + private String oneApi_name; + /** + * 接入oneApi的token名 + * 拿share + */ + private String token_name; + /** + * 接入oneApi的token名 + * 拿share + */ + private String token_value; + + /** + * 接入oneApi自定义PandoraNext地址 + */ + private String oneApi_baseUrl; + + /** + * 接入oneApi自定义PandoraNext模型 + */ + private String oneApi_models; + + /** + * 接入oneApi的组别 + */ + private String oneApi_groups; + + /** + * 接入oneApi的优先级 + */ + private Integer priority; + + /** + * pool_token 更新时间 + */ + private String shareTime; +} diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.java index 8ebd083..c3f0f99 100644 --- a/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.java +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.java @@ -944,7 +944,7 @@ public String autoUpdateToken(String name) { return "自动生成Token失败!"; } else { log.info("自动生成Token成功:" + newToken + "session或refresh过期:" + (allToken - newToken)); - return "自动生成Token成功:" + newToken + "\nsession或refresh过期:" + (allToken - newToken); + return "自动生成Token成功:" + newToken + "
session或refresh过期:" + (allToken - newToken); } } catch (InterruptedException e) { throw new RuntimeException(e); diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.java index 2e6cd6d..e4583f0 100644 --- a/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.java +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.java @@ -11,14 +11,6 @@ import com.tokensTool.pandoraNext.service.poolService; import lombok.extern.slf4j.Slf4j; import okhttp3.*; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.entity.ContentType; -import org.apache.http.entity.StringEntity; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.util.EntityUtils; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; @@ -267,7 +259,6 @@ public String requireCheckPoolToken(poolToken poolToken) { nodeToModifyInNew.put("checkPool", poolToken.isCheckPool()); // 将修改后的 newObjectNode 写回文件 objectMapper.writerWithDefaultPrettyPrinter().writeValue(new File(parent), newObjectNode); - log.info("修改成功!"); return "修改成功!"; } else { log.info("节点未找到或不是对象,请检查pool.json! " + nodeNameToModify); @@ -305,7 +296,7 @@ public String addPoolToken(poolToken poolToken) { if (poolToken.isIntoOneApi()) { String[] strings = systemService.selectOneAPi(); boolean b = addKey(poolToken, strings); - if (poolToken.getPriority() != 0) { + if (b && poolToken.getPriority() != 0) { boolean b1 = getPriority(poolToken, strings); if (b1) { log.info("修改优先级成功!"); @@ -451,6 +442,7 @@ public String getShareTokens(List shareName) { /** * 重新更新poolToken + * * @return */ public String refreshAllTokens() { @@ -468,8 +460,8 @@ public String refreshAllTokens() { } } } - log.info("pool_token刷新成功:" + count + "失败:" + (poolTokens.size() - count)); - return ("\npool_token刷新成功:" + count + "\n失败:" + (poolTokens.size() - count)); + log.info("pool_token刷新成功:" + count + ",失败:" + (poolTokens.size() - count)); + return ("
pool_token刷新成功:" + count + ",失败:" + (poolTokens.size() - count)); } /** @@ -671,7 +663,6 @@ public String toRequirePoolToken(poolToken poolToken) { public String verifySimplyPoolToken(poolToken poolToken) { try { String openAiUrl = getOpenaiUrl(); - log.info(openAiUrl); String res = verifyPoolToken(poolToken, openAiUrl + openAiChat); if (res != null) { return res; @@ -687,69 +678,54 @@ public String verifySimplyPoolToken(poolToken poolToken) { * 是否过期或者出现问题 */ public String verifyPoolToken(poolToken poolToken, String url) { - CloseableHttpClient httpClient = HttpClients.createDefault(); - try { - HttpPost httpPost = new HttpPost(url); - - // 添加请求头,Authorization字段包含API key - httpPost.addHeader("Authorization", "Bearer " + poolToken.getPoolToken()); - - // 构造请求体,JSON格式,包含一个字符串参数prompt和一个整数参数max_tokens,如果有其他参数,延续即可。 - String json = "{" + - " \"model\": \"gpt-3.5-turbo\"," + - " \"messages\": [{\"role\": \"user\", \"content\": \"Say this is a test!\"}]," + - " \"temperature\": 0.7" + - "}"; - StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); - httpPost.setEntity(entity); - - // 发送请求并获取响应体 - HttpResponse response = httpClient.execute(httpPost); - HttpEntity responseEntity = response.getEntity(); - - // 将响应体转换为字符串并打印输出 - if (responseEntity != null) { - String result = null; - try { - result = EntityUtils.toString(responseEntity); - log.info(result); - } catch (Exception e) { - e.printStackTrace(); - return "请确保PandoraNext正常启动且tokensTool填写PandoraNext访问地址正确!"; - } - JSONObject jsonResponse = new JSONObject(result); - if (!jsonResponse.has("choices")) { - poolToken.setCheckPool(false); - String s = requireCheckPoolToken(poolToken); - if (s.contains("成功")) { - return "pool_token过期,请重新刷新," + s; - } else { - log.info("已为你自动标记过期poolToken!"); - return "pool_token过期,请重新刷新!"; - } - } - // 提取返回的数据 - JSONArray choicesArray = jsonResponse.getJSONArray("choices"); - JSONObject firstChoiceObject = choicesArray.getJSONObject(0); - JSONObject messageObject = firstChoiceObject.getJSONObject("message"); - String content = messageObject.getString("content"); - poolToken.setCheckPool(true); + OkHttpClient client = new OkHttpClient(); + + // 构造请求体,JSON格式,包含一个字符串参数prompt和一个整数参数max_tokens,如果有其他参数,延续即可。 + String json = "{" + + " \"model\": \"gpt-3.5-turbo\"," + + " \"messages\": [{\"role\": \"user\", \"content\": \"Say this is a test!\"}]," + + " \"temperature\": 0.7" + + "}"; + + RequestBody body = RequestBody.create(json, MediaType.parse("application/json; charset=utf-8")); + + Request request = new Request.Builder() + .url(url) + .post(body) + .addHeader("Authorization", "Bearer " + poolToken.getPoolToken()) + .build(); + + try (Response response = client.newCall(request).execute()) { + if(!response.isSuccessful() && response.code() == 404) { + return "请检查PandoraNext公网地址是否填写正确!"; + } + String result = response.body().string(); + JSONObject jsonResponse = new JSONObject(result); + if (!jsonResponse.has("choices")) { + poolToken.setCheckPool(false); String s = requireCheckPoolToken(poolToken); - return "pool_token正常,请放心使用!"; + if (s.contains("成功")) { + return "pool_token过期,请重新刷新," + s; + } else { + log.info("已为你自动标记过期poolToken!"); + return "pool_token过期,请重新刷新!"; + } } + // 提取返回的数据 + JSONArray choicesArray = jsonResponse.getJSONArray("choices"); + JSONObject firstChoiceObject = choicesArray.getJSONObject(0); + JSONObject messageObject = firstChoiceObject.getJSONObject("message"); + String content = messageObject.getString("content"); + poolToken.setCheckPool(true); + String s = requireCheckPoolToken(poolToken); + return "pool_token正常,请放心使用!"; } catch (Exception e) { e.printStackTrace(); - } finally { - // 关闭连接 - try { - httpClient.close(); - } catch (Exception e) { - e.printStackTrace(); - } } return null; } + public String getOpenaiUrl() { try { systemSetting systemSetting = systemService.selectSetting(); @@ -776,7 +752,7 @@ public boolean addKey(poolToken addKeyPojo, String[] systemSetting) { return false; } String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneAPiChannel - :systemSetting[0]+"/"+oneAPiChannel; + : systemSetting[0] + "/" + oneAPiChannel; log.info(url); try { JSONObject jsonObject = new JSONObject(); @@ -829,7 +805,7 @@ public boolean addKey(poolToken addKeyPojo, String[] systemSetting) { public boolean deleteKeyId(poolToken poolToken, String[] systemSetting) { String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneApiSelect - :systemSetting[0]+"/"+oneApiSelect; + : systemSetting[0] + "/" + oneApiSelect; log.info(url); try { OkHttpClient client = new OkHttpClient(); @@ -876,7 +852,7 @@ public boolean deleteKeyId(poolToken poolToken, String[] systemSetting) { public boolean getPriority(poolToken poolToken, String[] systemSetting) { String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneApiSelect - :systemSetting[0]+"/"+oneApiSelect; + : systemSetting[0] + "/" + oneApiSelect; log.info(url); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() @@ -908,7 +884,7 @@ public boolean getPriority(poolToken poolToken, String[] systemSetting) { public boolean deleteKey(String[] systemSetting, int keyId) { String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneAPiChannel + keyId - :systemSetting[0]+"/"+oneAPiChannel + keyId; + : systemSetting[0] + "/" + oneAPiChannel + keyId; log.info("请求one-api的网址为:" + url); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() @@ -938,7 +914,7 @@ public boolean deleteKey(String[] systemSetting, int keyId) { public boolean priorityKey(String[] systemSetting, int keyId, Integer priority) { String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneAPiChannel - :systemSetting[0]+"/"+oneAPiChannel; + : systemSetting[0] + "/" + oneAPiChannel; log.info("请求one-api的网址为:" + url); OkHttpClient client = new OkHttpClient(); RequestBody body = null; diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/shareServiceImpl.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/shareServiceImpl.java new file mode 100644 index 0000000..9ac3e6d --- /dev/null +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/impl/shareServiceImpl.java @@ -0,0 +1,459 @@ +package com.tokensTool.pandoraNext.service.impl; + +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.node.JsonNodeFactory; +import com.fasterxml.jackson.databind.node.ObjectNode; +import com.tokensTool.pandoraNext.pojo.shareToken; +import com.tokensTool.pandoraNext.pojo.token; +import com.tokensTool.pandoraNext.service.shareService; +import lombok.extern.slf4j.Slf4j; +import okhttp3.*; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.*; +import java.util.regex.Pattern; + +/** + * @author Yangyang + * @create 2024-01-08 10:22 + */ +@Service +@Slf4j +public class shareServiceImpl implements shareService { + private static final String oneApiSelect = "api/channel/?p=0"; + private static final String oneAPiChannel = "api/channel/"; + private final String deploy = "default"; + @Value("${deployPosition}") + private String deployPosition; + @Autowired + private apiServiceImpl apiService; + @Autowired + private systemServiceImpl systemService; + + public String selectFile() { + String projectRoot; + if (deploy.equals(deployPosition)) { + projectRoot = System.getProperty("user.dir"); + } else { + projectRoot = deployPosition; + } + String parent = projectRoot + File.separator + "share.json"; + File jsonFile = new File(parent); + Path jsonFilePath = Paths.get(parent); + // 如果 JSON 文件不存在,创建一个新的 JSON 对象 + if (!jsonFile.exists()) { + try { + // 创建文件share.json + Files.createFile(jsonFilePath); + // 往 share.json 文件中添加一个空数组,防止重启报错 + Files.writeString(jsonFilePath, "{}"); + log.info("新建share.json,并初始化share.json成功!"); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + return parent; + } + + /** + * 通过name遍历shareToken + * + * @param name + * @return + */ + public List selectShareToken(String name) { + List res = new ArrayList<>(); + try { + String parent = selectFile(); + ObjectMapper objectMapper = new ObjectMapper(); + // 读取JSON文件并获取根节点 + JsonNode rootNode = objectMapper.readTree(new File(parent)); + // 遍历所有字段 + Iterator> fields = rootNode.fields(); + while (fields.hasNext()) { + Map.Entry entry = fields.next(); + String nodeName = entry.getKey(); + if (nodeName.contains(name)) { + shareToken temRes = new shareToken(); + temRes.setOneApi_name(nodeName); + // 获取对应的节点 + JsonNode temNode = rootNode.get(nodeName); + temRes.setToken_name(temNode.has("token_name") ? temNode.get("token_name").asText() : ""); + temRes.setToken_value(temNode.has("token_value") ? temNode.get("token_value").asText() : ""); + temRes.setOneApi_groups(temNode.has("oneApi_groups") ? temNode.get("oneApi_groups").asText() : ""); + //0.5.0 + temRes.setOneApi_models(temNode.has("oneApi_models") ? temNode.get("oneApi_models").asText() : ""); + temRes.setOneApi_baseUrl(temNode.has("oneApi_baseUrl") ? temNode.get("oneApi_baseUrl").asText() : ""); + temRes.setShareTime(temNode.has("shareTime") ? temNode.get("shareTime").asText() : ""); + temRes.setPriority(temNode.has("priority") ? temNode.get("priority").asInt() : 0); + res.add(temRes); + } + } + } catch (Exception e) { + e.printStackTrace(); + return null; + } + return res; + } + + /** + * 通过shareToken添加shareToken + * + * @param shareToken + * @return + */ + public String addShareToken(shareToken shareToken) { + try { + if(shareToken.getToken_value() == null){ + shareToken = getShareValue(shareToken); + } + String[] strings = systemService.selectOneAPi(); + boolean b = addKey(shareToken, strings); + if (b && shareToken.getPriority() != 0) { + boolean b1 = getPriority(shareToken, strings); + if (b1) { + log.info("修改优先级成功!"); + } + } + if (b) { + log.info("share_token进one-Api成功!"); + } else { + return "share_token添加进one-api失败!"; + } + String parent = selectFile(); + File jsonFile = new File(parent); + Path jsonFilePath = Paths.get(parent); + ObjectMapper objectMapper = new ObjectMapper(); + ObjectNode rootNode; + // 如果 JSON 文件不存在,创建一个新的 JSON 对象 + if (!jsonFile.exists()) { + // 创建文件 + Files.createFile(jsonFilePath); + System.out.println("share.json创建完成: " + jsonFilePath); + rootNode = objectMapper.createObjectNode(); + } else { + if (Files.exists(jsonFilePath) && Files.size(jsonFilePath) > 0) { + rootNode = objectMapper.readTree(jsonFile).deepCopy(); + } else { + rootNode = objectMapper.createObjectNode(); + } + } + // 创建要添加的新数据 + ObjectNode newData = objectMapper.createObjectNode(); + newData.put("token_name", shareToken.getToken_name()); + //0.5.0 + newData.put("token_value", shareToken.getToken_value()); + newData.put("oneApi_groups", shareToken.getOneApi_groups()); + newData.put("oneApi_models", shareToken.getOneApi_models()); + newData.put("oneApi_baseUrl", shareToken.getOneApi_baseUrl()); + newData.put("priority", shareToken.getPriority()); + + LocalDateTime now = LocalDateTime.now(); + newData.put("shareTime", now.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + // 将新数据添加到 JSON 树中 + rootNode.put(shareToken.getOneApi_name(), newData); + // 将修改后的数据写回到文件 + objectMapper.writerWithDefaultPrettyPrinter().writeValue(jsonFile, rootNode); + log.info("数据成功添加到 JSON 文件中。"); + return "share_token数据添加成功"; + } catch (IOException e) { + e.printStackTrace(); + return "添加失败!"; + } + } + + public shareToken getShareValue(shareToken shareToken) { + if (shareToken == null) { + return null; + } + List tokens = apiService.selectToken(""); + for (token token : tokens) { + if (token.getName().equals(shareToken.getToken_name())) { + if (token.isSetPoolToken() && Pattern.matches("fk-[0-9a-zA-Z_\\-]{43}", token.getShare_token())) { + shareToken.setToken_value(token.getShare_token()); + } + } + } + return shareToken; + } + + /** + * 添加Key值 + * 会通过Post方法访问One-Api接口/api/channel/,添加新keys + * + * @return "true"or"false" + */ + public boolean addKey(shareToken addKeyPojo, String[] systemSetting) { + String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneAPiChannel + : systemSetting[0] + "/" + oneAPiChannel; + log.info(url); + try { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("type", 8); + jsonObject.put("key", addKeyPojo.getToken_value()); + jsonObject.put("name", addKeyPojo.getOneApi_name()); + jsonObject.put("base_url", addKeyPojo.getOneApi_baseUrl()); + jsonObject.put("other", ""); + jsonObject.put("models", addKeyPojo.getOneApi_models()); + String group = addKeyPojo.getOneApi_groups(); + jsonObject.put("group", group); + jsonObject.put("model_mapping", ""); + jsonObject.put("groups", new JSONArray().put(group)); + // 将JSON对象转换为字符串 + String json = jsonObject.toString(); + + OkHttpClient client = new OkHttpClient(); + RequestBody body = RequestBody.create(json, MediaType.parse("application/json; charset=utf-8")); + Request request = new Request.Builder() + .url(url) + .post(body) + .addHeader("Authorization", "Bearer " + systemSetting[1]) + .build(); + try (Response response = client.newCall(request).execute()) { + if (!response.isSuccessful()) { + log.info("请求one-api失败,失败码: " + response.code()); + return false; + } + String responseContent = response.body().string(); + JSONObject jsonResponse = new JSONObject(responseContent); + boolean success = jsonResponse.getBoolean("success"); + if (response.code() == 200 && success) { + return true; + } else { + log.info("请求one-api失败,失败码: " + response.code()); + } + } catch (Exception e) { + e.printStackTrace(); + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + public boolean deleteKeyId(shareToken shareToken, String[] systemSetting) { + String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneApiSelect + : systemSetting[0] + "/" + oneApiSelect; + log.info(url); + try { + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + systemSetting[1]) + .build(); + try (Response response = client.newCall(request).execute()) { + if (!response.isSuccessful()) { + log.info("浏览器状态为: " + response.code()); + return false; + } + String responseContent = response.body().string(); + JSONObject jsonObject = new JSONObject(responseContent); + JSONArray dataArray = jsonObject.getJSONArray("data"); + int id = -1; + for (int i = 0; i < dataArray.length(); i++) { + JSONObject dataObject = dataArray.getJSONObject(i); + String name = dataObject.getString("name"); + if (name.equals(shareToken.getOneApi_name())) { + id = dataObject.getInt("id"); + break; + } + } + if (response.code() == 200) { + if (id > 0) { + boolean res = deleteKey(systemSetting, id); + return res; + } + log.info("没有找到相应的key名!"); + return true; + } else { + log.info("浏览器状态为: " + response.code()); + } + } catch (Exception e) { + e.printStackTrace(); + } + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + public boolean getPriority(shareToken shareToken, String[] systemSetting) { + String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneApiSelect + : systemSetting[0] + "/" + oneApiSelect; + log.info(url); + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + systemSetting[1]) + .build(); + try (Response response = client.newCall(request).execute()) { + if (!response.isSuccessful()) { + log.info("没有找到相应的key名,浏览器状态为: " + response.code()); + return false; + } + String responseContent = response.body().string(); + JSONObject jsonObject = new JSONObject(responseContent); + JSONArray dataArray = jsonObject.getJSONArray("data"); + for (int i = 0; i < dataArray.length(); i++) { + JSONObject dataObject = dataArray.getJSONObject(i); + String name = dataObject.getString("name"); + if (name.equals(shareToken.getOneApi_name())) { + int id = dataObject.getInt("id"); + return priorityKey(systemSetting, id, shareToken.getPriority()); + } + } + log.info("没有找到相应的key名"); + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + public boolean deleteKey(String[] systemSetting, int keyId) { + String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneAPiChannel + keyId + : systemSetting[0] + "/" + oneAPiChannel + keyId; + log.info("请求one-api的网址为:" + url); + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + systemSetting[1]) + .delete() + .build(); + try (Response response = client.newCall(request).execute()) { + if (!response.isSuccessful()) { + log.info("未找到当前的key,浏览器状态为: " + response.code()); + return false; + } + String responseContent = response.body().string(); + JSONObject jsonResponse = new JSONObject(responseContent); + boolean success = jsonResponse.getBoolean("success"); + if (success) { + log.info("key删除成功!"); + return true; + } + log.info(response.toString()); + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } + + + public boolean priorityKey(String[] systemSetting, int keyId, Integer priority) { + String url = systemSetting[0].endsWith("/") ? systemSetting[0] + oneAPiChannel + : systemSetting[0] + "/" + oneAPiChannel; + log.info("请求one-api的网址为:" + url); + OkHttpClient client = new OkHttpClient(); + RequestBody body = null; + try { + JSONObject jsonObject = new JSONObject(); + jsonObject.put("id", keyId); + jsonObject.put("priority", priority); + String json = jsonObject.toString(); + body = RequestBody.create(json, MediaType.parse("application/json; charset=utf-8")); + } catch (JSONException e) { + throw new RuntimeException(e); + } + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + systemSetting[1]) + .put(body) + .build(); + try (Response response = client.newCall(request).execute()) { + String responseContent = Objects.requireNonNull(response.body()).string(); + JSONObject jsonResponse = new JSONObject(responseContent); + if (response.isSuccessful() && jsonResponse.getBoolean("success")) { + return true; + } else { + log.info("更改优先级失败,失败码: " + response.code()); + } + log.info(jsonResponse.toString()); + } catch (Exception e) { + log.error("请求处理异常", e); + } + return false; + } + + public String requireShareToken(shareToken shareToken) { + try { + String res1 = deleteShareToken(shareToken); + if(res1.contains("成功")){ + String res2 = addShareToken(shareToken); + if(res2.contains("成功")){ + return "修改share_token到oneapi成功"; + } + } + } catch (Exception e) { + e.printStackTrace(); + } + return "修改失败!"; + } + + public String deleteShareToken(shareToken shareToken) { + try { + String name = shareToken.getOneApi_name(); + String parent = selectFile(); + String[] strings = systemService.selectOneAPi(); + boolean b = deleteKeyId(shareToken, strings); + if (!b) { + return "删除oneApi中的shareToken失败!"; + } + ObjectMapper objectMapper = new ObjectMapper(); + // 读取JSON文件并获取根节点 + JsonNode rootNode = objectMapper.readTree(new File(parent)); + // 检查要删除的节点是否存在 + JsonNode nodeToRemove = rootNode.get(name); + if (nodeToRemove != null) { + // 创建新的 ObjectNode,并复制原始节点内容 + ObjectNode newObjectNode = JsonNodeFactory.instance.objectNode(); + newObjectNode.setAll((ObjectNode) rootNode); + // 删除节点 + newObjectNode.remove(name); + // 将修改后的 newObjectNode 写回文件 + objectMapper.writerWithDefaultPrettyPrinter().writeValue(new File(parent), newObjectNode); + log.info("删除成功"); + return "删除成功!"; + } else { + System.out.println("Node not found: " + name); + return "节点未找到!"; + } + } catch (IOException e) { + e.printStackTrace(); + } + return "删除失败"; + } + + public String refreshAllToken() { + try { + int count = 0; + List shareTokens = selectShareToken(""); + for(shareToken shareToken : shareTokens) { + String res1 = deleteShareToken(shareToken); + if(res1.contains("成功")){ + String res2 = addShareToken(shareToken); + if(res2.contains("成功")){ + count ++; + } + } + } + return "
share_tokens in oneApi刷新成功:" + count + ",失败:" + (shareTokens.size() - count); + } catch (Exception e) { + e.printStackTrace(); + } + return "share_tokens in oneApi刷新失败!"; + } + +} diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/service/shareService.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/shareService.java new file mode 100644 index 0000000..0135b7a --- /dev/null +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/service/shareService.java @@ -0,0 +1,20 @@ +package com.tokensTool.pandoraNext.service; + +import com.tokensTool.pandoraNext.pojo.shareToken; + +import java.util.List; + +/** + * @author Yangyang + * @create 2024-01-08 10:22 + */ +public interface shareService { + List selectShareToken(String name); + + String deleteShareToken(shareToken shareToken); + + + String requireShareToken(shareToken shareToken); + + String addShareToken(shareToken shareToken); +} diff --git a/rearServer/src/main/java/com/tokensTool/pandoraNext/tokensToolApplication.java b/rearServer/src/main/java/com/tokensTool/pandoraNext/tokensToolApplication.java index 3b6001b..59466e6 100644 --- a/rearServer/src/main/java/com/tokensTool/pandoraNext/tokensToolApplication.java +++ b/rearServer/src/main/java/com/tokensTool/pandoraNext/tokensToolApplication.java @@ -42,9 +42,11 @@ public class tokensToolApplication { public static void main(String[] args) { log.info("--------------------------------------------------------------\n" + - "PandoraNext-tokensTool v 0.6.2版本\n" + - "1.美化登录和手机端电脑端主界面\n" + - "2.修复历史遗留bug\n" + + "PandoraNext-tokensTool v 0.6.3版本\n" + + "1.新增share_token可直接转入one-api\n" + + "2.新增pool_token列表的批量操作\n" + + "3.修改copilot查询模型接口的bug\n" + + "4.修复历史问题bug,优化代码,优化前端\n" + "--------------------------------------------------------------\n"); Instant instant = Instant.now(); String key = String.valueOf(instant.toEpochMilli()); diff --git a/rearServer/src/main/resources/static/css/137.c621660d.css b/rearServer/src/main/resources/static/css/137.c621660d.css deleted file mode 100644 index 2f9e795..0000000 --- a/rearServer/src/main/resources/static/css/137.c621660d.css +++ /dev/null @@ -1 +0,0 @@ -.content_login[data-v-6ca3dbb4]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-6ca3dbb4]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-6ca3dbb4]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-6ca3dbb4]{font-size:14.6px;font-weight:700}.container[data-v-6ca3dbb4]{width:350px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-6ca3dbb4]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-6ca3dbb4]:hover{background-color:#0ea27e}#background[data-v-6ca3dbb4]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-6ca3dbb4]{margin-top:10vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-6ca3dbb4]{font-size:25px;color:#000;font-weight:700}.login-container img[data-v-6ca3dbb4]{width:40px;height:40px}a[data-v-6ca3dbb4]{color:#0ea27e}h3[data-v-6ca3dbb4]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-6ca3dbb4]{width:150px;font-size:14.6px}.bottom[data-v-6ca3dbb4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-6ca3dbb4] .label{font-size:18.6px}@media only screen and (max-width:767px){.content_login[data-v-6ca3dbb4]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-6ca3dbb4]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-6ca3dbb4]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-6ca3dbb4]{font-size:14.6px}.container[data-v-6ca3dbb4]{width:290px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-6ca3dbb4]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-6ca3dbb4]:hover{background-color:#0ea27e}#background[data-v-6ca3dbb4]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-6ca3dbb4]{margin-top:3vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-6ca3dbb4]{font-size:20px;color:#000;font-weight:700}.login-container img[data-v-6ca3dbb4]{width:40px;height:40px}a[data-v-6ca3dbb4]{color:#0ea27e}h3[data-v-6ca3dbb4]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-6ca3dbb4]{width:150px;font-size:14.6px}.bottom[data-v-6ca3dbb4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-6ca3dbb4] .label{font-size:18.6px}} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/css/402.9939f745.css b/rearServer/src/main/resources/static/css/402.9939f745.css new file mode 100644 index 0000000..307d4bc --- /dev/null +++ b/rearServer/src/main/resources/static/css/402.9939f745.css @@ -0,0 +1 @@ +.van-floating-bubble{width:6vh;height:6vh;background:#0ea27e}.van-floating-bubble__icon{font-size:50px}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:150px;font-size:14.6px}.el-table .cell{font-size:14px;line-height:47px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(5vw,8px)}.el-page-header__content{transform:translate(0);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-divider--vertical{border-left:1px #fff var(--el-border-style)}.el-avatar--circle{transform:translateY(2.8vh);border-radius:50%;--el-avatar-size:85px}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px}.van-dialog__header{font-size:14px}.requireTokenDialog{max-height:77.8vh;overflow-y:auto;overflow-x:hidden}.addTokenDialog{max-height:75.3vh}.addTokenDialog,.showDialog{overflow-y:auto;overflow-x:hidden}.showDialog{max-height:77.8vh}.requirePandora,.requireSettingDialog,.verify{max-height:75.3vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{overflow:auto}a{color:#0ea27e}h2{font-size:20px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 5px #98dfce;transform:translate(11vw,5.5vh);width:78vw;background:#fff;height:auto;border-radius:10px}.bottom-component{justify-content:center;align-items:center;height:auto;margin-top:1.3vh}.bottom-component,.under{flex:1;display:flex;flex-direction:column}.el-table{max-width:100%;height:100%}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.poolTokenDialog,.shareTokenDialog{max-height:75.3vh;overflow:auto}.shareTokenDialog{min-height:70vh}h1{font-size:14px}h1,h5{color:#0ea27e}h5{font-size:10px}.my-button{margin-right:3.8vw;float:right}.pool-button{margin-right:0;float:left}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-button-group{display:inline-block;vertical-align:middle}.ml-4{transform:translateX(4vw)}.addToken{transform:translate(-20.4vw,-5px)}.addTokenButton{width:60px;height:60px;border-radius:50%;transform:translateY(.2vh)}.van-button__icon{font-size:60px;line-height:inherit}.card-header{display:flex;justify-content:space-between;align-items:center}.text{font-size:14px}.item{margin-bottom:18px}.box-card{width:480px}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:300px}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:2.2rem;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:1.4rem;color:#0ea27e;font-weight:700}.onShareToken{width:100%;margin:0}.flex-container{display:flex;align-items:center;width:100%}.flex-container .onPoolToken{margin-left:auto;width:50%}.el-button [class*=el-icon] svg{vertical-align:bottom;color:#0ea27e} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/css/581.090b8644.css b/rearServer/src/main/resources/static/css/581.090b8644.css new file mode 100644 index 0000000..60477ad --- /dev/null +++ b/rearServer/src/main/resources/static/css/581.090b8644.css @@ -0,0 +1 @@ +.van-floating-bubble{position:fixed;width:40px;height:40px;background:#0ea27e}.van-floating-bubble__icon{font-size:30px;position:fixed}.addBubble{position:fixed}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:84px;font-size:13px}.el-table .cell{font-size:14px;line-height:40px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(6.5vw)}.el-page-header__content{transform:translateY(10px);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-avatar--circle{transform:translate(-10px,1vh);border-radius:50%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px;width:auto}.van-dialog__header{font-size:14px}.addTokenDialog,.requireDialog,.requireSettingDialog,.requireTokenDialog,.showDialog{max-height:65vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{margin-left:6.15vw;margin-bottom:7px;overflow:auto}.el-page-header__left{display:flex;align-items:center;margin-right:0;position:relative}a{color:#0ea27e}h2{font-size:14px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 3px #98dfce;transform:translate(6vw,1.8vh);width:88vw;background:#fff;border-radius:10px;margin-top:5px;margin-bottom:10px}.bottom-component{flex:1;height:auto;display:flex;align-items:center;justify-content:center}.under{flex:1;display:flex;flex-direction:column}.el-scrollbar{height:100%}.el-table{width:95%;max-width:95%;overflow-x:auto}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere;width:41vw}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.my-button{margin-right:4.3vw;float:right}.pool-button{margin-right:1vw;float:left}h1{font-size:.8rem}h1,h5{color:#0ea27e}h5{font-size:10px}.poolTokenDialog{max-height:75.3vh;overflow:auto}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.tokenTable{height:100%}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.el-divider--vertical{border-left:0 #f4fffd var(--el-border-style)}.addToken{transform:translate(-11.5vw,1.2vh)}.addTokenButton{width:35px;height:35px;border-radius:50%}.van-button__icon{font-size:30px;line-height:inherit}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.el-sub-menu__title{padding:0 5px}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-col{text-align:center}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:173px}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:16px;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:13px;color:#0ea27e;font-weight:700}.onShareToken{width:100%;margin:0}.flex-container{display:flex;align-items:center;width:100%}.flex-container .onPoolToken{margin-left:auto;width:50%} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/css/608.06ad8fdd.css b/rearServer/src/main/resources/static/css/608.06ad8fdd.css new file mode 100644 index 0000000..f521b98 --- /dev/null +++ b/rearServer/src/main/resources/static/css/608.06ad8fdd.css @@ -0,0 +1 @@ +.content_login[data-v-b90dbbf6]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-b90dbbf6]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-b90dbbf6]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-b90dbbf6]{font-size:14.6px;font-weight:700}.container[data-v-b90dbbf6]{width:350px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-b90dbbf6]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-b90dbbf6]:hover{background-color:#0ea27e}#background[data-v-b90dbbf6]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-b90dbbf6]{margin-top:10vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-b90dbbf6]{font-size:25px;color:#000;font-weight:700}.login-container img[data-v-b90dbbf6]{width:40px;height:40px}a[data-v-b90dbbf6]{color:#0ea27e}h3[data-v-b90dbbf6]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-b90dbbf6]{width:150px;font-size:14.6px}.bottom[data-v-b90dbbf6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-b90dbbf6] .label{font-size:18.6px}@media only screen and (max-width:767px){.content_login[data-v-b90dbbf6]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-b90dbbf6]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-b90dbbf6]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-b90dbbf6]{font-size:14.6px}.container[data-v-b90dbbf6]{width:290px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-b90dbbf6]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-b90dbbf6]:hover{background-color:#0ea27e}#background[data-v-b90dbbf6]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-b90dbbf6]{margin-top:3vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-b90dbbf6]{font-size:20px;color:#000;font-weight:700}.login-container img[data-v-b90dbbf6]{width:40px;height:40px}a[data-v-b90dbbf6]{color:#0ea27e}h3[data-v-b90dbbf6]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-b90dbbf6]{width:150px;font-size:14.6px}.bottom[data-v-b90dbbf6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-b90dbbf6] .label{font-size:18.6px}} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/css/77.e1dcaa98.css b/rearServer/src/main/resources/static/css/77.e1dcaa98.css deleted file mode 100644 index 542d1b0..0000000 --- a/rearServer/src/main/resources/static/css/77.e1dcaa98.css +++ /dev/null @@ -1 +0,0 @@ -.van-floating-bubble{position:fixed;width:40px;height:40px;background:#0ea27e}.van-floating-bubble__icon{font-size:30px;position:fixed}.addBubble{position:fixed}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:84px;font-size:13px}.el-table .cell{font-size:14px;line-height:40px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(6.5vw)}.el-page-header__content{transform:translateY(10px);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-avatar--circle{transform:translate(-10px,1vh);border-radius:50%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px;width:auto}.van-dialog__header{font-size:14px}.addTokenDialog,.requireDialog,.requireSettingDialog,.requireTokenDialog,.showDialog{max-height:65vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{margin-left:6.15vw;margin-bottom:7px;overflow:auto}.el-page-header__left{display:flex;align-items:center;margin-right:0;position:relative}a{color:#0ea27e}h2{font-size:14px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 3px #98dfce;transform:translate(6vw,1.8vh);width:88vw;background:#fff;border-radius:10px;margin-top:5px;margin-bottom:10px}.bottom-component{flex:1;height:auto;display:flex;align-items:center;justify-content:center}.under{flex:1;display:flex;flex-direction:column}.el-scrollbar{height:100%}.el-table{width:95%;max-width:95%;overflow-x:auto}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere;width:41vw}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.my-button{margin-right:4.3vw;float:right}.pool-button{margin-right:-1vw;float:right}h1{font-size:.8rem}h1,h5{color:#0ea27e}h5{font-size:10px}.poolTokenDialog{max-height:75.3vh;overflow:auto}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.tokenTable{height:100%}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.el-divider--vertical{border-left:0 #f4fffd var(--el-border-style)}.addToken{transform:translate(-11.5vw,1.2vh)}.addTokenButton{width:35px;height:35px;border-radius:50%}.van-button__icon{font-size:30px;line-height:inherit}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.el-sub-menu__title{padding:0 5px}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-col{text-align:center}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:173px}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:16px;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:13px;color:#0ea27e;font-weight:700} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/css/805.d100b2eb.css b/rearServer/src/main/resources/static/css/805.d100b2eb.css deleted file mode 100644 index b7b2c54..0000000 --- a/rearServer/src/main/resources/static/css/805.d100b2eb.css +++ /dev/null @@ -1 +0,0 @@ -.van-floating-bubble{width:6vh;height:6vh;background:#0ea27e}.van-floating-bubble__icon{font-size:50px}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:150px;font-size:14.6px}.el-table .cell{font-size:14px;line-height:47px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(5vw,8px)}.el-page-header__content{transform:translate(0);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-divider--vertical{border-left:1px #fff var(--el-border-style)}.el-avatar--circle{transform:translateY(2.8vh);border-radius:50%;--el-avatar-size:85px}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px}.van-dialog__header{font-size:14px}.requireTokenDialog{max-height:77.8vh;overflow-y:auto;overflow-x:hidden}.addTokenDialog{max-height:75.3vh}.addTokenDialog,.showDialog{overflow-y:auto;overflow-x:hidden}.showDialog{max-height:77.8vh}.requirePandora,.requireSettingDialog,.verify{max-height:75.3vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{overflow:auto}a{color:#0ea27e}h2{font-size:20px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 5px #98dfce;transform:translate(11vw,5.5vh);width:78vw;background:#fff;height:auto;border-radius:10px}.bottom-component{justify-content:center;align-items:center;height:auto;margin-top:1.3vh}.bottom-component,.under{flex:1;display:flex;flex-direction:column}.el-table{max-width:100%;height:100%}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.poolTokenDialog{max-height:75.3vh;overflow:auto}h1{font-size:14px}h1,h5{color:#0ea27e}h5{font-size:10px}.my-button{margin-right:3.8vw;float:right}.pool-button{margin-right:0;float:right}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-button-group{display:inline-block;vertical-align:middle}.ml-4{transform:translateX(4vw)}.addToken{transform:translate(-20.4vw,-5px)}.addTokenButton{width:60px;height:60px;border-radius:50%;transform:translateY(.2vh)}.van-button__icon{font-size:60px;line-height:inherit}.card-header{display:flex;justify-content:space-between;align-items:center}.text{font-size:14px}.item{margin-bottom:18px}.box-card{width:480px}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:300px}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:2.2rem;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:1.4rem;color:#0ea27e;font-weight:700} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/index.html b/rearServer/src/main/resources/static/index.html index 692b085..eaa016e 100644 --- a/rearServer/src/main/resources/static/index.html +++ b/rearServer/src/main/resources/static/index.html @@ -1 +1 @@ -Welcome to PandoraNext-TokensTool
\ No newline at end of file +Welcome to PandoraNext-TokensTool
\ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/137.9bfe0990.js b/rearServer/src/main/resources/static/js/137.9bfe0990.js deleted file mode 100644 index 9184faa..0000000 --- a/rearServer/src/main/resources/static/js/137.9bfe0990.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[137],{6137:function(e,a,t){t.r(a),t.d(a,{default:function(){return S}});var o=t(6773),l=(t(487),t(3164)),s=(t(6335),t(6252));const n=e=>((0,s.dD)("data-v-6ca3dbb4"),e=e(),(0,s.Cn)(),e),r={class:"content_login"},i=n((()=>(0,s._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1))),d=n((()=>(0,s._)("div",{class:"login-container"},[(0,s._)("h4",null,"PandoraNext-TokensTool")],-1))),c={class:"container"},m={style:{display:"flex",transform:"translate(0vw, 2vh)","font-size":"14.6px"}},u={style:{display:"flex",transform:"translate(0vw, 2vh)","margin-top":"5vh","font-size":"14.6px"}},v={style:{display:"flex",transform:"translate(0.5vw, 0vh)","margin-top":"6vh"}},p={style:{display:"block",transform:"translate(0vw, 0vh)","margin-top":"3.5vh"}},h=n((()=>(0,s._)("div",{class:"bottom"},[(0,s._)("div",{style:{"text-align":"center",transform:"translateY(0vh)"}},[(0,s._)("h3",null,[(0,s._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"Powered by tokensTool v0.6.2")])])],-1)));function g(e,a,t,n,g,w){const b=l.gN,f=(0,s.up)("h9"),k=o.XZ;return(0,s.wg)(),(0,s.iD)("div",r,[i,d,(0,s._)("div",c,[(0,s._)("div",m,[(0,s.Wm)(b,{modelValue:n.username,"onUpdate:modelValue":a[0]||(a[0]=e=>n.username=e),clearable:"",name:"username",label:"Username",placeholder:"username",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",u,[(0,s.Wm)(b,{modelValue:n.password,"onUpdate:modelValue":a[1]||(a[1]=e=>n.password=e),clearable:"",type:"password",name:"password",label:"Password",placeholder:"password",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",v,[(0,s.Wm)(k,{class:"remember",modelValue:n.checked,"onUpdate:modelValue":a[2]||(a[2]=e=>n.checked=e),"checked-color":"#0ea27e","icon-size":"13.5px"},{default:(0,s.w5)((()=>[(0,s.Wm)(f,{style:{"font-size":"13.5px",transform:"translateX(7px)"}},{default:(0,s.w5)((()=>[(0,s.Uk)("Remember me")])),_:1})])),_:1},8,["modelValue"])]),(0,s._)("div",p,[(0,s._)("input",{type:"submit",onClick:a[3]||(a[3]=(...e)=>n.submit&&n.submit(...e)),value:"Continue",class:"userName"})])]),h])}var w=t(2262),b=t(2201),f=t(6154),k=t(451),_=t(1348),y={setup(){const e=(0,b.tv)(),a=window.location.pathname,t=a.split("/");let o="";t.length>=3&&(o="/"+t[1]);const l=(0,w.iH)(""),n=(0,w.iH)(""),r=(0,w.iH)(""),i=k,d=(0,w.iH)(!0);(0,s.bv)((async()=>{const e=localStorage.getItem("savedUsername"),a=localStorage.getItem("savedPassword"),t=localStorage.getItem("savedRemember");"true"===t&&(l.value=e||"",n.value=a||"",r.value=!0),window.innerWidth>767&&(d.value=!1),m()}));const c=localStorage.getItem("jwtToken"),m=async()=>{f.Z.post(`${o}/api/loginToken?token=`+c).then((a=>{1!=a.data.code?_.z8.error("令牌失效,请重新登录!"):window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")})).catch((e=>{_.z8.error("令牌失效,请重新登录!")}))},u=()=>{r.value?(localStorage.setItem("savedUsername",l.value),localStorage.setItem("savedPassword",n.value),localStorage.setItem("savedRemember","true")):(localStorage.removeItem("savedUsername"),localStorage.removeItem("savedPassword"),localStorage.removeItem("savedRemember"));let a={loginUsername:l.value,loginPassword:n.value};fetch(`${o}/api/login`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify(a)}).then((e=>e.json())).then((a=>{if(1===a.code){const t=a.data;localStorage.setItem("jwtToken",t),_.z8.success("登录成功!"),setTimeout((()=>{window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")}),1e3)}else _.z8.error(a.msg)})).catch((e=>{console.error("登录时出现错误:",e),_.z8.error("账号或密码错误!")}))};return{username:l,password:n,image:i,checked:r,submit:u,page:d}}},T=t(3744);const x=(0,T.Z)(y,[["render",g],["__scopeId","data-v-6ca3dbb4"]]);var S=x}}]); -//# sourceMappingURL=137.9bfe0990.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/154.a30ad9b8.js b/rearServer/src/main/resources/static/js/154.a30ad9b8.js new file mode 100644 index 0000000..d5b24dd --- /dev/null +++ b/rearServer/src/main/resources/static/js/154.a30ad9b8.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[154],{6154:function(e,t,n){function r(e,t){return function(){return e.apply(t,arguments)}}n.d(t,{Z:function(){return qt}});const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,s=(e=>t=>{const n=o.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),a=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:u}=Array,l=c("undefined");function f(e){return null!==e&&!l(e)&&null!==e.constructor&&!l(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const d=a("ArrayBuffer");function p(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t}const h=c("string"),m=c("function"),y=c("number"),g=e=>null!==e&&"object"===typeof e,b=e=>!0===e||!1===e,w=e=>{if("object"!==s(e))return!1;const t=i(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},E=a("Date"),O=a("File"),S=a("Blob"),R=a("FileList"),A=e=>g(e)&&m(e.pipe),T=e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=s(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},v=a("URLSearchParams"),N=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function j(e,t,{allOwnKeys:n=!1}={}){if(null===e||"undefined"===typeof e)return;let r,o;if("object"!==typeof e&&(e=[e]),u(e))for(r=0,o=e.length;r0)if(r=n[o],t===r.toLowerCase())return r;return null}const x=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),P=e=>!l(e)&&e!==x;function _(){const{caseless:e}=P(this)&&this||{},t={},n=(n,r)=>{const o=e&&C(t,r)||r;w(t[o])&&w(n)?t[o]=_(t[o],n):w(n)?t[o]=_({},n):u(n)?t[o]=n.slice():t[o]=n};for(let r=0,o=arguments.length;r(j(t,((t,o)=>{n&&m(t)?e[o]=r(t,n):e[o]=t}),{allOwnKeys:o}),e),F=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),B=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},L=(e,t,n,r)=>{let o,s,a;const c={};if(t=t||{},null==e)return t;do{o=Object.getOwnPropertyNames(e),s=o.length;while(s-- >0)a=o[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},D=(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},k=e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!y(t))return null;const n=new Array(t);while(t-- >0)n[t]=e[t];return n},q=(e=>t=>e&&t instanceof e)("undefined"!==typeof Uint8Array&&i(Uint8Array)),I=(e,t)=>{const n=e&&e[Symbol.iterator],r=n.call(e);let o;while((o=r.next())&&!o.done){const n=o.value;t.call(e,n[0],n[1])}},z=(e,t)=>{let n;const r=[];while(null!==(n=e.exec(t)))r.push(n);return r},M=a("HTMLFormElement"),H=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),J=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),W=a("RegExp"),K=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};j(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},V=e=>{K(e,((t,n)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];m(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},$=(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return u(e)?r(e):r(String(e).split(t)),n},G=()=>{},X=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Q="abcdefghijklmnopqrstuvwxyz",Z="0123456789",Y={DIGIT:Z,ALPHA:Q,ALPHA_DIGIT:Q+Q.toUpperCase()+Z},ee=(e=16,t=Y.ALPHA_DIGIT)=>{let n="";const{length:r}=t;while(e--)n+=t[Math.random()*r|0];return n};function te(e){return!!(e&&m(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const ne=e=>{const t=new Array(10),n=(e,r)=>{if(g(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=u(e)?[]:{};return j(e,((e,t)=>{const i=n(e,r+1);!l(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},re=a("AsyncFunction"),oe=e=>e&&(g(e)||m(e))&&m(e.then)&&m(e.catch);var ie={isArray:u,isArrayBuffer:d,isBuffer:f,isFormData:T,isArrayBufferView:p,isString:h,isNumber:y,isBoolean:b,isObject:g,isPlainObject:w,isUndefined:l,isDate:E,isFile:O,isBlob:S,isRegExp:W,isFunction:m,isStream:A,isURLSearchParams:v,isTypedArray:q,isFileList:R,forEach:j,merge:_,extend:U,trim:N,stripBOM:F,inherits:B,toFlatObject:L,kindOf:s,kindOfTest:a,endsWith:D,toArray:k,forEachEntry:I,matchAll:z,isHTMLForm:M,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:V,toObjectSet:$,toCamelCase:H,noop:G,toFiniteNumber:X,findKey:C,global:x,isContextDefined:P,ALPHABET:Y,generateString:ee,isSpecCompliantForm:te,toJSONObject:ne,isAsyncFn:re,isThenable:oe};function se(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}ie.inherits(se,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ie.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ae=se.prototype,ce={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ce[e]={value:e}})),Object.defineProperties(se,ce),Object.defineProperty(ae,"isAxiosError",{value:!0}),se.from=(e,t,n,r,o,i)=>{const s=Object.create(ae);return ie.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),se.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var ue=se,le=null;function fe(e){return ie.isPlainObject(e)||ie.isArray(e)}function de(e){return ie.endsWith(e,"[]")?e.slice(0,-2):e}function pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=de(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}function he(e){return ie.isArray(e)&&!e.some(fe)}const me=ie.toFlatObject(ie,{},null,(function(e){return/^is[A-Z]/.test(e)}));function ye(e,t,n){if(!ie.isObject(e))throw new TypeError("target must be an object");t=t||new(le||FormData),n=ie.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ie.isUndefined(t[e])}));const r=n.metaTokens,o=n.visitor||l,i=n.dots,s=n.indexes,a=n.Blob||"undefined"!==typeof Blob&&Blob,c=a&&ie.isSpecCompliantForm(t);if(!ie.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(ie.isDate(e))return e.toISOString();if(!c&&ie.isBlob(e))throw new ue("Blob is not supported. Use a Buffer instead.");return ie.isArrayBuffer(e)||ie.isTypedArray(e)?c&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"===typeof e)if(ie.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ie.isArray(e)&&he(e)||(ie.isFileList(e)||ie.endsWith(n,"[]"))&&(a=ie.toArray(e)))return n=de(n),a.forEach((function(e,r){!ie.isUndefined(e)&&null!==e&&t.append(!0===s?pe([n],r,i):null===s?n:n+"[]",u(e))})),!1;return!!fe(e)||(t.append(pe(o,n,i),u(e)),!1)}const f=[],d=Object.assign(me,{defaultVisitor:l,convertValue:u,isVisitable:fe});function p(e,n){if(!ie.isUndefined(e)){if(-1!==f.indexOf(e))throw Error("Circular reference detected in "+n.join("."));f.push(e),ie.forEach(e,(function(e,r){const i=!(ie.isUndefined(e)||null===e)&&o.call(t,e,ie.isString(r)?r.trim():r,n,d);!0===i&&p(e,n?n.concat(r):[r])})),f.pop()}}if(!ie.isObject(e))throw new TypeError("data must be an object");return p(e),t}var ge=ye;function be(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function we(e,t){this._pairs=[],e&&ge(e,this,t)}const Ee=we.prototype;Ee.append=function(e,t){this._pairs.push([e,t])},Ee.toString=function(e){const t=e?function(t){return e.call(this,t,be)}:be;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Oe=we;function Se(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Re(e,t,n){if(!t)return e;const r=n&&n.encode||Se,o=n&&n.serialize;let i;if(i=o?o(t,n):ie.isURLSearchParams(t)?t.toString():new Oe(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}class Ae{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ie.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var Te=Ae,ve={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ne="undefined"!==typeof URLSearchParams?URLSearchParams:Oe,je="undefined"!==typeof FormData?FormData:null,Ce="undefined"!==typeof Blob?Blob:null;const xe=(()=>{let e;return("undefined"===typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!==typeof window&&"undefined"!==typeof document)})(),Pe=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)();var _e={isBrowser:!0,classes:{URLSearchParams:Ne,FormData:je,Blob:Ce},isStandardBrowserEnv:xe,isStandardBrowserWebWorkerEnv:Pe,protocols:["http","https","file","blob","url","data"]};function Ue(e,t){return ge(e,new _e.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return _e.isNode&&ie.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}function Fe(e){return ie.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function Be(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=e.length;if(i=!i&&ie.isArray(r)?r.length:i,a)return ie.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s;r[i]&&ie.isObject(r[i])||(r[i]=[]);const c=t(e,n,r[i],o);return c&&ie.isArray(r[i])&&(r[i]=Be(r[i])),!s}if(ie.isFormData(e)&&ie.isFunction(e.entries)){const n={};return ie.forEachEntry(e,((e,r)=>{t(Fe(e),r,n,0)})),n}return null}var De=Le;function ke(e,t,n){if(ie.isString(e))try{return(t||JSON.parse)(e),ie.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}const qe={transitional:ve,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ie.isObject(e);o&&ie.isHTMLForm(e)&&(e=new FormData(e));const i=ie.isFormData(e);if(i)return r&&r?JSON.stringify(De(e)):e;if(ie.isArrayBuffer(e)||ie.isBuffer(e)||ie.isStream(e)||ie.isFile(e)||ie.isBlob(e))return e;if(ie.isArrayBufferView(e))return e.buffer;if(ie.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Ue(e,this.formSerializer).toString();if((s=ie.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ge(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),ke(e)):e}],transformResponse:[function(e){const t=this.transitional||qe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&ie.isString(e)&&(n&&!this.responseType||r)){const n=t&&t.silentJSONParsing,i=!n&&r;try{return JSON.parse(e)}catch(o){if(i){if("SyntaxError"===o.name)throw ue.from(o,ue.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_e.classes.FormData,Blob:_e.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ie.forEach(["delete","get","head","post","put","patch"],(e=>{qe.headers[e]={}}));var Ie=qe;const ze=ie.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Me=e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ze[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t};const He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ie.isArray(e)?e.map(We):String(e)}function Ke(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;while(r=n.exec(e))t[r[1]]=r[2];return t}const Ve=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function $e(e,t,n,r,o){return ie.isFunction(r)?r.call(this,t,n):(o&&(t=n),ie.isString(t)?ie.isString(r)?-1!==t.indexOf(r):ie.isRegExp(r)?r.test(t):void 0:void 0)}function Ge(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}function Xe(e,t){const n=ie.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}class Qe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Je(t);if(!o)throw new Error("header name must be a non-empty string");const i=ie.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=We(e))}const i=(e,t)=>ie.forEach(e,((e,n)=>o(e,n,t)));return ie.isPlainObject(e)||e instanceof this.constructor?i(e,t):ie.isString(e)&&(e=e.trim())&&!Ve(e)?i(Me(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return Ke(e);if(ie.isFunction(t))return t.call(this,e,n);if(ie.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);return!(!n||void 0===this[n]||t&&!$e(this,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Je(e),e){const o=ie.findKey(n,e);!o||t&&!$e(n,n[o],o,t)||(delete n[o],r=!0)}}return ie.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;while(n--){const o=t[n];e&&!$e(this,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ie.forEach(this,((r,o)=>{const i=ie.findKey(n,o);if(i)return t[i]=We(r),void delete t[o];const s=e?Ge(o):String(o).trim();s!==o&&delete t[o],t[s]=We(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ie.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ie.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=this[He]=this[He]={accessors:{}},n=t.accessors,r=this.prototype;function o(e){const t=Je(e);n[t]||(Xe(r,e),n[t]=!0)}return ie.isArray(e)?e.forEach(o):o(e),this}}Qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ie.reduceDescriptors(Qe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ie.freezeMethods(Qe);var Ze=Qe;function Ye(e,t){const n=this||Ie,r=t||n,o=Ze.from(r.headers);let i=r.data;return ie.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function et(e){return!(!e||!e.__CANCEL__)}function tt(e,t,n){ue.call(this,null==e?"canceled":e,ue.ERR_CANCELED,t,n),this.name="CanceledError"}ie.inherits(tt,ue,{__CANCEL__:!0});var nt=tt;function rt(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ue("Request failed with status code "+n.status,[ue.ERR_BAD_REQUEST,ue.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}var ot=_e.isStandardBrowserEnv?function(){return{write:function(e,t,n,r,o,i){const s=[];s.push(e+"="+encodeURIComponent(t)),ie.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),ie.isString(r)&&s.push("path="+r),ie.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function it(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function st(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function at(e,t){return e&&!it(t)?st(e,t):t}var ct=_e.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=ie.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return function(){return!0}}();function ut(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function lt(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];o||(o=c),n[i]=a,r[i]=c;let l=s,f=0;while(l!==i)f+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,c=r(a),u=i<=s;n=i;const l={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&u?(s-i)/c:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const pt="undefined"!==typeof XMLHttpRequest;var ht=pt&&function(e){return new Promise((function(t,n){let r=e.data;const o=Ze.from(e.headers).normalize(),i=e.responseType;let s,a;function c(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener("abort",s)}ie.isFormData(r)&&(_e.isStandardBrowserEnv||_e.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?ie.isString(a=o.getContentType())&&o.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let u=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+n))}const l=at(e.baseURL,e.url);function f(){if(!u)return;const r=Ze.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),o=i&&"text"!==i&&"json"!==i?u.response:u.responseText,s={data:o,status:u.status,statusText:u.statusText,headers:r,config:e,request:u};rt((function(e){t(e),c()}),(function(e){n(e),c()}),s),u=null}if(u.open(e.method.toUpperCase(),Re(l,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(f)},u.onabort=function(){u&&(n(new ue("Request aborted",ue.ECONNABORTED,e,u)),u=null)},u.onerror=function(){n(new ue("Network Error",ue.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ve;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new ue(t,r.clarifyTimeoutError?ue.ETIMEDOUT:ue.ECONNABORTED,e,u)),u=null},_e.isStandardBrowserEnv){const t=ct(l)&&e.xsrfCookieName&&ot.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in u&&ie.forEach(o.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),ie.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),i&&"json"!==i&&(u.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&u.addEventListener("progress",dt(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",dt(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{u&&(n(!t||t.type?new nt(null,e,u):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener("abort",s)));const d=ut(l);d&&-1===_e.protocols.indexOf(d)?n(new ue("Unsupported protocol "+d+":",ue.ERR_BAD_REQUEST,e)):u.send(r||null)}))};const mt={http:le,xhr:ht};ie.forEach(mt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));const yt=e=>`- ${e}`,gt=e=>ie.isFunction(e)||null===e||!1===e;var bt={getAdapter:e=>{e=ie.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(yt).join("\n"):" "+yt(e[0]):"as no adapter specified";throw new ue("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r},adapters:mt};function wt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new nt(null,e)}function Et(e){wt(e),e.headers=Ze.from(e.headers),e.data=Ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);const t=bt.getAdapter(e.adapter||Ie.adapter);return t(e).then((function(t){return wt(e),t.data=Ye.call(e,e.transformResponse,t),t.headers=Ze.from(t.headers),t}),(function(t){return et(t)||(wt(e),t&&t.response&&(t.response.data=Ye.call(e,e.transformResponse,t.response),t.response.headers=Ze.from(t.response.headers))),Promise.reject(t)}))}const Ot=e=>e instanceof Ze?e.toJSON():e;function St(e,t){t=t||{};const n={};function r(e,t,n){return ie.isPlainObject(e)&&ie.isPlainObject(t)?ie.merge.call({caseless:n},e,t):ie.isPlainObject(t)?ie.merge({},t):ie.isArray(t)?t.slice():t}function o(e,t,n){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!ie.isUndefined(t))return r(void 0,t)}function s(e,t){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(Ot(e),Ot(t),!0)};return ie.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);ie.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Rt="1.6.0",At={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{At[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Tt={};function vt(e,t,n){if("object"!==typeof e)throw new ue("options must be an object",ue.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;while(o-- >0){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new ue("option "+i+" must be "+n,ue.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ue("Unknown option "+i,ue.ERR_BAD_OPTION)}}At.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Rt+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new ue(r(o," has been removed"+(t?" in "+t:"")),ue.ERR_DEPRECATED);return t&&!Tt[o]&&(Tt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};var Nt={assertOptions:vt,validators:At};const jt=Nt.validators;class Ct{constructor(e){this.defaults=e,this.interceptors={request:new Te,response:new Te}}request(e,t){"string"===typeof e?(t=t||{},t.url=e):t=e||{},t=St(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&Nt.assertOptions(n,{silentJSONParsing:jt.transitional(jt.boolean),forcedJSONParsing:jt.transitional(jt.boolean),clarifyTimeoutError:jt.transitional(jt.boolean)},!1),null!=r&&(ie.isFunction(r)?t.paramsSerializer={serialize:r}:Nt.assertOptions(r,{encode:jt.function,serialize:jt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&ie.merge(o.common,o[t.method]);o&&ie.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ze.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,f=0;if(!a){const e=[Et.bind(this),void 0];e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);while(f{if(!n._listeners)return;let t=n._listeners.length;while(t-- >0)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new nt(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Pt((function(t){e=t}));return{token:t,cancel:e}}}var _t=Pt;function Ut(e){return function(t){return e.apply(null,t)}}function Ft(e){return ie.isObject(e)&&!0===e.isAxiosError}const Bt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bt).forEach((([e,t])=>{Bt[t]=e}));var Lt=Bt;function Dt(e){const t=new xt(e),n=r(xt.prototype.request,t);return ie.extend(n,xt.prototype,t,{allOwnKeys:!0}),ie.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Dt(St(e,t))},n}const kt=Dt(Ie);kt.Axios=xt,kt.CanceledError=nt,kt.CancelToken=_t,kt.isCancel=et,kt.VERSION=Rt,kt.toFormData=ge,kt.AxiosError=ue,kt.Cancel=kt.CanceledError,kt.all=function(e){return Promise.all(e)},kt.spread=Ut,kt.isAxiosError=Ft,kt.mergeConfig=St,kt.AxiosHeaders=Ze,kt.formToJSON=e=>De(ie.isHTMLForm(e)?new FormData(e):e),kt.getAdapter=bt.getAdapter,kt.HttpStatusCode=Lt,kt.default=kt;var qt=kt}}]); +//# sourceMappingURL=154.a30ad9b8.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/331.05857446.js.map b/rearServer/src/main/resources/static/js/154.a30ad9b8.js.map similarity index 99% rename from rearServer/src/main/resources/static/js/331.05857446.js.map rename to rearServer/src/main/resources/static/js/154.a30ad9b8.js.map index 006af01..e8d3142 100644 --- a/rearServer/src/main/resources/static/js/331.05857446.js.map +++ b/rearServer/src/main/resources/static/js/154.a30ad9b8.js.map @@ -1 +1 @@ -{"version":3,"file":"js/331.05857446.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/bind.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/utils.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/null.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toFormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/buildURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/InterceptorManager.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/transitional.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/transformData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/isCancel.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CanceledError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/settle.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/cookies.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/combineURLs.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/buildFullPath.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/speedometer.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/xhr.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/adapters.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/dispatchRequest.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/mergeConfig.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/env/data.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/validator.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/Axios.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CancelToken.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/spread.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","FormData","append","isURLSearchParams","trim","replace","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","merge","caseless","this","assignValue","targetKey","extend","a","b","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","catch","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","isFlatArray","some","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","toURLEncodedForm","data","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","e","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","get","has","matcher","deleted","deleteHeader","normalize","format","normalized","targets","asStrings","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","event","isXHRAdapterSupported","XMLHttpRequest","Promise","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","err","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","isURLSameOrigin","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","knownAdapters","http","xhr","renderReason","reason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","validator","ERR_BAD_OPTION","version","formatMessage","desc","opts","ERR_DEPRECATED","console","warn","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","spread","callback","isAxiosError","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON","default"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/154.a30ad9b8.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/bind.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/utils.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/null.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toFormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/buildURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/InterceptorManager.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/transitional.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/transformData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/isCancel.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CanceledError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/settle.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/cookies.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/combineURLs.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/buildFullPath.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/speedometer.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/xhr.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/adapters.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/dispatchRequest.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/mergeConfig.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/env/data.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/validator.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/Axios.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CancelToken.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/spread.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","FormData","append","isURLSearchParams","trim","replace","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","merge","caseless","this","assignValue","targetKey","extend","a","b","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","catch","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","isFlatArray","some","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","toURLEncodedForm","data","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","e","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","get","has","matcher","deleted","deleteHeader","normalize","format","normalized","targets","asStrings","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","event","isXHRAdapterSupported","XMLHttpRequest","Promise","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","err","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","isURLSameOrigin","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","knownAdapters","http","xhr","renderReason","reason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","validator","ERR_BAD_OPTION","version","formatMessage","desc","opts","ERR_DEPRECATED","console","warn","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","spread","callback","isAxiosError","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON","default"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/331.05857446.js b/rearServer/src/main/resources/static/js/331.05857446.js deleted file mode 100644 index 4b4ab48..0000000 --- a/rearServer/src/main/resources/static/js/331.05857446.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[331],{451:function(e,t,n){e.exports=n.p+"img/chatGpt.93292c55.jpg"},6154:function(e,t,n){function r(e,t){return function(){return e.apply(t,arguments)}}n.d(t,{Z:function(){return qt}});const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,s=(e=>t=>{const n=o.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),a=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:u}=Array,l=c("undefined");function f(e){return null!==e&&!l(e)&&null!==e.constructor&&!l(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const d=a("ArrayBuffer");function p(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t}const h=c("string"),m=c("function"),y=c("number"),g=e=>null!==e&&"object"===typeof e,b=e=>!0===e||!1===e,w=e=>{if("object"!==s(e))return!1;const t=i(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},E=a("Date"),O=a("File"),S=a("Blob"),R=a("FileList"),A=e=>g(e)&&m(e.pipe),T=e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=s(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},v=a("URLSearchParams"),j=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function N(e,t,{allOwnKeys:n=!1}={}){if(null===e||"undefined"===typeof e)return;let r,o;if("object"!==typeof e&&(e=[e]),u(e))for(r=0,o=e.length;r0)if(r=n[o],t===r.toLowerCase())return r;return null}const x=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),P=e=>!l(e)&&e!==x;function _(){const{caseless:e}=P(this)&&this||{},t={},n=(n,r)=>{const o=e&&C(t,r)||r;w(t[o])&&w(n)?t[o]=_(t[o],n):w(n)?t[o]=_({},n):u(n)?t[o]=n.slice():t[o]=n};for(let r=0,o=arguments.length;r(N(t,((t,o)=>{n&&m(t)?e[o]=r(t,n):e[o]=t}),{allOwnKeys:o}),e),F=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),B=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},L=(e,t,n,r)=>{let o,s,a;const c={};if(t=t||{},null==e)return t;do{o=Object.getOwnPropertyNames(e),s=o.length;while(s-- >0)a=o[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},D=(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},k=e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!y(t))return null;const n=new Array(t);while(t-- >0)n[t]=e[t];return n},q=(e=>t=>e&&t instanceof e)("undefined"!==typeof Uint8Array&&i(Uint8Array)),I=(e,t)=>{const n=e&&e[Symbol.iterator],r=n.call(e);let o;while((o=r.next())&&!o.done){const n=o.value;t.call(e,n[0],n[1])}},z=(e,t)=>{let n;const r=[];while(null!==(n=e.exec(t)))r.push(n);return r},M=a("HTMLFormElement"),H=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),J=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),W=a("RegExp"),K=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};N(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},V=e=>{K(e,((t,n)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];m(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},G=(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return u(e)?r(e):r(String(e).split(t)),n},$=()=>{},X=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Q="abcdefghijklmnopqrstuvwxyz",Z="0123456789",Y={DIGIT:Z,ALPHA:Q,ALPHA_DIGIT:Q+Q.toUpperCase()+Z},ee=(e=16,t=Y.ALPHA_DIGIT)=>{let n="";const{length:r}=t;while(e--)n+=t[Math.random()*r|0];return n};function te(e){return!!(e&&m(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const ne=e=>{const t=new Array(10),n=(e,r)=>{if(g(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=u(e)?[]:{};return N(e,((e,t)=>{const i=n(e,r+1);!l(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},re=a("AsyncFunction"),oe=e=>e&&(g(e)||m(e))&&m(e.then)&&m(e.catch);var ie={isArray:u,isArrayBuffer:d,isBuffer:f,isFormData:T,isArrayBufferView:p,isString:h,isNumber:y,isBoolean:b,isObject:g,isPlainObject:w,isUndefined:l,isDate:E,isFile:O,isBlob:S,isRegExp:W,isFunction:m,isStream:A,isURLSearchParams:v,isTypedArray:q,isFileList:R,forEach:N,merge:_,extend:U,trim:j,stripBOM:F,inherits:B,toFlatObject:L,kindOf:s,kindOfTest:a,endsWith:D,toArray:k,forEachEntry:I,matchAll:z,isHTMLForm:M,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:V,toObjectSet:G,toCamelCase:H,noop:$,toFiniteNumber:X,findKey:C,global:x,isContextDefined:P,ALPHABET:Y,generateString:ee,isSpecCompliantForm:te,toJSONObject:ne,isAsyncFn:re,isThenable:oe};function se(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}ie.inherits(se,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ie.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ae=se.prototype,ce={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ce[e]={value:e}})),Object.defineProperties(se,ce),Object.defineProperty(ae,"isAxiosError",{value:!0}),se.from=(e,t,n,r,o,i)=>{const s=Object.create(ae);return ie.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),se.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var ue=se,le=null;function fe(e){return ie.isPlainObject(e)||ie.isArray(e)}function de(e){return ie.endsWith(e,"[]")?e.slice(0,-2):e}function pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=de(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}function he(e){return ie.isArray(e)&&!e.some(fe)}const me=ie.toFlatObject(ie,{},null,(function(e){return/^is[A-Z]/.test(e)}));function ye(e,t,n){if(!ie.isObject(e))throw new TypeError("target must be an object");t=t||new(le||FormData),n=ie.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ie.isUndefined(t[e])}));const r=n.metaTokens,o=n.visitor||l,i=n.dots,s=n.indexes,a=n.Blob||"undefined"!==typeof Blob&&Blob,c=a&&ie.isSpecCompliantForm(t);if(!ie.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(ie.isDate(e))return e.toISOString();if(!c&&ie.isBlob(e))throw new ue("Blob is not supported. Use a Buffer instead.");return ie.isArrayBuffer(e)||ie.isTypedArray(e)?c&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"===typeof e)if(ie.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ie.isArray(e)&&he(e)||(ie.isFileList(e)||ie.endsWith(n,"[]"))&&(a=ie.toArray(e)))return n=de(n),a.forEach((function(e,r){!ie.isUndefined(e)&&null!==e&&t.append(!0===s?pe([n],r,i):null===s?n:n+"[]",u(e))})),!1;return!!fe(e)||(t.append(pe(o,n,i),u(e)),!1)}const f=[],d=Object.assign(me,{defaultVisitor:l,convertValue:u,isVisitable:fe});function p(e,n){if(!ie.isUndefined(e)){if(-1!==f.indexOf(e))throw Error("Circular reference detected in "+n.join("."));f.push(e),ie.forEach(e,(function(e,r){const i=!(ie.isUndefined(e)||null===e)&&o.call(t,e,ie.isString(r)?r.trim():r,n,d);!0===i&&p(e,n?n.concat(r):[r])})),f.pop()}}if(!ie.isObject(e))throw new TypeError("data must be an object");return p(e),t}var ge=ye;function be(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function we(e,t){this._pairs=[],e&&ge(e,this,t)}const Ee=we.prototype;Ee.append=function(e,t){this._pairs.push([e,t])},Ee.toString=function(e){const t=e?function(t){return e.call(this,t,be)}:be;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Oe=we;function Se(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Re(e,t,n){if(!t)return e;const r=n&&n.encode||Se,o=n&&n.serialize;let i;if(i=o?o(t,n):ie.isURLSearchParams(t)?t.toString():new Oe(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}class Ae{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ie.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var Te=Ae,ve={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},je="undefined"!==typeof URLSearchParams?URLSearchParams:Oe,Ne="undefined"!==typeof FormData?FormData:null,Ce="undefined"!==typeof Blob?Blob:null;const xe=(()=>{let e;return("undefined"===typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!==typeof window&&"undefined"!==typeof document)})(),Pe=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)();var _e={isBrowser:!0,classes:{URLSearchParams:je,FormData:Ne,Blob:Ce},isStandardBrowserEnv:xe,isStandardBrowserWebWorkerEnv:Pe,protocols:["http","https","file","blob","url","data"]};function Ue(e,t){return ge(e,new _e.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return _e.isNode&&ie.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}function Fe(e){return ie.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function Be(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=e.length;if(i=!i&&ie.isArray(r)?r.length:i,a)return ie.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s;r[i]&&ie.isObject(r[i])||(r[i]=[]);const c=t(e,n,r[i],o);return c&&ie.isArray(r[i])&&(r[i]=Be(r[i])),!s}if(ie.isFormData(e)&&ie.isFunction(e.entries)){const n={};return ie.forEachEntry(e,((e,r)=>{t(Fe(e),r,n,0)})),n}return null}var De=Le;function ke(e,t,n){if(ie.isString(e))try{return(t||JSON.parse)(e),ie.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}const qe={transitional:ve,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ie.isObject(e);o&&ie.isHTMLForm(e)&&(e=new FormData(e));const i=ie.isFormData(e);if(i)return r&&r?JSON.stringify(De(e)):e;if(ie.isArrayBuffer(e)||ie.isBuffer(e)||ie.isStream(e)||ie.isFile(e)||ie.isBlob(e))return e;if(ie.isArrayBufferView(e))return e.buffer;if(ie.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Ue(e,this.formSerializer).toString();if((s=ie.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ge(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),ke(e)):e}],transformResponse:[function(e){const t=this.transitional||qe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&ie.isString(e)&&(n&&!this.responseType||r)){const n=t&&t.silentJSONParsing,i=!n&&r;try{return JSON.parse(e)}catch(o){if(i){if("SyntaxError"===o.name)throw ue.from(o,ue.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_e.classes.FormData,Blob:_e.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ie.forEach(["delete","get","head","post","put","patch"],(e=>{qe.headers[e]={}}));var Ie=qe;const ze=ie.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Me=e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ze[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t};const He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ie.isArray(e)?e.map(We):String(e)}function Ke(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;while(r=n.exec(e))t[r[1]]=r[2];return t}const Ve=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ge(e,t,n,r,o){return ie.isFunction(r)?r.call(this,t,n):(o&&(t=n),ie.isString(t)?ie.isString(r)?-1!==t.indexOf(r):ie.isRegExp(r)?r.test(t):void 0:void 0)}function $e(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}function Xe(e,t){const n=ie.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}class Qe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Je(t);if(!o)throw new Error("header name must be a non-empty string");const i=ie.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=We(e))}const i=(e,t)=>ie.forEach(e,((e,n)=>o(e,n,t)));return ie.isPlainObject(e)||e instanceof this.constructor?i(e,t):ie.isString(e)&&(e=e.trim())&&!Ve(e)?i(Me(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return Ke(e);if(ie.isFunction(t))return t.call(this,e,n);if(ie.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ge(this,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Je(e),e){const o=ie.findKey(n,e);!o||t&&!Ge(n,n[o],o,t)||(delete n[o],r=!0)}}return ie.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;while(n--){const o=t[n];e&&!Ge(this,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ie.forEach(this,((r,o)=>{const i=ie.findKey(n,o);if(i)return t[i]=We(r),void delete t[o];const s=e?$e(o):String(o).trim();s!==o&&delete t[o],t[s]=We(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ie.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ie.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=this[He]=this[He]={accessors:{}},n=t.accessors,r=this.prototype;function o(e){const t=Je(e);n[t]||(Xe(r,e),n[t]=!0)}return ie.isArray(e)?e.forEach(o):o(e),this}}Qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ie.reduceDescriptors(Qe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ie.freezeMethods(Qe);var Ze=Qe;function Ye(e,t){const n=this||Ie,r=t||n,o=Ze.from(r.headers);let i=r.data;return ie.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function et(e){return!(!e||!e.__CANCEL__)}function tt(e,t,n){ue.call(this,null==e?"canceled":e,ue.ERR_CANCELED,t,n),this.name="CanceledError"}ie.inherits(tt,ue,{__CANCEL__:!0});var nt=tt;function rt(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ue("Request failed with status code "+n.status,[ue.ERR_BAD_REQUEST,ue.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}var ot=_e.isStandardBrowserEnv?function(){return{write:function(e,t,n,r,o,i){const s=[];s.push(e+"="+encodeURIComponent(t)),ie.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),ie.isString(r)&&s.push("path="+r),ie.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function it(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function st(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function at(e,t){return e&&!it(t)?st(e,t):t}var ct=_e.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=ie.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return function(){return!0}}();function ut(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function lt(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];o||(o=c),n[i]=a,r[i]=c;let l=s,f=0;while(l!==i)f+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,c=r(a),u=i<=s;n=i;const l={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&u?(s-i)/c:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const pt="undefined"!==typeof XMLHttpRequest;var ht=pt&&function(e){return new Promise((function(t,n){let r=e.data;const o=Ze.from(e.headers).normalize(),i=e.responseType;let s,a;function c(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener("abort",s)}ie.isFormData(r)&&(_e.isStandardBrowserEnv||_e.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?ie.isString(a=o.getContentType())&&o.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let u=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+n))}const l=at(e.baseURL,e.url);function f(){if(!u)return;const r=Ze.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),o=i&&"text"!==i&&"json"!==i?u.response:u.responseText,s={data:o,status:u.status,statusText:u.statusText,headers:r,config:e,request:u};rt((function(e){t(e),c()}),(function(e){n(e),c()}),s),u=null}if(u.open(e.method.toUpperCase(),Re(l,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(f)},u.onabort=function(){u&&(n(new ue("Request aborted",ue.ECONNABORTED,e,u)),u=null)},u.onerror=function(){n(new ue("Network Error",ue.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ve;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new ue(t,r.clarifyTimeoutError?ue.ETIMEDOUT:ue.ECONNABORTED,e,u)),u=null},_e.isStandardBrowserEnv){const t=ct(l)&&e.xsrfCookieName&&ot.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in u&&ie.forEach(o.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),ie.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),i&&"json"!==i&&(u.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&u.addEventListener("progress",dt(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",dt(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{u&&(n(!t||t.type?new nt(null,e,u):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener("abort",s)));const d=ut(l);d&&-1===_e.protocols.indexOf(d)?n(new ue("Unsupported protocol "+d+":",ue.ERR_BAD_REQUEST,e)):u.send(r||null)}))};const mt={http:le,xhr:ht};ie.forEach(mt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));const yt=e=>`- ${e}`,gt=e=>ie.isFunction(e)||null===e||!1===e;var bt={getAdapter:e=>{e=ie.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(yt).join("\n"):" "+yt(e[0]):"as no adapter specified";throw new ue("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r},adapters:mt};function wt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new nt(null,e)}function Et(e){wt(e),e.headers=Ze.from(e.headers),e.data=Ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);const t=bt.getAdapter(e.adapter||Ie.adapter);return t(e).then((function(t){return wt(e),t.data=Ye.call(e,e.transformResponse,t),t.headers=Ze.from(t.headers),t}),(function(t){return et(t)||(wt(e),t&&t.response&&(t.response.data=Ye.call(e,e.transformResponse,t.response),t.response.headers=Ze.from(t.response.headers))),Promise.reject(t)}))}const Ot=e=>e instanceof Ze?e.toJSON():e;function St(e,t){t=t||{};const n={};function r(e,t,n){return ie.isPlainObject(e)&&ie.isPlainObject(t)?ie.merge.call({caseless:n},e,t):ie.isPlainObject(t)?ie.merge({},t):ie.isArray(t)?t.slice():t}function o(e,t,n){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!ie.isUndefined(t))return r(void 0,t)}function s(e,t){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(Ot(e),Ot(t),!0)};return ie.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);ie.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Rt="1.6.0",At={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{At[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Tt={};function vt(e,t,n){if("object"!==typeof e)throw new ue("options must be an object",ue.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;while(o-- >0){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new ue("option "+i+" must be "+n,ue.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ue("Unknown option "+i,ue.ERR_BAD_OPTION)}}At.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Rt+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new ue(r(o," has been removed"+(t?" in "+t:"")),ue.ERR_DEPRECATED);return t&&!Tt[o]&&(Tt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};var jt={assertOptions:vt,validators:At};const Nt=jt.validators;class Ct{constructor(e){this.defaults=e,this.interceptors={request:new Te,response:new Te}}request(e,t){"string"===typeof e?(t=t||{},t.url=e):t=e||{},t=St(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&jt.assertOptions(n,{silentJSONParsing:Nt.transitional(Nt.boolean),forcedJSONParsing:Nt.transitional(Nt.boolean),clarifyTimeoutError:Nt.transitional(Nt.boolean)},!1),null!=r&&(ie.isFunction(r)?t.paramsSerializer={serialize:r}:jt.assertOptions(r,{encode:Nt.function,serialize:Nt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&ie.merge(o.common,o[t.method]);o&&ie.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ze.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,f=0;if(!a){const e=[Et.bind(this),void 0];e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);while(f{if(!n._listeners)return;let t=n._listeners.length;while(t-- >0)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new nt(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Pt((function(t){e=t}));return{token:t,cancel:e}}}var _t=Pt;function Ut(e){return function(t){return e.apply(null,t)}}function Ft(e){return ie.isObject(e)&&!0===e.isAxiosError}const Bt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bt).forEach((([e,t])=>{Bt[t]=e}));var Lt=Bt;function Dt(e){const t=new xt(e),n=r(xt.prototype.request,t);return ie.extend(n,xt.prototype,t,{allOwnKeys:!0}),ie.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Dt(St(e,t))},n}const kt=Dt(Ie);kt.Axios=xt,kt.CanceledError=nt,kt.CancelToken=_t,kt.isCancel=et,kt.VERSION=Rt,kt.toFormData=ge,kt.AxiosError=ue,kt.Cancel=kt.CanceledError,kt.all=function(e){return Promise.all(e)},kt.spread=Ut,kt.isAxiosError=Ft,kt.mergeConfig=St,kt.AxiosHeaders=Ze,kt.formToJSON=e=>De(ie.isHTMLForm(e)?new FormData(e):e),kt.getAdapter=bt.getAdapter,kt.HttpStatusCode=Lt,kt.default=kt;var qt=kt}}]); -//# sourceMappingURL=331.05857446.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/402.fa30b347.js b/rearServer/src/main/resources/static/js/402.fa30b347.js new file mode 100644 index 0000000..54e7cf6 --- /dev/null +++ b/rearServer/src/main/resources/static/js/402.fa30b347.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[402],{4402:function(e,l,a){a.r(l),a.d(l,{default:function(){return qo}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),m=(a(1897),a(6907)),c=(a(4746),a(294)),p=(a(6870),a(6252)),v=a(3577),h=a(2262),w=a(1094),_=a(2201),k=a(6154),f=a(844),g=a(1348),b=a(9288),V=a(2534),y=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,p._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),A={class:"home-container"},H=(0,p._)("div",{class:"flex-grow"},null,-1),P=(0,p._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),z=(0,p._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),S=(0,p._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),N={class:"under"},C={style:{display:"block",transform:"translate(5vw, 2.5vh)"}},O=(0,p._)("div",{class:"flex items-center"},[(0,p._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,p._)("span",{class:"font-h4-tag"},"v0.6.3 ")],-1),$={class:"search"},q={style:{display:"flex",margin:"10px 35px -8px 35px"}},B={style:{display:"flex",transform:"translateX(4vw)",width:"70vw",height:"61vh"}},D={style:{display:"flex","align-items":"center"}},j={style:{"margin-left":"18px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},I={style:{margin:"15px 0px 15px 0px"}},L=(0,p._)("h1",null,"批量操作",-1),Z=(0,p._)("h1",null,"全部检查并生成",-1),E=(0,p._)("br",null,null,-1),R=(0,p._)("br",null,null,-1),K=(0,p._)("br",null,null,-1),J={style:{display:"block"}},M=(0,p._)("br",null,null,-1),G=(0,p._)("br",null,null,-1),Y=(0,p._)("br",null,null,-1),X={key:0},F=(0,p._)("br",null,null,-1),Q={key:1},ee=(0,p._)("br",null,null,-1),le={key:0},ae=(0,p._)("br",null,null,-1),oe=(0,p._)("br",null,null,-1),ne={key:2},te=(0,p._)("br",null,null,-1),ue=(0,p._)("br",null,null,-1),ie=(0,p._)("br",null,null,-1),re={style:{margin:"5.2px"}},se=(0,p._)("br",null,null,-1),de={style:{display:"block"}},me=(0,p._)("br",null,null,-1),ce=(0,p._)("br",null,null,-1),pe=(0,p._)("br",null,null,-1),ve=(0,p._)("br",null,null,-1),he={key:0},we=(0,p._)("br",null,null,-1),_e={key:1},ke=(0,p._)("br",null,null,-1),fe={key:0},ge=(0,p._)("br",null,null,-1),be=(0,p._)("br",null,null,-1),Ve={key:2},ye=(0,p._)("br",null,null,-1),We={key:3},Te=(0,p._)("br",null,null,-1),xe=(0,p._)("br",null,null,-1),Ue={style:{margin:"5.2px"}},Ae=(0,p._)("br",null,null,-1),He={style:{display:"block"}},Pe={key:0},ze={style:{display:"flex","justify-content":"center","align-items":"center"}},Se={style:{margin:"10px 75px 10px 75px"}},Ne={style:{margin:"10px 75px 10px 75px"}},Ce={style:{margin:"10px 75px 10px 75px"}},Oe=(0,p._)("br",null,null,-1),$e=(0,p._)("br",null,null,-1),qe=(0,p._)("br",null,null,-1),Be=(0,p._)("br",null,null,-1),De=(0,p._)("br",null,null,-1),je=(0,p._)("br",null,null,-1),Ie=(0,p._)("br",null,null,-1),Le=(0,p._)("br",null,null,-1),Ze=(0,p._)("br",null,null,-1),Ee=(0,p._)("br",null,null,-1),Re={key:0},Ke=(0,p._)("br",null,null,-1),Je=(0,p._)("br",null,null,-1),Me=(0,p._)("br",null,null,-1),Ge={style:{display:"block"}},Ye=(0,p._)("br",null,null,-1),Xe=(0,p._)("br",null,null,-1),Fe=(0,p._)("br",null,null,-1),Qe=(0,p._)("br",null,null,-1),el=(0,p._)("br",null,null,-1),ll=(0,p._)("br",null,null,-1),al={key:0},ol=(0,p._)("br",null,null,-1),nl=(0,p._)("br",null,null,-1),tl=(0,p._)("br",null,null,-1),ul=(0,p._)("br",null,null,-1),il=(0,p._)("br",null,null,-1),rl=(0,p._)("br",null,null,-1),sl=(0,p._)("br",null,null,-1),dl=(0,p._)("br",null,null,-1),ml={style:{margin:"5.2px"}},cl=(0,p._)("br",null,null,-1),pl={style:{display:"block"}},vl=(0,p._)("br",null,null,-1),hl=(0,p._)("br",null,null,-1),wl=(0,p._)("br",null,null,-1),_l=(0,p._)("br",null,null,-1),kl=(0,p._)("br",null,null,-1),fl=(0,p._)("br",null,null,-1),gl=(0,p._)("br",null,null,-1),bl=(0,p._)("br",null,null,-1),Vl={key:0},yl=(0,p._)("br",null,null,-1),Wl=(0,p._)("br",null,null,-1),Tl=(0,p._)("br",null,null,-1),xl={style:{margin:"5.2px"}},Ul=(0,p._)("br",null,null,-1),Al={style:{display:"block"}},Hl=(0,p._)("br",null,null,-1),Pl=(0,p._)("br",null,null,-1),zl=(0,p._)("br",null,null,-1),Sl=(0,p._)("br",null,null,-1),Nl=(0,p._)("br",null,null,-1),Cl=(0,p._)("br",null,null,-1),Ol=(0,p._)("br",null,null,-1),$l=(0,p._)("br",null,null,-1),ql={style:{margin:"5.2px"}},Bl=(0,p._)("br",null,null,-1),Dl={style:{transform:"translate(0vw, -2vh)"}},jl={style:{"margin-left":"15px",display:"flex","align-items":"center"}},Il={key:0},Ll=(0,p._)("h5",null,"oneApi4",-1),Zl={key:1},El=(0,p._)("h5",null,"oneApi3",-1),Rl={key:2},Kl=(0,p._)("h5",null,"Json",-1),Jl={style:{"margin-left":"25px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ml={style:{display:"flex","align-items":"center",overflow:"auto"}},Gl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Yl=(0,p._)("span",{style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},"点击此进行查看",-1),Xl=(0,p._)("h1",null,"批量操作",-1),Fl=(0,p._)("br",null,null,-1),Ql={style:{display:"block"}},ea=(0,p._)("br",null,null,-1),la=(0,p._)("br",null,null,-1),aa=(0,p._)("br",null,null,-1),oa=(0,p._)("br",null,null,-1),na={style:{display:"block"}},ta=(0,p._)("br",null,null,-1),ua={key:0},ia=(0,p._)("br",null,null,-1),ra=(0,p._)("br",null,null,-1),sa=(0,p._)("br",null,null,-1),da=(0,p._)("br",null,null,-1),ma=(0,p._)("br",null,null,-1),ca=(0,p._)("br",null,null,-1),pa={style:{margin:"5.2px"}},va={style:{display:"block"}},ha=(0,p._)("br",null,null,-1),wa=(0,p._)("br",null,null,-1),_a={key:0},ka=(0,p._)("br",null,null,-1),fa=(0,p._)("br",null,null,-1),ga=(0,p._)("br",null,null,-1),ba=(0,p._)("br",null,null,-1),Va=(0,p._)("br",null,null,-1),ya={style:{margin:"5.2px"}},Wa={style:{display:"flex"}},Ta={style:{display:"flex","align-items":"center"}},xa={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ua={style:{display:"flex","align-items":"center",overflow:"auto"}},Aa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ha={style:{display:"flex","align-items":"center",overflow:"auto"}},Pa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},za=(0,p._)("br",null,null,-1),Sa={style:{display:"block"}},Na=(0,p._)("br",null,null,-1),Ca={style:{transform:"translateX(17px)"}},Oa=(0,p._)("br",null,null,-1),$a=(0,p._)("br",null,null,-1),qa=(0,p._)("br",null,null,-1),Ba={key:0},Da=(0,p._)("br",null,null,-1),ja=(0,p._)("br",null,null,-1),Ia=(0,p._)("br",null,null,-1),La=(0,p._)("br",null,null,-1),Za=(0,p._)("br",null,null,-1),Ea={style:{margin:"5.2px"}},Ra=(0,p._)("h1",null,"添加share_token到one_api",-1),Ka={style:{"margin-left":"15px",display:"flex","align-items":"center"}},Ja={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ma={style:{display:"flex","align-items":"center",overflow:"auto"}},Ga={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ya={style:{display:"flex","align-items":"center",overflow:"auto"}},Xa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Fa=(0,p._)("br",null,null,-1),Qa={style:{display:"block"}},eo=(0,p._)("br",null,null,-1),lo=(0,p._)("br",null,null,-1),ao={style:{transform:"translateX(17px)"}},oo=(0,p._)("br",null,null,-1),no={style:{transform:"translateX(17px)"}},to={style:{display:"flex","justify-content":"flex-end"}},uo=(0,p._)("br",null,null,-1),io=(0,p._)("br",null,null,-1),ro=(0,p._)("br",null,null,-1),so=(0,p._)("br",null,null,-1),mo={style:{margin:"5.2px"}},co={style:{display:"block"}},po=(0,p._)("br",null,null,-1),vo=(0,p._)("br",null,null,-1),ho=(0,p._)("br",null,null,-1),wo=(0,p._)("br",null,null,-1),_o=(0,p._)("br",null,null,-1),ko=(0,p._)("br",null,null,-1),fo=(0,p._)("br",null,null,-1),go=(0,p._)("br",null,null,-1),bo={style:{display:"block"}},Vo=(0,p._)("br",null,null,-1),yo={style:{transform:"translateX(17px)"}},Wo=(0,p._)("br",null,null,-1),To={style:{transform:"translateX(17px)"}},xo={style:{display:"flex","justify-content":"flex-end"}},Uo=(0,p._)("br",null,null,-1),Ao=(0,p._)("br",null,null,-1),Ho=(0,p._)("br",null,null,-1),Po=(0,p._)("br",null,null,-1),zo={style:{margin:"5.2px"}},So=0,No=1,Co=2;var Oo=(0,p.aZ)({__name:"homeIndex",setup(e){const l=window.location.pathname,a=l.split("/");let Oo="";a.length>=3&&(Oo="/"+a[1]);const $o=(0,h.iH)(["default","svip","vip"]),qo=(0,h.iH)(),Bo=(0,h.iH)(),Do=(0,h.iH)([]),jo=(0,h.iH)([]),Io=e=>{Do.value=e},Lo=e=>{jo.value=e},Zo=(0,h.iH)("ALL"),Eo=(0,_.tv)(),Ro=(0,h.iH)(!1),Ko=(0,h.iH)(!1),Jo=(0,h.iH)(!1),Mo=(0,h.iH)(!1),Go=(0,h.iH)(!1),Yo=(0,h.iH)(!1),Xo=(0,h.iH)(!1),Fo=(0,h.iH)(!1),Qo=(0,h.iH)(!1),en=(0,h.iH)(!1),ln=(0,h.iH)(!1),an=(0,h.iH)(!1),on=(0,h.iH)(!1),nn=(0,h.iH)(!1),tn=(0,h.iH)(!1),un=(0,h.iH)(!1),rn=(0,h.iH)(!1),sn=(0,h.iH)(""),dn=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],mn=((0,h.iH)(""),[{buttonModel:"gpt-4-s",label:"gpt-4-s"},{buttonModel:"gpt-4-mobile",label:"gpt-4-mobile"},{buttonModel:"gpt-4-vision",label:"gpt-4-vision"},{buttonModel:"gpt-3.5-turbo",label:"gpt-3.5-turbo"},{buttonModel:"gpt-4-classic",label:"gpt-4-classic"}]),cn=(0,h.iH)(""),pn=[{buttonPoolValue:"选中检查pool_token",label:"选中检查pool_token"},{buttonPoolValue:"选中删除pool_token",label:"选中删除pool_token"},{buttonPoolValue:"选中刷新pool_token",label:"选中刷新pool_token"},{buttonPoolValue:"选中更换pool_token",label:"选中更换pool_token"}],vn=(0,h.iH)(""),hn=(0,h.iH)("*"),wn=(0,h.iH)(""),_n=(0,h.iH)(""),kn=(0,h.iH)(""),fn=(0,h.iH)(!1),gn=(0,h.iH)(!1),bn=(0,h.iH)(!1),Vn=(0,h.iH)(!1),yn=(0,h.iH)(""),Wn=(0,h.iH)(!1),Tn=(0,h.iH)(""),xn=(0,h.iH)(""),Un=(0,h.iH)(""),An=(0,h.iH)(""),Hn=(0,h.iH)(""),Pn=(0,h.iH)(""),zn=(0,h.iH)(""),Sn=(0,h.iH)(!1),Nn=(0,h.iH)(""),Cn=(0,h.iH)("PandoraNext"),On=(0,h.iH)("default"),$n=(0,h.iH)(""),qn=(0,h.iH)(""),Bn=(0,h.iH)(""),Dn=(0,h.iH)(""),jn=(0,h.iH)(!1),In=(0,h.iH)(!1),Ln=(0,h.iH)(!1),Zn=(0,h.iH)(!1),En=(0,h.iH)(!1),Rn=(0,h.iH)(5),Kn=(0,h.iH)(1),Jn=(0,h.iH)(""),Mn=(0,h.iH)(""),Gn=(0,h.iH)(""),Yn=(0,h.iH)(""),Xn=((0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(!0),(0,h.iH)("")),Fn=(0,h.iH)(!1),Qn=(0,h.iH)(!1),et=(0,h.iH)(Jn.value+vn.value),lt=(0,h.iH)(0),at=(0,h.iH)(""),ot=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},nt=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},tt=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},ut=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=zt.value&&1!=_t.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},it=(0,h.iH)(""),rt=(0,h.iH)(""),st=(0,h.iH)(""),dt=(0,h.iH)(""),mt=(0,h.iH)(""),ct=(0,h.iH)(""),pt=(0,h.iH)(!1),vt=(0,h.iH)(!1),ht=(0,h.iH)(!1),wt=(0,h.iH)(""),_t=(0,h.iH)(!1),kt=(0,h.iH)(!1),ft=(0,h.iH)(!0),gt=(0,h.iH)([]),bt=(0,h.iH)([]),Vt=(0,h.iH)([]),yt=(0,h.iH)([]),Wt=(0,h.iH)(""),Tt=(0,h.iH)(""),xt=(0,h.iH)(""),Ut=(0,h.iH)(""),At=(0,h.iH)(!1),Ht=(0,h.iH)(!1),Pt=(0,h.iH)(!1),zt=(0,h.iH)(!1),St=(0,h.iH)(!1),Nt=(0,h.iH)(""),Ct=(0,h.iH)(""),Ot=(0,h.iH)(""),$t=((0,h.iH)(""),(0,h.iH)("")),qt=(0,h.iH)([]),Bt=(0,h.iH)(["default","svip","vip"]),Dt=(0,h.iH)(0),jt=((0,h.iH)(.085*window.innerHeight),(0,h.iH)("")),It=(0,h.iH)(""),Lt=(0,h.iH)(""),Zt=localStorage.getItem("jwtToken");Zt||Eo.replace("/");const Et={Authorization:`Bearer ${Zt}`},Rt=async()=>{k.Z.post(`${Oo}/api/loginToken?token=`+Zt).then((e=>{if(0==e.data.code)return console.error(e.data.data),void Eo.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),Eo.replace("/")}))},Kt=e=>{"Web"==e?Xt(""):"all"==e?Gt(""):e.includes("API")?Yt(""):Gt(e)},Jt=e=>{eu(e)},Mt=e=>{Qt(e)},Gt=async e=>{const l=await k.Z.get(`${Oo}/api/selectToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));gt.value=e}},Yt=async e=>{const l=await k.Z.get(`${Oo}/api/selectToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));gt.value=l}},Xt=async e=>{const l=await k.Z.get(`${Oo}/api/selectToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));gt.value=l}},Ft=async()=>{const e=await k.Z.get(`${Oo}/api/selectLogin`,{headers:Et}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));yt.value=e}},Qt=async e=>{const l=await k.Z.get(`${Oo}/api/selectPoolToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));bt.value=e}},eu=async e=>{const l=y.kN.service({fullscreen:!0}),a=await k.Z.get(`${Oo}/api/selectShareToken?name=${e}`,{headers:Et}),o=a.data.data;if(Array.isArray(o)){const e=o.map((e=>({oneApi_name:e.oneApi_name,token_name:e.token_name,token_value:e.token_value,oneApi_baseUrl:e.oneApi_baseUrl,oneApi_models:e.oneApi_models,oneApi_groups:e.oneApi_groups,shareTime:e.shareTime,priority:e.priority})));Vt.value=e}l.close()},lu=async e=>{const l=await k.Z.get(`${Oo}/api/selectSetting`,{headers:Et}),a=l.data.data;vn.value=a.proxy_api_prefix,hn.value=a.isolated_conv_title,wn.value=a.bing,_n.value=a.timeout,kn.value=a.proxy_url,fn.value=a.public_share,gn.value=a.disable_signup,bn.value=a.auto_conv_arkose,Vn.value=a.proxy_file_service,yn.value=a.custom_doh_host,Wn.value=a.tls.enabled,Tn.value=a.tls.cert_file,xn.value=a.tls.key_file,Un.value=a.site_password,An.value=a.setup_password,null==a.whitelist?$n.value="null":$n.value=a.whitelist,Hn.value=a.loginUsername,Pn.value=a.loginPassword,zn.value=a.license_id,Sn.value=a.isGetToken,Nn.value=a.getTokenPassword,Cn.value=a.containerName,On.value=a.autoToken_url,qn.value=a.validation.provider,Bn.value=a.validation.site_key,Dn.value=a.validation.site_secret,jn.value=a.validation.site_login,In.value=a.validation.setup_login,Ln.value=a.validation.oai_username,Zn.value=a.validation.oai_password,En.value=a.auto_updateSession,Rn.value=a.auto_updateTime,Kn.value=a.auto_updateNumber,Jn.value=a.pandoraNext_outUrl,Jn.value.endsWith("/")?et.value=Jn.value+vn.value:et.value=Jn.value+"/"+vn.value,Mn.value=a.oneAPi_outUrl,Gn.value=a.oneAPi_intoToken,au()},au=async()=>{"123456"==Pn.value&&"root"==Hn.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),Go.value=!0,Pn.value="",Hn.value="")},ou=()=>{const e=Do.value;0!==e.length?en.value=!0:(0,g.z8)("未选择数据")},nu=async()=>{y.kN.service({fullscreen:!0});try{const e=Do.value,l=e.map((e=>e.name)),a={poolName:Xn.value,intoOneApi:Fn.value,pandoraNextGpt4:Qn.value,oneApi_pandoraUrl:et.value,shareTokens:l,groupChecked:$o.value.toString(),priority:lt.value},o=await fetch(`${Oo}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Xn.value="",Qt(""),(0,g.z8)({type:"success",message:t.data}),Xn.value="",Fn.value=!1,Qn.value=!1,$o.value=["default","svip","vip"],lt.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}en.value=!1},tu=e=>{let l=bt.value.find((l=>l.poolName===e));null!=l&&(at.value=l.poolToken,Fn.value=l.intoOneApi,Qn.value=l.pandoraNextGpt4,et.value=l.oneApi_pandoraUrl,lt.value=l.priority)},uu=e=>{gt.value.find((l=>l.name===e&&!0===l.setPoolToken))},iu=(0,p.Fl)((()=>gt.value.filter((e=>!0===e.setPoolToken)))),ru=async()=>{y.kN.service({fullscreen:!0});try{const e=Do.value,l=e.map((e=>e.name)),a={poolName:Yn.value,poolToken:at.value,intoOneApi:Fn.value,pandoraNextGpt4:Qn.value,oneApi_pandoraUrl:et.value,shareTokens:l,groupChecked:$o.value.toString(),priority:lt.value},o=await fetch(`${Oo}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Qt(""),(0,g.z8)({type:"success",message:t.data}),Yn.value="",at.value="",Fn.value=!1,Qn.value=!1,$o.value=["default","svip","vip"],lt.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}an.value=!1},su=async()=>{const e=y.kN.service({fullscreen:!0});try{const e={oneApi_name:Ct.value,token_name:Ot.value,oneApi_baseUrl:$t.value,oneApi_models:qt.value.toString(),oneApi_groups:Bt.value.toString(),priority:lt.value},l=await fetch(`${Oo}/api/addShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}),a=(y.kN.service({fullscreen:!0}),await l.json());1===a.code?(eu(""),(0,g.z8)({type:"success",message:a.data}),Ct.value="",Ot.value="",$t.value="",qt.value=[],Bt.value=["default","svip","vip"],lt.value=0):(0,g.z8)({type:"info",message:a.msg})}catch(l){(0,g.z8)({type:"info",message:"取消修改pool_token"})}tn.value=!1,e.close()},du=(0,h.iH)("");(0,p.bv)((async()=>{const e=y.kN.service({fullscreen:!0});window.innerWidth<=700?Eo.replace("/iphone"):Eo.replace("/home"),Rt();const l=await k.Z.get(`${Oo}/api/getPandoraNext`,{headers:Et}),a=l.data.data;null!=a&&(du.value=a.current+"/"+a.total),Kt(jt.value),Qt(jt.value),lu(jt.value),e.close()}));const mu=({row:e})=>0==e.checkSession?"warning-row":"",cu=({row:e})=>0==e.checkPool?"warning-row":"",pu=()=>{window.open(Jn.value)},vu=()=>{var e=Jn.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},hu=()=>{var e=Jn.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},wu=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},_u=(0,h.iH)("-1");let ku="";const fu=(e,l)=>{console.log("选择准备!")},gu=()=>{Ko.value=!0},bu=()=>{const e=y.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=Nt.value&&(At.value=!1,Pt.value=!1,Ht.value=!1),0==zt.value&&(Ut.value=Tt.value+","+xt.value,St.value=!1,At.value=!1,Pt.value=!1,Ht.value=!1);let o={name:Wt.value,token:Ut.value,username:Tt.value,userPassword:xt.value,shared:At.value,show_user_info:Ht.value,plus:Pt.value,setPoolToken:zt.value,useRefreshToken:St.value,password:Nt.value,updateTime:a};fetch(`${Oo}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),Wt.value="",Ut.value="",Tt.value="",xt.value="",At.value=!1,Ht.value=!1,Pt.value=!1,zt.value=!1,St.value=!1,Nt.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),Nt.value="",Gt(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),Ko.value=!1},Vu=(0,h.iH)(0),yu=(0,h.iH)(0),Wu=async e=>{if(it.value=e.name,mt.value=e.username,ct.value=e.userPassword,rt.value=e.token,st.value=e.access_token,dt.value=e.share_token,pt.value=e.shared,vt.value=e.show_user_info,ht.value=e.plus,wt.value=e.password,_t.value=e.setPoolToken,kt.value=e.useRefreshToken,ft.value=e.checkSession,1!=_t.value)return void(Jo.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${et.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?Vu.value=Number(o.usage["text-davinci-002-render-sha"]):Vu.value=0,null!=o.usage["gpt-4"]?yu.value=Number(o.usage["gpt-4"]):yu.value=0),Jo.value=!0},Tu=(0,h.iH)(""),xu=(0,h.iH)(""),Uu=(0,h.iH)(""),Au=(0,h.iH)(""),Hu=(0,h.iH)([]),Pu=(0,h.iH)(""),zu=(0,h.iH)(""),Su=(0,h.iH)(["default","svip","vip"]),Nu=(0,h.iH)(""),Cu=e=>{Tu.value=e.oneApi_name,xu.value=e.token_name,Uu.value=e.token_value,Au.value=e.oneApi_baseUrl,Pu.value=e.oneApi_models,zu.value=e.oneApi_groups,lt.value=e.priority,Nu.value=e.shareTime,un.value=!0};let Ou=!1,$u=!1,qu="";const Bu=(e,l)=>{it.value=l.name,mt.value=l.username,ct.value=l.userPassword,rt.value=l.token,ku=l.token,pt.value=l.shared,vt.value=l.show_user_info,ht.value=l.plus,wt.value=l.password,_t.value=l.setPoolToken,kt.value=l.useRefreshToken,Ou=_t.value,$u=kt.value,qu=rt.value,ft.value=l.checkSession,st.value=l.access_token,dt.value=l.share_token,Ro.value=!0},Du=async e=>{0==e?Mo.value=!0:1==e?Go.value=!0:2==e&&(Yo.value=!0)},ju=e=>{const l=y.kN.service({fullscreen:!0});null!=$n.value&&"null"!=$n.value||($n.value=""),0==Wn.value&&(Tn.value="",xn.value="");const a={enabled:Wn.value,cert_file:Tn.value,key_file:xn.value},o={provider:qn.value,site_key:Bn.value,site_secret:Dn.value,site_login:jn.value,setup_login:In.value,oai_username:Ln.value,oai_password:Zn.value},n={proxy_api_prefix:vn.value,isolated_conv_title:hn.value,bing:wn.value,timeout:_n.value,proxy_url:kn.value,public_share:fn.value,site_password:Un.value,setup_password:An.value,loginUsername:Hn.value,loginPassword:Pn.value,license_id:zn.value,disable_signup:gn.value,auto_conv_arkose:bn.value,proxy_file_service:Vn.value,custom_doh_host:yn.value,isGetToken:Sn.value,getTokenPassword:Nn.value,containerName:Cn.value,autoToken_url:On.value,whitelist:$n.value,validation:o,tls:a};fetch(`${Oo}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Rt(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?Mo.value=!1:1==e?Go.value=!1:2==e&&(Yo.value=!1)},Iu=()=>{const e=y.kN.service({fullscreen:!0});"/"!==Jn.value.charAt(Jn.value.length-1)&&(Jn.value+="/");const l={auto_updateSession:En.value,auto_updateTime:Rn.value,auto_updateNumber:Kn.value,pandoraNext_outUrl:Jn.value,oneAPi_outUrl:Mn.value,oneAPi_intoToken:Gn.value};fetch(`${Oo}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),Qo.value=!1},Lu=()=>{const e=y.kN.service({fullscreen:!0});let l="";if(ku!=rt.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==_t.value&&(pt.value=!1,ht.value=!1,vt.value=!1,kt.value=!1),!0===pt.value?wt.value="":(ht.value=!1,vt.value=!1);let a="";a=Ou!=_t.value&&qu==rt.value?0==_t.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==kt.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":$u!=kt.value&&qu==rt.value?1==kt.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:it.value,token:rt.value,username:mt.value,userPassword:ct.value,shared:pt.value,show_user_info:vt.value,plus:ht.value,setPoolToken:_t.value,useRefreshToken:kt.value,checkSession:ft.value,password:wt.value,access_token:st.value,share_token:dt.value};fetch(`${Oo}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),Gt("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),Ro.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Zu=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/open`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Eu=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/close`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ru=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/restart`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ku=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/reload`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ju=(0,h.iH)(""),Mu=(0,h.iH)(""),Gu=async()=>{const e=await k.Z.get(`${Oo}/api/getPandoraNext`,{headers:Et}),l=e.data.data;if(null!=l){du.value=l.current+"/"+l.total,Ju.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();Mu.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}Fo.value=!0},Yu=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/updateAllToken`,{headers:Et}),a=l.data.data;null!=a&&""!=a?(Gt(""),f.T.alert(a,"温馨提示",{dangerouslyUseHTMLString:!0})):g.z8.error(l.data.msg),e.close()},Xu=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,Gt(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},Fu=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Qt(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Qu=e=>{Tu.value=e.oneApi_name,xu.value=e.token_name,Uu.value=e.token_value,Au.value=e.oneApi_baseUrl,Hu.value=e.oneApi_models.split(","),Su.value=e.oneApi_groups.split(","),lt.value=e.priority,Nu.value=e.shareTime,rn.value=!0},ei=()=>{const e=y.kN.service({fullscreen:!0}),l={oneApi_name:Tu.value,token_name:xu.value,token_value:Uu.value,oneApi_baseUrl:Au.value,oneApi_models:Hu.value.toString(),oneApi_groups:Su.value.toString(),priority:lt.value};fetch(`${Oo}/api/requireShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.msg)),eu(""),e.close()})).catch((l=>{e.close(),console.error("Error:",l)})),rn.value=!1},li=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),Gt(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},ai=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Qt(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},oi=(e,l)=>{const a=y.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${Oo}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(Qt(""),g.z8.success(e.data),a.close()):(Qt(""),g.z8.error(e.msg),a.close()),en.value=!1})).catch((e=>{console.error("删除失败",e),Qt(""),a.close(),en.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},ni=(e,l)=>{const a=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Qt(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(Qt(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},ti=(e,l)=>{const a=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Oo}/api/deleteToken`,l,{headers:Et}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${Oo}/api/updateAllPoolToken`,{headers:Et}),o=e.data.data,Gt(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},ui=(e,l)=>{const a=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个share_Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Oo}/api/deleteShareToken`,l,{headers:Et}).then((async e=>{o=e.data.data,eu(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},ii=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,V.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},ri=e=>e.substring(0,30)+"...",si=()=>{localStorage.removeItem("jwtToken"),Eo.replace("/")},di=()=>{Xo.value=!0},mi=async()=>{await eu(""),nn.value=!0},ci=()=>{Ft(),ln.value=!0},pi=()=>{window.open("https://github.com/Yanyutin753/PandoraNext-TokensTool")},vi=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},hi=e=>{const l=Do.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?ou():"选中修改pool_token"==e&&(an.value=!0);else{let e=0;const l=Do.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Gt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Oo}/api/deleteTokenList`,a,{headers:Et}).then((async l=>{await k.Z.get(`${Oo}/api/updateAllPoolToken`,{headers:Et}),o=l.data.data,Gt(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},wi=e=>{const l=jo.value,a=l.map((e=>e));if(0!==a.length)if("选中检查pool_token"!=e)if("选中刷新pool_token"!=e)if("选中更换pool_token"!=e)if("选中删除pool_token"!=e);else{l.length;const e="您确定要删除这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/deletePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"})}))}else{l.length;const e="您确定要更换这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/changePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"更换取消!"})}))}else{const e="您确定要刷新这"+l.length+"个pool_token吗?";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/refreshSimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{let e=4*l.length;const o="您确定要花"+e+"积分检查这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/verifySimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"检查取消!"})}))}else(0,g.z8)("未选择数据")},_i=(0,h.iH)(null),ki=async()=>{on.value=!0;const e=await k.Z.get(`${Oo}/api/modelsUsage`,{headers:Et});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(_i.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=(0,p.up)("el-menu-item"),_=c.JO,k=(0,p.up)("el-sub-menu"),f=(0,p.up)("el-menu"),g=m.zx,b=(0,p.up)("el-page-header"),V=(0,p.up)("el-radio-button"),y=(0,p.up)("el-radio-group"),T=d.ol,Oo=(0,p.up)("el-table-column"),Do=(0,p.up)("el-button"),jo=(0,p.up)("el-tag"),Eo=(0,p.up)("el-popover"),ft=(0,p.up)("el-option"),Zt=(0,p.up)("el-select"),Et=(0,p.up)("el-button-group"),Rt=s.gN,Ft=r.rs,Qt=i.TS,eu=u.l0,lu=t.Vq,au=(0,p.up)("ChatLineRound"),ou=(0,p.up)("el-icon"),ku=(0,p.up)("el-statistic"),zu=(0,p.up)("el-col"),Nu=(0,p.up)("el-row"),Ou=(0,p.up)("CopyDocument"),$u=(0,p.up)("h10"),qu=(0,p.up)("el-select-group"),fi=(0,p.up)("el-dialog"),gi=n.XZ,bi=o.cO,Vi=(0,p.up)("el-form-item"),yi=(0,p.Q2)("loading");return(0,p.wg)(),(0,p.iD)(p.HY,null,[(0,p._)("div",x,[U,(0,p.Wm)(f,{"default-active":_u.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:fu,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Wm)(a,null,{default:(0,p.w5)((()=>[(0,p._)("img",{style:{width:"40px"},src:w,alt:"Element logo",onClick:pi})])),_:1}),(0,p.Wm)(a,{onClick:Gu},{title:(0,p.w5)((()=>[(0,p._)("div",A,[(0,p._)("h2",null,(0,v.zw)(du.value),1)]),(0,p.Wm)(_,{name:"replay",size:"20"})])),_:1}),H,(0,p.Wm)(a,{index:"1",onClick:di},{default:(0,p.w5)((()=>[(0,p.Uk)("pool_token列表")])),_:1}),(0,p.Wm)(a,{index:"2",onClick:mi},{default:(0,p.w5)((()=>[(0,p.Uk)("share_token列表")])),_:1}),(0,p.Wm)(k,{index:"3"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转Web服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(k,{index:"3-1"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转PandoraWeb服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"3-1-1",onClick:pu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"主页",1)])),_:1}),(0,p.Wm)(a,{index:"3-1-2",onClick:vu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"共享页",1)])),_:1}),(0,p.Wm)(a,{index:"3-1-3",onClick:hu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"修改页",1)])),_:1})])),_:1}),(0,p.Wm)(k,{index:"3-2"},{title:(0,p.w5)((()=>[(0,p.Uk)("获取token地址")])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"3-2-1"},{default:(0,p.w5)((()=>[P])),_:1}),(0,p.Wm)(a,{index:"3-2-2"},{default:(0,p.w5)((()=>[z])),_:1}),(0,p.Wm)(a,{index:"3-2-3"},{default:(0,p.w5)((()=>[S])),_:1})])),_:1}),(0,p.Wm)(a,{index:"3-3",onClick:wu},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool使用说明")])),_:1})])),_:1}),(0,p.Wm)(k,{index:"5"},{title:(0,p.w5)((()=>[(0,p.Uk)("系统设置")])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"5-1",onClick:l[0]||(l[0]=e=>Du(So))},{default:(0,p.w5)((()=>[(0,p.Uk)("PandoraNext设置")])),_:1}),(0,p.Wm)(a,{index:"5-2",onClick:l[1]||(l[1]=e=>Du(No))},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool设置")])),_:1}),(0,p.Wm)(a,{index:"5-3",onClick:l[2]||(l[2]=e=>Du(Co))},{default:(0,p.w5)((()=>[(0,p.Uk)("验证码信息设置")])),_:1}),(0,p.Wm)(a,{index:"5-3",onClick:l[3]||(l[3]=e=>Qo.value=!0)},{default:(0,p.w5)((()=>[(0,p.Uk)("定时&接口设置")])),_:1})])),_:1}),(0,p.Wm)(k,{index:"6"},{title:(0,p.w5)((()=>[(0,p.Uk)("系统功能")])),default:(0,p.w5)((()=>[(0,p.Wm)(k,{index:"6-1"},{title:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"状态",1)])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"6-1-1",onClick:Zu},{default:(0,p.w5)((()=>[(0,p.Uk)("开启"+(0,v.zw)(Cn.value),1)])),_:1}),(0,p.Wm)(a,{index:"6-1-2",onClick:Eu},{default:(0,p.w5)((()=>[(0,p.Uk)("暂停"+(0,v.zw)(Cn.value),1)])),_:1}),(0,p.Wm)(a,{index:"6-1-3",onClick:Ru},{default:(0,p.w5)((()=>[(0,p.Uk)("重启"+(0,v.zw)(Cn.value),1)])),_:1}),(0,p.Wm)(a,{index:"6-1-4",onClick:Ku},{default:(0,p.w5)((()=>[(0,p.Uk)("重载"+(0,v.zw)(Cn.value),1)])),_:1})])),_:1}),(0,p.Wm)(a,{index:"6-2",onClick:ci},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool登录日志")])),_:1}),(0,p.Wm)(a,{index:"6-3",onClick:ki},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool用量统计")])),_:1}),(0,p.Wm)(a,{index:"6-4",onClick:si},{default:(0,p.w5)((()=>[(0,p.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,p._)("div",N,[(0,p._)("div",C,[(0,p.Wm)(b,{icon:null,title:" "},{content:(0,p.w5)((()=>[O])),extra:(0,p.w5)((()=>[(0,p._)("div",{class:"addToken",onClick:gu},[(0,p.Wm)(g,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,p._)("div",$,[(0,p._)("div",q,[(0,p.Wm)(T,{modelValue:jt.value,"onUpdate:modelValue":l[8]||(l[8]=e=>jt.value=e),"show-action":"",shape:"round",clearable:"",placeholder:"请输入搜索token名称和类型",onSearch:Kt},{action:(0,p.w5)((()=>[(0,p.Wm)(y,{modelValue:Zo.value,"onUpdate:modelValue":l[7]||(l[7]=e=>Zo.value=e),label:"size control"},{default:(0,p.w5)((()=>[(0,p.Wm)(V,{type:"success",plain:"",label:"WEB",onClick:l[4]||(l[4]=e=>Xt(jt.value))},{default:(0,p.w5)((()=>[(0,p.Uk)("WEB")])),_:1}),(0,p.Wm)(V,{type:"success",plain:"",label:"ALL",onClick:l[5]||(l[5]=e=>Gt(jt.value))},{default:(0,p.w5)((()=>[(0,p.Uk)("ALL")])),_:1}),(0,p.Wm)(V,{type:"success",plain:"",label:"API",onClick:l[6]||(l[6]=e=>Yt(jt.value))},{default:(0,p.w5)((()=>[(0,p.Uk)("API")])),_:1})])),_:1},8,["modelValue"])])),_:1},8,["modelValue"])]),(0,p._)("div",B,[(0,p.wy)(((0,p.wg)(),(0,p.j4)((0,h.SU)(W.eI),{data:gt.value,style:{width:"100%"},onSelectionChange:Io,ref_key:"multipleTableRef",ref:qo,"default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":mu},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{type:"selection",width:"45"}),(0,p.Wm)(Oo,{label:"名称",prop:"setPoolToken",sortable:"","min-width":"136"},{default:(0,p.w5)((e=>[(0,p._)("div",D,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[(0,p._)("h5",null,(0,v.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024),(0,p._)("span",j,(0,v.zw)(e.row.name),1)])])),_:1}),(0,p.Wm)(Oo,{label:"账号信息","min-width":"200"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"账号: "+(0,v.zw)(e.row.username),1),(0,p._)("div",null,"密码: "+(0,v.zw)(e.row.userPassword),1)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(e.row.username),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{label:"Token值","min-width":"270"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"token: "+(0,v.zw)(ri(e.row.token)),1)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(ri(e.row.token)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{prop:"updateTime",sortable:"",label:"有效时间","min-width":"167"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"注册时间:"+(0,v.zw)(e.row.updateTime),1)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)("距离过期还有:"+(0,v.zw)(ii(e.row)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{label:"操作方法",width:"335"},{default:(0,p.w5)((e=>[(0,p.Wm)(Do,{size:"small",onClick:l=>Bu(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("编辑")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"primary",onClick:l=>Wu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"danger",onClick:l=>ti(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"success",onClick:l=>Xu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"warning",onClick:l=>li(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[yi,e.loading]])]),(0,p._)("div",I,[(0,p.Wm)(Zt,{modelValue:sn.value,"onUpdate:modelValue":l[9]||(l[9]=e=>sn.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作",class:"ml-4"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(dn,(e=>(0,p.Wm)(ft,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(Do,{class:"ml-4",onClick:l[10]||(l[10]=e=>hi(sn.value))},{default:(0,p.w5)((()=>[L])),_:1}),(0,p.Wm)(Et,{class:"my-button"},{default:(0,p.w5)((()=>[(0,p.Wm)(Do,{onClick:Yu},{default:(0,p.w5)((()=>[Z])),_:1})])),_:1})])]),E,R,K])]),(0,p.Wm)(lu,{show:Ro.value,"onUpdate:show":l[21]||(l[21]=e=>Ro.value=e),title:"修改token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",J,[(0,p.Wm)(eu,{onSubmit:l[20]||(l[20]=e=>Lu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[M,(0,p.Wm)(Rt,{modelValue:mt.value,"onUpdate:modelValue":l[11]||(l[11]=e=>mt.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),G,(0,p.Wm)(Rt,{modelValue:ct.value,"onUpdate:modelValue":l[12]||(l[12]=e=>ct.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),Y,(0,p.Wm)(Rt,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:_t.value,"onUpdate:modelValue":l[13]||(l[13]=e=>_t.value=e)},null,8,["modelValue"])])),_:1}),1==_t.value?((0,p.wg)(),(0,p.iD)("div",X,[F,(0,p.Wm)(Rt,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:kt.value,"onUpdate:modelValue":l[14]||(l[14]=e=>kt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==_t.value?((0,p.wg)(),(0,p.iD)("div",Q,[ee,(0,p.Wm)(Rt,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:pt.value,"onUpdate:modelValue":l[15]||(l[15]=e=>pt.value=e)},null,8,["modelValue"])])),_:1}),1==pt.value?((0,p.wg)(),(0,p.iD)("div",le,[ae,(0,p.Wm)(Rt,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:vt.value,"onUpdate:modelValue":l[16]||(l[16]=e=>vt.value=e)},null,8,["modelValue"])])),_:1}),oe,(0,p.Wm)(Rt,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:ht.value,"onUpdate:modelValue":l[17]||(l[17]=e=>ht.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),0==pt.value||0==_t.value?((0,p.wg)(),(0,p.iD)("div",ne,[te,(0,p.Wm)(Rt,{modelValue:wt.value,"onUpdate:modelValue":l[18]||(l[18]=e=>wt.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:ut}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),ue,(0,p.Wm)(Rt,{modelValue:rt.value,"onUpdate:modelValue":l[19]||(l[19]=e=>rt.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:20},"show-word-limit":""},null,8,["modelValue"]),ie])),_:1}),(0,p._)("div",re,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),se])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Ko.value,"onUpdate:show":l[33]||(l[33]=e=>Ko.value=e),title:"添加token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",de,[(0,p.Wm)(eu,{onSubmit:l[32]||(l[32]=e=>bu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[me,(0,p.Wm)(Rt,{modelValue:Wt.value,"onUpdate:modelValue":l[22]||(l[22]=e=>Wt.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),ce,(0,p.Wm)(Rt,{modelValue:Tt.value,"onUpdate:modelValue":l[23]||(l[23]=e=>Tt.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),pe,(0,p.Wm)(Rt,{modelValue:xt.value,"onUpdate:modelValue":l[24]||(l[24]=e=>xt.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),ve,(0,p.Wm)(Rt,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:zt.value,"onUpdate:modelValue":l[25]||(l[25]=e=>zt.value=e)},null,8,["modelValue"])])),_:1}),1==zt.value?((0,p.wg)(),(0,p.iD)("div",he,[we,(0,p.Wm)(Rt,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:St.value,"onUpdate:modelValue":l[26]||(l[26]=e=>St.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==zt.value?((0,p.wg)(),(0,p.iD)("div",_e,[ke,(0,p.Wm)(Rt,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:At.value,"onUpdate:modelValue":l[27]||(l[27]=e=>At.value=e)},null,8,["modelValue"])])),_:1}),1==At.value?((0,p.wg)(),(0,p.iD)("div",fe,[ge,(0,p.Wm)(Rt,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Ht.value,"onUpdate:modelValue":l[28]||(l[28]=e=>Ht.value=e)},null,8,["modelValue"])])),_:1}),be,(0,p.Wm)(Rt,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Pt.value,"onUpdate:modelValue":l[29]||(l[29]=e=>Pt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),""==At.value?((0,p.wg)(),(0,p.iD)("div",Ve,[ye,(0,p.Wm)(Rt,{modelValue:Nt.value,"onUpdate:modelValue":l[30]||(l[30]=e=>Nt.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:ut}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),1==zt.value?((0,p.wg)(),(0,p.iD)("div",We,[Te,(0,p.Wm)(Rt,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:Ut.value,"onUpdate:modelValue":l[31]||(l[31]=e=>Ut.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,p.kq)("",!0),xe])),_:1}),(0,p._)("div",Ue,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ae])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Jo.value,"onUpdate:show":l[53]||(l[53]=e=>Jo.value=e),title:"token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",He,[(0,p.Wm)(eu,null,{default:(0,p.w5)((()=>[1==_t.value?((0,p.wg)(),(0,p.iD)("div",Pe,[(0,p._)("div",ze,[(0,p.Wm)(Nu,null,{default:(0,p.w5)((()=>[(0,p._)("div",Se,[(0,p.Wm)(zu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(ku,{title:"GPT3.5",value:Vu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ne,[(0,p.Wm)(zu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(ku,{title:"总计",value:Vu.value+yu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ce,[(0,p.Wm)(zu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(ku,{title:"GPT4.0",value:yu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,p.kq)("",!0),(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Oe,(0,p.Wm)(Rt,{modelValue:it.value,"onUpdate:modelValue":l[34]||(l[34]=e=>it.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>vi(it.value))},null,8,["modelValue"]),$e,(0,p.Wm)(Rt,{modelValue:wt.value,"onUpdate:modelValue":l[36]||(l[36]=e=>wt.value=e),type:"temPassword",name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)!","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>vi(wt.value))},null,8,["modelValue"]),qe,(0,p.Wm)(Rt,{modelValue:mt.value,"onUpdate:modelValue":l[38]||(l[38]=e=>mt.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[39]||(l[39]=e=>vi(mt.value))},null,8,["modelValue"]),Be,(0,p.Wm)(Rt,{modelValue:ct.value,"onUpdate:modelValue":l[40]||(l[40]=e=>ct.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[41]||(l[41]=e=>vi(ct.value))},null,8,["modelValue"]),De,(0,p.Wm)(Rt,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:pt.value,"onUpdate:modelValue":l[42]||(l[42]=e=>pt.value=e)},null,8,["modelValue"])])),_:1}),je,(0,p.Wm)(Rt,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:vt.value,"onUpdate:modelValue":l[43]||(l[43]=e=>vt.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,p.Wm)(Rt,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:ht.value,"onUpdate:modelValue":l[44]||(l[44]=e=>ht.value=e)},null,8,["modelValue"])])),_:1}),Le,(0,p.Wm)(Rt,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:_t.value,"onUpdate:modelValue":l[45]||(l[45]=e=>_t.value=e)},null,8,["modelValue"])])),_:1}),Ze,(0,p.Wm)(Rt,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:kt.value,"onUpdate:modelValue":l[46]||(l[46]=e=>kt.value=e)},null,8,["modelValue"])])),_:1}),Ee,(0,p.Wm)(Rt,{modelValue:rt.value,"onUpdate:modelValue":l[47]||(l[47]=e=>rt.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>vi(rt.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),1==_t.value?((0,p.wg)(),(0,p.iD)("div",Re,[Ke,(0,p.Wm)(Rt,{modelValue:st.value,"onUpdate:modelValue":l[49]||(l[49]=e=>st.value=e),label:"access_token",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[50]||(l[50]=e=>vi(st.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),Je,(0,p.Wm)(Rt,{modelValue:dt.value,"onUpdate:modelValue":l[51]||(l[51]=e=>dt.value=e),label:"share_token",type:"textarea",maxlength:"200",placeholder:"请填写OpenAi的share_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[52]||(l[52]=e=>vi(dt.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"])])):(0,p.kq)("",!0)])),_:1}),Me])),_:1})])])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Mo.value,"onUpdate:show":l[68]||(l[68]=e=>Mo.value=e),title:"PandoraNext设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requirePandora"},{default:(0,p.w5)((()=>[(0,p._)("div",Ge,[(0,p.Wm)(eu,{onSubmit:l[67]||(l[67]=e=>ju(So))},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Ye,(0,p.Wm)(Rt,{modelValue:hn.value,"onUpdate:modelValue":l[54]||(l[54]=e=>hn.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Xe,(0,p.Wm)(Rt,{modelValue:wn.value,"onUpdate:modelValue":l[55]||(l[55]=e=>wn.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Fe,(0,p.Wm)(Rt,{modelValue:yn.value,"onUpdate:modelValue":l[56]||(l[56]=e=>yn.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Qe,(0,p.Wm)(Rt,{modelValue:_n.value,"onUpdate:modelValue":l[57]||(l[57]=e=>_n.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),el,(0,p.Wm)(Rt,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:fn.value,"onUpdate:modelValue":l[58]||(l[58]=e=>fn.value=e)},null,8,["modelValue"])])),_:1}),ll,(0,p.Wm)(Rt,{name:"switch",label:"是否配置证书"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[59]||(l[59]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),1==Wn.value?((0,p.wg)(),(0,p.iD)("div",al,[ol,(0,p.Wm)(Rt,{modelValue:Tn.value,"onUpdate:modelValue":l[60]||(l[60]=e=>Tn.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),nl,(0,p.Wm)(Rt,{modelValue:xn.value,"onUpdate:modelValue":l[61]||(l[61]=e=>xn.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,p.kq)("",!0),tl,(0,p.Wm)(Rt,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:gn.value,"onUpdate:modelValue":l[62]||(l[62]=e=>gn.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,p.Wm)(Rt,{name:"switch",label:"是否自动打码"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:bn.value,"onUpdate:modelValue":l[63]||(l[63]=e=>bn.value=e)},null,8,["modelValue"])])),_:1}),il,(0,p.Wm)(Rt,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[64]||(l[64]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),rl,(0,p.Wm)(Rt,{modelValue:kn.value,"onUpdate:modelValue":l[65]||(l[65]=e=>kn.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),sl,(0,p.Wm)(Rt,{modelValue:$n.value,"onUpdate:modelValue":l[66]||(l[66]=e=>$n.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),dl])),_:1}),(0,p._)("div",ml,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),cl])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Go.value,"onUpdate:show":l[80]||(l[80]=e=>Go.value=e),title:"tokensTool设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",pl,[(0,p.Wm)(eu,{onSubmit:l[79]||(l[79]=e=>ju(No))},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[vl,(0,p.Wm)(Rt,{modelValue:Hn.value,"onUpdate:modelValue":l[69]||(l[69]=e=>Hn.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),hl,(0,p.Wm)(Rt,{modelValue:Pn.value,"onUpdate:modelValue":l[70]||(l[70]=e=>Pn.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"]),wl,(0,p.Wm)(Rt,{modelValue:vn.value,"onUpdate:modelValue":l[71]||(l[71]=e=>vn.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"]),_l,(0,p.Wm)(Rt,{modelValue:On.value,"onUpdate:modelValue":l[72]||(l[72]=e=>On.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),kl,(0,p.Wm)(Rt,{modelValue:An.value,"onUpdate:modelValue":l[73]||(l[73]=e=>An.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"]),fl,(0,p.Wm)(Rt,{modelValue:Un.value,"onUpdate:modelValue":l[74]||(l[74]=e=>Un.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:nt}]},null,8,["modelValue","rules"]),gl,(0,p.Wm)(Rt,{modelValue:zn.value,"onUpdate:modelValue":l[75]||(l[75]=e=>zn.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),bl,(0,p.Wm)(Rt,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Sn.value,"onUpdate:modelValue":l[76]||(l[76]=e=>Sn.value=e)},null,8,["modelValue"])])),_:1}),1==Sn.value?((0,p.wg)(),(0,p.iD)("div",Vl,[yl,(0,p.Wm)(Rt,{modelValue:Nn.value,"onUpdate:modelValue":l[77]||(l[77]=e=>Nn.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),Wl,(0,p.Wm)(Rt,{modelValue:Cn.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Cn.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Tl])),_:1}),(0,p._)("div",xl,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ul])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Yo.value,"onUpdate:show":l[89]||(l[89]=e=>Yo.value=e),title:"PandoraNext验证信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"verify"},{default:(0,p.w5)((()=>[(0,p._)("div",Al,[(0,p.Wm)(eu,{onSubmit:l[88]||(l[88]=e=>ju(Co))},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Hl,(0,p.Wm)(Rt,{modelValue:qn.value,"onUpdate:modelValue":l[81]||(l[81]=e=>qn.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Pl,(0,p.Wm)(Rt,{modelValue:Bn.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Bn.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),zl,(0,p.Wm)(Rt,{modelValue:Dn.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Dn.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),Sl,(0,p.Wm)(Rt,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:jn.value,"onUpdate:modelValue":l[84]||(l[84]=e=>jn.value=e)},null,8,["modelValue"])])),_:1}),Nl,(0,p.Wm)(Rt,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:In.value,"onUpdate:modelValue":l[85]||(l[85]=e=>In.value=e)},null,8,["modelValue"])])),_:1}),Cl,(0,p.Wm)(Rt,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Ln.value,"onUpdate:modelValue":l[86]||(l[86]=e=>Ln.value=e)},null,8,["modelValue"])])),_:1}),Ol,(0,p.Wm)(Rt,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Zn.value,"onUpdate:modelValue":l[87]||(l[87]=e=>Zn.value=e)},null,8,["modelValue"])])),_:1}),$l])),_:1}),(0,p._)("div",ql,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Bl])),_:1},8,["show"]),(0,p.Wm)(fi,{modelValue:Xo.value,"onUpdate:modelValue":l[95]||(l[95]=e=>Xo.value=e),title:"pool_token列表","align-center":"",width:"78%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Dl,[(0,p.Wm)(ou,{onClick:l[90]||(l[90]=e=>vi(Jn.value+vn.value+"/v1/chat/completions"))},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:1}),(0,p.Wm)($u,null,{default:(0,p.w5)((()=>[(0,p.Uk)("API地址:"+(0,v.zw)(Jn.value)+(0,v.zw)(vn.value)+"/v1/chat/completions",1)])),_:1})]),(0,p.Wm)((0,h.SU)(W.eI),{data:bt.value,"default-sort":{prop:"poolTime",prop:"intoOneApi"},onSelectionChange:Lo,ref_key:"multipleTableRefPool",ref:Bo,"row-class-name":cu},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{type:"selection",width:"45"}),(0,p.Wm)(Oo,{label:"pool_token名称",prop:"intoOneApi",sortable:"","min-width":"170"},{default:(0,p.w5)((e=>[(0,p._)("div",jl,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,p.wg)(),(0,p.iD)("div",Il,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Ll])),_:1})])):1==e.row.intoOneApi?((0,p.wg)(),(0,p.iD)("div",Zl,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[El])),_:1})])):((0,p.wg)(),(0,p.iD)("div",Rl,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Kl])),_:1})])),(0,p._)("span",Jl,(0,v.zw)(e.row.poolName),1)])])),_:1}),(0,p.Wm)(Oo,{label:"pool_token值","min-width":"355"},{default:(0,p.w5)((e=>[(0,p._)("div",Ml,[(0,p.Wm)(ou,{onClick:l=>vi(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:2},1032,["onClick"]),(0,p._)("span",Gl,(0,v.zw)(e.row.poolToken),1)])])),_:1}),(0,p.Wm)(Oo,{label:"使用token名集合","min-width":"165"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(e.row.shareTokens),1)])),_:2},1024)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[Yl])),_:1})])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"170"}),(0,p.Wm)(Oo,{label:"操作方法","min-width":"315"},{default:(0,p.w5)((e=>[(0,p.Wm)(Do,{size:"small",onClick:l=>ni(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("检验")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"danger",onClick:l=>oi(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"success",onClick:l=>Fu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"primary",onClick:l=>ai(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),(0,p.Wm)(qu,{class:"pool-button flex-container"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:cn.value,"onUpdate:modelValue":l[91]||(l[91]=e=>cn.value=e),filterable:"",clearable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(pn,(e=>(0,p.Wm)(ft,{key:e.buttonPoolValue,label:e.label,value:e.buttonPoolValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(Do,{onClick:l[92]||(l[92]=e=>wi(cn.value))},{default:(0,p.w5)((()=>[Xl])),_:1}),(0,p.Wm)(T,{modelValue:It.value,"onUpdate:modelValue":l[93]||(l[93]=e=>It.value=e),shape:"round",clearable:"",placeholder:"请输入搜索pool_token名称",onSearch:l[94]||(l[94]=e=>Mt(It.value)),class:"onPoolToken"},null,8,["modelValue"])])),_:1}),Fl])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:Fo.value,"onUpdate:modelValue":l[99]||(l[99]=e=>Fo.value=e),title:"PandoraNext余额","align-center":"",width:"auto","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ql,[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[ea,(0,p.Wm)(Rt,{modelValue:du.value,"onUpdate:modelValue":l[96]||(l[96]=e=>du.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),la,(0,p.Wm)(Rt,{modelValue:Ju.value,"onUpdate:modelValue":l[97]||(l[97]=e=>Ju.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),aa,(0,p.Wm)(Rt,{modelValue:Mu.value,"onUpdate:modelValue":l[98]||(l[98]=e=>Mu.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),oa])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:Qo.value,"onUpdate:modelValue":l[107]||(l[107]=e=>Qo.value=e),title:"定时刷新&PandoraNext网址","align-center":"","max-width":"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",na,[(0,p.Wm)(eu,{onSubmit:l[106]||(l[106]=e=>Iu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[ta,(0,p.Wm)(Rt,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:En.value,"onUpdate:modelValue":l[100]||(l[100]=e=>En.value=e)},null,8,["modelValue"])])),_:1}),1==En.value?((0,p.wg)(),(0,p.iD)("div",ua,[ia,(0,p.Wm)(Rt,{modelValue:Rn.value,"onUpdate:modelValue":l[101]||(l[101]=e=>Rn.value=e),name:"刷新session的时间",label:"刷新session的时间","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),ra,(0,p.Wm)(Rt,{modelValue:Kn.value,"onUpdate:modelValue":l[102]||(l[102]=e=>Kn.value=e),name:"刷新session的个数",label:"刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"]),sa])):(0,p.kq)("",!0),(0,p.Wm)(Rt,{modelValue:Jn.value,"onUpdate:modelValue":l[103]||(l[103]=e=>Jn.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址","input-align":"right",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),da,(0,p.Wm)(Rt,{modelValue:Mn.value,"onUpdate:modelValue":l[104]||(l[104]=e=>Mn.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),ma,(0,p.Wm)(Rt,{modelValue:Gn.value,"onUpdate:modelValue":l[105]||(l[105]=e=>Gn.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),ca])),_:1}),(0,p._)("div",pa,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:en.value,"onUpdate:modelValue":l[114]||(l[114]=e=>en.value=e),title:"添加poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",va,[(0,p.Wm)(eu,{onSubmit:nu},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[ha,(0,p.Wm)(Rt,{modelValue:Xn.value,"onUpdate:modelValue":l[108]||(l[108]=e=>Xn.value=e),name:"为pool_token名",label:"pool_token名","input-align":"right",placeholder:"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字",rules:[{validator:tt}]},null,8,["modelValue","rules"]),wa,(0,p.Wm)(Rt,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Fn.value,"onUpdate:modelValue":l[109]||(l[109]=e=>Fn.value=e)},null,8,["modelValue"])])),_:1}),1==Fn.value?((0,p.wg)(),(0,p.iD)("div",_a,[ka,(0,p.Wm)(Rt,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Qn.value,"onUpdate:modelValue":l[110]||(l[110]=e=>Qn.value=e)},null,8,["modelValue"])])),_:1}),fa,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[111]||(l[111]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ga,(0,p.Wm)(Rt,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:$o.value,"onUpdate:modelValue":l[112]||(l[112]=e=>$o.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),ba,(0,p.Wm)(Rt,{modelValue:et.value,"onUpdate:modelValue":l[113]||(l[113]=e=>et.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),Va])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",ya,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:ln.value,"onUpdate:modelValue":l[115]||(l[115]=e=>ln.value=e),title:"tokensTool登录日志","align-center":"",width:"50%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Wa,[(0,p.Wm)((0,h.SU)(W.eI),{"row-class-name":cu,data:yt.value},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{prop:"ipAddress",label:"登录地区","min-width":"180"},{default:(0,p.w5)((e=>[(0,p._)("div",Ta,[(0,p._)("span",xa,(0,v.zw)(e.row.ipAddress),1)])])),_:1}),(0,p.Wm)(Oo,{label:"登录IP","min-width":"145"},{default:(0,p.w5)((e=>[(0,p._)("div",Ua,[(0,p.Wm)(ou,{onClick:l=>vi(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:2},1032,["onClick"]),(0,p._)("span",Aa,(0,v.zw)(e.row.requestIp),1)])])),_:1}),(0,p.Wm)(Oo,{label:"成功/失败","min-width":"105"},{default:(0,p.w5)((e=>[(0,p._)("div",Ha,[(0,p._)("span",Pa,(0,v.zw)(e.row.inRequestNumber)+"/"+(0,v.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,p.Wm)(Oo,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),za])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:an.value,"onUpdate:modelValue":l[123]||(l[123]=e=>an.value=e),title:"修改poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Sa,[(0,p.Wm)(eu,{onSubmit:ru},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Na,(0,p._)("div",Ca,[(0,p.Wm)(Vi,{label:"poolToken名"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:Yn.value,"onUpdate:modelValue":l[116]||(l[116]=e=>Yn.value=e),filterable:"",clearable:"",placeholder:"选择你想要的修改的pool_token名称",onChange:tu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(bt.value,(e=>((0,p.wg)(),(0,p.j4)(ft,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Oa,(0,p.Wm)(Rt,{modelValue:at.value,"onUpdate:modelValue":l[117]||(l[117]=e=>at.value=e),type:"textarea",maxlength:"100",autoSize:"",name:"pool_token的值",label:"pool_token的值","input-align":"right",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),$a,(0,p.Wm)(Rt,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Fn.value,"onUpdate:modelValue":l[118]||(l[118]=e=>Fn.value=e)},null,8,["modelValue"])])),_:1}),qa,1==Fn.value?((0,p.wg)(),(0,p.iD)("div",Ba,[Da,(0,p.Wm)(Rt,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Qn.value,"onUpdate:modelValue":l[119]||(l[119]=e=>Qn.value=e)},null,8,["modelValue"])])),_:1}),ja,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[120]||(l[120]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ia,(0,p.Wm)(Rt,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:$o.value,"onUpdate:modelValue":l[121]||(l[121]=e=>$o.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),La,(0,p.Wm)(Rt,{modelValue:et.value,"onUpdate:modelValue":l[122]||(l[122]=e=>et.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Za])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ea,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:on.value,"onUpdate:modelValue":l[124]||(l[124]=e=>on.value=e),"align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",{ref_key:"chart",ref:_i,style:{width:"auto",height:"300px"}},null,512)])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:nn.value,"onUpdate:modelValue":l[128]||(l[128]=e=>nn.value=e),title:"share_token in oneApi","align-center":"",width:"78%","close-on-click-modal":!1,class:"shareTokenDialog"},{default:(0,p.w5)((()=>[(0,p.Wm)(T,{modelValue:Lt.value,"onUpdate:modelValue":l[126]||(l[126]=e=>Lt.value=e),"show-action":"",shape:"round",clearable:"",placeholder:"请输入搜索share_token名称",onSearch:l[127]||(l[127]=e=>Jt(Lt.value)),class:"onShareToken"},{action:(0,p.w5)((()=>[(0,p.Wm)(Do,{icon:e.Plus,onClick:l[125]||(l[125]=e=>tn.value=!0)},{default:(0,p.w5)((()=>[Ra])),_:1},8,["icon"])])),_:1},8,["modelValue"]),(0,p.Wm)((0,h.SU)(W.eI),{data:Vt.value,"row-class-name":cu},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{label:"在one_api的名称",prop:"oneApi_name",width:"180"},{default:(0,p.w5)((e=>[(0,p._)("div",Ka,[(0,p._)("span",Ja,(0,v.zw)(e.row.oneApi_name),1)])])),_:1}),(0,p.Wm)(Oo,{label:"来源Token名","min-width":"135"},{default:(0,p.w5)((e=>[(0,p._)("div",Ma,[(0,p._)("span",Ga,(0,v.zw)(e.row.token_name),1)])])),_:1}),(0,p.Wm)(Oo,{label:"share_token值","min-width":"355"},{default:(0,p.w5)((e=>[(0,p._)("div",Ya,[(0,p.Wm)(ou,{onClick:l=>vi(e.row.token_value)},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:2},1032,["onClick"]),(0,p._)("span",Xa,(0,v.zw)(e.row.token_value),1)])])),_:1}),(0,p.Wm)(Oo,{property:"shareTime",label:"更新时间",prop:"shareTime","min-width":"170"}),(0,p.Wm)(Oo,{label:"操作方法","min-width":"205"},{default:(0,p.w5)((e=>[(0,p.Wm)(Do,{size:"small",onClick:l=>Cu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"primary",onClick:l=>Qu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("修改")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"danger",onClick:l=>ui(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),Fa])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:tn.value,"onUpdate:modelValue":l[135]||(l[135]=e=>tn.value=e),title:"添加shareToken进one_api","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Qa,[(0,p.Wm)(eu,{onSubmit:su},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[eo,(0,p.Wm)(Rt,{modelValue:Ct.value,"onUpdate:modelValue":l[129]||(l[129]=e=>Ct.value=e),name:"oneApi中渠道名称",label:"oneApi中渠道名称","input-align":"right",placeholder:"oneApi中渠道名称",rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),lo,(0,p._)("div",ao,[(0,p.Wm)(Vi,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:Ot.value,"onUpdate:modelValue":l[130]||(l[130]=e=>Ot.value=e),filterable:"",clearable:"",placeholder:"选择你想要的添加的Token名称",onChange:uu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(iu.value,(e=>((0,p.wg)(),(0,p.j4)(ft,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),oo,(0,p._)("div",no,[(0,p.Wm)(Vi,{label:"选择加入的模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",to,[(0,p.Wm)(Zt,{modelValue:qt.value,"onUpdate:modelValue":l[131]||(l[131]=e=>qt.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"Select",style:{width:"240px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(mn,(e=>(0,p.Wm)(ft,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),uo,(0,p.Wm)(Rt,{modelValue:Dt.value,"onUpdate:modelValue":l[132]||(l[132]=e=>Dt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),io,(0,p.Wm)(Rt,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:Bt.value,"onUpdate:modelValue":l[133]||(l[133]=e=>Bt.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),ro,(0,p.Wm)(Rt,{modelValue:$t.value,"onUpdate:modelValue":l[134]||(l[134]=e=>$t.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),so])),_:1}),(0,p._)("div",mo,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:un.value,"onUpdate:modelValue":l[143]||(l[143]=e=>un.value=e),title:"查看shareToken在one_api信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",co,[(0,p.Wm)(eu,{onSubmit:e.shareToken},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[po,(0,p.Wm)(Rt,{modelValue:Tu.value,"onUpdate:modelValue":l[136]||(l[136]=e=>Tu.value=e),name:"oneApi中渠道名称",label:"oneApi中渠道名称","input-align":"right",placeholder:"oneApi中渠道名称",rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),vo,(0,p.Wm)(Rt,{modelValue:Uu.value,"onUpdate:modelValue":l[137]||(l[137]=e=>Uu.value=e),name:"share_token的值",label:"share_token的值","input-align":"right",placeholder:"share_token的值"},null,8,["modelValue"]),ho,(0,p.Wm)(Rt,{modelValue:xu.value,"onUpdate:modelValue":l[138]||(l[138]=e=>xu.value=e),name:"share_token的来源",label:"share_token的来源","input-align":"right",placeholder:"share_token的值"},null,8,["modelValue"]),wo,(0,p.Wm)(Rt,{modelValue:Pu.value,"onUpdate:modelValue":l[139]||(l[139]=e=>Pu.value=e),name:"加入的模型",label:"加入的模型","input-align":"right",placeholder:"加入的模型"},null,8,["modelValue"]),_o,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[140]||(l[140]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),ko,(0,p.Wm)(Rt,{modelValue:Su.value,"onUpdate:modelValue":l[141]||(l[141]=e=>Su.value=e),name:"加入的组别",label:"加入的组别","input-align":"right",placeholder:"加入的组别"},null,8,["modelValue"]),fo,(0,p.Wm)(Rt,{modelValue:Au.value,"onUpdate:modelValue":l[142]||(l[142]=e=>Au.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),go])),_:1})])),_:1},8,["onSubmit"])])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:rn.value,"onUpdate:modelValue":l[149]||(l[149]=e=>rn.value=e),title:"修改shareToken进one_api","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",bo,[(0,p.Wm)(eu,{onSubmit:ei},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Vo,(0,p._)("div",yo,[(0,p.Wm)(Vi,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:xu.value,"onUpdate:modelValue":l[144]||(l[144]=e=>xu.value=e),filterable:"",clearable:"",placeholder:"选择你想要的添加的Token名称",onChange:uu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(iu.value,(e=>((0,p.wg)(),(0,p.j4)(ft,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Wo,(0,p._)("div",To,[(0,p.Wm)(Vi,{label:"选择加入的模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",xo,[(0,p.Wm)(Zt,{modelValue:Hu.value,"onUpdate:modelValue":l[145]||(l[145]=e=>Hu.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"选择或输入模型",style:{width:"240px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(mn,(e=>(0,p.Wm)(ft,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),Uo,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[146]||(l[146]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ao,(0,p.Wm)(Rt,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:Su.value,"onUpdate:modelValue":l[147]||(l[147]=e=>Su.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ho,(0,p.Wm)(Rt,{modelValue:Au.value,"onUpdate:modelValue":l[148]||(l[148]=e=>Au.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),Po])),_:1}),(0,p._)("div",zo,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"])],64)}}});const $o=Oo;var qo=$o}}]); +//# sourceMappingURL=402.fa30b347.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/402.fa30b347.js.map b/rearServer/src/main/resources/static/js/402.fa30b347.js.map new file mode 100644 index 0000000..36afeca --- /dev/null +++ b/rearServer/src/main/resources/static/js/402.fa30b347.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/402.fa30b347.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue","webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue?32ba"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = {\n class: \"home-container\"\n};\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_8 = {\n class: \"under\"\n};\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(5vw, 2.5vh)\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.3 \")], -1);\nconst _hoisted_11 = {\n class: \"search\"\n};\nconst _hoisted_12 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"10px 35px -8px 35px\"\n }\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translateX(4vw)\",\n \"width\": \"70vw\",\n \"height\": \"61vh\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"margin-left\": \"18px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin\": \"15px 0px 15px 0px\"\n }\n};\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查并生成\", -1);\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_22 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_26 = {\n key: 0\n};\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 1\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = {\n key: 0\n};\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = {\n key: 2\n};\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 0\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 1\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = {\n key: 0\n};\nconst _hoisted_49 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 2\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = {\n key: 3\n};\nconst _hoisted_54 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_57 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_58 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_59 = {\n key: 0\n};\nconst _hoisted_60 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_62 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_63 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = {\n key: 0\n};\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = {\n key: 0\n};\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = {\n key: 0\n};\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_121 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_122 = {\n style: {\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_123 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_124 = {\n key: 0\n};\nconst _hoisted_125 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_126 = {\n key: 1\n};\nconst _hoisted_127 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_128 = {\n key: 2\n};\nconst _hoisted_129 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_130 = {\n style: {\n \"margin-left\": \"25px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_132 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_133 = /*#__PURE__*/_createElementVNode(\"span\", {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n}, \"点击此进行查看\", -1);\nconst _hoisted_134 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_135 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_136 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_138 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_139 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = {\n key: 0\n};\nconst _hoisted_144 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_145 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_146 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_151 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_152 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_153 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_154 = {\n key: 0\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_157 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_158 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_159 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_160 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_161 = {\n style: {\n \"display\": \"flex\"\n }\n};\nconst _hoisted_162 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_163 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_164 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_165 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_166 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_168 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_169 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_170 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_171 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_172 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_175 = {\n key: 0\n};\nconst _hoisted_176 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_181 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_182 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"添加share_token到one_api\", -1);\nconst _hoisted_183 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_184 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_185 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_186 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_187 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_188 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_189 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_190 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_191 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_192 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_193 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_194 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_195 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_196 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_197 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_198 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_199 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_200 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_201 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_202 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_203 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_204 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_205 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_206 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_207 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_208 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_209 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_210 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_211 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_212 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_213 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_214 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_215 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_216 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_217 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_218 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_219 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_220 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_221 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nimport { computed } from 'vue';\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIndex',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleTableRefPool = ref();\n const multipleSelection = ref([]);\n const multipleSelectionPool = ref([]);\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const poolSelectionChange = val => {\n multipleSelectionPool.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n const show_13 = ref(false);\n const show_14 = ref(false);\n const show_15 = ref(false);\n const show_16 = ref(false);\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n const buttonModel = ref(\"\");\n const optionsModel = [{\n buttonModel: \"gpt-4-s\",\n label: \"gpt-4-s\"\n }, {\n buttonModel: \"gpt-4-mobile\",\n label: \"gpt-4-mobile\"\n }, {\n buttonModel: \"gpt-4-vision\",\n label: \"gpt-4-vision\"\n }, {\n buttonModel: \"gpt-3.5-turbo\",\n label: \"gpt-3.5-turbo\"\n }, {\n buttonModel: \"gpt-4-classic\",\n label: \"gpt-4-classic\"\n }];\n const buttonPoolValue = ref(\"\");\n const optionsPool = [{\n buttonPoolValue: \"选中检查pool_token\",\n label: \"选中检查pool_token\"\n }, {\n buttonPoolValue: \"选中删除pool_token\",\n label: \"选中删除pool_token\"\n }, {\n buttonPoolValue: \"选中刷新pool_token\",\n label: \"选中刷新pool_token\"\n }, {\n buttonPoolValue: \"选中更换pool_token\",\n label: \"选中更换pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n const shareData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n /**\r\n * 添加用户信息参数\r\n */\n const addOneApi_name = ref(\"\");\n const addToken_name = ref(\"\");\n const addToken_value = ref(\"\");\n const addOneApi_baseUrl = ref(\"\");\n const addOneApi_models = ref([]);\n const addOneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const addPriority = ref(0);\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n const valuePool = ref(\"\");\n const valueShare = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n const onSearchShareToken = value => {\n getShare(value);\n };\n const onSearchPoolToken = value => {\n getPool(value);\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=${value}`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getShare = async value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const responseShare = await axios.get(`${prefix}/api/selectShareToken?name=${value}`, {\n headers\n });\n const share_token = responseShare.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(share_token)) {\n const resShares = share_token.map(item => ({\n oneApi_name: item.oneApi_name,\n token_name: item.token_name,\n token_value: item.token_value,\n oneApi_baseUrl: item.oneApi_baseUrl,\n oneApi_models: item.oneApi_models,\n oneApi_groups: item.oneApi_groups,\n shareTime: item.shareTime,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n shareData.value = resShares;\n }\n loadingInstance.close();\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n if (!pandoraNext_outUrl.value.endsWith(\"/\")) {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + \"/\" + proxy_api_prefix.value;\n } else {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n }\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const handleShareNameChange = addToken_name => {\n let selectedItem = tableData.value.find(item => item.name === addToken_name && item.setPoolToken === true);\n };\n const filteredTableData = computed(() => {\n return tableData.value.filter(item => item.setPoolToken === true);\n });\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const addShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const addShareToken = {\n oneApi_name: addOneApi_name.value,\n token_name: addToken_name.value,\n oneApi_baseUrl: addOneApi_baseUrl.value,\n oneApi_models: addOneApi_models.value.toString(),\n oneApi_groups: addOneApi_groups.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addShareToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n addOneApi_name.value = \"\";\n addToken_name.value = \"\";\n addOneApi_baseUrl.value = \"\";\n addOneApi_models.value = [];\n addOneApi_groups.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_14.value = false;\n loadingInstance.close();\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n const oneApi_name = ref(\"\");\n const token_name = ref(\"\");\n const token_value = ref(\"\");\n const oneApi_baseUrl = ref(\"\");\n const oneApi_models = ref([]);\n const temOneApi_models = ref(\"\");\n const temOneApi_groups = ref(\"\");\n const oneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const shareTime = ref(\"\");\n const showShareToken = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n temOneApi_models.value = row.oneApi_models;\n temOneApi_groups.value = row.oneApi_groups;\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_15.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提示\", {\n dangerouslyUseHTMLString: true\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n const reviewShare = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n oneApi_models.value = row.oneApi_models.split(\",\");\n oneApi_groups.value = row.oneApi_groups.split(\",\");\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_16.value = true;\n };\n const requireShareToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const requireShare = {\n oneApi_name: oneApi_name.value,\n token_name: token_name.value,\n token_value: token_value.value,\n oneApi_baseUrl: oneApi_baseUrl.value,\n oneApi_models: oneApi_models.value.toString(),\n oneApi_groups: oneApi_groups.value.toString(),\n priority: priority.value\n };\n fetch(`${prefix}/api/requireShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(requireShare)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getShare(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n show_16.value = false;\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteShareToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个share_Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteShareToken`, row, {\n headers\n }).then(async response => {\n msg = response.data.data;\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getShareToken = async () => {\n await getShare(\"\");\n show_13.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const selectPoolChoice = buttonValue => {\n const selectedPoolData = multipleSelectionPool.value;\n const temPoolData = selectedPoolData.map(temPoolData => temPoolData);\n if (temPoolData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中检查pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要花\" + count + \"积分检查这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"检查取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中刷新pool_token\") {\n const reNewMsg = \"您确定要刷新这\" + selectedPoolData.length + \"个pool_token吗?\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中更换pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要更换这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"更换取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中删除pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要删除这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/deletePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n return;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_select_group = _resolveComponent(\"el-select-group\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, null, {\n default: _withCtx(() => [_createElementVNode(\"img\", {\n style: {\n \"width\": \"40px\"\n },\n src: _imports_0,\n alt: \"Element logo\",\n onClick: redirectToGitHub\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n onClick: getPandoraNext\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\"\n })]),\n _: 1\n }), _hoisted_4, _createVNode(_component_el_menu_item, {\n index: \"1\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"pool_token列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2\",\n onClick: getShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"share_token列表\")]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"3-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转PandoraWeb服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-1-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-2-1\"\n }, {\n default: _withCtx(() => [_hoisted_5]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-2\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-3\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用说明\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"5\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"5-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"6\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统功能\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"6-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"6-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-2\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-3\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => value.value = $event),\n \"show-action\": \"\",\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索token名称和类型\",\n onSearch: onSearch\n }, {\n action: _withCtx(() => [_createVNode(_component_el_radio_group, {\n modelValue: size.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => size.value = $event),\n label: \"size control\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"WEB\",\n onClick: _cache[4] || (_cache[4] = $event => getWebToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"WEB\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"ALL\",\n onClick: _cache[5] || (_cache[5] = $event => getToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"ALL\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"API\",\n onClick: _cache[6] || (_cache[6] = $event => getAPIToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"API\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_13, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n ref_key: \"multipleTableRef\",\n ref: multipleTableRef,\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n prop: \"setPoolToken\",\n sortable: \"\",\n \"min-width\": \"136\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_14, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024), _createElementVNode(\"span\", _hoisted_15, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"账号信息\",\n \"min-width\": \"200\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"账号: \" + _toDisplayString(scope.row.username), 1), _createElementVNode(\"div\", null, \"密码: \" + _toDisplayString(scope.row.userPassword), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.username), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"Token值\",\n \"min-width\": \"270\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"token: \" + _toDisplayString(dataToken(scope.row.token)), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(dataToken(scope.row.token)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n \"min-width\": \"167\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(\"距离过期还有:\" + _toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"335\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_16, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\",\n class: \"ml-4\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"ml-4\",\n onClick: _cache[10] || (_cache[10] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_17]),\n _: 1\n }), _createVNode(_component_el_button_group, {\n class: \"my-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_hoisted_18]),\n _: 1\n })]),\n _: 1\n })])]), _hoisted_19, _hoisted_20, _hoisted_21])]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[21] || (_cache[21] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_22, [_createVNode(_component_van_form, {\n onSubmit: _cache[20] || (_cache[20] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_25, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [_hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [_hoisted_31, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_32, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [_hoisted_34, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => temPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_35, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 20\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_36]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_38]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[33] || (_cache[33] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_39, [_createVNode(_component_van_form, {\n onSubmit: _cache[32] || (_cache[32] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_40, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_42, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [_hoisted_49, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[28] || (_cache[28] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_50, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[29] || (_cache[29] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => addPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [_hoisted_54, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[31] || (_cache[31] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_55]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_57]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[53] || (_cache[53] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [_createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_62, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_63, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_64, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)!\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[39] || (_cache[39] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_67, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[41] || (_cache[41] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_68, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[44] || (_cache[44] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_72, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[46] || (_cache[46] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_73, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_74, [_hoisted_75, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[49] || (_cache[49] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[50] || (_cache[50] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), _hoisted_76, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n placeholder: \"请填写OpenAi的share_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[52] || (_cache[52] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_77]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[68] || (_cache[68] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requirePandora\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_78, [_createVNode(_component_van_form, {\n onSubmit: _cache[67] || (_cache[67] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_79, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_82, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_83, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_84, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_85, [_hoisted_86, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_87, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[63] || (_cache[63] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_90, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[64] || (_cache[64] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_91, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_92, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_93]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_95]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[80] || (_cache[80] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_96, [_createVNode(_component_van_form, {\n onSubmit: _cache[79] || (_cache[79] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_97, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_101, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_102, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_103, _createVNode(_component_van_field, {\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[75] || (_cache[75] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_104, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[76] || (_cache[76] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_105, [_hoisted_106, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_107, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_108]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_110]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[89] || (_cache[89] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"verify\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_111, [_createVNode(_component_van_form, {\n onSubmit: _cache[88] || (_cache[88] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_112, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_114, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[84] || (_cache[84] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[85] || (_cache[85] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[86] || (_cache[86] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_118, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_119]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_121]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"78%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_122, [_createVNode(_component_el_icon, {\n onClick: _cache[90] || (_cache[90] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, null, {\n default: _withCtx(() => [_createTextVNode(\"API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions\", 1)]),\n _: 1\n })]), _createVNode(_unref(ElTable), {\n data: poolData.value,\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n onSelectionChange: poolSelectionChange,\n ref_key: \"multipleTableRefPool\",\n ref: multipleTableRefPool,\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token名称\",\n prop: \"intoOneApi\",\n sortable: \"\",\n \"min-width\": \"170\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_123, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_124, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_125]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_126, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_127]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_128, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_129]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_130, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"355\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_131, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_132, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"165\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.shareTokens), 1)]),\n _: 2\n }, 1024)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_hoisted_133]),\n _: 1\n })]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"315\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"]), _createVNode(_component_el_select_group, {\n class: \"pool-button flex-container\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: buttonPoolValue.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => buttonPoolValue.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsPool, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonPoolValue,\n label: item.label,\n value: item.buttonPoolValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n onClick: _cache[92] || (_cache[92] = $event => selectPoolChoice(buttonPoolValue.value))\n }, {\n default: _withCtx(() => [_hoisted_134]),\n _: 1\n }), _createVNode(_component_van_search, {\n modelValue: valuePool.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => valuePool.value = $event),\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索pool_token名称\",\n onSearch: _cache[94] || (_cache[94] = $event => onSearchPoolToken(valuePool.value)),\n class: \"onPoolToken\"\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_135]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[99] || (_cache[99] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"auto\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_136, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_137, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_138, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_139, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[98] || (_cache[98] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_140]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_8.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n \"max-width\": \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_141, [_createVNode(_component_van_form, {\n onSubmit: _cache[106] || (_cache[106] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_142, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[100] || (_cache[100] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_143, [_hoisted_144, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[101] || (_cache[101] = $event => auto_updateTime.value = $event),\n name: \"刷新session的时间\",\n label: \"刷新session的时间\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_145, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[102] || (_cache[102] = $event => auto_updateNumber.value = $event),\n name: \"刷新session的个数\",\n label: \"刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"]), _hoisted_146])) : _createCommentVNode(\"\", true), _createVNode(_component_van_field, {\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_147, _createVNode(_component_van_field, {\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_148, _createVNode(_component_van_field, {\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_149]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_150, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_9.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_151, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_152, _createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[108] || (_cache[108] = $event => poolNameValue.value = $event),\n name: \"为pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_153, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_154, [_hoisted_155, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_156, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_157, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_158, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_159])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_160, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[115] || (_cache[115] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"50%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_161, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_162, [_createElementVNode(\"span\", _hoisted_163, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"145\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_164, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_165, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_166, [_createElementVNode(\"span\", _hoisted_167, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_168]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_11.value,\n \"onUpdate:modelValue\": _cache[123] || (_cache[123] = $event => show_11.value = $event),\n title: \"修改poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_169, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_170, _createElementVNode(\"div\", _hoisted_171, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的修改的pool_token名称\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_172, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[117] || (_cache[117] = $event => temPool_token.value = $event),\n type: \"textarea\",\n maxlength: \"100\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n \"input-align\": \"right\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_173, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[118] || (_cache[118] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_174, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_175, [_hoisted_176, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[119] || (_cache[119] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_177, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[120] || (_cache[120] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_178, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[121] || (_cache[121] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_179, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[122] || (_cache[122] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_180])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_181, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[124] || (_cache[124] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"300px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_13.value,\n \"onUpdate:modelValue\": _cache[128] || (_cache[128] = $event => show_13.value = $event),\n title: \"share_token in oneApi\",\n \"align-center\": \"\",\n width: \"78%\",\n \"close-on-click-modal\": false,\n class: \"shareTokenDialog\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_search, {\n modelValue: valueShare.value,\n \"onUpdate:modelValue\": _cache[126] || (_cache[126] = $event => valueShare.value = $event),\n \"show-action\": \"\",\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索share_token名称\",\n onSearch: _cache[127] || (_cache[127] = $event => onSearchShareToken(valueShare.value)),\n class: \"onShareToken\"\n }, {\n action: _withCtx(() => [_createVNode(_component_el_button, {\n icon: _ctx.Plus,\n onClick: _cache[125] || (_cache[125] = $event => show_14.value = true)\n }, {\n default: _withCtx(() => [_hoisted_182]),\n _: 1\n }, 8, [\"icon\"])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_unref(ElTable), {\n data: shareData.value,\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n label: \"在one_api的名称\",\n prop: \"oneApi_name\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_183, [_createElementVNode(\"span\", _hoisted_184, _toDisplayString(scope.row.oneApi_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"来源Token名\",\n \"min-width\": \"135\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_185, [_createElementVNode(\"span\", _hoisted_186, _toDisplayString(scope.row.token_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"share_token值\",\n \"min-width\": \"355\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_187, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.token_value)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_188, _toDisplayString(scope.row.token_value), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"shareTime\",\n label: \"更新时间\",\n prop: \"shareTime\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"205\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => showShareToken(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewShare(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"修改\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteShareToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"]), _hoisted_189]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_14.value,\n \"onUpdate:modelValue\": _cache[135] || (_cache[135] = $event => show_14.value = $event),\n title: \"添加shareToken进one_api\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_190, [_createVNode(_component_van_form, {\n onSubmit: addShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_191, _createVNode(_component_van_field, {\n modelValue: addOneApi_name.value,\n \"onUpdate:modelValue\": _cache[129] || (_cache[129] = $event => addOneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n label: \"oneApi中渠道名称\",\n \"input-align\": \"right\",\n placeholder: \"oneApi中渠道名称\",\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_192, _createElementVNode(\"div\", _hoisted_193, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: addToken_name.value,\n \"onUpdate:modelValue\": _cache[130] || (_cache[130] = $event => addToken_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的添加的Token名称\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_194, _createElementVNode(\"div\", _hoisted_195, [_createVNode(_component_el_form_item, {\n label: \"选择加入的模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_196, [_createVNode(_component_el_select, {\n modelValue: addOneApi_models.value,\n \"onUpdate:modelValue\": _cache[131] || (_cache[131] = $event => addOneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"Select\",\n style: {\n \"width\": \"240px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_197, _createVNode(_component_van_field, {\n modelValue: addPriority.value,\n \"onUpdate:modelValue\": _cache[132] || (_cache[132] = $event => addPriority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_198, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: addOneApi_groups.value,\n \"onUpdate:modelValue\": _cache[133] || (_cache[133] = $event => addOneApi_groups.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_199, _createVNode(_component_van_field, {\n modelValue: addOneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[134] || (_cache[134] = $event => addOneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_200]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_201, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_15.value,\n \"onUpdate:modelValue\": _cache[143] || (_cache[143] = $event => show_15.value = $event),\n title: \"查看shareToken在one_api信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_202, [_createVNode(_component_van_form, {\n onSubmit: _ctx.shareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_203, _createVNode(_component_van_field, {\n modelValue: oneApi_name.value,\n \"onUpdate:modelValue\": _cache[136] || (_cache[136] = $event => oneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n label: \"oneApi中渠道名称\",\n \"input-align\": \"right\",\n placeholder: \"oneApi中渠道名称\",\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_204, _createVNode(_component_van_field, {\n modelValue: token_value.value,\n \"onUpdate:modelValue\": _cache[137] || (_cache[137] = $event => token_value.value = $event),\n name: \"share_token的值\",\n label: \"share_token的值\",\n \"input-align\": \"right\",\n placeholder: \"share_token的值\"\n }, null, 8, [\"modelValue\"]), _hoisted_205, _createVNode(_component_van_field, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[138] || (_cache[138] = $event => token_name.value = $event),\n name: \"share_token的来源\",\n label: \"share_token的来源\",\n \"input-align\": \"right\",\n placeholder: \"share_token的值\"\n }, null, 8, [\"modelValue\"]), _hoisted_206, _createVNode(_component_van_field, {\n modelValue: temOneApi_models.value,\n \"onUpdate:modelValue\": _cache[139] || (_cache[139] = $event => temOneApi_models.value = $event),\n name: \"加入的模型\",\n label: \"加入的模型\",\n \"input-align\": \"right\",\n placeholder: \"加入的模型\"\n }, null, 8, [\"modelValue\"]), _hoisted_207, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[140] || (_cache[140] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_208, _createVNode(_component_van_field, {\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[141] || (_cache[141] = $event => oneApi_groups.value = $event),\n name: \"加入的组别\",\n label: \"加入的组别\",\n \"input-align\": \"right\",\n placeholder: \"加入的组别\"\n }, null, 8, [\"modelValue\"]), _hoisted_209, _createVNode(_component_van_field, {\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[142] || (_cache[142] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_210]),\n _: 1\n })]),\n _: 1\n }, 8, [\"onSubmit\"])])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_16.value,\n \"onUpdate:modelValue\": _cache[149] || (_cache[149] = $event => show_16.value = $event),\n title: \"修改shareToken进one_api\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_211, [_createVNode(_component_van_form, {\n onSubmit: requireShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_212, _createElementVNode(\"div\", _hoisted_213, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[144] || (_cache[144] = $event => token_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的添加的Token名称\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_214, _createElementVNode(\"div\", _hoisted_215, [_createVNode(_component_el_form_item, {\n label: \"选择加入的模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_216, [_createVNode(_component_el_select, {\n modelValue: oneApi_models.value,\n \"onUpdate:modelValue\": _cache[145] || (_cache[145] = $event => oneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"选择或输入模型\",\n style: {\n \"width\": \"240px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_217, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[146] || (_cache[146] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_218, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[147] || (_cache[147] = $event => oneApi_groups.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_219, _createVNode(_component_van_field, {\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[148] || (_cache[148] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_220]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_221, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIndex.vue?vue&type=style&index=0&id=a59cdb90&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","href","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","style","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","key","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","_hoisted_185","_hoisted_186","_hoisted_187","_hoisted_188","_hoisted_189","_hoisted_190","_hoisted_191","_hoisted_192","_hoisted_193","_hoisted_194","_hoisted_195","_hoisted_196","_hoisted_197","_hoisted_198","_hoisted_199","_hoisted_200","_hoisted_201","_hoisted_202","_hoisted_203","_hoisted_204","_hoisted_205","_hoisted_206","_hoisted_207","_hoisted_208","_hoisted_209","_hoisted_210","_hoisted_211","_hoisted_212","_hoisted_213","_hoisted_214","_hoisted_215","_hoisted_216","_hoisted_217","_hoisted_218","_hoisted_219","_hoisted_220","_hoisted_221","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleTableRef","multipleTableRefPool","multipleSelection","multipleSelectionPool","handleSelectionChange","val","value","poolSelectionChange","size","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","show_13","show_14","show_15","show_16","buttonValue","options","label","optionsModel","buttonModel","buttonPoolValue","optionsPool","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","shareData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","addOneApi_name","addToken_name","addOneApi_baseUrl","addOneApi_models","addOneApi_groups","addPriority","innerHeight","valuePool","valueShare","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","onSearchShareToken","getShare","onSearchPoolToken","getPool","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","loadingInstance","service","fullscreen","responseShare","resShares","oneApi_name","token_name","token_value","oneApi_baseUrl","oneApi_models","oneApi_groups","shareTime","close","getSetting","tls","endsWith","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","json","msg","handlePoolNameChange","selectedItem","find","handleShareNameChange","filteredTableData","requirePoolToken","addShareToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","temOneApi_models","temOneApi_groups","showShareToken","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","dangerouslyUseHTMLString","reNew","reNewMsg","ok","Error","reNewPool","reviewShare","requireShareToken","requireShare","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","deleteShareToken","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","dataToken","substring","logout","removeItem","getPoolToken","getShareToken","getLogin","redirectToGitHub","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","selectPoolChoice","selectedPoolData","temPoolData","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_el_menu_item","_component_van_icon","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_el_radio_button","_component_el_radio_group","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_el_button_group","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_select_group","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","src","alt","onClick","$event","icon","extra","square","color","modelValue","shape","clearable","placeholder","plain","onSelectionChange","ref_key","ref","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","filterable","onSubmit","inset","rules","required","validator","maxlength","autosize","maxHeight","minHeight","round","block","rows","suffix","readonly","onClickLeftIcon","disabled","property","input","direction","onChange","autoSize","Plus","multiple","shareToken","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/581.b12fce75.js b/rearServer/src/main/resources/static/js/581.b12fce75.js new file mode 100644 index 0000000..fbbb1fa --- /dev/null +++ b/rearServer/src/main/resources/static/js/581.b12fce75.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[581],{581:function(e,l,a){a.r(l),a.d(l,{default:function(){return Mo}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),m=(a(1897),a(6907)),c=(a(4746),a(294)),p=(a(6870),a(6252)),v=a(3577),h=a(2262),w=a(1094),_=a(2201),k=a(6154),f=a(844),g=a(1348),b=a(9288),y=a(2534),V=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,p._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),A=(0,p._)("img",{style:{width:"25px"},src:w},null,-1),H={class:"home-container"},z=(0,p._)("div",{class:"flex-grow"},null,-1),P=(0,p._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),S=(0,p._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),N=(0,p._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),C={style:{display:"block"}},O=(0,p._)("div",{class:"flex items-center"},[(0,p._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,p._)("span",{class:"font-h4-tag"},"v0.6.3 ")],-1),$={class:"under"},B={class:"search"},D={style:{display:"flex",margin:"0px 0px -20px 0px"}},q={style:{display:"flex",width:"88vw",height:"63vh",transform:"translateX(0vw)"}},I={style:{display:"flex","align-items":"center"}},j={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},L={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Z={style:{margin:"13px",transform:"translateX(7px)"}},R=(0,p._)("h1",null,"批量操作",-1),E=(0,p._)("br",null,null,-1),K={style:{display:"block"}},J=(0,p._)("br",null,null,-1),M=(0,p._)("br",null,null,-1),G=(0,p._)("br",null,null,-1),Y={key:0},X=(0,p._)("br",null,null,-1),F=(0,p._)("br",null,null,-1),Q={key:0},ee=(0,p._)("br",null,null,-1),le=(0,p._)("br",null,null,-1),ae={key:1},oe=(0,p._)("br",null,null,-1),ne=(0,p._)("br",null,null,-1),te=(0,p._)("br",null,null,-1),ue={style:{margin:"5.2px"}},ie=(0,p._)("br",null,null,-1),re={style:{display:"block"}},se=(0,p._)("br",null,null,-1),de=(0,p._)("br",null,null,-1),me=(0,p._)("br",null,null,-1),ce=(0,p._)("br",null,null,-1),pe={key:0},ve=(0,p._)("br",null,null,-1),he={key:1},we=(0,p._)("br",null,null,-1),_e={key:0},ke=(0,p._)("br",null,null,-1),fe=(0,p._)("br",null,null,-1),ge={key:2},be=(0,p._)("br",null,null,-1),ye={key:3},Ve=(0,p._)("br",null,null,-1),We=(0,p._)("br",null,null,-1),Te={style:{margin:"5.2px"}},xe=(0,p._)("br",null,null,-1),Ue={style:{display:"block"}},Ae={key:0},He={style:{display:"flex","justify-content":"center","align-items":"center"}},ze={style:{margin:"10px 15px 10px 15px"}},Pe={style:{margin:"10px 15px 10px 15px"}},Se={style:{margin:"10px 15px 10px 15px"}},Ne=(0,p._)("br",null,null,-1),Ce=(0,p._)("br",null,null,-1),Oe=(0,p._)("br",null,null,-1),$e=(0,p._)("br",null,null,-1),Be=(0,p._)("br",null,null,-1),De=(0,p._)("br",null,null,-1),qe=(0,p._)("br",null,null,-1),Ie=(0,p._)("br",null,null,-1),je=(0,p._)("br",null,null,-1),Le=(0,p._)("br",null,null,-1),Ze={key:0},Re=(0,p._)("br",null,null,-1),Ee=(0,p._)("br",null,null,-1),Ke=(0,p._)("br",null,null,-1),Je={style:{display:"block"}},Me=(0,p._)("br",null,null,-1),Ge=(0,p._)("br",null,null,-1),Ye=(0,p._)("br",null,null,-1),Xe=(0,p._)("br",null,null,-1),Fe=(0,p._)("br",null,null,-1),Qe=(0,p._)("br",null,null,-1),el={key:0},ll=(0,p._)("br",null,null,-1),al=(0,p._)("br",null,null,-1),ol=(0,p._)("br",null,null,-1),nl=(0,p._)("br",null,null,-1),tl=(0,p._)("br",null,null,-1),ul=(0,p._)("br",null,null,-1),il=(0,p._)("br",null,null,-1),rl=(0,p._)("br",null,null,-1),sl={style:{margin:"5.2px"}},dl=(0,p._)("br",null,null,-1),ml={style:{display:"block"}},cl=(0,p._)("br",null,null,-1),pl=(0,p._)("br",null,null,-1),vl=(0,p._)("br",null,null,-1),hl=(0,p._)("br",null,null,-1),wl=(0,p._)("br",null,null,-1),_l=(0,p._)("br",null,null,-1),kl=(0,p._)("br",null,null,-1),fl=(0,p._)("br",null,null,-1),gl={key:0},bl=(0,p._)("br",null,null,-1),yl=(0,p._)("br",null,null,-1),Vl=(0,p._)("br",null,null,-1),Wl={style:{margin:"5.2px"}},Tl=(0,p._)("br",null,null,-1),xl={style:{display:"block"}},Ul=(0,p._)("br",null,null,-1),Al=(0,p._)("br",null,null,-1),Hl=(0,p._)("br",null,null,-1),zl=(0,p._)("br",null,null,-1),Pl=(0,p._)("br",null,null,-1),Sl=(0,p._)("br",null,null,-1),Nl=(0,p._)("br",null,null,-1),Cl=(0,p._)("br",null,null,-1),Ol={style:{margin:"5.2px"}},$l=(0,p._)("br",null,null,-1),Bl={style:{display:"flex",transform:"translate(0vw, -2vh)"}},Dl={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(102.5% + 40px)"}},ql={style:{"margin-left":"10px",display:"flex","align-items":"center"}},Il={key:0},jl=(0,p._)("h5",null,"oneApi4",-1),Ll={key:1},Zl=(0,p._)("h5",null,"oneApi3",-1),Rl={key:2},El=(0,p._)("h5",null,"Json",-1),Kl={style:{"margin-left":"20px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Jl={style:{display:"flex","align-items":"center",overflow:"auto"}},Ml={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Gl=(0,p._)("span",{style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},"点击此进行查看",-1),Yl={style:{margin:"10px 0px 10px 0px"}},Xl=(0,p._)("h1",null,"批量操作",-1),Fl=(0,p._)("br",null,null,-1),Ql={style:{display:"block"}},ea=(0,p._)("br",null,null,-1),la=(0,p._)("br",null,null,-1),aa=(0,p._)("br",null,null,-1),oa=(0,p._)("br",null,null,-1),na={style:{display:"block"}},ta=(0,p._)("br",null,null,-1),ua={key:0},ia=(0,p._)("br",null,null,-1),ra=(0,p._)("br",null,null,-1),sa=(0,p._)("br",null,null,-1),da=(0,p._)("br",null,null,-1),ma=(0,p._)("br",null,null,-1),ca=(0,p._)("br",null,null,-1),pa={style:{margin:"5.2px"}},va=(0,p._)("br",null,null,-1),ha={style:{display:"block"}},wa=(0,p._)("br",null,null,-1),_a={key:0},ka=(0,p._)("br",null,null,-1),fa=(0,p._)("br",null,null,-1),ga=(0,p._)("br",null,null,-1),ba={style:{"margin-bottom":"5px"}},ya={style:{"margin-bottom":"5px"}},Va=(0,p._)("br",null,null,-1),Wa=(0,p._)("br",null,null,-1),Ta={style:{margin:"5.2px"}},xa=(0,p._)("br",null,null,-1),Ua={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(100% + 2.5% + 40px)"}},Aa={style:{display:"flex","align-items":"center"}},Ha={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},za={style:{display:"flex","align-items":"center",overflow:"auto"}},Pa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Sa={style:{display:"flex","align-items":"center",overflow:"auto"}},Na={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ca=(0,p._)("br",null,null,-1),Oa={style:{display:"block"}},$a=(0,p._)("br",null,null,-1),Ba={style:{transform:"translateX(17px)"}},Da=(0,p._)("br",null,null,-1),qa=(0,p._)("br",null,null,-1),Ia=(0,p._)("br",null,null,-1),ja={key:0},La=(0,p._)("br",null,null,-1),Za=(0,p._)("br",null,null,-1),Ra=(0,p._)("br",null,null,-1),Ea={style:{"margin-bottom":"5px"}},Ka={style:{"margin-bottom":"5px"}},Ja=(0,p._)("br",null,null,-1),Ma=(0,p._)("br",null,null,-1),Ga={style:{margin:"5.2px"}},Ya=(0,p._)("br",null,null,-1),Xa=(0,p._)("h1",null,"添加到one_api",-1),Fa={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(102.5% + 40px)"}},Qa={style:{"margin-left":"15px",display:"flex","align-items":"center"}},eo={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},lo={style:{display:"flex","align-items":"center",overflow:"auto"}},ao={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},oo={style:{display:"flex","align-items":"center",overflow:"auto"}},no={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},to=(0,p._)("br",null,null,-1),uo={style:{display:"block"}},io=(0,p._)("br",null,null,-1),ro=(0,p._)("br",null,null,-1),so={style:{transform:"translateX(17px)"}},mo=(0,p._)("br",null,null,-1),co={style:{transform:"translateX(17px)"}},po={style:{display:"flex","justify-content":"flex-end"}},vo=(0,p._)("br",null,null,-1),ho=(0,p._)("br",null,null,-1),wo={style:{"margin-bottom":"5px"}},_o={style:{"margin-bottom":"5px"}},ko=(0,p._)("br",null,null,-1),fo=(0,p._)("br",null,null,-1),go={style:{margin:"5.2px"}},bo={style:{display:"block"}},yo=(0,p._)("br",null,null,-1),Vo=(0,p._)("br",null,null,-1),Wo=(0,p._)("br",null,null,-1),To=(0,p._)("br",null,null,-1),xo=(0,p._)("br",null,null,-1),Uo=(0,p._)("br",null,null,-1),Ao=(0,p._)("br",null,null,-1),Ho=(0,p._)("br",null,null,-1),zo={style:{display:"block"}},Po=(0,p._)("br",null,null,-1),So={style:{transform:"translateX(17px)"}},No=(0,p._)("br",null,null,-1),Co={style:{transform:"translateX(17px)"}},Oo={style:{display:"flex","justify-content":"flex-end"}},$o=(0,p._)("br",null,null,-1),Bo=(0,p._)("br",null,null,-1),Do={style:{"margin-bottom":"5px"}},qo={style:{"margin-bottom":"5px"}},Io=(0,p._)("br",null,null,-1),jo=(0,p._)("br",null,null,-1),Lo={style:{margin:"5.2px"}},Zo=0,Ro=1,Eo=2;var Ko=(0,p.aZ)({__name:"homeIphone",setup(e){const l=window.location.pathname,a=l.split("/");let w="";a.length>=3&&(w="/"+a[1]);const Ko=(0,h.iH)(["default","svip","vip"]),Jo=((0,h.iH)(),(0,h.iH)()),Mo=(0,h.iH)([]),Go=(0,h.iH)([]),Yo=e=>{Mo.value=e},Xo=e=>{Go.value=e},Fo=((0,h.iH)("ALL"),(0,_.tv)()),Qo=(0,h.iH)(!1),en=(0,h.iH)(!1),ln=(0,h.iH)(!1),an=(0,h.iH)(!1),on=(0,h.iH)(!1),nn=(0,h.iH)(!1),tn=(0,h.iH)(!1),un=(0,h.iH)(!1),rn=(0,h.iH)(!1),sn=(0,h.iH)(!1),dn=(0,h.iH)(!1),mn=(0,h.iH)(!1),cn=(0,h.iH)(!1),pn=(0,h.iH)(!1),vn=(0,h.iH)(!1),hn=(0,h.iH)(!1),wn=(0,h.iH)(!1),_n=(0,h.iH)(""),kn=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],fn=((0,h.iH)(""),[{buttonModel:"gpt-4-s",label:"gpt-4-s"},{buttonModel:"gpt-4-mobile",label:"gpt-4-mobile"},{buttonModel:"gpt-4-vision",label:"gpt-4-vision"},{buttonModel:"gpt-3.5-turbo",label:"gpt-3.5-turbo"},{buttonModel:"gpt-4-classic",label:"gpt-4-classic"}]),gn=(0,h.iH)(""),bn=[{buttonPoolValue:"选中检查pool_token",label:"选中检查pool_token"},{buttonPoolValue:"选中删除pool_token",label:"选中删除pool_token"},{buttonPoolValue:"选中刷新pool_token",label:"选中刷新pool_token"},{buttonPoolValue:"选中更换pool_token",label:"选中更换pool_token"}],yn=(0,h.iH)(""),Vn=(0,h.iH)("*"),Wn=(0,h.iH)(""),Tn=(0,h.iH)(""),xn=(0,h.iH)(""),Un=(0,h.iH)(!1),An=(0,h.iH)(!1),Hn=(0,h.iH)(!1),zn=(0,h.iH)(!1),Pn=(0,h.iH)(""),Sn=(0,h.iH)(!1),Nn=(0,h.iH)(""),Cn=(0,h.iH)(""),On=(0,h.iH)(""),$n=(0,h.iH)(""),Bn=(0,h.iH)(""),Dn=(0,h.iH)(""),qn=(0,h.iH)(""),In=(0,h.iH)(!1),jn=(0,h.iH)(""),Ln=(0,h.iH)("PandoraNext"),Zn=(0,h.iH)("default"),Rn=(0,h.iH)(""),En=(0,h.iH)(""),Kn=(0,h.iH)(""),Jn=(0,h.iH)(""),Mn=(0,h.iH)(!1),Gn=(0,h.iH)(!1),Yn=(0,h.iH)(!1),Xn=(0,h.iH)(!1),Fn=(0,h.iH)(!1),Qn=(0,h.iH)(5),et=(0,h.iH)(1),lt=(0,h.iH)(""),at=(0,h.iH)(""),ot=(0,h.iH)(""),nt=(0,h.iH)(""),tt=((0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(!0),(0,h.iH)("")),ut=(0,h.iH)(!1),it=(0,h.iH)(!1),rt=(0,h.iH)(lt.value+yn.value),st=(0,h.iH)(0),dt=(0,h.iH)(""),mt=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},ct=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},pt=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},vt=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=qt.value&&1!=Tt.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},ht=(0,h.iH)(""),wt=(0,h.iH)(""),_t=(0,h.iH)(""),kt=(0,h.iH)(""),ft=(0,h.iH)(""),gt=(0,h.iH)(""),bt=(0,h.iH)(!1),yt=(0,h.iH)(!1),Vt=(0,h.iH)(!1),Wt=(0,h.iH)(""),Tt=(0,h.iH)(!1),xt=(0,h.iH)(!1),Ut=(0,h.iH)(!0),At=(0,h.iH)([]),Ht=(0,h.iH)([]),zt=(0,h.iH)([]),Pt=(0,h.iH)([]),St=(0,h.iH)(""),Nt=(0,h.iH)(""),Ct=(0,h.iH)(""),Ot=(0,h.iH)(""),$t=(0,h.iH)(!1),Bt=(0,h.iH)(!1),Dt=(0,h.iH)(!1),qt=(0,h.iH)(!1),It=(0,h.iH)(!1),jt=(0,h.iH)(""),Lt=(0,h.iH)(""),Zt=(0,h.iH)(""),Rt=((0,h.iH)(""),(0,h.iH)("")),Et=(0,h.iH)([]),Kt=(0,h.iH)(["default","svip","vip"]),Jt=(0,h.iH)(0),Mt=((0,h.iH)(.085*window.innerHeight),(0,h.iH)("")),Gt=((0,h.iH)(""),(0,h.iH)("")),Yt=localStorage.getItem("jwtToken");Yt||Fo.replace("/");const Xt={Authorization:`Bearer ${Yt}`},Ft=async()=>{k.Z.post(`${w}/api/loginToken?token=`+Yt).then((e=>{if(0==e.data.code)return console.error(e.data.data),void Fo.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),Fo.replace("/")}))},Qt=e=>{"Web"==e?ou(""):"all"==e?lu(""):e.includes("API")?au(""):lu(e)},eu=e=>{uu(e)},lu=async e=>{const l=await k.Z.get(`${w}/api/selectToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));At.value=e}},au=async e=>{const l=await k.Z.get(`${w}/api/selectToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));At.value=l}},ou=async e=>{const l=await k.Z.get(`${w}/api/selectToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));At.value=l}},nu=async()=>{const e=await k.Z.get(`${w}/api/selectLogin`,{headers:Xt}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));Pt.value=e}},tu=async e=>{const l=await k.Z.get(`${w}/api/selectPoolToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));Ht.value=e}},uu=async e=>{const l=V.kN.service({fullscreen:!0}),a=await k.Z.get(`${w}/api/selectShareToken?name=${e}`,{headers:Xt}),o=a.data.data;if(Array.isArray(o)){const e=o.map((e=>({oneApi_name:e.oneApi_name,token_name:e.token_name,token_value:e.token_value,oneApi_baseUrl:e.oneApi_baseUrl,oneApi_models:e.oneApi_models,oneApi_groups:e.oneApi_groups,shareTime:e.shareTime,priority:e.priority})));zt.value=e}l.close()},iu=async e=>{const l=await k.Z.get(`${w}/api/selectSetting`,{headers:Xt}),a=l.data.data;yn.value=a.proxy_api_prefix,Vn.value=a.isolated_conv_title,Wn.value=a.bing,Tn.value=a.timeout,xn.value=a.proxy_url,Un.value=a.public_share,An.value=a.disable_signup,Hn.value=a.auto_conv_arkose,zn.value=a.proxy_file_service,Pn.value=a.custom_doh_host,Sn.value=a.tls.enabled,Nn.value=a.tls.cert_file,Cn.value=a.tls.key_file,On.value=a.site_password,$n.value=a.setup_password,null==a.whitelist?Rn.value="null":Rn.value=a.whitelist,Bn.value=a.loginUsername,Dn.value=a.loginPassword,qn.value=a.license_id,In.value=a.isGetToken,jn.value=a.getTokenPassword,Ln.value=a.containerName,Zn.value=a.autoToken_url,En.value=a.validation.provider,Kn.value=a.validation.site_key,Jn.value=a.validation.site_secret,Mn.value=a.validation.site_login,Gn.value=a.validation.setup_login,Yn.value=a.validation.oai_username,Xn.value=a.validation.oai_password,Fn.value=a.auto_updateSession,Qn.value=a.auto_updateTime,et.value=a.auto_updateNumber,lt.value=a.pandoraNext_outUrl,lt.value.endsWith("/")?rt.value=lt.value+yn.value:rt.value=lt.value+"/"+yn.value,at.value=a.oneAPi_outUrl,ot.value=a.oneAPi_intoToken,ru()},ru=async()=>{"123456"==Dn.value&&"root"==Bn.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),on.value=!0,Dn.value="",Bn.value="")},su=()=>{const e=Mo.value;0!==e.length?sn.value=!0:(0,g.z8)("未选择数据")},du=async()=>{V.kN.service({fullscreen:!0});try{const e=Mo.value,l=e.map((e=>e.name)),a={poolName:tt.value,intoOneApi:ut.value,pandoraNextGpt4:it.value,oneApi_pandoraUrl:rt.value,shareTokens:l,groupChecked:Ko.value.toString(),priority:st.value},o=await fetch(`${w}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(tt.value="",tu(""),(0,g.z8)({type:"success",message:t.data}),tt.value="",ut.value=!1,it.value=!1,Ko.value=["default","svip","vip"],st.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}sn.value=!1},mu=e=>{let l=Ht.value.find((l=>l.poolName===e));null!=l&&(dt.value=l.poolToken,ut.value=l.intoOneApi,it.value=l.pandoraNextGpt4,rt.value=l.oneApi_pandoraUrl,st.value=l.priority)},cu=e=>{At.value.find((l=>l.name===e&&!0===l.setPoolToken))},pu=(0,p.Fl)((()=>At.value.filter((e=>!0===e.setPoolToken)))),vu=async()=>{V.kN.service({fullscreen:!0});try{const e=Mo.value,l=e.map((e=>e.name)),a={poolName:nt.value,poolToken:dt.value,intoOneApi:ut.value,pandoraNextGpt4:it.value,oneApi_pandoraUrl:rt.value,shareTokens:l,groupChecked:Ko.value.toString(),priority:st.value},o=await fetch(`${w}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(tu(""),(0,g.z8)({type:"success",message:t.data}),nt.value="",dt.value="",ut.value=!1,it.value=!1,Ko.value=["default","svip","vip"],st.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}mn.value=!1},hu=async()=>{const e=V.kN.service({fullscreen:!0});try{const e={oneApi_name:Lt.value,token_name:Zt.value,oneApi_baseUrl:Rt.value,oneApi_models:Et.value.toString(),oneApi_groups:Kt.value.toString(),priority:st.value},l=await fetch(`${w}/api/addShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}),a=(V.kN.service({fullscreen:!0}),await l.json());1===a.code?(uu(""),(0,g.z8)({type:"success",message:a.data}),Lt.value="",Zt.value="",Rt.value="",Et.value=[],Kt.value=["default","svip","vip"],st.value=0):(0,g.z8)({type:"info",message:a.msg})}catch(l){(0,g.z8)({type:"info",message:"取消修改pool_token"})}vn.value=!1,e.close()},wu=(0,h.iH)("");(0,p.bv)((async()=>{const e=V.kN.service({fullscreen:!0});window.innerWidth<=700?Fo.replace("/iphone"):Fo.replace("/home"),Ft();const l=await k.Z.get(`${w}/api/getPandoraNext`,{headers:Xt}),a=l.data.data;null!=a&&(wu.value=a.current+"/"+a.total),Qt(Mt.value),tu(Mt.value),iu(Mt.value),e.close()}));const _u=({row:e})=>0==e.checkSession?"warning-row":"",ku=({row:e})=>0==e.checkPool?"warning-row":"",fu=()=>{window.open(lt.value)},gu=()=>{var e=lt.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},bu=()=>{var e=lt.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},yu=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},Vu=(0,h.iH)("-1");let Wu="";const Tu=(e,l)=>{console.log("选择准备!")},xu=()=>{en.value=!0},Uu=()=>{const e=V.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=jt.value&&($t.value=!1,Dt.value=!1,Bt.value=!1),0==qt.value&&(Ot.value=Nt.value+","+Ct.value,It.value=!1,$t.value=!1,Dt.value=!1,Bt.value=!1);let o={name:St.value,token:Ot.value,username:Nt.value,userPassword:Ct.value,shared:$t.value,show_user_info:Bt.value,plus:Dt.value,setPoolToken:qt.value,useRefreshToken:It.value,password:jt.value,updateTime:a};fetch(`${w}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),St.value="",Ot.value="",Nt.value="",Ct.value="",$t.value=!1,Bt.value=!1,Dt.value=!1,qt.value=!1,It.value=!1,jt.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),jt.value="",lu(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),en.value=!1},Au=(0,h.iH)(0),Hu=(0,h.iH)(0),zu=async e=>{if(ht.value=e.name,ft.value=e.username,gt.value=e.userPassword,wt.value=e.token,_t.value=e.access_token,kt.value=e.share_token,bt.value=e.shared,yt.value=e.show_user_info,Vt.value=e.plus,Wt.value=e.password,Tt.value=e.setPoolToken,xt.value=e.useRefreshToken,Ut.value=e.checkSession,1!=Tt.value)return void(ln.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${rt.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?Au.value=Number(o.usage["text-davinci-002-render-sha"]):Au.value=0,null!=o.usage["gpt-4"]?Hu.value=Number(o.usage["gpt-4"]):Hu.value=0),ln.value=!0},Pu=(0,h.iH)(""),Su=(0,h.iH)(""),Nu=(0,h.iH)(""),Cu=(0,h.iH)(""),Ou=(0,h.iH)([]),$u=(0,h.iH)(""),Bu=(0,h.iH)(""),Du=(0,h.iH)(["default","svip","vip"]),qu=(0,h.iH)(""),Iu=e=>{Pu.value=e.oneApi_name,Su.value=e.token_name,Nu.value=e.token_value,Cu.value=e.oneApi_baseUrl,$u.value=e.oneApi_models,Bu.value=e.oneApi_groups,st.value=e.priority,qu.value=e.shareTime,hn.value=!0};let ju=!1,Lu=!1,Zu="";const Ru=(e,l)=>{ht.value=l.name,ft.value=l.username,gt.value=l.userPassword,wt.value=l.token,Wu=l.token,bt.value=l.shared,yt.value=l.show_user_info,Vt.value=l.plus,Wt.value=l.password,Tt.value=l.setPoolToken,xt.value=l.useRefreshToken,ju=Tt.value,Lu=xt.value,Zu=wt.value,Ut.value=l.checkSession,_t.value=l.access_token,kt.value=l.share_token,Qo.value=!0},Eu=async e=>{0==e?an.value=!0:1==e?on.value=!0:2==e&&(nn.value=!0)},Ku=e=>{const l=V.kN.service({fullscreen:!0});null!=Rn.value&&"null"!=Rn.value||(Rn.value=""),0==Sn.value&&(Nn.value="",Cn.value="");const a={enabled:Sn.value,cert_file:Nn.value,key_file:Cn.value},o={provider:En.value,site_key:Kn.value,site_secret:Jn.value,site_login:Mn.value,setup_login:Gn.value,oai_username:Yn.value,oai_password:Xn.value},n={proxy_api_prefix:yn.value,isolated_conv_title:Vn.value,bing:Wn.value,timeout:Tn.value,proxy_url:xn.value,public_share:Un.value,site_password:On.value,setup_password:$n.value,loginUsername:Bn.value,loginPassword:Dn.value,license_id:qn.value,disable_signup:An.value,auto_conv_arkose:Hn.value,proxy_file_service:zn.value,custom_doh_host:Pn.value,isGetToken:In.value,getTokenPassword:jn.value,containerName:Ln.value,autoToken_url:Zn.value,whitelist:Rn.value,validation:o,tls:a};fetch(`${w}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Ft(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?an.value=!1:1==e?on.value=!1:2==e&&(nn.value=!1)},Ju=()=>{const e=V.kN.service({fullscreen:!0});"/"!==lt.value.charAt(lt.value.length-1)&&(lt.value+="/");const l={auto_updateSession:Fn.value,auto_updateTime:Qn.value,auto_updateNumber:et.value,pandoraNext_outUrl:lt.value,oneAPi_outUrl:at.value,oneAPi_intoToken:ot.value};fetch(`${w}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),rn.value=!1},Mu=()=>{const e=V.kN.service({fullscreen:!0});let l="";if(Wu!=wt.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==Tt.value&&(bt.value=!1,Vt.value=!1,yt.value=!1,xt.value=!1),!0===bt.value?Wt.value="":(Vt.value=!1,yt.value=!1);let a="";a=ju!=Tt.value&&Zu==wt.value?0==Tt.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==xt.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":Lu!=xt.value&&Zu==wt.value?1==xt.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:ht.value,token:wt.value,username:ft.value,userPassword:gt.value,shared:bt.value,show_user_info:yt.value,plus:Vt.value,setPoolToken:Tt.value,useRefreshToken:xt.value,checkSession:Ut.value,password:Wt.value,access_token:_t.value,share_token:kt.value};fetch(`${w}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),lu("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),Qo.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Gu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/open`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Yu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/close`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Xu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/restart`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Fu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/reload`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Qu=(0,h.iH)(""),ei=(0,h.iH)(""),li=async()=>{const e=await k.Z.get(`${w}/api/getPandoraNext`,{headers:Xt}),l=e.data.data;if(null!=l){wu.value=l.current+"/"+l.total,Qu.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();ei.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}un.value=!0},ai=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/updateAllToken`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?(lu(""),f.T.alert(a,"温馨提示",{dangerouslyUseHTMLString:!0})):g.z8.error(l.data.msg),e.close()},oi=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,lu(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},ni=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(tu(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},ti=e=>{Pu.value=e.oneApi_name,Su.value=e.token_name,Nu.value=e.token_value,Cu.value=e.oneApi_baseUrl,Ou.value=e.oneApi_models.split(","),Du.value=e.oneApi_groups.split(","),st.value=e.priority,qu.value=e.shareTime,wn.value=!0},ui=()=>{const e=V.kN.service({fullscreen:!0}),l={oneApi_name:Pu.value,token_name:Su.value,token_value:Nu.value,oneApi_baseUrl:Cu.value,oneApi_models:Ou.value.toString(),oneApi_groups:Du.value.toString(),priority:st.value};fetch(`${w}/api/requireShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.msg)),uu(""),e.close()})).catch((l=>{e.close(),console.error("Error:",l)})),wn.value=!1},ii=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),lu(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},ri=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(tu(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},si=(e,l)=>{const a=V.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${w}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(tu(""),g.z8.success(e.data),a.close()):(tu(""),g.z8.error(e.msg),a.close()),sn.value=!1})).catch((e=>{console.error("删除失败",e),tu(""),a.close(),sn.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},di=(e,l)=>{const a=V.kN.service({fullscreen:!0});fetch(`${w}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(tu(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(tu(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},mi=(e,l)=>{const a=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${w}/api/deleteToken`,l,{headers:Xt}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${w}/api/updateAllPoolToken`,{headers:Xt}),o=e.data.data,lu(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},ci=(e,l)=>{const a=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个share_Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${w}/api/deleteShareToken`,l,{headers:Xt}).then((async e=>{o=e.data.data,uu(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},pi=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,y.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},vi=()=>{localStorage.removeItem("jwtToken"),Fo.replace("/")},hi=()=>{tn.value=!0},wi=async()=>{await uu(""),pn.value=!0},_i=()=>{nu(),dn.value=!0},ki=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},fi=e=>{const l=Mo.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?su():"选中修改pool_token"==e&&(mn.value=!0);else{let e=0;const l=Mo.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(lu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${w}/api/deleteTokenList`,a,{headers:Xt}).then((async l=>{await k.Z.get(`${w}/api/updateAllPoolToken`,{headers:Xt}),o=l.data.data,lu(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},gi=e=>{const l=Go.value,a=l.map((e=>e));if(0!==a.length)if("选中检查pool_token"!=e)if("选中刷新pool_token"!=e)if("选中更换pool_token"!=e)if("选中删除pool_token"!=e);else{l.length;const e="您确定要删除这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/deletePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"})}))}else{l.length;const e="您确定要更换这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/changePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"更换取消!"})}))}else{const e="您确定要刷新这"+l.length+"个pool_token吗?";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/refreshSimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{let e=4*l.length;const o="您确定要花"+e+"积分检查这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/verifySimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"检查取消!"})}))}else(0,g.z8)("未选择数据")},bi=(0,h.iH)(null),yi=async()=>{cn.value=!0;const e=await k.Z.get(`${w}/api/modelsUsage`,{headers:Xt});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(bi.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=c.JO,w=(0,p.up)("el-menu-item"),_=(0,p.up)("el-sub-menu"),k=(0,p.up)("el-menu"),f=m.zx,g=(0,p.up)("el-page-header"),b=d.ol,y=(0,p.up)("el-table-column"),V=(0,p.up)("el-button"),T=(0,p.up)("el-tag"),Mo=(0,p.up)("el-popover"),Go=(0,p.up)("el-option"),Fo=(0,p.up)("el-select"),Ut=s.gN,Yt=r.rs,Xt=i.TS,Ft=u.l0,lu=t.Vq,au=(0,p.up)("ChatLineRound"),ou=(0,p.up)("el-icon"),nu=(0,p.up)("el-statistic"),tu=(0,p.up)("el-col"),uu=(0,p.up)("el-row"),iu=(0,p.up)("CopyDocument"),ru=(0,p.up)("h10"),su=(0,p.up)("el-select-group"),Wu=(0,p.up)("el-dialog"),Bu=n.XZ,qu=o.cO,ju=(0,p.up)("el-form-item"),Lu=(0,p.Q2)("loading");return(0,p.wg)(),(0,p.iD)(p.HY,null,[(0,p._)("div",x,[U,(0,p.Wm)(k,{"default-active":Vu.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:Tu,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"0"},{title:(0,p.w5)((()=>[(0,p._)("div",H,[(0,p._)("h2",null,(0,v.zw)(wu.value),1)]),(0,p.Wm)(a,{name:"replay",size:"20",onClick:li})])),default:(0,p.w5)((()=>[A])),_:1}),z,(0,p.Wm)(_,{index:"3"},{title:(0,p.w5)((()=>[(0,p.Uk)("列表")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"3-1",onClick:hi},{default:(0,p.w5)((()=>[(0,p.Uk)("pool_token列表")])),_:1}),(0,p.Wm)(w,{index:"3-2",onClick:wi},{default:(0,p.w5)((()=>[(0,p.Uk)("share_token列表")])),_:1}),(0,p.Wm)(w,{index:"3-3",onClick:ai},{default:(0,p.w5)((()=>[(0,p.Uk)("全部检查并生成")])),_:1}),(0,p.Wm)(w,{index:"3-4",onClick:_i},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool登录日志")])),_:1}),(0,p.Wm)(w,{index:"3-5",onClick:yi},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool用量统计")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"1"},{title:(0,p.w5)((()=>[(0,p.Uk)("设置")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"1-1",onClick:l[0]||(l[0]=e=>Eu(Zo))},{default:(0,p.w5)((()=>[(0,p.Uk)("PandoraNext设置")])),_:1}),(0,p.Wm)(w,{index:"1-2",onClick:l[1]||(l[1]=e=>Eu(Ro))},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool设置")])),_:1}),(0,p.Wm)(w,{index:"1-3",onClick:l[2]||(l[2]=e=>Eu(Eo))},{default:(0,p.w5)((()=>[(0,p.Uk)("验证码信息设置")])),_:1}),(0,p.Wm)(w,{index:"1-4",onClick:l[3]||(l[3]=e=>rn.value=!0)},{default:(0,p.w5)((()=>[(0,p.Uk)("定时&接口设置")])),_:1}),(0,p.Wm)(w,{index:"1-5",onClick:yu},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool使用手册")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2"},{title:(0,p.w5)((()=>[(0,p.Uk)("状态")])),default:(0,p.w5)((()=>[(0,p.Wm)(_,{index:"2-1"},{title:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"状态",1)])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"2-1-1",onClick:Gu},{default:(0,p.w5)((()=>[(0,p.Uk)("开启"+(0,v.zw)(Ln.value),1)])),_:1}),(0,p.Wm)(w,{index:"2-1-2",onClick:Yu},{default:(0,p.w5)((()=>[(0,p.Uk)("暂停"+(0,v.zw)(Ln.value),1)])),_:1}),(0,p.Wm)(w,{index:"2-1-3",onClick:Xu},{default:(0,p.w5)((()=>[(0,p.Uk)("重启"+(0,v.zw)(Ln.value),1)])),_:1}),(0,p.Wm)(w,{index:"2-1-4",onClick:Fu},{default:(0,p.w5)((()=>[(0,p.Uk)("重载"+(0,v.zw)(Ln.value),1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-2"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转Web服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"2-2-1",onClick:fu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"主页",1)])),_:1}),(0,p.Wm)(w,{index:"2-2-2",onClick:gu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"共享页",1)])),_:1}),(0,p.Wm)(w,{index:"2-2-3",onClick:bu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"修改页",1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-3"},{title:(0,p.w5)((()=>[(0,p.Uk)("获取token地址")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"2-3-1"},{default:(0,p.w5)((()=>[P])),_:1}),(0,p.Wm)(w,{index:"2-3-2"},{default:(0,p.w5)((()=>[S])),_:1}),(0,p.Wm)(w,{index:"2-3-3"},{default:(0,p.w5)((()=>[N])),_:1})])),_:1}),(0,p.Wm)(w,{index:"2-4",onClick:vi},{default:(0,p.w5)((()=>[(0,p.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,p._)("div",C,[(0,p.Wm)(g,{icon:null,title:" "},{content:(0,p.w5)((()=>[O])),extra:(0,p.w5)((()=>[(0,p._)("div",{class:"addToken",onClick:xu},[(0,p.Wm)(f,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,p._)("div",$,[(0,p._)("div",B,[(0,p._)("div",D,[(0,p.Wm)(b,{modelValue:Mt.value,"onUpdate:modelValue":l[4]||(l[4]=e=>Mt.value=e),shape:"round",clearable:"",placeholder:"请输入搜索token名称或类型",onSearch:Qt},null,8,["modelValue"])]),(0,p._)("div",q,[(0,p.wy)(((0,p.wg)(),(0,p.j4)((0,h.SU)(W.eI),{data:At.value,style:{width:"100%"},onSelectionChange:Yo,class:"tokenTable","default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":_u},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{type:"selection",width:"45"}),(0,p.Wm)(y,{label:"名称",width:"160",prop:"setPoolToken",sortable:""},{default:(0,p.w5)((e=>[(0,p._)("div",I,[(0,p._)("div",null,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[(0,p._)("h5",null,(0,v.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024)]),(0,p._)("span",j,(0,v.zw)(e.row.name),1)])])),_:1}),(0,p.Wm)(y,{prop:"updateTime",sortable:"",label:"有效时间",width:"117"},{default:(0,p.w5)((e=>[(0,p.Wm)(Mo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"注册时间:"+(0,v.zw)(e.row.updateTime),1)])),reference:(0,p.w5)((()=>[(0,p._)("span",L,[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(pi(e.row)),1)])),_:2},1024)])])),_:2},1024)])),_:1}),(0,p.Wm)(y,{label:"操作方法",width:"370"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>Ru(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("编辑")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>zu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>mi(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>oi(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"warning",onClick:l=>ii(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[Lu,e.loading]])]),(0,p._)("div",Z,[(0,p.Wm)(Fo,{modelValue:_n.value,"onUpdate:modelValue":l[5]||(l[5]=e=>_n.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(kn,(e=>(0,p.Wm)(Go,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(V,{class:"my-button",onClick:l[6]||(l[6]=e=>fi(_n.value))},{default:(0,p.w5)((()=>[R])),_:1})])])]),E]),(0,p.Wm)(lu,{show:Qo.value,"onUpdate:show":l[17]||(l[17]=e=>Qo.value=e),title:"修改token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",K,[(0,p.Wm)(Ft,{onSubmit:l[16]||(l[16]=e=>Mu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[J,(0,p.Wm)(Ut,{modelValue:ft.value,"onUpdate:modelValue":l[7]||(l[7]=e=>ft.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱","input-align":"center",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),M,(0,p.Wm)(Ut,{modelValue:gt.value,"onUpdate:modelValue":l[8]||(l[8]=e=>gt.value=e),name:"OpenAi密码","input-align":"center",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),G,(0,p.Wm)(Ut,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Tt.value,"onUpdate:modelValue":l[9]||(l[9]=e=>Tt.value=e)},null,8,["modelValue"])])),_:1}),1==Tt.value?((0,p.wg)(),(0,p.iD)("div",Y,[X,(0,p.Wm)(Ut,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:xt.value,"onUpdate:modelValue":l[10]||(l[10]=e=>xt.value=e)},null,8,["modelValue"])])),_:1}),F,(0,p.Wm)(Ut,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:bt.value,"onUpdate:modelValue":l[11]||(l[11]=e=>bt.value=e)},null,8,["modelValue"])])),_:1}),1==bt.value?((0,p.wg)(),(0,p.iD)("div",Q,[ee,(0,p.Wm)(Ut,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:yt.value,"onUpdate:modelValue":l[12]||(l[12]=e=>yt.value=e)},null,8,["modelValue"])])),_:1}),le,(0,p.Wm)(Ut,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Vt.value,"onUpdate:modelValue":l[13]||(l[13]=e=>Vt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),0==bt.value||0==Tt.value?((0,p.wg)(),(0,p.iD)("div",ae,[oe,(0,p.Wm)(Ut,{rows:"2",type:"textarea",autoSize:"",modelValue:Wt.value,"onUpdate:modelValue":l[14]||(l[14]=e=>Wt.value=e),name:"Token的密码","input-align":"center",label:"Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:vt}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),ne,(0,p.Wm)(Ut,{modelValue:wt.value,"onUpdate:modelValue":l[15]||(l[15]=e=>wt.value=e),label:"Token的值",type:"textarea","input-align":"center",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:50},"show-word-limit":""},null,8,["modelValue"]),te])),_:1}),(0,p._)("div",ue,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),ie])),_:1},8,["show"]),(0,p.Wm)(lu,{show:en.value,"onUpdate:show":l[29]||(l[29]=e=>en.value=e),title:"添加token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",re,[(0,p.Wm)(Ft,{onSubmit:l[28]||(l[28]=e=>Uu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[se,(0,p.Wm)(Ut,{modelValue:St.value,"onUpdate:modelValue":l[18]||(l[18]=e=>St.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),de,(0,p.Wm)(Ut,{modelValue:Nt.value,"onUpdate:modelValue":l[19]||(l[19]=e=>Nt.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名",rules:[{required:!0,message:"请填写OpenAi用户名"}]},null,8,["modelValue"]),me,(0,p.Wm)(Ut,{modelValue:Ct.value,"onUpdate:modelValue":l[20]||(l[20]=e=>Ct.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),ce,(0,p.Wm)(Ut,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:qt.value,"onUpdate:modelValue":l[21]||(l[21]=e=>qt.value=e)},null,8,["modelValue"])])),_:1}),1==qt.value?((0,p.wg)(),(0,p.iD)("div",pe,[ve,(0,p.Wm)(Ut,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:It.value,"onUpdate:modelValue":l[22]||(l[22]=e=>It.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==qt.value?((0,p.wg)(),(0,p.iD)("div",he,[we,(0,p.Wm)(Ut,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:$t.value,"onUpdate:modelValue":l[23]||(l[23]=e=>$t.value=e)},null,8,["modelValue"])])),_:1}),1==$t.value?((0,p.wg)(),(0,p.iD)("div",_e,[ke,(0,p.Wm)(Ut,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Bt.value,"onUpdate:modelValue":l[24]||(l[24]=e=>Bt.value=e)},null,8,["modelValue"])])),_:1}),fe,(0,p.Wm)(Ut,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Dt.value,"onUpdate:modelValue":l[25]||(l[25]=e=>Dt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),""==$t.value?((0,p.wg)(),(0,p.iD)("div",ge,[be,(0,p.Wm)(Ut,{rows:"3",type:"textarea",autoSize:"",modelValue:jt.value,"onUpdate:modelValue":l[26]||(l[26]=e=>jt.value=e),name:"Token的密码",label:"Token的密码","input-align":"center",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:vt}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),1==qt.value?((0,p.wg)(),(0,p.iD)("div",ye,[Ve,(0,p.Wm)(Ut,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:Ot.value,"onUpdate:modelValue":l[27]||(l[27]=e=>Ot.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,p.kq)("",!0),We])),_:1}),(0,p._)("div",Te,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),xe])),_:1},8,["show"]),(0,p.Wm)(lu,{show:ln.value,"onUpdate:show":l[49]||(l[49]=e=>ln.value=e),title:"token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ue,[(0,p.Wm)(Ft,null,{default:(0,p.w5)((()=>[1==Tt.value?((0,p.wg)(),(0,p.iD)("div",Ae,[(0,p._)("div",He,[(0,p.Wm)(uu,null,{default:(0,p.w5)((()=>[(0,p._)("div",ze,[(0,p.Wm)(tu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(nu,{title:"GPT3.5",value:Au.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Pe,[(0,p.Wm)(tu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(nu,{title:"总计",value:Au.value+Hu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Se,[(0,p.Wm)(tu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(nu,{title:"GPT4.0",value:Hu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,p.kq)("",!0),(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Ne,(0,p.Wm)(Ut,{modelValue:ht.value,"onUpdate:modelValue":l[30]||(l[30]=e=>ht.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[31]||(l[31]=e=>ki(ht.value))},null,8,["modelValue"]),Ce,(0,p.Wm)(Ut,{modelValue:Wt.value,"onUpdate:modelValue":l[32]||(l[32]=e=>Wt.value=e),type:"temPassword",name:"Token的密码",label:"Token的密码",placeholder:"Token的密码","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[33]||(l[33]=e=>ki(Wt.value))},null,8,["modelValue"]),Oe,(0,p.Wm)(Ut,{modelValue:ft.value,"onUpdate:modelValue":l[34]||(l[34]=e=>ft.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>ki(ft.value))},null,8,["modelValue"]),$e,(0,p.Wm)(Ut,{modelValue:gt.value,"onUpdate:modelValue":l[36]||(l[36]=e=>gt.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>ki(gt.value))},null,8,["modelValue"]),Be,(0,p.Wm)(Ut,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:bt.value,"onUpdate:modelValue":l[38]||(l[38]=e=>bt.value=e)},null,8,["modelValue"])])),_:1}),De,(0,p.Wm)(Ut,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:yt.value,"onUpdate:modelValue":l[39]||(l[39]=e=>yt.value=e)},null,8,["modelValue"])])),_:1}),qe,(0,p.Wm)(Ut,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:Vt.value,"onUpdate:modelValue":l[40]||(l[40]=e=>Vt.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,p.Wm)(Ut,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:Tt.value,"onUpdate:modelValue":l[41]||(l[41]=e=>Tt.value=e)},null,8,["modelValue"])])),_:1}),je,(0,p.Wm)(Ut,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:xt.value,"onUpdate:modelValue":l[42]||(l[42]=e=>xt.value=e)},null,8,["modelValue"])])),_:1}),Le,(0,p.Wm)(Ut,{modelValue:wt.value,"onUpdate:modelValue":l[43]||(l[43]=e=>wt.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[44]||(l[44]=e=>ki(wt.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),1==Tt.value?((0,p.wg)(),(0,p.iD)("div",Ze,[Re,(0,p.Wm)(Ut,{modelValue:_t.value,"onUpdate:modelValue":l[45]||(l[45]=e=>_t.value=e),label:"access_token",type:"textarea",maxlength:"5000","input-align":"center",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[46]||(l[46]=e=>ki(_t.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),Ee,(0,p.Wm)(Ut,{modelValue:kt.value,"onUpdate:modelValue":l[47]||(l[47]=e=>kt.value=e),label:"share_token",type:"textarea",maxlength:"200","input-align":"center",placeholder:"请填写OpenAi的share_token","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>ki(kt.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"])])):(0,p.kq)("",!0)])),_:1}),Ke])),_:1})])])),_:1},8,["show"]),(0,p.Wm)(lu,{show:an.value,"onUpdate:show":l[64]||(l[64]=e=>an.value=e),title:"PandoraNext设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Je,[(0,p.Wm)(Ft,{onSubmit:l[63]||(l[63]=e=>Ku(Zo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Me,(0,p.Wm)(Ut,{modelValue:Vn.value,"onUpdate:modelValue":l[50]||(l[50]=e=>Vn.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Ge,(0,p.Wm)(Ut,{modelValue:Wn.value,"onUpdate:modelValue":l[51]||(l[51]=e=>Wn.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Ye,(0,p.Wm)(Ut,{modelValue:Pn.value,"onUpdate:modelValue":l[52]||(l[52]=e=>Pn.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Xe,(0,p.Wm)(Ut,{modelValue:Tn.value,"onUpdate:modelValue":l[53]||(l[53]=e=>Tn.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),Fe,(0,p.Wm)(Ut,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Un.value,"onUpdate:modelValue":l[54]||(l[54]=e=>Un.value=e)},null,8,["modelValue"])])),_:1}),Qe,(0,p.Wm)(Ut,{name:"switch",label:"是否配置证书"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Sn.value,"onUpdate:modelValue":l[55]||(l[55]=e=>Sn.value=e)},null,8,["modelValue"])])),_:1}),1==Sn.value?((0,p.wg)(),(0,p.iD)("div",el,[ll,(0,p.Wm)(Ut,{modelValue:Nn.value,"onUpdate:modelValue":l[56]||(l[56]=e=>Nn.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),al,(0,p.Wm)(Ut,{modelValue:Cn.value,"onUpdate:modelValue":l[57]||(l[57]=e=>Cn.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,p.kq)("",!0),ol,(0,p.Wm)(Ut,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:An.value,"onUpdate:modelValue":l[58]||(l[58]=e=>An.value=e)},null,8,["modelValue"])])),_:1}),nl,(0,p.Wm)(Ut,{name:"switch",label:"是否自动打码"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Hn.value,"onUpdate:modelValue":l[59]||(l[59]=e=>Hn.value=e)},null,8,["modelValue"])])),_:1}),tl,(0,p.Wm)(Ut,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:zn.value,"onUpdate:modelValue":l[60]||(l[60]=e=>zn.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,p.Wm)(Ut,{modelValue:xn.value,"onUpdate:modelValue":l[61]||(l[61]=e=>xn.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),il,(0,p.Wm)(Ut,{modelValue:Rn.value,"onUpdate:modelValue":l[62]||(l[62]=e=>Rn.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),rl])),_:1}),(0,p._)("div",sl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),dl])),_:1},8,["show"]),(0,p.Wm)(lu,{show:on.value,"onUpdate:show":l[76]||(l[76]=e=>on.value=e),title:"tokensTool设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",ml,[(0,p.Wm)(Ft,{onSubmit:l[75]||(l[75]=e=>Ku(Ro))},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[cl,(0,p.Wm)(Ut,{modelValue:Bn.value,"onUpdate:modelValue":l[65]||(l[65]=e=>Bn.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),pl,(0,p.Wm)(Ut,{modelValue:Dn.value,"onUpdate:modelValue":l[66]||(l[66]=e=>Dn.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"]),vl,(0,p.Wm)(Ut,{modelValue:yn.value,"onUpdate:modelValue":l[67]||(l[67]=e=>yn.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"]),hl,(0,p.Wm)(Ut,{modelValue:Zn.value,"onUpdate:modelValue":l[68]||(l[68]=e=>Zn.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),wl,(0,p.Wm)(Ut,{modelValue:$n.value,"onUpdate:modelValue":l[69]||(l[69]=e=>$n.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"]),_l,(0,p.Wm)(Ut,{modelValue:On.value,"onUpdate:modelValue":l[70]||(l[70]=e=>On.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:ct}]},null,8,["modelValue","rules"]),kl,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:qn.value,"onUpdate:modelValue":l[71]||(l[71]=e=>qn.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),fl,(0,p.Wm)(Ut,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:In.value,"onUpdate:modelValue":l[72]||(l[72]=e=>In.value=e)},null,8,["modelValue"])])),_:1}),1==In.value?((0,p.wg)(),(0,p.iD)("div",gl,[bl,(0,p.Wm)(Ut,{modelValue:jn.value,"onUpdate:modelValue":l[73]||(l[73]=e=>jn.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),yl,(0,p.Wm)(Ut,{modelValue:Ln.value,"onUpdate:modelValue":l[74]||(l[74]=e=>Ln.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Vl])),_:1}),(0,p._)("div",Wl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Tl])),_:1},8,["show"]),(0,p.Wm)(lu,{show:nn.value,"onUpdate:show":l[85]||(l[85]=e=>nn.value=e),title:"PandoraNext验证信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",xl,[(0,p.Wm)(Ft,{onSubmit:l[84]||(l[84]=e=>Ku(Eo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Ul,(0,p.Wm)(Ut,{modelValue:En.value,"onUpdate:modelValue":l[77]||(l[77]=e=>En.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Al,(0,p.Wm)(Ut,{modelValue:Kn.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Kn.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),Hl,(0,p.Wm)(Ut,{modelValue:Jn.value,"onUpdate:modelValue":l[79]||(l[79]=e=>Jn.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),zl,(0,p.Wm)(Ut,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Mn.value,"onUpdate:modelValue":l[80]||(l[80]=e=>Mn.value=e)},null,8,["modelValue"])])),_:1}),Pl,(0,p.Wm)(Ut,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Gn.value,"onUpdate:modelValue":l[81]||(l[81]=e=>Gn.value=e)},null,8,["modelValue"])])),_:1}),Sl,(0,p.Wm)(Ut,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Yn.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Yn.value=e)},null,8,["modelValue"])])),_:1}),Nl,(0,p.Wm)(Ut,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Xn.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Xn.value=e)},null,8,["modelValue"])])),_:1}),Cl])),_:1}),(0,p._)("div",Ol,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),$l])),_:1},8,["show"]),(0,p.Wm)(Wu,{modelValue:tn.value,"onUpdate:modelValue":l[89]||(l[89]=e=>tn.value=e),title:"pool_token列表","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Bl,[(0,p.Wm)(ou,{onClick:l[86]||(l[86]=e=>ki(lt.value+yn.value+"/v1/chat/completions"))},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:1}),(0,p.Wm)(ru,{style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"}},{default:(0,p.w5)((()=>[(0,p.Uk)(" API地址:"+(0,v.zw)(lt.value)+(0,v.zw)(yn.value)+"/v1/chat/completions ",1)])),_:1})]),(0,p._)("div",Dl,[(0,p.Wm)((0,h.SU)(W.eI),{"row-class-name":ku,data:Ht.value,onSelectionChange:Xo,ref_key:"multipleTableRefPool",ref:Jo},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{type:"selection",width:"45"}),(0,p.Wm)(y,{prop:"intoOneApi",label:"pool_token名称",sortable:"","min-width":"170","default-sort":{prop:"poolTime",prop:"intoOneApi"},class:"poolTokenDialog"},{default:(0,p.w5)((e=>[(0,p._)("div",ql,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,p.wg)(),(0,p.iD)("div",Il,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[jl])),_:1})])):1==e.row.intoOneApi?((0,p.wg)(),(0,p.iD)("div",Ll,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Zl])),_:1})])):((0,p.wg)(),(0,p.iD)("div",Rl,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[El])),_:1})])),(0,p._)("span",Kl,(0,v.zw)(e.row.poolName),1)])])),_:1}),(0,p.Wm)(y,{label:"pool_token值","min-width":"265"},{default:(0,p.w5)((e=>[(0,p._)("div",Jl,[(0,p.Wm)(ou,{onClick:l=>ki(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:2},1032,["onClick"]),(0,p._)("span",Ml,(0,v.zw)(e.row.poolToken),1)])])),_:1}),(0,p.Wm)(y,{label:"使用token名集合","min-width":"165"},{default:(0,p.w5)((e=>[(0,p.Wm)(Mo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(e.row.shareTokens),1)])),_:2},1024)])),reference:(0,p.w5)((()=>[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[Gl])),_:1})])),_:2},1024)])),_:1}),(0,p.Wm)(y,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"180"}),(0,p.Wm)(y,{label:"操作方法","min-width":"285"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>di(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("检验")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>si(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>ni(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>ri(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])]),(0,p._)("div",Yl,[(0,p.Wm)(su,{class:"pool-button"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:gn.value,"onUpdate:modelValue":l[87]||(l[87]=e=>gn.value=e),filterable:"",clearable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(bn,(e=>(0,p.Wm)(Go,{key:e.buttonPoolValue,label:e.label,value:e.buttonPoolValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(V,{onClick:l[88]||(l[88]=e=>gi(gn.value))},{default:(0,p.w5)((()=>[Xl])),_:1})])),_:1})]),Fl])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:un.value,"onUpdate:modelValue":l[93]||(l[93]=e=>un.value=e),title:"PandoraNext余额","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ql,[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[ea,(0,p.Wm)(Ut,{modelValue:wu.value,"onUpdate:modelValue":l[90]||(l[90]=e=>wu.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),la,(0,p.Wm)(Ut,{modelValue:Qu.value,"onUpdate:modelValue":l[91]||(l[91]=e=>Qu.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),aa,(0,p.Wm)(Ut,{modelValue:ei.value,"onUpdate:modelValue":l[92]||(l[92]=e=>ei.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),oa])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(lu,{show:rn.value,"onUpdate:show":l[101]||(l[101]=e=>rn.value=e),title:"定时刷新&PandoraNext网址","align-center":"",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",na,[(0,p.Wm)(Ft,{onSubmit:l[100]||(l[100]=e=>Ju())},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[ta,(0,p.Wm)(Ut,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Fn.value,"onUpdate:modelValue":l[94]||(l[94]=e=>Fn.value=e)},null,8,["modelValue"])])),_:1}),1==Fn.value?((0,p.wg)(),(0,p.iD)("div",ua,[ia,(0,p.Wm)(Ut,{modelValue:Qn.value,"onUpdate:modelValue":l[95]||(l[95]=e=>Qn.value=e),name:"自动刷新session的间隔天数",label:"自动刷新session的间隔天数","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),ra,(0,p.Wm)(Ut,{modelValue:et.value,"onUpdate:modelValue":l[96]||(l[96]=e=>et.value=e),name:"自动刷新session的个数",label:"自动刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"])])):(0,p.kq)("",!0),sa,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:lt.value,"onUpdate:modelValue":l[97]||(l[97]=e=>lt.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),da,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:at.value,"onUpdate:modelValue":l[98]||(l[98]=e=>at.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),ma,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:ot.value,"onUpdate:modelValue":l[99]||(l[99]=e=>ot.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),ca])),_:1}),(0,p._)("div",pa,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),va])),_:1},8,["show"]),(0,p.Wm)(lu,{show:sn.value,"onUpdate:show":l[108]||(l[108]=e=>sn.value=e),title:"添加poolToken信息",width:"90vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",ha,[(0,p.Wm)(Ft,{onSubmit:du},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[(0,p.Wm)(Ut,{modelValue:tt.value,"onUpdate:modelValue":l[102]||(l[102]=e=>tt.value=e),name:"pool_token名",label:"pool_token名","input-align":"right",placeholder:"3到10个字符",rules:[{validator:pt}]},null,8,["modelValue","rules"]),wa,(0,p.Wm)(Ut,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:ut.value,"onUpdate:modelValue":l[103]||(l[103]=e=>ut.value=e)},null,8,["modelValue"])])),_:1}),1==ut.value?((0,p.wg)(),(0,p.iD)("div",_a,[ka,(0,p.Wm)(Ut,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:it.value,"onUpdate:modelValue":l[104]||(l[104]=e=>it.value=e)},null,8,["modelValue"])])),_:1}),fa,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[105]||(l[105]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ga,(0,p.Wm)(Ut,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Ko.value,"onUpdate:modelValue":l[106]||(l[106]=e=>Ko.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",ba,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",ya,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Va,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:rt.value,"onUpdate:modelValue":l[107]||(l[107]=e=>rt.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),Wa])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ta,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),xa])),_:1},8,["show"]),(0,p.Wm)(Wu,{modelValue:dn.value,"onUpdate:modelValue":l[109]||(l[109]=e=>dn.value=e),title:"tokensTool登录日志","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ua,[(0,p.Wm)((0,h.SU)(W.eI),{"row-class-name":ku,data:Pt.value},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{prop:"ipAddress",label:"登录地区","min-width":"160"},{default:(0,p.w5)((e=>[(0,p._)("div",Aa,[(0,p._)("span",Ha,(0,v.zw)(e.row.ipAddress),1)])])),_:1}),(0,p.Wm)(y,{label:"登录IP","min-width":"155"},{default:(0,p.w5)((e=>[(0,p._)("div",za,[(0,p.Wm)(ou,{onClick:l=>ki(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:2},1032,["onClick"]),(0,p._)("span",Pa,(0,v.zw)(e.row.requestIp),1)])])),_:1}),(0,p.Wm)(y,{label:"成功/失败","min-width":"105"},{default:(0,p.w5)((e=>[(0,p._)("div",Sa,[(0,p._)("span",Na,(0,v.zw)(e.row.inRequestNumber)+"/"+(0,v.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,p.Wm)(y,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),Ca])),_:1},8,["modelValue"]),(0,p.Wm)(lu,{show:mn.value,"onUpdate:show":l[117]||(l[117]=e=>mn.value=e),title:"添加poolToken信息",width:"95vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Oa,[(0,p.Wm)(Ft,{onSubmit:vu},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[$a,(0,p._)("div",Ba,[(0,p.Wm)(ju,{label:"poolToken名"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:nt.value,"onUpdate:modelValue":l[110]||(l[110]=e=>nt.value=e),filterable:"",clearable:"",placeholder:"选择要修改的pool名",onChange:mu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(Ht.value,(e=>((0,p.wg)(),(0,p.j4)(Go,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Da,(0,p.Wm)(Ut,{modelValue:dt.value,"onUpdate:modelValue":l[111]||(l[111]=e=>dt.value=e),type:"textarea",autoSize:"",name:"pool_token的值",label:"pool_token的值",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),qa,(0,p.Wm)(Ut,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:ut.value,"onUpdate:modelValue":l[112]||(l[112]=e=>ut.value=e)},null,8,["modelValue"])])),_:1}),Ia,1==ut.value?((0,p.wg)(),(0,p.iD)("div",ja,[La,(0,p.Wm)(Ut,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:it.value,"onUpdate:modelValue":l[113]||(l[113]=e=>it.value=e)},null,8,["modelValue"])])),_:1}),Za,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[114]||(l[114]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ra,(0,p.Wm)(Ut,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Ko.value,"onUpdate:modelValue":l[115]||(l[115]=e=>Ko.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Ea,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",Ka,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ja,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:rt.value,"onUpdate:modelValue":l[116]||(l[116]=e=>rt.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Ma])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ga,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ya])),_:1},8,["show"]),(0,p.Wm)(Wu,{modelValue:cn.value,"onUpdate:modelValue":l[118]||(l[118]=e=>cn.value=e),"align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",{ref_key:"chart",ref:bi,style:{width:"auto",height:"350px"}},null,512)])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:pn.value,"onUpdate:modelValue":l[122]||(l[122]=e=>pn.value=e),title:"share_token in oneApi","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p.Wm)(b,{modelValue:Gt.value,"onUpdate:modelValue":l[120]||(l[120]=e=>Gt.value=e),"show-action":"",clearable:"",shape:"round",placeholder:"请输入搜索share_token名称",onSearch:l[121]||(l[121]=e=>eu(Gt.value)),class:"onShareToken"},{action:(0,p.w5)((()=>[(0,p.Wm)(V,{onClick:l[119]||(l[119]=e=>vn.value=!0)},{default:(0,p.w5)((()=>[Xa])),_:1})])),_:1},8,["modelValue"]),(0,p._)("div",Fa,[(0,p.Wm)((0,h.SU)(W.eI),{data:zt.value,"row-class-name":ku},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{label:"在one_api的名称",prop:"oneApi_name",width:"180"},{default:(0,p.w5)((e=>[(0,p._)("div",Qa,[(0,p._)("span",eo,(0,v.zw)(e.row.oneApi_name),1)])])),_:1}),(0,p.Wm)(y,{label:"来源Token名","min-width":"135"},{default:(0,p.w5)((e=>[(0,p._)("div",lo,[(0,p._)("span",ao,(0,v.zw)(e.row.token_name),1)])])),_:1}),(0,p.Wm)(y,{label:"share_token值","min-width":"355"},{default:(0,p.w5)((e=>[(0,p._)("div",oo,[(0,p.Wm)(ou,{onClick:l=>ki(e.row.token_value)},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:2},1032,["onClick"]),(0,p._)("span",no,(0,v.zw)(e.row.token_value),1)])])),_:1}),(0,p.Wm)(y,{property:"shareTime",label:"更新时间",prop:"shareTime","min-width":"170"}),(0,p.Wm)(y,{label:"操作方法","min-width":"235"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>Iu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>ti(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("修改")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>ci(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])]),to])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:vn.value,"onUpdate:modelValue":l[129]||(l[129]=e=>vn.value=e),title:"添加shareToken进one_api","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",uo,[(0,p.Wm)(Ft,{onSubmit:hu},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[io,(0,p.Wm)(Ut,{modelValue:Lt.value,"onUpdate:modelValue":l[123]||(l[123]=e=>Lt.value=e),name:"oneApi中渠道名称",label:"oneApi中渠道名称","input-align":"right",placeholder:"oneApi中渠道名称",rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),ro,(0,p._)("div",so,[(0,p.Wm)(ju,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:Zt.value,"onUpdate:modelValue":l[124]||(l[124]=e=>Zt.value=e),filterable:"",clearable:"",placeholder:"选择要添加的Token名",onChange:cu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(pu.value,(e=>((0,p.wg)(),(0,p.j4)(Go,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),mo,(0,p._)("div",co,[(0,p.Wm)(ju,{label:"选择模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",po,[(0,p.Wm)(Fo,{modelValue:Et.value,"onUpdate:modelValue":l[125]||(l[125]=e=>Et.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"select models",style:{"max-width":"175px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(fn,(e=>(0,p.Wm)(Go,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),vo,(0,p.Wm)(Ut,{modelValue:Jt.value,"onUpdate:modelValue":l[126]||(l[126]=e=>Jt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),ho,(0,p.Wm)(Ut,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Kt.value,"onUpdate:modelValue":l[127]||(l[127]=e=>Kt.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",wo,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",_o,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),ko,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Rt.value,"onUpdate:modelValue":l[128]||(l[128]=e=>Rt.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),fo])),_:1}),(0,p._)("div",go,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:hn.value,"onUpdate:modelValue":l[144]||(l[144]=e=>hn.value=e),title:"查看shareToken在one_api信息","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",bo,[(0,p.Wm)(Ft,{onSubmit:e.shareToken},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[yo,(0,p.Wm)(Ut,{modelValue:Pu.value,"onUpdate:modelValue":l[130]||(l[130]=e=>Pu.value=e),name:"oneApi中渠道名称","input-align":"center",label:"oneApi中渠道名称",placeholder:"oneApi中渠道名称","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[131]||(l[131]=e=>ki(Pu.value)),rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),Vo,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Nu.value,"onUpdate:modelValue":l[132]||(l[132]=e=>Nu.value=e),name:"share_token的值",label:"share_token的值","input-align":"center",placeholder:"share_token的值","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[133]||(l[133]=e=>ki(Nu.value))},null,8,["modelValue"]),Wo,(0,p.Wm)(Ut,{modelValue:Su.value,"onUpdate:modelValue":l[134]||(l[134]=e=>Su.value=e),name:"share_token的来源",label:"share_token的来源","input-align":"center",placeholder:"share_token的值","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[135]||(l[135]=e=>ki(Su.value))},null,8,["modelValue"]),To,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:$u.value,"onUpdate:modelValue":l[136]||(l[136]=e=>$u.value=e),name:"模型",label:"模型","input-align":"center",placeholder:"加入的模型","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[137]||(l[137]=e=>ki($u.value))},null,8,["modelValue"]),xo,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[138]||(l[138]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"center",placeholder:"渠道优先级(默认为0)","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[139]||(l[139]=e=>ki(st.value)),rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Uo,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Du.value,"onUpdate:modelValue":l[140]||(l[140]=e=>Du.value=e),name:"加入的组别",label:"加入的组别","input-align":"center",placeholder:"加入的组别","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[141]||(l[141]=e=>ki(Du.value))},null,8,["modelValue"]),Ao,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Cu.value,"onUpdate:modelValue":l[142]||(l[142]=e=>Cu.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"center",placeholder:"自定义baseUrl地址","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[143]||(l[143]=e=>ki(Cu.value)),rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),Ho])),_:1})])),_:1},8,["onSubmit"])])])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:wn.value,"onUpdate:modelValue":l[150]||(l[150]=e=>wn.value=e),title:"修改shareToken进one_api","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",zo,[(0,p.Wm)(Ft,{onSubmit:ui},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Po,(0,p._)("div",So,[(0,p.Wm)(ju,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:Su.value,"onUpdate:modelValue":l[145]||(l[145]=e=>Su.value=e),filterable:"",clearable:"",placeholder:"选择添加的Token名称",onChange:cu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(pu.value,(e=>((0,p.wg)(),(0,p.j4)(Go,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),No,(0,p._)("div",Co,[(0,p.Wm)(ju,{label:"选择模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",Oo,[(0,p.Wm)(Fo,{modelValue:Ou.value,"onUpdate:modelValue":l[146]||(l[146]=e=>Ou.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"select models",style:{"max-width":"175px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(fn,(e=>(0,p.Wm)(Go,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),$o,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[147]||(l[147]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Bo,(0,p.Wm)(Ut,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Du.value,"onUpdate:modelValue":l[148]||(l[148]=e=>Du.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Do,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",qo,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Io,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Cu.value,"onUpdate:modelValue":l[149]||(l[149]=e=>Cu.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),jo])),_:1}),(0,p._)("div",Lo,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"])],64)}}});const Jo=Ko;var Mo=Jo}}]); +//# sourceMappingURL=581.b12fce75.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/581.b12fce75.js.map b/rearServer/src/main/resources/static/js/581.b12fce75.js.map new file mode 100644 index 0000000..4c06620 --- /dev/null +++ b/rearServer/src/main/resources/static/js/581.b12fce75.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/581.b12fce75.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue","webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue?1abb"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"img\", {\n style: {\n \"width\": \"25px\"\n },\n src: _imports_0\n}, null, -1);\nconst _hoisted_4 = {\n class: \"home-container\"\n};\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.3 \")], -1);\nconst _hoisted_11 = {\n class: \"under\"\n};\nconst _hoisted_12 = {\n class: \"search\"\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"0px 0px -20px 0px\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"width\": \"88vw\",\n \"height\": \"63vh\",\n \"transform\": \"translateX(0vw)\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_17 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_18 = {\n style: {\n \"margin\": \"13px\",\n \"transform\": \"translateX(7px)\"\n }\n};\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = {\n key: 0\n};\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 0\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_31 = {\n key: 1\n};\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = {\n key: 0\n};\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 1\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 0\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_49 = {\n key: 2\n};\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 3\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_54 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_57 = {\n key: 0\n};\nconst _hoisted_58 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_59 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_60 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_62 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_63 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = {\n key: 0\n};\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = {\n key: 0\n};\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = {\n key: 0\n};\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_121 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(102.5% + 40px)\"\n }\n};\nconst _hoisted_122 = {\n style: {\n \"margin-left\": \"10px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_123 = {\n key: 0\n};\nconst _hoisted_124 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_125 = {\n key: 1\n};\nconst _hoisted_126 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_127 = {\n key: 2\n};\nconst _hoisted_128 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_129 = {\n style: {\n \"margin-left\": \"20px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_130 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_132 = /*#__PURE__*/_createElementVNode(\"span\", {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n}, \"点击此进行查看\", -1);\nconst _hoisted_133 = {\n style: {\n \"margin\": \"10px 0px 10px 0px\"\n }\n};\nconst _hoisted_134 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_135 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_136 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_138 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_139 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = {\n key: 0\n};\nconst _hoisted_144 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_145 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_146 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_151 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_152 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_153 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_154 = {\n key: 0\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_157 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_158 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_159 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_160 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_161 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_162 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_163 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_164 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(100% + 2.5% + 40px)\"\n }\n};\nconst _hoisted_165 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_166 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_168 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_169 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_170 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_171 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_172 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_175 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_176 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = {\n key: 0\n};\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_181 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_182 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_183 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_184 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_185 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_186 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_187 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_188 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"添加到one_api\", -1);\nconst _hoisted_189 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(102.5% + 40px)\"\n }\n};\nconst _hoisted_190 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_191 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_192 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_193 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_194 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_195 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_196 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_197 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_198 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_199 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_200 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_201 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_202 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_203 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_204 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_205 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_206 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_207 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_208 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_209 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_210 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_211 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_212 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_213 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_214 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_215 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_216 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_217 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_218 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_219 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_220 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_221 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_222 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_223 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_224 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_225 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_226 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_227 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_228 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_229 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_230 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_231 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_232 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nimport { computed } from 'vue';\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIphone',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleTableRefPool = ref();\n const multipleSelection = ref([]);\n const multipleSelectionPool = ref([]);\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const poolSelectionChange = val => {\n multipleSelectionPool.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n const show_13 = ref(false);\n const show_14 = ref(false);\n const show_15 = ref(false);\n const show_16 = ref(false);\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n const buttonModel = ref(\"\");\n const optionsModel = [{\n buttonModel: \"gpt-4-s\",\n label: \"gpt-4-s\"\n }, {\n buttonModel: \"gpt-4-mobile\",\n label: \"gpt-4-mobile\"\n }, {\n buttonModel: \"gpt-4-vision\",\n label: \"gpt-4-vision\"\n }, {\n buttonModel: \"gpt-3.5-turbo\",\n label: \"gpt-3.5-turbo\"\n }, {\n buttonModel: \"gpt-4-classic\",\n label: \"gpt-4-classic\"\n }];\n const buttonPoolValue = ref(\"\");\n const optionsPool = [{\n buttonPoolValue: \"选中检查pool_token\",\n label: \"选中检查pool_token\"\n }, {\n buttonPoolValue: \"选中删除pool_token\",\n label: \"选中删除pool_token\"\n }, {\n buttonPoolValue: \"选中刷新pool_token\",\n label: \"选中刷新pool_token\"\n }, {\n buttonPoolValue: \"选中更换pool_token\",\n label: \"选中更换pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n const shareData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n /**\r\n * 添加用户信息参数\r\n */\n const addOneApi_name = ref(\"\");\n const addToken_name = ref(\"\");\n const addToken_value = ref(\"\");\n const addOneApi_baseUrl = ref(\"\");\n const addOneApi_models = ref([]);\n const addOneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const addPriority = ref(0);\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n const valuePool = ref(\"\");\n const valueShare = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n const onSearchShareToken = value => {\n getShare(value);\n };\n const onSearchPoolToken = value => {\n getPool(value);\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=${value}`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getShare = async value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const responseShare = await axios.get(`${prefix}/api/selectShareToken?name=${value}`, {\n headers\n });\n const share_token = responseShare.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(share_token)) {\n const resShares = share_token.map(item => ({\n oneApi_name: item.oneApi_name,\n token_name: item.token_name,\n token_value: item.token_value,\n oneApi_baseUrl: item.oneApi_baseUrl,\n oneApi_models: item.oneApi_models,\n oneApi_groups: item.oneApi_groups,\n shareTime: item.shareTime,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n shareData.value = resShares;\n }\n loadingInstance.close();\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n if (!pandoraNext_outUrl.value.endsWith(\"/\")) {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + \"/\" + proxy_api_prefix.value;\n } else {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n }\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const handleShareNameChange = addToken_name => {\n let selectedItem = tableData.value.find(item => item.name === addToken_name && item.setPoolToken === true);\n };\n const filteredTableData = computed(() => {\n return tableData.value.filter(item => item.setPoolToken === true);\n });\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const addShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const addShareToken = {\n oneApi_name: addOneApi_name.value,\n token_name: addToken_name.value,\n oneApi_baseUrl: addOneApi_baseUrl.value,\n oneApi_models: addOneApi_models.value.toString(),\n oneApi_groups: addOneApi_groups.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addShareToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n addOneApi_name.value = \"\";\n addToken_name.value = \"\";\n addOneApi_baseUrl.value = \"\";\n addOneApi_models.value = [];\n addOneApi_groups.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_14.value = false;\n loadingInstance.close();\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n const oneApi_name = ref(\"\");\n const token_name = ref(\"\");\n const token_value = ref(\"\");\n const oneApi_baseUrl = ref(\"\");\n const oneApi_models = ref([]);\n const temOneApi_models = ref(\"\");\n const temOneApi_groups = ref(\"\");\n const oneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const shareTime = ref(\"\");\n const showShareToken = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n temOneApi_models.value = row.oneApi_models;\n temOneApi_groups.value = row.oneApi_groups;\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_15.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提示\", {\n dangerouslyUseHTMLString: true\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n const reviewShare = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n oneApi_models.value = row.oneApi_models.split(\",\");\n oneApi_groups.value = row.oneApi_groups.split(\",\");\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_16.value = true;\n };\n const requireShareToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const requireShare = {\n oneApi_name: oneApi_name.value,\n token_name: token_name.value,\n token_value: token_value.value,\n oneApi_baseUrl: oneApi_baseUrl.value,\n oneApi_models: oneApi_models.value.toString(),\n oneApi_groups: oneApi_groups.value.toString(),\n priority: priority.value\n };\n fetch(`${prefix}/api/requireShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(requireShare)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getShare(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n show_16.value = false;\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteShareToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个share_Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteShareToken`, row, {\n headers\n }).then(async response => {\n msg = response.data.data;\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getShareToken = async () => {\n await getShare(\"\");\n show_13.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const selectPoolChoice = buttonValue => {\n const selectedPoolData = multipleSelectionPool.value;\n const temPoolData = selectedPoolData.map(temPoolData => temPoolData);\n if (temPoolData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中检查pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要花\" + count + \"积分检查这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"检查取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中刷新pool_token\") {\n const reNewMsg = \"您确定要刷新这\" + selectedPoolData.length + \"个pool_token吗?\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中更换pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要更换这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"更换取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中删除pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要删除这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/deletePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n return;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_select_group = _resolveComponent(\"el-select-group\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"0\"\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\",\n onClick: getPandoraNext\n })]),\n default: _withCtx(() => [_hoisted_3]),\n _: 1\n }), _hoisted_5, _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"列表\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-1\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"pool_token列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2\",\n onClick: getShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"share_token列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"全部检查并生成\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-4\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-5\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"1-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-4\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-5\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用手册\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"状态\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"2-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-2-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-3-1\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-2\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-3\"\n }, {\n default: _withCtx(() => [_hoisted_8]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createElementVNode(\"div\", _hoisted_13, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => value.value = $event),\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索token名称或类型\",\n onSearch: onSearch\n }, null, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_14, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n class: \"tokenTable\",\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n width: \"160\",\n prop: \"setPoolToken\",\n sortable: \"\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_15, [_createElementVNode(\"div\", null, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024)]), _createElementVNode(\"span\", _hoisted_16, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n width: \"117\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createElementVNode(\"span\", _hoisted_17, [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)])]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"370\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_18, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"my-button\",\n onClick: _cache[6] || (_cache[6] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_19]),\n _: 1\n })])])]), _hoisted_20]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[17] || (_cache[17] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_21, [_createVNode(_component_van_form, {\n onSubmit: _cache[16] || (_cache[16] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_22, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n \"input-align\": \"center\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n \"input-align\": \"center\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [_hoisted_26, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_30, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [_hoisted_32, _createVNode(_component_van_field, {\n rows: \"2\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => temPassword.value = $event),\n name: \"Token的密码\",\n \"input-align\": \"center\",\n label: \"Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_33, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n \"input-align\": \"center\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 50\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_34]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_35, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_36]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[29] || (_cache[29] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_form, {\n onSubmit: _cache[28] || (_cache[28] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_38, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_39, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => addUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n rules: [{\n required: true,\n message: '请填写OpenAi用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_40, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[20] || (_cache[20] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [_hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_48, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_49, [_hoisted_50, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addPassword.value = $event),\n name: \"Token的密码\",\n label: \"Token的密码\",\n \"input-align\": \"center\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_53]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_54, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_55]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[49] || (_cache[49] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_57, [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_59, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_62, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[31] || (_cache[31] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_63, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[32] || (_cache[32] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"Token的密码\",\n label: \"Token的密码\",\n placeholder: \"Token的密码\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[33] || (_cache[33] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_64, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_67, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[39] || (_cache[39] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_68, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[41] || (_cache[41] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[44] || (_cache[44] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_72, [_hoisted_73, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[46] || (_cache[46] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), _hoisted_74, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的share_token\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_75]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[64] || (_cache[64] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_76, [_createVNode(_component_van_form, {\n onSubmit: _cache[63] || (_cache[63] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_77, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[50] || (_cache[50] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_78, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_79, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[52] || (_cache[52] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[53] || (_cache[53] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_82, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_83, [_hoisted_84, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_85, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_86, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_87, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_90, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_91]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_92, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_93]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[76] || (_cache[76] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_form, {\n onSubmit: _cache[75] || (_cache[75] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_95, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_96, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_97, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[67] || (_cache[67] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[68] || (_cache[68] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_101, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_102, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_103, [_hoisted_104, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_105, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_106]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_107, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_108]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[85] || (_cache[85] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_form, {\n onSubmit: _cache[84] || (_cache[84] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_110, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_111, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_112, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[79] || (_cache[79] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[80] || (_cache[80] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_114, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_118, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_119]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[89] || (_cache[89] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_el_icon, {\n onClick: _cache[86] || (_cache[86] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, {\n style: {\n \"white-space\": \"nowrap\",\n \"overflow\": \"hidden\",\n \"text-overflow\": \"ellipsis\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\" API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions \", 1)]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_121, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: poolData.value,\n onSelectionChange: poolSelectionChange,\n ref_key: \"multipleTableRefPool\",\n ref: multipleTableRefPool\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n prop: \"intoOneApi\",\n label: \"pool_token名称\",\n sortable: \"\",\n \"min-width\": \"170\",\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_122, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_123, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_124]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_125, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_126]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_127, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_128]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_129, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"265\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_130, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_131, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"165\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.shareTokens), 1)]),\n _: 2\n }, 1024)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_hoisted_132]),\n _: 1\n })]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"180\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"285\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])]), _createElementVNode(\"div\", _hoisted_133, [_createVNode(_component_el_select_group, {\n class: \"pool-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: buttonPoolValue.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => buttonPoolValue.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsPool, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonPoolValue,\n label: item.label,\n value: item.buttonPoolValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n onClick: _cache[88] || (_cache[88] = $event => selectPoolChoice(buttonPoolValue.value))\n }, {\n default: _withCtx(() => [_hoisted_134]),\n _: 1\n })]),\n _: 1\n })]), _hoisted_135]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_136, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_137, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[90] || (_cache[90] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_138, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_139, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[92] || (_cache[92] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_140]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_8.value,\n \"onUpdate:show\": _cache[101] || (_cache[101] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_141, [_createVNode(_component_van_form, {\n onSubmit: _cache[100] || (_cache[100] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_142, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[94] || (_cache[94] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_143, [_hoisted_144, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => auto_updateTime.value = $event),\n name: \"自动刷新session的间隔天数\",\n label: \"自动刷新session的间隔天数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_145, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => auto_updateNumber.value = $event),\n name: \"自动刷新session的个数\",\n label: \"自动刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_146, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_147, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[98] || (_cache[98] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_148, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[99] || (_cache[99] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_149]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_150, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_151]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_9.value,\n \"onUpdate:show\": _cache[108] || (_cache[108] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n width: \"90vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_152, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[102] || (_cache[102] = $event => poolNameValue.value = $event),\n name: \"pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"3到10个字符\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_153, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_154, [_hoisted_155, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_156, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_157, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[106] || (_cache[106] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_158, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_159, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_160, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_161])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_162, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_163]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_164, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"160\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_165, [_createElementVNode(\"span\", _hoisted_166, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"155\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_167, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_168, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_169, [_createElementVNode(\"span\", _hoisted_170, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_171]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_11.value,\n \"onUpdate:show\": _cache[117] || (_cache[117] = $event => show_11.value = $event),\n title: \"添加poolToken信息\",\n width: \"95vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_172, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_173, _createElementVNode(\"div\", _hoisted_174, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择要修改的pool名\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_175, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => temPool_token.value = $event),\n type: \"textarea\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_176, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_177, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_178, [_hoisted_179, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_180, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_181, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[115] || (_cache[115] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_182, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_183, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_184, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_185])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_186, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_187]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[118] || (_cache[118] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"350px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_13.value,\n \"onUpdate:modelValue\": _cache[122] || (_cache[122] = $event => show_13.value = $event),\n title: \"share_token in oneApi\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_search, {\n modelValue: valueShare.value,\n \"onUpdate:modelValue\": _cache[120] || (_cache[120] = $event => valueShare.value = $event),\n \"show-action\": \"\",\n clearable: \"\",\n shape: \"round\",\n placeholder: \"请输入搜索share_token名称\",\n onSearch: _cache[121] || (_cache[121] = $event => onSearchShareToken(valueShare.value)),\n class: \"onShareToken\"\n }, {\n action: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[119] || (_cache[119] = $event => show_14.value = true)\n }, {\n default: _withCtx(() => [_hoisted_188]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"]), _createElementVNode(\"div\", _hoisted_189, [_createVNode(_unref(ElTable), {\n data: shareData.value,\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n label: \"在one_api的名称\",\n prop: \"oneApi_name\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_190, [_createElementVNode(\"span\", _hoisted_191, _toDisplayString(scope.row.oneApi_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"来源Token名\",\n \"min-width\": \"135\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_192, [_createElementVNode(\"span\", _hoisted_193, _toDisplayString(scope.row.token_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"share_token值\",\n \"min-width\": \"355\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_194, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.token_value)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_195, _toDisplayString(scope.row.token_value), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"shareTime\",\n label: \"更新时间\",\n prop: \"shareTime\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"235\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => showShareToken(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewShare(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"修改\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteShareToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_196]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_14.value,\n \"onUpdate:modelValue\": _cache[129] || (_cache[129] = $event => show_14.value = $event),\n title: \"添加shareToken进one_api\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_197, [_createVNode(_component_van_form, {\n onSubmit: addShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_198, _createVNode(_component_van_field, {\n modelValue: addOneApi_name.value,\n \"onUpdate:modelValue\": _cache[123] || (_cache[123] = $event => addOneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n label: \"oneApi中渠道名称\",\n \"input-align\": \"right\",\n placeholder: \"oneApi中渠道名称\",\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_199, _createElementVNode(\"div\", _hoisted_200, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: addToken_name.value,\n \"onUpdate:modelValue\": _cache[124] || (_cache[124] = $event => addToken_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择要添加的Token名\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_201, _createElementVNode(\"div\", _hoisted_202, [_createVNode(_component_el_form_item, {\n label: \"选择模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_203, [_createVNode(_component_el_select, {\n modelValue: addOneApi_models.value,\n \"onUpdate:modelValue\": _cache[125] || (_cache[125] = $event => addOneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"select models\",\n style: {\n \"max-width\": \"175px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_204, _createVNode(_component_van_field, {\n modelValue: addPriority.value,\n \"onUpdate:modelValue\": _cache[126] || (_cache[126] = $event => addPriority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_205, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: addOneApi_groups.value,\n \"onUpdate:modelValue\": _cache[127] || (_cache[127] = $event => addOneApi_groups.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_206, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_207, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_208, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: addOneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[128] || (_cache[128] = $event => addOneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_209]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_210, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_15.value,\n \"onUpdate:modelValue\": _cache[144] || (_cache[144] = $event => show_15.value = $event),\n title: \"查看shareToken在one_api信息\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_211, [_createVNode(_component_van_form, {\n onSubmit: _ctx.shareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_212, _createVNode(_component_van_field, {\n modelValue: oneApi_name.value,\n \"onUpdate:modelValue\": _cache[130] || (_cache[130] = $event => oneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n \"input-align\": \"center\",\n label: \"oneApi中渠道名称\",\n placeholder: \"oneApi中渠道名称\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[131] || (_cache[131] = $event => copyToken(oneApi_name.value)),\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_213, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: token_value.value,\n \"onUpdate:modelValue\": _cache[132] || (_cache[132] = $event => token_value.value = $event),\n name: \"share_token的值\",\n label: \"share_token的值\",\n \"input-align\": \"center\",\n placeholder: \"share_token的值\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[133] || (_cache[133] = $event => copyToken(token_value.value))\n }, null, 8, [\"modelValue\"]), _hoisted_214, _createVNode(_component_van_field, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[134] || (_cache[134] = $event => token_name.value = $event),\n name: \"share_token的来源\",\n label: \"share_token的来源\",\n \"input-align\": \"center\",\n placeholder: \"share_token的值\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[135] || (_cache[135] = $event => copyToken(token_name.value))\n }, null, 8, [\"modelValue\"]), _hoisted_215, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: temOneApi_models.value,\n \"onUpdate:modelValue\": _cache[136] || (_cache[136] = $event => temOneApi_models.value = $event),\n name: \"模型\",\n label: \"模型\",\n \"input-align\": \"center\",\n placeholder: \"加入的模型\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[137] || (_cache[137] = $event => copyToken(temOneApi_models.value))\n }, null, 8, [\"modelValue\"]), _hoisted_216, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[138] || (_cache[138] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"center\",\n placeholder: \"渠道优先级(默认为0)\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[139] || (_cache[139] = $event => copyToken(priority.value)),\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_217, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[140] || (_cache[140] = $event => oneApi_groups.value = $event),\n name: \"加入的组别\",\n label: \"加入的组别\",\n \"input-align\": \"center\",\n placeholder: \"加入的组别\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[141] || (_cache[141] = $event => copyToken(oneApi_groups.value))\n }, null, 8, [\"modelValue\"]), _hoisted_218, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[142] || (_cache[142] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"center\",\n placeholder: \"自定义baseUrl地址\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[143] || (_cache[143] = $event => copyToken(oneApi_baseUrl.value)),\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_219]),\n _: 1\n })]),\n _: 1\n }, 8, [\"onSubmit\"])])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_16.value,\n \"onUpdate:modelValue\": _cache[150] || (_cache[150] = $event => show_16.value = $event),\n title: \"修改shareToken进one_api\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_220, [_createVNode(_component_van_form, {\n onSubmit: requireShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_221, _createElementVNode(\"div\", _hoisted_222, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[145] || (_cache[145] = $event => token_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择添加的Token名称\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_223, _createElementVNode(\"div\", _hoisted_224, [_createVNode(_component_el_form_item, {\n label: \"选择模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_225, [_createVNode(_component_el_select, {\n modelValue: oneApi_models.value,\n \"onUpdate:modelValue\": _cache[146] || (_cache[146] = $event => oneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"select models\",\n style: {\n \"max-width\": \"175px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_226, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[147] || (_cache[147] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_227, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[148] || (_cache[148] = $event => oneApi_groups.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_228, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_229, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_230, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[149] || (_cache[149] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_231]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_232, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIphone.vue?vue&type=style&index=0&id=4e8068fc&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","style","src","_hoisted_4","_hoisted_5","_hoisted_6","href","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","key","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","_hoisted_185","_hoisted_186","_hoisted_187","_hoisted_188","_hoisted_189","_hoisted_190","_hoisted_191","_hoisted_192","_hoisted_193","_hoisted_194","_hoisted_195","_hoisted_196","_hoisted_197","_hoisted_198","_hoisted_199","_hoisted_200","_hoisted_201","_hoisted_202","_hoisted_203","_hoisted_204","_hoisted_205","_hoisted_206","_hoisted_207","_hoisted_208","_hoisted_209","_hoisted_210","_hoisted_211","_hoisted_212","_hoisted_213","_hoisted_214","_hoisted_215","_hoisted_216","_hoisted_217","_hoisted_218","_hoisted_219","_hoisted_220","_hoisted_221","_hoisted_222","_hoisted_223","_hoisted_224","_hoisted_225","_hoisted_226","_hoisted_227","_hoisted_228","_hoisted_229","_hoisted_230","_hoisted_231","_hoisted_232","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleTableRefPool","multipleSelection","multipleSelectionPool","handleSelectionChange","val","value","poolSelectionChange","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","show_13","show_14","show_15","show_16","buttonValue","options","label","optionsModel","buttonModel","buttonPoolValue","optionsPool","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","shareData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","addOneApi_name","addToken_name","addOneApi_baseUrl","addOneApi_models","addOneApi_groups","addPriority","innerHeight","valueShare","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","onSearchShareToken","getShare","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","getPool","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","loadingInstance","service","fullscreen","responseShare","resShares","oneApi_name","token_name","token_value","oneApi_baseUrl","oneApi_models","oneApi_groups","shareTime","close","getSetting","tls","endsWith","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","json","msg","handlePoolNameChange","selectedItem","find","handleShareNameChange","filteredTableData","requirePoolToken","addShareToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","temOneApi_models","temOneApi_groups","showShareToken","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","dangerouslyUseHTMLString","reNew","reNewMsg","ok","Error","reNewPool","reviewShare","requireShareToken","requireShare","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","deleteShareToken","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","logout","removeItem","getPoolToken","getShareToken","getLogin","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","selectPoolChoice","selectedPoolData","temPoolData","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_van_icon","_component_el_menu_item","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_select_group","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","size","onClick","$event","icon","extra","square","color","modelValue","shape","clearable","placeholder","onSelectionChange","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","filterable","onSubmit","inset","rules","required","rows","autoSize","validator","maxlength","autosize","maxHeight","minHeight","round","block","suffix","readonly","onClickLeftIcon","disabled","ref_key","ref","property","input","onChange","multiple","shareToken","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/608.2335e494.js b/rearServer/src/main/resources/static/js/608.2335e494.js new file mode 100644 index 0000000..51ff70e --- /dev/null +++ b/rearServer/src/main/resources/static/js/608.2335e494.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[608],{4476:function(e,a,t){t.r(a),t.d(a,{default:function(){return S}});var o=t(6773),l=(t(487),t(3164)),s=(t(6335),t(6252));const n=e=>((0,s.dD)("data-v-b90dbbf6"),e=e(),(0,s.Cn)(),e),r={class:"content_login"},i=n((()=>(0,s._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1))),d=n((()=>(0,s._)("div",{class:"login-container"},[(0,s._)("h4",null,"PandoraNext-TokensTool")],-1))),m={class:"container"},c={style:{display:"flex",transform:"translate(0vw, 2vh)","font-size":"14.6px"}},u={style:{display:"flex",transform:"translate(0vw, 2vh)","margin-top":"5vh","font-size":"14.6px"}},v={style:{display:"flex",transform:"translate(0.5vw, 0vh)","margin-top":"6vh"}},p={style:{display:"block",transform:"translate(0vw, 0vh)","margin-top":"3.5vh"}},h=n((()=>(0,s._)("div",{class:"bottom"},[(0,s._)("div",{style:{"text-align":"center",transform:"translateY(0vh)"}},[(0,s._)("h3",null,[(0,s._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"Powered by tokensTool v0.6.3")])])],-1)));function g(e,a,t,n,g,w){const b=l.gN,f=(0,s.up)("h9"),k=o.XZ;return(0,s.wg)(),(0,s.iD)("div",r,[i,d,(0,s._)("div",m,[(0,s._)("div",c,[(0,s.Wm)(b,{modelValue:n.username,"onUpdate:modelValue":a[0]||(a[0]=e=>n.username=e),clearable:"",name:"username",label:"Username",placeholder:"username",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",u,[(0,s.Wm)(b,{modelValue:n.password,"onUpdate:modelValue":a[1]||(a[1]=e=>n.password=e),clearable:"",type:"password",name:"password",label:"Password",placeholder:"password",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",v,[(0,s.Wm)(k,{class:"remember",modelValue:n.checked,"onUpdate:modelValue":a[2]||(a[2]=e=>n.checked=e),"checked-color":"#0ea27e","icon-size":"13.5px"},{default:(0,s.w5)((()=>[(0,s.Wm)(f,{style:{"font-size":"13.5px",transform:"translateX(7px)"}},{default:(0,s.w5)((()=>[(0,s.Uk)("Remember me")])),_:1})])),_:1},8,["modelValue"])]),(0,s._)("div",p,[(0,s._)("input",{type:"submit",onClick:a[3]||(a[3]=(...e)=>n.submit&&n.submit(...e)),value:"Continue",class:"userName"})])]),h])}var w=t(2262),b=t(2201),f=t(6154),k=t.p+"img/chatGpt.93292c55.jpg",_=t(1348),y={setup(){const e=(0,b.tv)(),a=window.location.pathname,t=a.split("/");let o="";t.length>=3&&(o="/"+t[1]);const l=(0,w.iH)(""),n=(0,w.iH)(""),r=(0,w.iH)(""),i=k,d=(0,w.iH)(!0);(0,s.bv)((async()=>{const e=localStorage.getItem("savedUsername"),a=localStorage.getItem("savedPassword"),t=localStorage.getItem("savedRemember");"true"===t&&(l.value=e||"",n.value=a||"",r.value=!0),window.innerWidth>767&&(d.value=!1),c()}));const m=localStorage.getItem("jwtToken"),c=async()=>{f.Z.post(`${o}/api/loginToken?token=`+m).then((a=>{1!=a.data.code?_.z8.error("令牌失效,请重新登录!"):window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")})).catch((e=>{_.z8.error("令牌失效,请重新登录!")}))},u=()=>{r.value?(localStorage.setItem("savedUsername",l.value),localStorage.setItem("savedPassword",n.value),localStorage.setItem("savedRemember","true")):(localStorage.removeItem("savedUsername"),localStorage.removeItem("savedPassword"),localStorage.removeItem("savedRemember"));let a={loginUsername:l.value,loginPassword:n.value};fetch(`${o}/api/login`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify(a)}).then((e=>e.json())).then((a=>{if(1===a.code){const t=a.data;localStorage.setItem("jwtToken",t),_.z8.success("登录成功!"),setTimeout((()=>{window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")}),1e3)}else _.z8.error(a.msg)})).catch((e=>{console.error("登录时出现错误:",e),_.z8.error("账号或密码错误!")}))};return{username:l,password:n,image:i,checked:r,submit:u,page:d}}},T=t(3744);const x=(0,T.Z)(y,[["render",g],["__scopeId","data-v-b90dbbf6"]]);var S=x}}]); +//# sourceMappingURL=608.2335e494.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/137.9bfe0990.js.map b/rearServer/src/main/resources/static/js/608.2335e494.js.map similarity index 96% rename from rearServer/src/main/resources/static/js/137.9bfe0990.js.map rename to rearServer/src/main/resources/static/js/608.2335e494.js.map index 5f1cb40..5e53356 100644 --- a/rearServer/src/main/resources/static/js/137.9bfe0990.js.map +++ b/rearServer/src/main/resources/static/js/608.2335e494.js.map @@ -1 +1 @@ -{"version":3,"file":"js/137.9bfe0990.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?e2ae","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?41fe"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-6ca3dbb4\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"content_login\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1));\nconst _hoisted_3 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"login-container\"\n}, [/*#__PURE__*/_createElementVNode(\"h4\", null, \"PandoraNext-TokensTool\")], -1));\nconst _hoisted_4 = {\n class: \"container\"\n};\nconst _hoisted_5 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_6 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"margin-top\": \"5vh\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_7 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0.5vw, 0vh)\",\n \"margin-top\": \"6vh\"\n }\n};\nconst _hoisted_8 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(0vw, 0vh)\",\n \"margin-top\": \"3.5vh\"\n }\n};\nconst _hoisted_9 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"bottom\"\n}, [/*#__PURE__*/_createElementVNode(\"div\", {\n style: {\n \"text-align\": \"center\",\n \"transform\": \"translateY(0vh)\"\n }\n}, [/*#__PURE__*/_createElementVNode(\"h3\", null, [/*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"Powered by tokensTool v0.6.2\")])])], -1));\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_h9 = _resolveComponent(\"h9\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_hoisted_2, _hoisted_3, _createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_van_field, {\n modelValue: $setup.username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.username = $event),\n clearable: \"\",\n name: \"username\",\n label: \"Username\",\n placeholder: \"username\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_van_field, {\n modelValue: $setup.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.password = $event),\n clearable: \"\",\n type: \"password\",\n name: \"password\",\n label: \"Password\",\n placeholder: \"password\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_van_checkbox, {\n class: \"remember\",\n modelValue: $setup.checked,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.checked = $event),\n \"checked-color\": \"#0ea27e\",\n \"icon-size\": \"13.5px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_h9, {\n style: {\n \"font-size\": \"13.5px\",\n \"transform\": \"translateX(7px)\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\"Remember me\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"input\", {\n type: \"submit\",\n onClick: _cache[3] || (_cache[3] = (...args) => $setup.submit && $setup.submit(...args)),\n value: \"Continue\",\n class: \"userName\"\n })])]), _hoisted_9]);\n}","import { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage } from \"element-plus\";\nexport default {\n setup() {\n const router = useRouter();\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const username = ref(\"\");\n const password = ref(\"\");\n const checked = ref(\"\");\n const image = png;\n const page = ref(true);\n onMounted(async () => {\n const savedUsername = localStorage.getItem(\"savedUsername\");\n const savedPassword = localStorage.getItem(\"savedPassword\");\n const savedRemember = localStorage.getItem(\"savedRemember\");\n if (savedRemember === \"true\") {\n username.value = savedUsername || \"\";\n password.value = savedPassword || \"\";\n checked.value = true;\n }\n if (window.innerWidth > 767) {\n page.value = false;\n }\n fetchLoginToken();\n });\n\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 不允许有空格和回车符\n const regex = /^(?!.*[\\s\\r\\n]).*$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不允许包含空格和回车符\";\n }\n };\n\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/login\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 1) {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n return;\n } else {\n ElMessage.error(\"令牌失效,请重新登录!\");\n }\n }).catch(error => {\n ElMessage.error(\"令牌失效,请重新登录!\");\n });\n };\n const submit = () => {\n // 处理登录逻辑\n if (checked.value) {\n // 如果记住密码被选中,将用户名和密码保存到本地存储\n localStorage.setItem(\"savedUsername\", username.value);\n localStorage.setItem(\"savedPassword\", password.value);\n localStorage.setItem(\"savedRemember\", \"true\");\n } else {\n // 如果不记住密码,清除本地存储中的信息\n localStorage.removeItem(\"savedUsername\");\n localStorage.removeItem(\"savedPassword\");\n localStorage.removeItem(\"savedRemember\");\n }\n let setting = {\n loginUsername: username.value,\n loginPassword: password.value\n };\n fetch(`${prefix}/api/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${setting}`\n },\n body: JSON.stringify(setting)\n }).then(response => response.json()).then(data => {\n if (data.code === 1) {\n const token = data.data;\n localStorage.setItem(\"jwtToken\", token);\n ElMessage.success(\"登录成功!\");\n setTimeout(() => {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n }, 1000);\n } else {\n ElMessage.error(data.msg);\n }\n }).catch(error => {\n console.error(\"登录时出现错误:\", error);\n ElMessage.error(\"账号或密码错误!\");\n });\n };\n return {\n username,\n password,\n image,\n checked,\n submit,\n page\n };\n }\n};","/* unplugin-vue-components disabled */import { render } from \"./loginIndex.vue?vue&type=template&id=6ca3dbb4&scoped=true\"\nimport script from \"./loginIndex.vue?vue&type=script&lang=js\"\nexport * from \"./loginIndex.vue?vue&type=script&lang=js\"\n\nimport \"./loginIndex.vue?vue&type=style&index=0&id=6ca3dbb4&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6ca3dbb4\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","style","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","href","render","_ctx","_cache","$props","$setup","$data","$options","_component_van_field","_component_h9","_component_van_checkbox","modelValue","username","$event","clearable","label","placeholder","rules","validator","customValidator","password","type","checked","default","onClick","args","submit","value","setup","router","path","window","location","pathname","parts","split","prefix","length","image","page","async","savedUsername","localStorage","getItem","savedPassword","savedRemember","innerWidth","fetchLoginToken","token","axios","post","then","response","data","code","error","replace","catch","setItem","removeItem","setting","loginUsername","loginPassword","fetch","method","headers","Authorization","body","JSON","stringify","json","success","setTimeout","msg","console","__exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/608.2335e494.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?7c7c","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?41fe"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-b90dbbf6\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"content_login\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1));\nconst _hoisted_3 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"login-container\"\n}, [/*#__PURE__*/_createElementVNode(\"h4\", null, \"PandoraNext-TokensTool\")], -1));\nconst _hoisted_4 = {\n class: \"container\"\n};\nconst _hoisted_5 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_6 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"margin-top\": \"5vh\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_7 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0.5vw, 0vh)\",\n \"margin-top\": \"6vh\"\n }\n};\nconst _hoisted_8 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(0vw, 0vh)\",\n \"margin-top\": \"3.5vh\"\n }\n};\nconst _hoisted_9 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"bottom\"\n}, [/*#__PURE__*/_createElementVNode(\"div\", {\n style: {\n \"text-align\": \"center\",\n \"transform\": \"translateY(0vh)\"\n }\n}, [/*#__PURE__*/_createElementVNode(\"h3\", null, [/*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"Powered by tokensTool v0.6.3\")])])], -1));\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_h9 = _resolveComponent(\"h9\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_hoisted_2, _hoisted_3, _createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_van_field, {\n modelValue: $setup.username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.username = $event),\n clearable: \"\",\n name: \"username\",\n label: \"Username\",\n placeholder: \"username\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_van_field, {\n modelValue: $setup.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.password = $event),\n clearable: \"\",\n type: \"password\",\n name: \"password\",\n label: \"Password\",\n placeholder: \"password\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_van_checkbox, {\n class: \"remember\",\n modelValue: $setup.checked,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.checked = $event),\n \"checked-color\": \"#0ea27e\",\n \"icon-size\": \"13.5px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_h9, {\n style: {\n \"font-size\": \"13.5px\",\n \"transform\": \"translateX(7px)\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\"Remember me\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"input\", {\n type: \"submit\",\n onClick: _cache[3] || (_cache[3] = (...args) => $setup.submit && $setup.submit(...args)),\n value: \"Continue\",\n class: \"userName\"\n })])]), _hoisted_9]);\n}","import { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage } from \"element-plus\";\nexport default {\n setup() {\n const router = useRouter();\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const username = ref(\"\");\n const password = ref(\"\");\n const checked = ref(\"\");\n const image = png;\n const page = ref(true);\n onMounted(async () => {\n const savedUsername = localStorage.getItem(\"savedUsername\");\n const savedPassword = localStorage.getItem(\"savedPassword\");\n const savedRemember = localStorage.getItem(\"savedRemember\");\n if (savedRemember === \"true\") {\n username.value = savedUsername || \"\";\n password.value = savedPassword || \"\";\n checked.value = true;\n }\n if (window.innerWidth > 767) {\n page.value = false;\n }\n fetchLoginToken();\n });\n\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 不允许有空格和回车符\n const regex = /^(?!.*[\\s\\r\\n]).*$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不允许包含空格和回车符\";\n }\n };\n\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/login\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 1) {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n return;\n } else {\n ElMessage.error(\"令牌失效,请重新登录!\");\n }\n }).catch(error => {\n ElMessage.error(\"令牌失效,请重新登录!\");\n });\n };\n const submit = () => {\n // 处理登录逻辑\n if (checked.value) {\n // 如果记住密码被选中,将用户名和密码保存到本地存储\n localStorage.setItem(\"savedUsername\", username.value);\n localStorage.setItem(\"savedPassword\", password.value);\n localStorage.setItem(\"savedRemember\", \"true\");\n } else {\n // 如果不记住密码,清除本地存储中的信息\n localStorage.removeItem(\"savedUsername\");\n localStorage.removeItem(\"savedPassword\");\n localStorage.removeItem(\"savedRemember\");\n }\n let setting = {\n loginUsername: username.value,\n loginPassword: password.value\n };\n fetch(`${prefix}/api/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${setting}`\n },\n body: JSON.stringify(setting)\n }).then(response => response.json()).then(data => {\n if (data.code === 1) {\n const token = data.data;\n localStorage.setItem(\"jwtToken\", token);\n ElMessage.success(\"登录成功!\");\n setTimeout(() => {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n }, 1000);\n } else {\n ElMessage.error(data.msg);\n }\n }).catch(error => {\n console.error(\"登录时出现错误:\", error);\n ElMessage.error(\"账号或密码错误!\");\n });\n };\n return {\n username,\n password,\n image,\n checked,\n submit,\n page\n };\n }\n};","/* unplugin-vue-components disabled */import { render } from \"./loginIndex.vue?vue&type=template&id=b90dbbf6&scoped=true\"\nimport script from \"./loginIndex.vue?vue&type=script&lang=js\"\nexport * from \"./loginIndex.vue?vue&type=script&lang=js\"\n\nimport \"./loginIndex.vue?vue&type=style&index=0&id=b90dbbf6&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b90dbbf6\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","style","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","href","render","_ctx","_cache","$props","$setup","$data","$options","_component_van_field","_component_h9","_component_van_checkbox","modelValue","username","$event","clearable","label","placeholder","rules","validator","customValidator","password","type","checked","default","onClick","args","submit","value","setup","router","path","window","location","pathname","parts","split","prefix","length","image","page","async","savedUsername","localStorage","getItem","savedPassword","savedRemember","innerWidth","fetchLoginToken","token","axios","post","then","response","data","code","error","replace","catch","setItem","removeItem","setting","loginUsername","loginPassword","fetch","method","headers","Authorization","body","JSON","stringify","json","success","setTimeout","msg","console","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/77.cc45578a.js b/rearServer/src/main/resources/static/js/77.cc45578a.js deleted file mode 100644 index 210c238..0000000 --- a/rearServer/src/main/resources/static/js/77.cc45578a.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[77],{1077:function(e,l,a){a.r(l),a.d(l,{default:function(){return no}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),c=(a(1897),a(6907)),m=(a(4746),a(294)),p=(a(6870),a(6252)),v=a(3577),w=a(2262),h=a(1094),_=a(2201),k=a(6154),f=(a(451),a(844)),g=a(1348),b=a(9288),y=a(2534),V=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,p._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),P=(0,p._)("img",{style:{width:"25px"},src:h},null,-1),z={class:"home-container"},H=(0,p._)("div",{class:"flex-grow"},null,-1),A=(0,p._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),N=(0,p._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),S=(0,p._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),C={style:{display:"block"}},O=(0,p._)("div",{class:"flex items-center"},[(0,p._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,p._)("span",{class:"font-h4-tag"},"v0.6.2 ")],-1),$={class:"under"},D={class:"search"},q={style:{display:"flex",margin:"0px 0px -20px 0px"}},B={style:{display:"flex",width:"88vw",height:"63vh",transform:"translateX(0vw)"}},I={style:{display:"flex","align-items":"center"}},j={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Z={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},R={style:{margin:"13px",transform:"translateX(7px)"}},L=(0,p._)("h1",null,"批量操作",-1),K=(0,p._)("br",null,null,-1),E={style:{display:"block"}},J=(0,p._)("br",null,null,-1),G=(0,p._)("br",null,null,-1),M=(0,p._)("br",null,null,-1),Y={key:0},X=(0,p._)("br",null,null,-1),F=(0,p._)("br",null,null,-1),Q={key:0},ee=(0,p._)("br",null,null,-1),le=(0,p._)("br",null,null,-1),ae={key:1},oe=(0,p._)("br",null,null,-1),ne=(0,p._)("br",null,null,-1),te=(0,p._)("br",null,null,-1),ue={style:{margin:"5.2px"}},ie=(0,p._)("br",null,null,-1),re={style:{display:"block"}},se=(0,p._)("br",null,null,-1),de=(0,p._)("br",null,null,-1),ce=(0,p._)("br",null,null,-1),me=(0,p._)("br",null,null,-1),pe={key:0},ve=(0,p._)("br",null,null,-1),we={key:1},he=(0,p._)("br",null,null,-1),_e={key:0},ke=(0,p._)("br",null,null,-1),fe=(0,p._)("br",null,null,-1),ge={key:2},be=(0,p._)("br",null,null,-1),ye={key:3},Ve=(0,p._)("br",null,null,-1),We=(0,p._)("br",null,null,-1),Te={style:{margin:"5.2px"}},xe=(0,p._)("br",null,null,-1),Ue={style:{display:"block"}},Pe={key:0},ze={style:{display:"flex","justify-content":"center","align-items":"center"}},He={style:{margin:"10px 15px 10px 15px"}},Ae={style:{margin:"10px 15px 10px 15px"}},Ne={style:{margin:"10px 15px 10px 15px"}},Se=(0,p._)("br",null,null,-1),Ce=(0,p._)("br",null,null,-1),Oe=(0,p._)("br",null,null,-1),$e=(0,p._)("br",null,null,-1),De=(0,p._)("br",null,null,-1),qe=(0,p._)("br",null,null,-1),Be=(0,p._)("br",null,null,-1),Ie=(0,p._)("br",null,null,-1),je=(0,p._)("br",null,null,-1),Ze=(0,p._)("br",null,null,-1),Re={key:0},Le=(0,p._)("br",null,null,-1),Ke=(0,p._)("br",null,null,-1),Ee=(0,p._)("br",null,null,-1),Je={style:{display:"block"}},Ge=(0,p._)("br",null,null,-1),Me=(0,p._)("br",null,null,-1),Ye=(0,p._)("br",null,null,-1),Xe=(0,p._)("br",null,null,-1),Fe=(0,p._)("br",null,null,-1),Qe=(0,p._)("br",null,null,-1),el={key:0},ll=(0,p._)("br",null,null,-1),al=(0,p._)("br",null,null,-1),ol=(0,p._)("br",null,null,-1),nl=(0,p._)("br",null,null,-1),tl=(0,p._)("br",null,null,-1),ul=(0,p._)("br",null,null,-1),il=(0,p._)("br",null,null,-1),rl=(0,p._)("br",null,null,-1),sl={style:{margin:"5.2px"}},dl=(0,p._)("br",null,null,-1),cl={style:{display:"block"}},ml=(0,p._)("br",null,null,-1),pl=(0,p._)("br",null,null,-1),vl=(0,p._)("br",null,null,-1),wl=(0,p._)("br",null,null,-1),hl=(0,p._)("br",null,null,-1),_l=(0,p._)("br",null,null,-1),kl=(0,p._)("br",null,null,-1),fl=(0,p._)("br",null,null,-1),gl={key:0},bl=(0,p._)("br",null,null,-1),yl=(0,p._)("br",null,null,-1),Vl=(0,p._)("br",null,null,-1),Wl={style:{margin:"5.2px"}},Tl=(0,p._)("br",null,null,-1),xl={style:{display:"block"}},Ul=(0,p._)("br",null,null,-1),Pl=(0,p._)("br",null,null,-1),zl=(0,p._)("br",null,null,-1),Hl=(0,p._)("br",null,null,-1),Al=(0,p._)("br",null,null,-1),Nl=(0,p._)("br",null,null,-1),Sl=(0,p._)("br",null,null,-1),Cl=(0,p._)("br",null,null,-1),Ol={style:{margin:"5.2px"}},$l=(0,p._)("br",null,null,-1),Dl={style:{display:"flex",transform:"translate(0vw, -2vh)"}},ql={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(102.5% + 40px)"}},Bl={style:{"margin-left":"10px",display:"flex","align-items":"center"}},Il={key:0},jl=(0,p._)("h5",null,"oneApi4",-1),Zl={key:1},Rl=(0,p._)("h5",null,"oneApi3",-1),Ll={key:2},Kl=(0,p._)("h5",null,"Json",-1),El={style:{"margin-left":"20px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Jl={style:{display:"flex","align-items":"center",overflow:"auto"}},Gl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ml={style:{display:"flex","align-items":"center",overflow:"auto"}},Yl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Xl={style:{margin:"10px 0px 10px 0px"}},Fl=(0,p._)("h1",null,"全部刷新",-1),Ql=(0,p._)("h1",null,"全部检查",-1),ea=(0,p._)("br",null,null,-1),la={style:{display:"block"}},aa=(0,p._)("br",null,null,-1),oa=(0,p._)("br",null,null,-1),na=(0,p._)("br",null,null,-1),ta=(0,p._)("br",null,null,-1),ua={style:{display:"block"}},ia=(0,p._)("br",null,null,-1),ra={key:0},sa=(0,p._)("br",null,null,-1),da=(0,p._)("br",null,null,-1),ca=(0,p._)("br",null,null,-1),ma=(0,p._)("br",null,null,-1),pa=(0,p._)("br",null,null,-1),va=(0,p._)("br",null,null,-1),wa={style:{margin:"5.2px"}},ha=(0,p._)("br",null,null,-1),_a={style:{display:"block"}},ka=(0,p._)("br",null,null,-1),fa={key:0},ga=(0,p._)("br",null,null,-1),ba=(0,p._)("br",null,null,-1),ya=(0,p._)("br",null,null,-1),Va={style:{"margin-bottom":"5px"}},Wa={style:{"margin-bottom":"5px"}},Ta=(0,p._)("br",null,null,-1),xa=(0,p._)("br",null,null,-1),Ua={style:{margin:"5.2px"}},Pa=(0,p._)("br",null,null,-1),za={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(100% + 2.5% + 40px)"}},Ha={style:{display:"flex","align-items":"center"}},Aa={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Na={style:{display:"flex","align-items":"center",overflow:"auto"}},Sa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ca={style:{display:"flex","align-items":"center",overflow:"auto"}},Oa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},$a=(0,p._)("br",null,null,-1),Da={style:{display:"block"}},qa=(0,p._)("br",null,null,-1),Ba={style:{transform:"translateX(17px)"}},Ia=(0,p._)("br",null,null,-1),ja=(0,p._)("br",null,null,-1),Za=(0,p._)("br",null,null,-1),Ra={key:0},La=(0,p._)("br",null,null,-1),Ka=(0,p._)("br",null,null,-1),Ea=(0,p._)("br",null,null,-1),Ja={style:{"margin-bottom":"5px"}},Ga={style:{"margin-bottom":"5px"}},Ma=(0,p._)("br",null,null,-1),Ya=(0,p._)("br",null,null,-1),Xa={style:{margin:"5.2px"}},Fa=(0,p._)("br",null,null,-1),Qa=0,eo=1,lo=2;var ao=(0,p.aZ)({__name:"homeIphone",setup(e){const l=window.location.pathname,a=l.split("/");let h="";a.length>=3&&(h="/"+a[1]);const ao=(0,w.iH)(["default","svip","vip"]),oo=((0,w.iH)(),(0,w.iH)([])),no=e=>{oo.value=e},to=((0,w.iH)("ALL"),(0,_.tv)()),uo=(0,w.iH)(!1),io=(0,w.iH)(!1),ro=(0,w.iH)(!1),so=(0,w.iH)(!1),co=(0,w.iH)(!1),mo=(0,w.iH)(!1),po=(0,w.iH)(!1),vo=(0,w.iH)(!1),wo=(0,w.iH)(!1),ho=(0,w.iH)(!1),_o=(0,w.iH)(!1),ko=(0,w.iH)(!1),fo=(0,w.iH)(!1),go=(0,w.iH)(""),bo=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],yo=(0,w.iH)(""),Vo=(0,w.iH)("*"),Wo=(0,w.iH)(""),To=(0,w.iH)(""),xo=(0,w.iH)(""),Uo=(0,w.iH)(!1),Po=(0,w.iH)(!1),zo=(0,w.iH)(!1),Ho=(0,w.iH)(!1),Ao=(0,w.iH)(""),No=(0,w.iH)(!1),So=(0,w.iH)(""),Co=(0,w.iH)(""),Oo=(0,w.iH)(""),$o=(0,w.iH)(""),Do=(0,w.iH)(""),qo=(0,w.iH)(""),Bo=(0,w.iH)(""),Io=(0,w.iH)(!1),jo=(0,w.iH)(""),Zo=(0,w.iH)("PandoraNext"),Ro=(0,w.iH)("default"),Lo=(0,w.iH)(""),Ko=(0,w.iH)(""),Eo=(0,w.iH)(""),Jo=(0,w.iH)(""),Go=(0,w.iH)(!1),Mo=(0,w.iH)(!1),Yo=(0,w.iH)(!1),Xo=(0,w.iH)(!1),Fo=(0,w.iH)(!1),Qo=(0,w.iH)(5),en=(0,w.iH)(1),ln=(0,w.iH)(""),an=(0,w.iH)(""),on=(0,w.iH)(""),nn=(0,w.iH)(""),tn=((0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(!0),(0,w.iH)("")),un=(0,w.iH)(!1),rn=(0,w.iH)(!1),sn=(0,w.iH)(ln.value+yo.value),dn=(0,w.iH)(0),cn=(0,w.iH)(""),mn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},pn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},vn=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},wn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=Bn.value&&1!=xn.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},hn=(0,w.iH)(""),_n=(0,w.iH)(""),kn=(0,w.iH)(""),fn=(0,w.iH)(""),gn=(0,w.iH)(""),bn=(0,w.iH)(""),yn=(0,w.iH)(!1),Vn=(0,w.iH)(!1),Wn=(0,w.iH)(!1),Tn=(0,w.iH)(""),xn=(0,w.iH)(!1),Un=(0,w.iH)(!1),Pn=(0,w.iH)(!0),zn=(0,w.iH)([]),Hn=(0,w.iH)([]),An=(0,w.iH)([]),Nn=(0,w.iH)(""),Sn=(0,w.iH)(""),Cn=(0,w.iH)(""),On=(0,w.iH)(""),$n=(0,w.iH)(!1),Dn=(0,w.iH)(!1),qn=(0,w.iH)(!1),Bn=(0,w.iH)(!1),In=(0,w.iH)(!1),jn=(0,w.iH)(""),Zn=((0,w.iH)(.085*window.innerHeight),(0,w.iH)("")),Rn=localStorage.getItem("jwtToken");Rn||to.replace("/");const Ln={Authorization:`Bearer ${Rn}`},Kn=async()=>{k.Z.post(`${h}/api/loginToken?token=`+Rn).then((e=>{if(0==e.data.code)return console.error(e.data.data),void to.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),to.replace("/")}))},En=e=>{"Web"==e?Mn(""):"all"==e?Jn(""):e.includes("API")?Gn(""):Jn(e)},Jn=async e=>{const l=await k.Z.get(`${h}/api/selectToken?name=${e}`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));zn.value=e}},Gn=async e=>{const l=await k.Z.get(`${h}/api/selectToken?name=${e}`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));zn.value=l}},Mn=async e=>{const l=await k.Z.get(`${h}/api/selectToken?name=${e}`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));zn.value=l}},Yn=async()=>{const e=await k.Z.get(`${h}/api/selectLogin`,{headers:Ln}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));An.value=e}},Xn=async e=>{const l=await k.Z.get(`${h}/api/selectPoolToken?name=`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));Hn.value=e}},Fn=async e=>{const l=await k.Z.get(`${h}/api/selectSetting`,{headers:Ln}),a=l.data.data;yo.value=a.proxy_api_prefix,Vo.value=a.isolated_conv_title,Wo.value=a.bing,To.value=a.timeout,xo.value=a.proxy_url,Uo.value=a.public_share,Po.value=a.disable_signup,zo.value=a.auto_conv_arkose,Ho.value=a.proxy_file_service,Ao.value=a.custom_doh_host,No.value=a.tls.enabled,So.value=a.tls.cert_file,Co.value=a.tls.key_file,Oo.value=a.site_password,$o.value=a.setup_password,null==a.whitelist?Lo.value="null":Lo.value=a.whitelist,Do.value=a.loginUsername,qo.value=a.loginPassword,Bo.value=a.license_id,Io.value=a.isGetToken,jo.value=a.getTokenPassword,Zo.value=a.containerName,Ro.value=a.autoToken_url,Ko.value=a.validation.provider,Eo.value=a.validation.site_key,Jo.value=a.validation.site_secret,Go.value=a.validation.site_login,Mo.value=a.validation.setup_login,Yo.value=a.validation.oai_username,Xo.value=a.validation.oai_password,Fo.value=a.auto_updateSession,Qo.value=a.auto_updateTime,en.value=a.auto_updateNumber,ln.value=a.pandoraNext_outUrl,sn.value=ln.value+yo.value,an.value=a.oneAPi_outUrl,on.value=a.oneAPi_intoToken,Qn()},Qn=async()=>{"123456"==qo.value&&"root"==Do.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),co.value=!0,qo.value="",Do.value="")},et=()=>{const e=oo.value;0!==e.length?ho.value=!0:(0,g.z8)("未选择数据")},lt=async()=>{V.kN.service({fullscreen:!0});try{const e=oo.value,l=e.map((e=>e.name)),a={poolName:tn.value,intoOneApi:un.value,pandoraNextGpt4:rn.value,oneApi_pandoraUrl:sn.value,shareTokens:l,groupChecked:ao.value.toString(),priority:dn.value},o=await fetch(`${h}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(tn.value="",Xn(""),(0,g.z8)({type:"success",message:t.data}),tn.value="",un.value=!1,rn.value=!1,ao.value=["default","svip","vip"],dn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}ho.value=!1},at=e=>{let l=Hn.value.find((l=>l.poolName===e));null!=l&&(cn.value=l.poolToken,un.value=l.intoOneApi,rn.value=l.pandoraNextGpt4,sn.value=l.oneApi_pandoraUrl,dn.value=l.priority)},ot=async()=>{V.kN.service({fullscreen:!0});try{const e=oo.value,l=e.map((e=>e.name)),a={poolName:nn.value,poolToken:cn.value,intoOneApi:un.value,pandoraNextGpt4:rn.value,oneApi_pandoraUrl:sn.value,shareTokens:l,groupChecked:ao.value.toString(),priority:dn.value},o=await fetch(`${h}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Xn(""),(0,g.z8)({type:"success",message:t.data}),nn.value="",cn.value="",un.value=!1,rn.value=!1,ao.value=["default","svip","vip"],dn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}ko.value=!1},nt=(0,w.iH)("");(0,p.bv)((async()=>{const e=V.kN.service({fullscreen:!0});window.innerWidth<=700?to.replace("/iphone"):to.replace("/home"),Kn();const l=await k.Z.get(`${h}/api/getPandoraNext`,{headers:Ln}),a=l.data.data;null!=a&&(nt.value=a.current+"/"+a.total),En(Zn.value),Xn(Zn.value),Fn(Zn.value),e.close()}));const tt=({row:e})=>0==e.checkSession?"warning-row":"",ut=({row:e})=>0==e.checkPool?"warning-row":"",it=()=>{window.open(ln.value)},rt=()=>{var e=ln.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},st=()=>{var e=ln.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},dt=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},ct=(0,w.iH)("-1");let mt="";const pt=(e,l)=>{console.log("选择准备!")},vt=()=>{io.value=!0},wt=()=>{const e=V.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=jn.value&&($n.value=!1,qn.value=!1,Dn.value=!1),0==Bn.value&&(On.value=Sn.value+","+Cn.value,In.value=!1,$n.value=!1,qn.value=!1,Dn.value=!1);let o={name:Nn.value,token:On.value,username:Sn.value,userPassword:Cn.value,shared:$n.value,show_user_info:Dn.value,plus:qn.value,setPoolToken:Bn.value,useRefreshToken:In.value,password:jn.value,updateTime:a};fetch(`${h}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),Nn.value="",On.value="",Sn.value="",Cn.value="",$n.value=!1,Dn.value=!1,qn.value=!1,Bn.value=!1,In.value=!1,jn.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),jn.value="",Jn(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),io.value=!1},ht=(0,w.iH)(0),_t=(0,w.iH)(0),kt=async e=>{if(hn.value=e.name,gn.value=e.username,bn.value=e.userPassword,_n.value=e.token,kn.value=e.access_token,fn.value=e.share_token,yn.value=e.shared,Vn.value=e.show_user_info,Wn.value=e.plus,Tn.value=e.password,xn.value=e.setPoolToken,Un.value=e.useRefreshToken,Pn.value=e.checkSession,1!=xn.value)return void(ro.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${sn.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?ht.value=Number(o.usage["text-davinci-002-render-sha"]):ht.value=0,null!=o.usage["gpt-4"]?_t.value=Number(o.usage["gpt-4"]):_t.value=0),ro.value=!0};let ft=!1,gt=!1,bt="";const yt=(e,l)=>{hn.value=l.name,gn.value=l.username,bn.value=l.userPassword,_n.value=l.token,mt=l.token,yn.value=l.shared,Vn.value=l.show_user_info,Wn.value=l.plus,Tn.value=l.password,xn.value=l.setPoolToken,Un.value=l.useRefreshToken,ft=xn.value,gt=Un.value,bt=_n.value,Pn.value=l.checkSession,kn.value=l.access_token,fn.value=l.share_token,uo.value=!0},Vt=async e=>{0==e?so.value=!0:1==e?co.value=!0:2==e&&(mo.value=!0)},Wt=e=>{const l=V.kN.service({fullscreen:!0});null!=Lo.value&&"null"!=Lo.value||(Lo.value=""),0==No.value&&(So.value="",Co.value="");const a={enabled:No.value,cert_file:So.value,key_file:Co.value},o={provider:Ko.value,site_key:Eo.value,site_secret:Jo.value,site_login:Go.value,setup_login:Mo.value,oai_username:Yo.value,oai_password:Xo.value},n={proxy_api_prefix:yo.value,isolated_conv_title:Vo.value,bing:Wo.value,timeout:To.value,proxy_url:xo.value,public_share:Uo.value,site_password:Oo.value,setup_password:$o.value,loginUsername:Do.value,loginPassword:qo.value,license_id:Bo.value,disable_signup:Po.value,auto_conv_arkose:zo.value,proxy_file_service:Ho.value,custom_doh_host:Ao.value,isGetToken:Io.value,getTokenPassword:jo.value,containerName:Zo.value,autoToken_url:Ro.value,whitelist:Lo.value,validation:o,tls:a};fetch(`${h}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Kn(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?so.value=!1:1==e?co.value=!1:2==e&&(mo.value=!1)},Tt=()=>{const e=V.kN.service({fullscreen:!0});"/"!==ln.value.charAt(ln.value.length-1)&&(ln.value+="/");const l={auto_updateSession:Fo.value,auto_updateTime:Qo.value,auto_updateNumber:en.value,pandoraNext_outUrl:ln.value,oneAPi_outUrl:an.value,oneAPi_intoToken:on.value};fetch(`${h}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),wo.value=!1},xt=()=>{const e=V.kN.service({fullscreen:!0});let l="";if(mt!=_n.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==xn.value&&(yn.value=!1,Wn.value=!1,Vn.value=!1,Un.value=!1),!0===yn.value?Tn.value="":(Wn.value=!1,Vn.value=!1);let a="";a=ft!=xn.value&&bt==_n.value?0==xn.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==Un.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":gt!=Un.value&&bt==_n.value?1==Un.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:hn.value,token:_n.value,username:gn.value,userPassword:bn.value,shared:yn.value,show_user_info:Vn.value,plus:Wn.value,setPoolToken:xn.value,useRefreshToken:Un.value,checkSession:Pn.value,password:Tn.value,access_token:kn.value,share_token:fn.value};fetch(`${h}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),Jn("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),uo.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Ut=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/open`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Pt=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/close`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},zt=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/restart`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ht=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/reload`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},At=(0,w.iH)(""),Nt=(0,w.iH)(""),St=async()=>{const e=await k.Z.get(`${h}/api/getPandoraNext`,{headers:Ln}),l=e.data.data;if(null!=l){nt.value=l.current+"/"+l.total,At.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();Nt.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}vo.value=!0},Ct=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/updateAllToken`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?(Jn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Ot=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/updateAllPoolToken`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?(Xn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},$t=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/verifyAllPoolToken`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?(Xn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Dt=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,Jn(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},qt=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Xn(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Bt=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),Jn(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},It=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Xn(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},jt=(e,l)=>{const a=V.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${h}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(Xn(""),g.z8.success(e.data),a.close()):(Xn(""),g.z8.error(e.msg),a.close()),ho.value=!1})).catch((e=>{console.error("删除失败",e),Xn(""),a.close(),ho.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},Zt=(e,l)=>{const a=V.kN.service({fullscreen:!0});fetch(`${h}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Xn(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(Xn(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},Rt=(e,l)=>{const a=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${h}/api/deleteToken`,l,{headers:Ln}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${h}/api/updateAllPoolToken`,{headers:Ln}),o=e.data.data,Jn(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},Lt=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,y.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},Kt=()=>{localStorage.removeItem("jwtToken"),to.replace("/")},Et=()=>{po.value=!0},Jt=()=>{Yn(),_o.value=!0},Gt=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},Mt=e=>{const l=oo.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?et():"选中修改pool_token"==e&&(ko.value=!0);else{let e=0;const l=oo.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${h}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Jn(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${h}/api/deleteTokenList`,a,{headers:Ln}).then((async l=>{await k.Z.get(`${h}/api/updateAllPoolToken`,{headers:Ln}),o=l.data.data,Jn(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},Yt=(0,w.iH)(null),Xt=async()=>{fo.value=!0;const e=await k.Z.get(`${h}/api/modelsUsage`,{headers:Ln});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(Yt.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=m.JO,h=(0,p.up)("el-menu-item"),_=(0,p.up)("el-sub-menu"),k=(0,p.up)("el-menu"),f=c.zx,g=(0,p.up)("el-page-header"),b=d.ol,y=(0,p.up)("el-table-column"),V=(0,p.up)("el-button"),T=(0,p.up)("el-tag"),oo=(0,p.up)("el-popover"),to=(0,p.up)("el-option"),Pn=(0,p.up)("el-select"),Rn=s.gN,Ln=r.rs,Kn=i.TS,Jn=u.l0,Gn=t.Vq,Mn=(0,p.up)("ChatLineRound"),Yn=(0,p.up)("el-icon"),Xn=(0,p.up)("el-statistic"),Fn=(0,p.up)("el-col"),Qn=(0,p.up)("el-row"),et=(0,p.up)("CopyDocument"),mt=(0,p.up)("h10"),ft=(0,p.up)("el-button-group"),gt=(0,p.up)("el-dialog"),bt=n.XZ,Ft=o.cO,Qt=(0,p.up)("el-form-item"),eu=(0,p.Q2)("loading");return(0,p.wg)(),(0,p.iD)(p.HY,null,[(0,p._)("div",x,[U,(0,p.Wm)(k,{"default-active":ct.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:pt,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"0"},{title:(0,p.w5)((()=>[(0,p._)("div",z,[(0,p._)("h2",null,(0,v.zw)(nt.value),1)]),(0,p.Wm)(a,{name:"replay",size:"20",onClick:St})])),default:(0,p.w5)((()=>[P])),_:1}),H,(0,p.Wm)(_,{index:"3"},{title:(0,p.w5)((()=>[(0,p.Uk)("列表")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"3-2",onClick:Et},{default:(0,p.w5)((()=>[(0,p.Uk)("PoolToken列表")])),_:1}),(0,p.Wm)(h,{index:"3-3",onClick:Ct},{default:(0,p.w5)((()=>[(0,p.Uk)("全部检查并生成")])),_:1}),(0,p.Wm)(h,{index:"3-1",onClick:Jt},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool登录日志")])),_:1}),(0,p.Wm)(h,{index:"3-5",onClick:Xt},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool用量统计")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"1"},{title:(0,p.w5)((()=>[(0,p.Uk)("设置")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"1-1",onClick:l[0]||(l[0]=e=>Vt(Qa))},{default:(0,p.w5)((()=>[(0,p.Uk)("PandoraNext设置")])),_:1}),(0,p.Wm)(h,{index:"1-2",onClick:l[1]||(l[1]=e=>Vt(eo))},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool设置")])),_:1}),(0,p.Wm)(h,{index:"1-3",onClick:l[2]||(l[2]=e=>Vt(lo))},{default:(0,p.w5)((()=>[(0,p.Uk)("验证码信息设置")])),_:1}),(0,p.Wm)(h,{index:"1-4",onClick:l[3]||(l[3]=e=>wo.value=!0)},{default:(0,p.w5)((()=>[(0,p.Uk)("定时&接口设置")])),_:1}),(0,p.Wm)(h,{index:"1-5",onClick:dt},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool使用手册")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2"},{title:(0,p.w5)((()=>[(0,p.Uk)("状态")])),default:(0,p.w5)((()=>[(0,p.Wm)(_,{index:"2-1"},{title:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"状态",1)])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"2-1-1",onClick:Ut},{default:(0,p.w5)((()=>[(0,p.Uk)("开启"+(0,v.zw)(Zo.value),1)])),_:1}),(0,p.Wm)(h,{index:"2-1-2",onClick:Pt},{default:(0,p.w5)((()=>[(0,p.Uk)("暂停"+(0,v.zw)(Zo.value),1)])),_:1}),(0,p.Wm)(h,{index:"2-1-3",onClick:zt},{default:(0,p.w5)((()=>[(0,p.Uk)("重启"+(0,v.zw)(Zo.value),1)])),_:1}),(0,p.Wm)(h,{index:"2-1-4",onClick:Ht},{default:(0,p.w5)((()=>[(0,p.Uk)("重载"+(0,v.zw)(Zo.value),1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-2"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转Web服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"2-2-1",onClick:it},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"主页",1)])),_:1}),(0,p.Wm)(h,{index:"2-2-2",onClick:rt},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"共享页",1)])),_:1}),(0,p.Wm)(h,{index:"2-2-3",onClick:st},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"修改页",1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-3"},{title:(0,p.w5)((()=>[(0,p.Uk)("获取token地址")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"2-3-1"},{default:(0,p.w5)((()=>[A])),_:1}),(0,p.Wm)(h,{index:"2-3-2"},{default:(0,p.w5)((()=>[N])),_:1}),(0,p.Wm)(h,{index:"2-3-3"},{default:(0,p.w5)((()=>[S])),_:1})])),_:1}),(0,p.Wm)(h,{index:"2-4",onClick:Kt},{default:(0,p.w5)((()=>[(0,p.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,p._)("div",C,[(0,p.Wm)(g,{icon:null,title:" "},{content:(0,p.w5)((()=>[O])),extra:(0,p.w5)((()=>[(0,p._)("div",{class:"addToken",onClick:vt},[(0,p.Wm)(f,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,p._)("div",$,[(0,p._)("div",D,[(0,p._)("div",q,[(0,p.Wm)(b,{modelValue:Zn.value,"onUpdate:modelValue":l[4]||(l[4]=e=>Zn.value=e),shape:"round",placeholder:"请输入搜索token名称或类型",onSearch:En},null,8,["modelValue"])]),(0,p._)("div",B,[(0,p.wy)(((0,p.wg)(),(0,p.j4)((0,w.SU)(W.eI),{data:zn.value,style:{width:"100%"},onSelectionChange:no,class:"tokenTable","default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":tt},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{type:"selection",width:"45"}),(0,p.Wm)(y,{label:"名称",width:"160",prop:"setPoolToken",sortable:""},{default:(0,p.w5)((e=>[(0,p._)("div",I,[(0,p._)("div",null,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[(0,p._)("h5",null,(0,v.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024)]),(0,p._)("span",j,(0,v.zw)(e.row.name),1)])])),_:1}),(0,p.Wm)(y,{prop:"updateTime",sortable:"",label:"有效时间",width:"117"},{default:(0,p.w5)((e=>[(0,p.Wm)(oo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"注册时间:"+(0,v.zw)(e.row.updateTime),1)])),reference:(0,p.w5)((()=>[(0,p._)("span",Z,[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Lt(e.row)),1)])),_:2},1024)])])),_:2},1024)])),_:1}),(0,p.Wm)(y,{label:"操作方法",width:"370"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>yt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("编辑")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>kt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>Rt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>Dt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"warning",onClick:l=>Bt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[eu,e.loading]])]),(0,p._)("div",R,[(0,p.Wm)(Pn,{modelValue:go.value,"onUpdate:modelValue":l[5]||(l[5]=e=>go.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(bo,(e=>(0,p.Wm)(to,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(V,{class:"my-button",onClick:l[6]||(l[6]=e=>Mt(go.value))},{default:(0,p.w5)((()=>[L])),_:1})])])]),K]),(0,p.Wm)(Gn,{show:uo.value,"onUpdate:show":l[17]||(l[17]=e=>uo.value=e),title:"修改token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",E,[(0,p.Wm)(Jn,{onSubmit:l[16]||(l[16]=e=>xt())},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[J,(0,p.Wm)(Rn,{modelValue:gn.value,"onUpdate:modelValue":l[7]||(l[7]=e=>gn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱","input-align":"center",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),G,(0,p.Wm)(Rn,{modelValue:bn.value,"onUpdate:modelValue":l[8]||(l[8]=e=>bn.value=e),name:"OpenAi密码","input-align":"center",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),M,(0,p.Wm)(Rn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:xn.value,"onUpdate:modelValue":l[9]||(l[9]=e=>xn.value=e)},null,8,["modelValue"])])),_:1}),1==xn.value?((0,p.wg)(),(0,p.iD)("div",Y,[X,(0,p.Wm)(Rn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Un.value,"onUpdate:modelValue":l[10]||(l[10]=e=>Un.value=e)},null,8,["modelValue"])])),_:1}),F,(0,p.Wm)(Rn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:yn.value,"onUpdate:modelValue":l[11]||(l[11]=e=>yn.value=e)},null,8,["modelValue"])])),_:1}),1==yn.value?((0,p.wg)(),(0,p.iD)("div",Q,[ee,(0,p.Wm)(Rn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[12]||(l[12]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),le,(0,p.Wm)(Rn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[13]||(l[13]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),0==yn.value||0==xn.value?((0,p.wg)(),(0,p.iD)("div",ae,[oe,(0,p.Wm)(Rn,{rows:"2",type:"textarea",autoSize:"",modelValue:Tn.value,"onUpdate:modelValue":l[14]||(l[14]=e=>Tn.value=e),name:"Token的密码","input-align":"center",label:"Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:wn}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),ne,(0,p.Wm)(Rn,{modelValue:_n.value,"onUpdate:modelValue":l[15]||(l[15]=e=>_n.value=e),label:"Token的值",type:"textarea","input-align":"center",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:50},"show-word-limit":""},null,8,["modelValue"]),te])),_:1}),(0,p._)("div",ue,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),ie])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:io.value,"onUpdate:show":l[29]||(l[29]=e=>io.value=e),title:"添加token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",re,[(0,p.Wm)(Jn,{onSubmit:l[28]||(l[28]=e=>wt())},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[se,(0,p.Wm)(Rn,{modelValue:Nn.value,"onUpdate:modelValue":l[18]||(l[18]=e=>Nn.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),de,(0,p.Wm)(Rn,{modelValue:Sn.value,"onUpdate:modelValue":l[19]||(l[19]=e=>Sn.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名",rules:[{required:!0,message:"请填写OpenAi用户名"}]},null,8,["modelValue"]),ce,(0,p.Wm)(Rn,{modelValue:Cn.value,"onUpdate:modelValue":l[20]||(l[20]=e=>Cn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),me,(0,p.Wm)(Rn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Bn.value,"onUpdate:modelValue":l[21]||(l[21]=e=>Bn.value=e)},null,8,["modelValue"])])),_:1}),1==Bn.value?((0,p.wg)(),(0,p.iD)("div",pe,[ve,(0,p.Wm)(Rn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:In.value,"onUpdate:modelValue":l[22]||(l[22]=e=>In.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==Bn.value?((0,p.wg)(),(0,p.iD)("div",we,[he,(0,p.Wm)(Rn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:$n.value,"onUpdate:modelValue":l[23]||(l[23]=e=>$n.value=e)},null,8,["modelValue"])])),_:1}),1==$n.value?((0,p.wg)(),(0,p.iD)("div",_e,[ke,(0,p.Wm)(Rn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Dn.value,"onUpdate:modelValue":l[24]||(l[24]=e=>Dn.value=e)},null,8,["modelValue"])])),_:1}),fe,(0,p.Wm)(Rn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:qn.value,"onUpdate:modelValue":l[25]||(l[25]=e=>qn.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),""==$n.value?((0,p.wg)(),(0,p.iD)("div",ge,[be,(0,p.Wm)(Rn,{rows:"3",type:"textarea",autoSize:"",modelValue:jn.value,"onUpdate:modelValue":l[26]||(l[26]=e=>jn.value=e),name:"Token的密码",label:"Token的密码","input-align":"center",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:wn}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),1==Bn.value?((0,p.wg)(),(0,p.iD)("div",ye,[Ve,(0,p.Wm)(Rn,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:On.value,"onUpdate:modelValue":l[27]||(l[27]=e=>On.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,p.kq)("",!0),We])),_:1}),(0,p._)("div",Te,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),xe])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:ro.value,"onUpdate:show":l[49]||(l[49]=e=>ro.value=e),title:"token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ue,[(0,p.Wm)(Jn,null,{default:(0,p.w5)((()=>[1==xn.value?((0,p.wg)(),(0,p.iD)("div",Pe,[(0,p._)("div",ze,[(0,p.Wm)(Qn,null,{default:(0,p.w5)((()=>[(0,p._)("div",He,[(0,p.Wm)(Fn,null,{default:(0,p.w5)((()=>[(0,p.Wm)(Xn,{title:"GPT3.5",value:ht.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(Yn,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(Mn)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ae,[(0,p.Wm)(Fn,null,{default:(0,p.w5)((()=>[(0,p.Wm)(Xn,{title:"总计",value:ht.value+_t.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(Yn,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(Mn)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ne,[(0,p.Wm)(Fn,null,{default:(0,p.w5)((()=>[(0,p.Wm)(Xn,{title:"GPT4.0",value:_t.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(Yn,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(Mn)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,p.kq)("",!0),(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[Se,(0,p.Wm)(Rn,{modelValue:hn.value,"onUpdate:modelValue":l[30]||(l[30]=e=>hn.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[31]||(l[31]=e=>Gt(hn.value))},null,8,["modelValue"]),Ce,(0,p.Wm)(Rn,{modelValue:Tn.value,"onUpdate:modelValue":l[32]||(l[32]=e=>Tn.value=e),type:"temPassword",name:"Token的密码",label:"Token的密码",placeholder:"Token的密码","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[33]||(l[33]=e=>Gt(Tn.value))},null,8,["modelValue"]),Oe,(0,p.Wm)(Rn,{modelValue:gn.value,"onUpdate:modelValue":l[34]||(l[34]=e=>gn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>Gt(gn.value))},null,8,["modelValue"]),$e,(0,p.Wm)(Rn,{modelValue:bn.value,"onUpdate:modelValue":l[36]||(l[36]=e=>bn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>Gt(bn.value))},null,8,["modelValue"]),De,(0,p.Wm)(Rn,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:yn.value,"onUpdate:modelValue":l[38]||(l[38]=e=>yn.value=e)},null,8,["modelValue"])])),_:1}),qe,(0,p.Wm)(Rn,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[39]||(l[39]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),Be,(0,p.Wm)(Rn,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[40]||(l[40]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,p.Wm)(Rn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:xn.value,"onUpdate:modelValue":l[41]||(l[41]=e=>xn.value=e)},null,8,["modelValue"])])),_:1}),je,(0,p.Wm)(Rn,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:Un.value,"onUpdate:modelValue":l[42]||(l[42]=e=>Un.value=e)},null,8,["modelValue"])])),_:1}),Ze,(0,p.Wm)(Rn,{modelValue:_n.value,"onUpdate:modelValue":l[43]||(l[43]=e=>_n.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[44]||(l[44]=e=>Gt(_n.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),1==xn.value?((0,p.wg)(),(0,p.iD)("div",Re,[Le,(0,p.Wm)(Rn,{modelValue:kn.value,"onUpdate:modelValue":l[45]||(l[45]=e=>kn.value=e),label:"access_token",type:"textarea",maxlength:"5000","input-align":"center",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[46]||(l[46]=e=>Gt(kn.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),Ke,(0,p.Wm)(Rn,{modelValue:fn.value,"onUpdate:modelValue":l[47]||(l[47]=e=>fn.value=e),label:"share_token",type:"textarea",maxlength:"200","input-align":"center",placeholder:"请填写OpenAi的share_token","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>Gt(fn.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"])])):(0,p.kq)("",!0)])),_:1}),Ee])),_:1})])])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:so.value,"onUpdate:show":l[64]||(l[64]=e=>so.value=e),title:"PandoraNext设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Je,[(0,p.Wm)(Jn,{onSubmit:l[63]||(l[63]=e=>Wt(Qa))},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[Ge,(0,p.Wm)(Rn,{modelValue:Vo.value,"onUpdate:modelValue":l[50]||(l[50]=e=>Vo.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Me,(0,p.Wm)(Rn,{modelValue:Wo.value,"onUpdate:modelValue":l[51]||(l[51]=e=>Wo.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Ye,(0,p.Wm)(Rn,{modelValue:Ao.value,"onUpdate:modelValue":l[52]||(l[52]=e=>Ao.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Xe,(0,p.Wm)(Rn,{modelValue:To.value,"onUpdate:modelValue":l[53]||(l[53]=e=>To.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),Fe,(0,p.Wm)(Rn,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Uo.value,"onUpdate:modelValue":l[54]||(l[54]=e=>Uo.value=e)},null,8,["modelValue"])])),_:1}),Qe,(0,p.Wm)(Rn,{name:"switch",label:"是否配置证书"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:No.value,"onUpdate:modelValue":l[55]||(l[55]=e=>No.value=e)},null,8,["modelValue"])])),_:1}),1==No.value?((0,p.wg)(),(0,p.iD)("div",el,[ll,(0,p.Wm)(Rn,{modelValue:So.value,"onUpdate:modelValue":l[56]||(l[56]=e=>So.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),al,(0,p.Wm)(Rn,{modelValue:Co.value,"onUpdate:modelValue":l[57]||(l[57]=e=>Co.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,p.kq)("",!0),ol,(0,p.Wm)(Rn,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Po.value,"onUpdate:modelValue":l[58]||(l[58]=e=>Po.value=e)},null,8,["modelValue"])])),_:1}),nl,(0,p.Wm)(Rn,{name:"switch",label:"是否自动打码"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:zo.value,"onUpdate:modelValue":l[59]||(l[59]=e=>zo.value=e)},null,8,["modelValue"])])),_:1}),tl,(0,p.Wm)(Rn,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Ho.value,"onUpdate:modelValue":l[60]||(l[60]=e=>Ho.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,p.Wm)(Rn,{modelValue:xo.value,"onUpdate:modelValue":l[61]||(l[61]=e=>xo.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),il,(0,p.Wm)(Rn,{modelValue:Lo.value,"onUpdate:modelValue":l[62]||(l[62]=e=>Lo.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),rl])),_:1}),(0,p._)("div",sl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),dl])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:co.value,"onUpdate:show":l[76]||(l[76]=e=>co.value=e),title:"tokensTool设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",cl,[(0,p.Wm)(Jn,{onSubmit:l[75]||(l[75]=e=>Wt(eo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[ml,(0,p.Wm)(Rn,{modelValue:Do.value,"onUpdate:modelValue":l[65]||(l[65]=e=>Do.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),pl,(0,p.Wm)(Rn,{modelValue:qo.value,"onUpdate:modelValue":l[66]||(l[66]=e=>qo.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"]),vl,(0,p.Wm)(Rn,{modelValue:yo.value,"onUpdate:modelValue":l[67]||(l[67]=e=>yo.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"]),wl,(0,p.Wm)(Rn,{modelValue:Ro.value,"onUpdate:modelValue":l[68]||(l[68]=e=>Ro.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),hl,(0,p.Wm)(Rn,{modelValue:$o.value,"onUpdate:modelValue":l[69]||(l[69]=e=>$o.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"]),_l,(0,p.Wm)(Rn,{modelValue:Oo.value,"onUpdate:modelValue":l[70]||(l[70]=e=>Oo.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:pn}]},null,8,["modelValue","rules"]),kl,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:Bo.value,"onUpdate:modelValue":l[71]||(l[71]=e=>Bo.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),fl,(0,p.Wm)(Rn,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Io.value,"onUpdate:modelValue":l[72]||(l[72]=e=>Io.value=e)},null,8,["modelValue"])])),_:1}),1==Io.value?((0,p.wg)(),(0,p.iD)("div",gl,[bl,(0,p.Wm)(Rn,{modelValue:jo.value,"onUpdate:modelValue":l[73]||(l[73]=e=>jo.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),yl,(0,p.Wm)(Rn,{modelValue:Zo.value,"onUpdate:modelValue":l[74]||(l[74]=e=>Zo.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Vl])),_:1}),(0,p._)("div",Wl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Tl])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:mo.value,"onUpdate:show":l[85]||(l[85]=e=>mo.value=e),title:"PandoraNext验证信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",xl,[(0,p.Wm)(Jn,{onSubmit:l[84]||(l[84]=e=>Wt(lo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[Ul,(0,p.Wm)(Rn,{modelValue:Ko.value,"onUpdate:modelValue":l[77]||(l[77]=e=>Ko.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Pl,(0,p.Wm)(Rn,{modelValue:Eo.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Eo.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),zl,(0,p.Wm)(Rn,{modelValue:Jo.value,"onUpdate:modelValue":l[79]||(l[79]=e=>Jo.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),Hl,(0,p.Wm)(Rn,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Go.value,"onUpdate:modelValue":l[80]||(l[80]=e=>Go.value=e)},null,8,["modelValue"])])),_:1}),Al,(0,p.Wm)(Rn,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Mo.value,"onUpdate:modelValue":l[81]||(l[81]=e=>Mo.value=e)},null,8,["modelValue"])])),_:1}),Nl,(0,p.Wm)(Rn,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Yo.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Yo.value=e)},null,8,["modelValue"])])),_:1}),Sl,(0,p.Wm)(Rn,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Xo.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Xo.value=e)},null,8,["modelValue"])])),_:1}),Cl])),_:1}),(0,p._)("div",Ol,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),$l])),_:1},8,["show"]),(0,p.Wm)(gt,{modelValue:po.value,"onUpdate:modelValue":l[87]||(l[87]=e=>po.value=e),title:"pool_token列表","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Dl,[(0,p.Wm)(Yn,{onClick:l[86]||(l[86]=e=>Gt(ln.value+yo.value+"/v1/chat/completions"))},{default:(0,p.w5)((()=>[(0,p.Wm)(et)])),_:1}),(0,p.Wm)(mt,{style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"}},{default:(0,p.w5)((()=>[(0,p.Uk)(" API地址:"+(0,v.zw)(ln.value)+(0,v.zw)(yo.value)+"/v1/chat/completions ",1)])),_:1})]),(0,p._)("div",ql,[(0,p.Wm)((0,w.SU)(W.eI),{"row-class-name":ut,data:Hn.value},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{prop:"intoOneApi",label:"pool_token名称",sortable:"","min-width":"180","default-sort":{prop:"poolTime",prop:"intoOneApi"},class:"poolTokenDialog"},{default:(0,p.w5)((e=>[(0,p._)("div",Bl,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,p.wg)(),(0,p.iD)("div",Il,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[jl])),_:1})])):1==e.row.intoOneApi?((0,p.wg)(),(0,p.iD)("div",Zl,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Rl])),_:1})])):((0,p.wg)(),(0,p.iD)("div",Ll,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Kl])),_:1})])),(0,p._)("span",El,(0,v.zw)(e.row.poolName),1)])])),_:1}),(0,p.Wm)(y,{label:"pool_token值","min-width":"265"},{default:(0,p.w5)((e=>[(0,p._)("div",Jl,[(0,p.Wm)(Yn,{onClick:l=>Gt(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(et)])),_:2},1032,["onClick"]),(0,p._)("span",Gl,(0,v.zw)(e.row.poolToken),1)])])),_:1}),(0,p.Wm)(y,{label:"使用token名集合","min-width":"275"},{default:(0,p.w5)((e=>[(0,p._)("div",Ml,[(0,p._)("span",Yl,(0,v.zw)(e.row.shareTokens),1)])])),_:1}),(0,p.Wm)(y,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"180"}),(0,p.Wm)(y,{label:"操作方法","min-width":"285"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>Zt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("检验")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>jt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>qt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>It(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])]),(0,p._)("div",Xl,[(0,p.Wm)(ft,{class:"pool-button"},{default:(0,p.w5)((()=>[(0,p.Wm)(V,{onClick:Ot},{default:(0,p.w5)((()=>[Fl])),_:1}),(0,p.Wm)(V,{onClick:$t},{default:(0,p.w5)((()=>[Ql])),_:1})])),_:1})]),ea])),_:1},8,["modelValue"]),(0,p.Wm)(gt,{modelValue:vo.value,"onUpdate:modelValue":l[91]||(l[91]=e=>vo.value=e),title:"PandoraNext余额","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",la,[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[aa,(0,p.Wm)(Rn,{modelValue:nt.value,"onUpdate:modelValue":l[88]||(l[88]=e=>nt.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),oa,(0,p.Wm)(Rn,{modelValue:At.value,"onUpdate:modelValue":l[89]||(l[89]=e=>At.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),na,(0,p.Wm)(Rn,{modelValue:Nt.value,"onUpdate:modelValue":l[90]||(l[90]=e=>Nt.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),ta])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(Gn,{show:wo.value,"onUpdate:show":l[99]||(l[99]=e=>wo.value=e),title:"定时刷新&PandoraNext网址","align-center":"",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",ua,[(0,p.Wm)(Jn,{onSubmit:l[98]||(l[98]=e=>Tt())},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[ia,(0,p.Wm)(Rn,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Fo.value,"onUpdate:modelValue":l[92]||(l[92]=e=>Fo.value=e)},null,8,["modelValue"])])),_:1}),1==Fo.value?((0,p.wg)(),(0,p.iD)("div",ra,[sa,(0,p.Wm)(Rn,{modelValue:Qo.value,"onUpdate:modelValue":l[93]||(l[93]=e=>Qo.value=e),name:"自动刷新session的间隔天数",label:"自动刷新session的间隔天数","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),da,(0,p.Wm)(Rn,{modelValue:en.value,"onUpdate:modelValue":l[94]||(l[94]=e=>en.value=e),name:"自动刷新session的个数",label:"自动刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"])])):(0,p.kq)("",!0),ca,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:ln.value,"onUpdate:modelValue":l[95]||(l[95]=e=>ln.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),ma,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:an.value,"onUpdate:modelValue":l[96]||(l[96]=e=>an.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),pa,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:on.value,"onUpdate:modelValue":l[97]||(l[97]=e=>on.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),va])),_:1}),(0,p._)("div",wa,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),ha])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:ho.value,"onUpdate:show":l[106]||(l[106]=e=>ho.value=e),title:"添加poolToken信息",width:"90vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",_a,[(0,p.Wm)(Jn,{onSubmit:lt},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[(0,p.Wm)(Rn,{modelValue:tn.value,"onUpdate:modelValue":l[100]||(l[100]=e=>tn.value=e),name:"pool_token名",label:"pool_token名","input-align":"right",placeholder:"3到10个字符",rules:[{validator:vn}]},null,8,["modelValue","rules"]),ka,(0,p.Wm)(Rn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:un.value,"onUpdate:modelValue":l[101]||(l[101]=e=>un.value=e)},null,8,["modelValue"])])),_:1}),1==un.value?((0,p.wg)(),(0,p.iD)("div",fa,[ga,(0,p.Wm)(Rn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:rn.value,"onUpdate:modelValue":l[102]||(l[102]=e=>rn.value=e)},null,8,["modelValue"])])),_:1}),ba,(0,p.Wm)(Rn,{modelValue:dn.value,"onUpdate:modelValue":l[103]||(l[103]=e=>dn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ya,(0,p.Wm)(Rn,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(Ft,{modelValue:ao.value,"onUpdate:modelValue":l[104]||(l[104]=e=>ao.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Va,[(0,p.Wm)(bt,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",Wa,[(0,p.Wm)(bt,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(bt,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ta,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:sn.value,"onUpdate:modelValue":l[105]||(l[105]=e=>sn.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),xa])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ua,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Pa])),_:1},8,["show"]),(0,p.Wm)(gt,{modelValue:_o.value,"onUpdate:modelValue":l[107]||(l[107]=e=>_o.value=e),title:"tokensTool登录日志","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",za,[(0,p.Wm)((0,w.SU)(W.eI),{"row-class-name":ut,data:An.value},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{prop:"ipAddress",label:"登录地区","min-width":"160"},{default:(0,p.w5)((e=>[(0,p._)("div",Ha,[(0,p._)("span",Aa,(0,v.zw)(e.row.ipAddress),1)])])),_:1}),(0,p.Wm)(y,{label:"登录IP","min-width":"155"},{default:(0,p.w5)((e=>[(0,p._)("div",Na,[(0,p.Wm)(Yn,{onClick:l=>Gt(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(et)])),_:2},1032,["onClick"]),(0,p._)("span",Sa,(0,v.zw)(e.row.requestIp),1)])])),_:1}),(0,p.Wm)(y,{label:"成功/失败","min-width":"105"},{default:(0,p.w5)((e=>[(0,p._)("div",Ca,[(0,p._)("span",Oa,(0,v.zw)(e.row.inRequestNumber)+"/"+(0,v.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,p.Wm)(y,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),$a])),_:1},8,["modelValue"]),(0,p.Wm)(Gn,{show:ko.value,"onUpdate:show":l[115]||(l[115]=e=>ko.value=e),title:"添加poolToken信息",width:"95vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Da,[(0,p.Wm)(Jn,{onSubmit:ot},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[qa,(0,p._)("div",Ba,[(0,p.Wm)(Qt,{label:"poolToken名"},{default:(0,p.w5)((()=>[(0,p.Wm)(Pn,{modelValue:nn.value,"onUpdate:modelValue":l[108]||(l[108]=e=>nn.value=e),filterable:"",clearable:"",placeholder:"选择要修改的pool名",onChange:at,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(Hn.value,(e=>((0,p.wg)(),(0,p.j4)(to,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Ia,(0,p.Wm)(Rn,{modelValue:cn.value,"onUpdate:modelValue":l[109]||(l[109]=e=>cn.value=e),type:"textarea",autoSize:"",name:"pool_token的值",label:"pool_token的值",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),ja,(0,p.Wm)(Rn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:un.value,"onUpdate:modelValue":l[110]||(l[110]=e=>un.value=e)},null,8,["modelValue"])])),_:1}),Za,1==un.value?((0,p.wg)(),(0,p.iD)("div",Ra,[La,(0,p.Wm)(Rn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:rn.value,"onUpdate:modelValue":l[111]||(l[111]=e=>rn.value=e)},null,8,["modelValue"])])),_:1}),Ka,(0,p.Wm)(Rn,{modelValue:dn.value,"onUpdate:modelValue":l[112]||(l[112]=e=>dn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ea,(0,p.Wm)(Rn,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(Ft,{modelValue:ao.value,"onUpdate:modelValue":l[113]||(l[113]=e=>ao.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Ja,[(0,p.Wm)(bt,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",Ga,[(0,p.Wm)(bt,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(bt,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ma,(0,p.Wm)(Rn,{type:"textarea",autoSize:"",modelValue:sn.value,"onUpdate:modelValue":l[114]||(l[114]=e=>sn.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Ya])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Xa,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Fa])),_:1},8,["show"]),(0,p.Wm)(gt,{modelValue:fo.value,"onUpdate:modelValue":l[116]||(l[116]=e=>fo.value=e),"align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",{ref_key:"chart",ref:Yt,style:{width:"auto",height:"350px"}},null,512)])),_:1},8,["modelValue"])],64)}}});const oo=ao;var no=oo}}]); -//# sourceMappingURL=77.cc45578a.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/77.cc45578a.js.map b/rearServer/src/main/resources/static/js/77.cc45578a.js.map deleted file mode 100644 index 42a3955..0000000 --- a/rearServer/src/main/resources/static/js/77.cc45578a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/77.cc45578a.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue","webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue?1abb"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"img\", {\n style: {\n \"width\": \"25px\"\n },\n src: _imports_0\n}, null, -1);\nconst _hoisted_4 = {\n class: \"home-container\"\n};\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.2 \")], -1);\nconst _hoisted_11 = {\n class: \"under\"\n};\nconst _hoisted_12 = {\n class: \"search\"\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"0px 0px -20px 0px\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"width\": \"88vw\",\n \"height\": \"63vh\",\n \"transform\": \"translateX(0vw)\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_17 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_18 = {\n style: {\n \"margin\": \"13px\",\n \"transform\": \"translateX(7px)\"\n }\n};\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = {\n key: 0\n};\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 0\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_31 = {\n key: 1\n};\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = {\n key: 0\n};\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 1\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 0\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_49 = {\n key: 2\n};\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 3\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_54 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_57 = {\n key: 0\n};\nconst _hoisted_58 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_59 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_60 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_62 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_63 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = {\n key: 0\n};\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = {\n key: 0\n};\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = {\n key: 0\n};\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_121 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(102.5% + 40px)\"\n }\n};\nconst _hoisted_122 = {\n style: {\n \"margin-left\": \"10px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_123 = {\n key: 0\n};\nconst _hoisted_124 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_125 = {\n key: 1\n};\nconst _hoisted_126 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_127 = {\n key: 2\n};\nconst _hoisted_128 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_129 = {\n style: {\n \"margin-left\": \"20px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_130 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_132 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_133 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_134 = {\n style: {\n \"margin\": \"10px 0px 10px 0px\"\n }\n};\nconst _hoisted_135 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部刷新\", -1);\nconst _hoisted_136 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查\", -1);\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_138 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_139 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_144 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_145 = {\n key: 0\n};\nconst _hoisted_146 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_151 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_152 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_153 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_154 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = {\n key: 0\n};\nconst _hoisted_157 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_158 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_159 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_160 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_161 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_162 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_163 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_164 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_165 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_166 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(100% + 2.5% + 40px)\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_168 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_169 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_170 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_171 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_172 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_175 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_176 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = {\n key: 0\n};\nconst _hoisted_181 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_182 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_183 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_184 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_185 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_186 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_187 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_188 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_189 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIphone',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleSelection = ref([]);\n const toggleSelection = rows => {\n multipleTableRef.value.clearSelection();\n };\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n //页头图片 image\n const image = png;\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"0\"\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\",\n onClick: getPandoraNext\n })]),\n default: _withCtx(() => [_hoisted_3]),\n _: 1\n }), _hoisted_5, _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"列表\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-2\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"PoolToken列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"全部检查并生成\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-5\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"1-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-4\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-5\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用手册\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"状态\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"2-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-2-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-3-1\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-2\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-3\"\n }, {\n default: _withCtx(() => [_hoisted_8]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createElementVNode(\"div\", _hoisted_13, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => value.value = $event),\n shape: \"round\",\n placeholder: \"请输入搜索token名称或类型\",\n onSearch: onSearch\n }, null, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_14, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n class: \"tokenTable\",\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n width: \"160\",\n prop: \"setPoolToken\",\n sortable: \"\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_15, [_createElementVNode(\"div\", null, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024)]), _createElementVNode(\"span\", _hoisted_16, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n width: \"117\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createElementVNode(\"span\", _hoisted_17, [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)])]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"370\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_18, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"my-button\",\n onClick: _cache[6] || (_cache[6] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_19]),\n _: 1\n })])])]), _hoisted_20]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[17] || (_cache[17] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_21, [_createVNode(_component_van_form, {\n onSubmit: _cache[16] || (_cache[16] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_22, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n \"input-align\": \"center\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n \"input-align\": \"center\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [_hoisted_26, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_30, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [_hoisted_32, _createVNode(_component_van_field, {\n rows: \"2\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => temPassword.value = $event),\n name: \"Token的密码\",\n \"input-align\": \"center\",\n label: \"Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_33, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n \"input-align\": \"center\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 50\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_34]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_35, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_36]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[29] || (_cache[29] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_form, {\n onSubmit: _cache[28] || (_cache[28] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_38, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_39, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => addUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n rules: [{\n required: true,\n message: '请填写OpenAi用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_40, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[20] || (_cache[20] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [_hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_48, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_49, [_hoisted_50, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addPassword.value = $event),\n name: \"Token的密码\",\n label: \"Token的密码\",\n \"input-align\": \"center\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_53]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_54, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_55]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[49] || (_cache[49] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_57, [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_59, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_62, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[31] || (_cache[31] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_63, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[32] || (_cache[32] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"Token的密码\",\n label: \"Token的密码\",\n placeholder: \"Token的密码\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[33] || (_cache[33] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_64, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_67, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[39] || (_cache[39] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_68, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[41] || (_cache[41] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[44] || (_cache[44] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_72, [_hoisted_73, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[46] || (_cache[46] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), _hoisted_74, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的share_token\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_75]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[64] || (_cache[64] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_76, [_createVNode(_component_van_form, {\n onSubmit: _cache[63] || (_cache[63] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_77, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[50] || (_cache[50] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_78, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_79, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[52] || (_cache[52] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[53] || (_cache[53] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_82, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_83, [_hoisted_84, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_85, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_86, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_87, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_90, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_91]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_92, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_93]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[76] || (_cache[76] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_form, {\n onSubmit: _cache[75] || (_cache[75] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_95, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_96, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_97, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[67] || (_cache[67] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[68] || (_cache[68] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_101, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_102, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_103, [_hoisted_104, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_105, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_106]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_107, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_108]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[85] || (_cache[85] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_form, {\n onSubmit: _cache[84] || (_cache[84] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_110, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_111, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_112, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[79] || (_cache[79] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[80] || (_cache[80] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_114, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_118, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_119]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_el_icon, {\n onClick: _cache[86] || (_cache[86] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, {\n style: {\n \"white-space\": \"nowrap\",\n \"overflow\": \"hidden\",\n \"text-overflow\": \"ellipsis\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\" API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions \", 1)]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_121, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: poolData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"intoOneApi\",\n label: \"pool_token名称\",\n sortable: \"\",\n \"min-width\": \"180\",\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_122, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_123, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_124]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_125, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_126]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_127, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_128]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_129, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"265\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_130, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_131, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"275\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_132, [_createElementVNode(\"span\", _hoisted_133, _toDisplayString(scope.row.shareTokens), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"180\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"285\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])]), _createElementVNode(\"div\", _hoisted_134, [_createVNode(_component_el_button_group, {\n class: \"pool-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_135]),\n _: 1\n }), _createVNode(_component_el_button, {\n onClick: verifyAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_136]),\n _: 1\n })]),\n _: 1\n })]), _hoisted_137]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_138, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_139, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[88] || (_cache[88] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_140, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[89] || (_cache[89] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_141, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[90] || (_cache[90] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_142]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_8.value,\n \"onUpdate:show\": _cache[99] || (_cache[99] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_143, [_createVNode(_component_van_form, {\n onSubmit: _cache[98] || (_cache[98] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_144, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[92] || (_cache[92] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_145, [_hoisted_146, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => auto_updateTime.value = $event),\n name: \"自动刷新session的间隔天数\",\n label: \"自动刷新session的间隔天数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_147, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[94] || (_cache[94] = $event => auto_updateNumber.value = $event),\n name: \"自动刷新session的个数\",\n label: \"自动刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_148, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_149, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_150, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_151]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_152, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_153]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_9.value,\n \"onUpdate:show\": _cache[106] || (_cache[106] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n width: \"90vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_154, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[100] || (_cache[100] = $event => poolNameValue.value = $event),\n name: \"pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"3到10个字符\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_155, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[101] || (_cache[101] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_156, [_hoisted_157, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[102] || (_cache[102] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_158, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_159, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_160, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_161, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_162, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_163])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_164, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_165]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_166, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"160\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_167, [_createElementVNode(\"span\", _hoisted_168, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"155\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_169, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_170, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_171, [_createElementVNode(\"span\", _hoisted_172, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_173]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_11.value,\n \"onUpdate:show\": _cache[115] || (_cache[115] = $event => show_11.value = $event),\n title: \"添加poolToken信息\",\n width: \"95vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_174, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_175, _createElementVNode(\"div\", _hoisted_176, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[108] || (_cache[108] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择要修改的pool名\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_177, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => temPool_token.value = $event),\n type: \"textarea\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_178, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_179, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_180, [_hoisted_181, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_182, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_183, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_184, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_185, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_186, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_187])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_188, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_189]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"350px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIphone.vue?vue&type=style&index=0&id=f33f0c8a&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","style","src","_hoisted_4","_hoisted_5","_hoisted_6","href","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","key","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","_hoisted_185","_hoisted_186","_hoisted_187","_hoisted_188","_hoisted_189","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleSelection","handleSelectionChange","val","value","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","buttonValue","options","label","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","innerHeight","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","getPool","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","getSetting","tls","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","service","fullscreen","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","loadingInstance","json","msg","close","handlePoolNameChange","selectedItem","find","requirePoolToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","updateAllPoolToken","verifyAllPoolToken","reNew","reNewMsg","ok","Error","reNewPool","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","logout","removeItem","getPoolToken","getLogin","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_van_icon","_component_el_menu_item","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_button_group","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","size","onClick","$event","icon","extra","square","color","modelValue","shape","placeholder","onSelectionChange","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","clearable","filterable","onSubmit","inset","rules","required","rows","autoSize","validator","maxlength","autosize","maxHeight","minHeight","round","block","suffix","readonly","onClickLeftIcon","disabled","property","input","onChange","ref_key","ref","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/805.c5ddb037.js b/rearServer/src/main/resources/static/js/805.c5ddb037.js deleted file mode 100644 index 02f8cff..0000000 --- a/rearServer/src/main/resources/static/js/805.c5ddb037.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[805],{8805:function(e,l,a){a.r(l),a.d(l,{default:function(){return Qa}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),m=(a(1897),a(6907)),c=(a(4746),a(294)),v=(a(6870),a(6252)),p=a(3577),w=a(2262),h=a(1094),_=a(2201),k=a(6154),f=(a(451),a(844)),g=a(1348),b=a(9288),V=a(2534),y=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,v._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),P={class:"home-container"},z=(0,v._)("div",{class:"flex-grow"},null,-1),A=(0,v._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),H=(0,v._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),N=(0,v._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),S={class:"under"},C={style:{display:"block",transform:"translate(5vw, 2.5vh)"}},O=(0,v._)("div",{class:"flex items-center"},[(0,v._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,v._)("span",{class:"font-h4-tag"},"v0.6.2 ")],-1),$={class:"search"},q={style:{display:"flex",margin:"10px 35px -8px 35px"}},D={style:{display:"flex",transform:"translateX(4vw)",width:"70vw",height:"61vh"}},B={style:{display:"flex","align-items":"center"}},I={style:{"margin-left":"18px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},j={style:{margin:"15px 0px 15px 0px"}},Z=(0,v._)("h1",null,"批量操作",-1),L=(0,v._)("h1",null,"全部检查并生成",-1),R=(0,v._)("br",null,null,-1),E=(0,v._)("br",null,null,-1),K=(0,v._)("br",null,null,-1),J={style:{display:"block"}},G=(0,v._)("br",null,null,-1),M=(0,v._)("br",null,null,-1),Y=(0,v._)("br",null,null,-1),F={key:0},X=(0,v._)("br",null,null,-1),Q={key:1},ee=(0,v._)("br",null,null,-1),le={key:0},ae=(0,v._)("br",null,null,-1),oe=(0,v._)("br",null,null,-1),ne={key:2},te=(0,v._)("br",null,null,-1),ue=(0,v._)("br",null,null,-1),ie=(0,v._)("br",null,null,-1),re={style:{margin:"5.2px"}},se=(0,v._)("br",null,null,-1),de={style:{display:"block"}},me=(0,v._)("br",null,null,-1),ce=(0,v._)("br",null,null,-1),ve=(0,v._)("br",null,null,-1),pe=(0,v._)("br",null,null,-1),we={key:0},he=(0,v._)("br",null,null,-1),_e={key:1},ke=(0,v._)("br",null,null,-1),fe={key:0},ge=(0,v._)("br",null,null,-1),be=(0,v._)("br",null,null,-1),Ve={key:2},ye=(0,v._)("br",null,null,-1),We={key:3},Te=(0,v._)("br",null,null,-1),xe=(0,v._)("br",null,null,-1),Ue={style:{margin:"5.2px"}},Pe=(0,v._)("br",null,null,-1),ze={style:{display:"block"}},Ae={key:0},He={style:{display:"flex","justify-content":"center","align-items":"center"}},Ne={style:{margin:"10px 75px 10px 75px"}},Se={style:{margin:"10px 75px 10px 75px"}},Ce={style:{margin:"10px 75px 10px 75px"}},Oe=(0,v._)("br",null,null,-1),$e=(0,v._)("br",null,null,-1),qe=(0,v._)("br",null,null,-1),De=(0,v._)("br",null,null,-1),Be=(0,v._)("br",null,null,-1),Ie=(0,v._)("br",null,null,-1),je=(0,v._)("br",null,null,-1),Ze=(0,v._)("br",null,null,-1),Le=(0,v._)("br",null,null,-1),Re=(0,v._)("br",null,null,-1),Ee={key:0},Ke=(0,v._)("br",null,null,-1),Je=(0,v._)("br",null,null,-1),Ge=(0,v._)("br",null,null,-1),Me={style:{display:"block"}},Ye=(0,v._)("br",null,null,-1),Fe=(0,v._)("br",null,null,-1),Xe=(0,v._)("br",null,null,-1),Qe=(0,v._)("br",null,null,-1),el=(0,v._)("br",null,null,-1),ll=(0,v._)("br",null,null,-1),al={key:0},ol=(0,v._)("br",null,null,-1),nl=(0,v._)("br",null,null,-1),tl=(0,v._)("br",null,null,-1),ul=(0,v._)("br",null,null,-1),il=(0,v._)("br",null,null,-1),rl=(0,v._)("br",null,null,-1),sl=(0,v._)("br",null,null,-1),dl=(0,v._)("br",null,null,-1),ml={style:{margin:"5.2px"}},cl=(0,v._)("br",null,null,-1),vl={style:{display:"block"}},pl=(0,v._)("br",null,null,-1),wl=(0,v._)("br",null,null,-1),hl=(0,v._)("br",null,null,-1),_l=(0,v._)("br",null,null,-1),kl=(0,v._)("br",null,null,-1),fl=(0,v._)("br",null,null,-1),gl=(0,v._)("br",null,null,-1),bl=(0,v._)("br",null,null,-1),Vl={key:0},yl=(0,v._)("br",null,null,-1),Wl=(0,v._)("br",null,null,-1),Tl=(0,v._)("br",null,null,-1),xl={style:{margin:"5.2px"}},Ul=(0,v._)("br",null,null,-1),Pl={style:{display:"block"}},zl=(0,v._)("br",null,null,-1),Al=(0,v._)("br",null,null,-1),Hl=(0,v._)("br",null,null,-1),Nl=(0,v._)("br",null,null,-1),Sl=(0,v._)("br",null,null,-1),Cl=(0,v._)("br",null,null,-1),Ol=(0,v._)("br",null,null,-1),$l=(0,v._)("br",null,null,-1),ql={style:{margin:"5.2px"}},Dl=(0,v._)("br",null,null,-1),Bl={style:{transform:"translate(0vw, -2vh)"}},Il={style:{"margin-left":"15px",display:"flex","align-items":"center"}},jl={key:0},Zl=(0,v._)("h5",null,"oneApi4",-1),Ll={key:1},Rl=(0,v._)("h5",null,"oneApi3",-1),El={key:2},Kl=(0,v._)("h5",null,"Json",-1),Jl={style:{"margin-left":"25px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Gl={style:{display:"flex","align-items":"center",overflow:"auto"}},Ml={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Yl={style:{display:"flex","align-items":"center",overflow:"auto"}},Fl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Xl={style:{margin:"10px 0px 10px 0px"}},Ql=(0,v._)("h1",null,"全部刷新",-1),ea=(0,v._)("h1",null,"全部检查",-1),la=(0,v._)("br",null,null,-1),aa={style:{display:"block"}},oa=(0,v._)("br",null,null,-1),na=(0,v._)("br",null,null,-1),ta=(0,v._)("br",null,null,-1),ua=(0,v._)("br",null,null,-1),ia={style:{display:"block"}},ra=(0,v._)("br",null,null,-1),sa={key:0},da=(0,v._)("br",null,null,-1),ma=(0,v._)("br",null,null,-1),ca=(0,v._)("br",null,null,-1),va=(0,v._)("br",null,null,-1),pa=(0,v._)("br",null,null,-1),wa=(0,v._)("br",null,null,-1),ha={style:{margin:"5.2px"}},_a={style:{display:"block"}},ka=(0,v._)("br",null,null,-1),fa=(0,v._)("br",null,null,-1),ga={key:0},ba=(0,v._)("br",null,null,-1),Va=(0,v._)("br",null,null,-1),ya=(0,v._)("br",null,null,-1),Wa=(0,v._)("br",null,null,-1),Ta=(0,v._)("br",null,null,-1),xa={style:{margin:"5.2px"}},Ua={style:{display:"flex"}},Pa={style:{display:"flex","align-items":"center"}},za={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Aa={style:{display:"flex","align-items":"center",overflow:"auto"}},Ha={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Na={style:{display:"flex","align-items":"center",overflow:"auto"}},Sa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ca=(0,v._)("br",null,null,-1),Oa={style:{display:"block"}},$a=(0,v._)("br",null,null,-1),qa={style:{transform:"translateX(17px)"}},Da=(0,v._)("br",null,null,-1),Ba=(0,v._)("br",null,null,-1),Ia=(0,v._)("br",null,null,-1),ja={key:0},Za=(0,v._)("br",null,null,-1),La=(0,v._)("br",null,null,-1),Ra=(0,v._)("br",null,null,-1),Ea=(0,v._)("br",null,null,-1),Ka=(0,v._)("br",null,null,-1),Ja={style:{margin:"5.2px"}},Ga=0,Ma=1,Ya=2;var Fa=(0,v.aZ)({__name:"homeIndex",setup(e){const l=window.location.pathname,a=l.split("/");let Fa="";a.length>=3&&(Fa="/"+a[1]);const Xa=(0,w.iH)(["default","svip","vip"]),Qa=(0,w.iH)(),eo=(0,w.iH)([]),lo=e=>{eo.value=e},ao=(0,w.iH)("ALL"),oo=(0,_.tv)(),no=(0,w.iH)(!1),to=(0,w.iH)(!1),uo=(0,w.iH)(!1),io=(0,w.iH)(!1),ro=(0,w.iH)(!1),so=(0,w.iH)(!1),mo=(0,w.iH)(!1),co=(0,w.iH)(!1),vo=(0,w.iH)(!1),po=(0,w.iH)(!1),wo=(0,w.iH)(!1),ho=(0,w.iH)(!1),_o=(0,w.iH)(!1),ko=(0,w.iH)(""),fo=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],go=(0,w.iH)(""),bo=(0,w.iH)("*"),Vo=(0,w.iH)(""),yo=(0,w.iH)(""),Wo=(0,w.iH)(""),To=(0,w.iH)(!1),xo=(0,w.iH)(!1),Uo=(0,w.iH)(!1),Po=(0,w.iH)(!1),zo=(0,w.iH)(""),Ao=(0,w.iH)(!1),Ho=(0,w.iH)(""),No=(0,w.iH)(""),So=(0,w.iH)(""),Co=(0,w.iH)(""),Oo=(0,w.iH)(""),$o=(0,w.iH)(""),qo=(0,w.iH)(""),Do=(0,w.iH)(!1),Bo=(0,w.iH)(""),Io=(0,w.iH)("PandoraNext"),jo=(0,w.iH)("default"),Zo=(0,w.iH)(""),Lo=(0,w.iH)(""),Ro=(0,w.iH)(""),Eo=(0,w.iH)(""),Ko=(0,w.iH)(!1),Jo=(0,w.iH)(!1),Go=(0,w.iH)(!1),Mo=(0,w.iH)(!1),Yo=(0,w.iH)(!1),Fo=(0,w.iH)(5),Xo=(0,w.iH)(1),Qo=(0,w.iH)(""),en=(0,w.iH)(""),ln=(0,w.iH)(""),an=(0,w.iH)(""),on=((0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(!0),(0,w.iH)("")),nn=(0,w.iH)(!1),tn=(0,w.iH)(!1),un=(0,w.iH)(Qo.value+go.value),rn=(0,w.iH)(0),sn=(0,w.iH)(""),dn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},mn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},cn=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},vn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=qn.value&&1!=Wn.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},pn=(0,w.iH)(""),wn=(0,w.iH)(""),hn=(0,w.iH)(""),_n=(0,w.iH)(""),kn=(0,w.iH)(""),fn=(0,w.iH)(""),gn=(0,w.iH)(!1),bn=(0,w.iH)(!1),Vn=(0,w.iH)(!1),yn=(0,w.iH)(""),Wn=(0,w.iH)(!1),Tn=(0,w.iH)(!1),xn=(0,w.iH)(!0),Un=(0,w.iH)([]),Pn=(0,w.iH)([]),zn=(0,w.iH)([]),An=(0,w.iH)(""),Hn=(0,w.iH)(""),Nn=(0,w.iH)(""),Sn=(0,w.iH)(""),Cn=(0,w.iH)(!1),On=(0,w.iH)(!1),$n=(0,w.iH)(!1),qn=(0,w.iH)(!1),Dn=(0,w.iH)(!1),Bn=(0,w.iH)(""),In=((0,w.iH)(.085*window.innerHeight),(0,w.iH)("")),jn=localStorage.getItem("jwtToken");jn||oo.replace("/");const Zn={Authorization:`Bearer ${jn}`},Ln=async()=>{k.Z.post(`${Fa}/api/loginToken?token=`+jn).then((e=>{if(0==e.data.code)return console.error(e.data.data),void oo.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),oo.replace("/")}))},Rn=e=>{"Web"==e?Jn(""):"all"==e?En(""):e.includes("API")?Kn(""):En(e)},En=async e=>{const l=await k.Z.get(`${Fa}/api/selectToken?name=${e}`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));Un.value=e}},Kn=async e=>{const l=await k.Z.get(`${Fa}/api/selectToken?name=${e}`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));Un.value=l}},Jn=async e=>{const l=await k.Z.get(`${Fa}/api/selectToken?name=${e}`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));Un.value=l}},Gn=async()=>{const e=await k.Z.get(`${Fa}/api/selectLogin`,{headers:Zn}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));zn.value=e}},Mn=async e=>{const l=await k.Z.get(`${Fa}/api/selectPoolToken?name=`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));Pn.value=e}},Yn=async e=>{const l=await k.Z.get(`${Fa}/api/selectSetting`,{headers:Zn}),a=l.data.data;go.value=a.proxy_api_prefix,bo.value=a.isolated_conv_title,Vo.value=a.bing,yo.value=a.timeout,Wo.value=a.proxy_url,To.value=a.public_share,xo.value=a.disable_signup,Uo.value=a.auto_conv_arkose,Po.value=a.proxy_file_service,zo.value=a.custom_doh_host,Ao.value=a.tls.enabled,Ho.value=a.tls.cert_file,No.value=a.tls.key_file,So.value=a.site_password,Co.value=a.setup_password,null==a.whitelist?Zo.value="null":Zo.value=a.whitelist,Oo.value=a.loginUsername,$o.value=a.loginPassword,qo.value=a.license_id,Do.value=a.isGetToken,Bo.value=a.getTokenPassword,Io.value=a.containerName,jo.value=a.autoToken_url,Lo.value=a.validation.provider,Ro.value=a.validation.site_key,Eo.value=a.validation.site_secret,Ko.value=a.validation.site_login,Jo.value=a.validation.setup_login,Go.value=a.validation.oai_username,Mo.value=a.validation.oai_password,Yo.value=a.auto_updateSession,Fo.value=a.auto_updateTime,Xo.value=a.auto_updateNumber,Qo.value=a.pandoraNext_outUrl,un.value=Qo.value+go.value,en.value=a.oneAPi_outUrl,ln.value=a.oneAPi_intoToken,Fn()},Fn=async()=>{"123456"==$o.value&&"root"==Oo.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),ro.value=!0,$o.value="",Oo.value="")},Xn=()=>{const e=eo.value;0!==e.length?po.value=!0:(0,g.z8)("未选择数据")},Qn=async()=>{y.kN.service({fullscreen:!0});try{const e=eo.value,l=e.map((e=>e.name)),a={poolName:on.value,intoOneApi:nn.value,pandoraNextGpt4:tn.value,oneApi_pandoraUrl:un.value,shareTokens:l,groupChecked:Xa.value.toString(),priority:rn.value},o=await fetch(`${Fa}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(on.value="",Mn(""),(0,g.z8)({type:"success",message:t.data}),on.value="",nn.value=!1,tn.value=!1,Xa.value=["default","svip","vip"],rn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}po.value=!1},et=e=>{let l=Pn.value.find((l=>l.poolName===e));null!=l&&(sn.value=l.poolToken,nn.value=l.intoOneApi,tn.value=l.pandoraNextGpt4,un.value=l.oneApi_pandoraUrl,rn.value=l.priority)},lt=async()=>{y.kN.service({fullscreen:!0});try{const e=eo.value,l=e.map((e=>e.name)),a={poolName:an.value,poolToken:sn.value,intoOneApi:nn.value,pandoraNextGpt4:tn.value,oneApi_pandoraUrl:un.value,shareTokens:l,groupChecked:Xa.value.toString(),priority:rn.value},o=await fetch(`${Fa}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Mn(""),(0,g.z8)({type:"success",message:t.data}),an.value="",sn.value="",nn.value=!1,tn.value=!1,Xa.value=["default","svip","vip"],rn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}ho.value=!1},at=(0,w.iH)("");(0,v.bv)((async()=>{const e=y.kN.service({fullscreen:!0});window.innerWidth<=700?oo.replace("/iphone"):oo.replace("/home"),Ln();const l=await k.Z.get(`${Fa}/api/getPandoraNext`,{headers:Zn}),a=l.data.data;null!=a&&(at.value=a.current+"/"+a.total),Rn(In.value),Mn(In.value),Yn(In.value),e.close()}));const ot=({row:e})=>0==e.checkSession?"warning-row":"",nt=({row:e})=>0==e.checkPool?"warning-row":"",tt=()=>{window.open(Qo.value)},ut=()=>{var e=Qo.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},it=()=>{var e=Qo.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},rt=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},st=(0,w.iH)("-1");let dt="";const mt=(e,l)=>{console.log("选择准备!")},ct=()=>{to.value=!0},vt=()=>{const e=y.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=Bn.value&&(Cn.value=!1,$n.value=!1,On.value=!1),0==qn.value&&(Sn.value=Hn.value+","+Nn.value,Dn.value=!1,Cn.value=!1,$n.value=!1,On.value=!1);let o={name:An.value,token:Sn.value,username:Hn.value,userPassword:Nn.value,shared:Cn.value,show_user_info:On.value,plus:$n.value,setPoolToken:qn.value,useRefreshToken:Dn.value,password:Bn.value,updateTime:a};fetch(`${Fa}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),An.value="",Sn.value="",Hn.value="",Nn.value="",Cn.value=!1,On.value=!1,$n.value=!1,qn.value=!1,Dn.value=!1,Bn.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),Bn.value="",En(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),to.value=!1},pt=(0,w.iH)(0),wt=(0,w.iH)(0),ht=async e=>{if(pn.value=e.name,kn.value=e.username,fn.value=e.userPassword,wn.value=e.token,hn.value=e.access_token,_n.value=e.share_token,gn.value=e.shared,bn.value=e.show_user_info,Vn.value=e.plus,yn.value=e.password,Wn.value=e.setPoolToken,Tn.value=e.useRefreshToken,xn.value=e.checkSession,1!=Wn.value)return void(uo.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${un.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?pt.value=Number(o.usage["text-davinci-002-render-sha"]):pt.value=0,null!=o.usage["gpt-4"]?wt.value=Number(o.usage["gpt-4"]):wt.value=0),uo.value=!0};let _t=!1,kt=!1,ft="";const gt=(e,l)=>{pn.value=l.name,kn.value=l.username,fn.value=l.userPassword,wn.value=l.token,dt=l.token,gn.value=l.shared,bn.value=l.show_user_info,Vn.value=l.plus,yn.value=l.password,Wn.value=l.setPoolToken,Tn.value=l.useRefreshToken,_t=Wn.value,kt=Tn.value,ft=wn.value,xn.value=l.checkSession,hn.value=l.access_token,_n.value=l.share_token,no.value=!0},bt=async e=>{0==e?io.value=!0:1==e?ro.value=!0:2==e&&(so.value=!0)},Vt=e=>{const l=y.kN.service({fullscreen:!0});null!=Zo.value&&"null"!=Zo.value||(Zo.value=""),0==Ao.value&&(Ho.value="",No.value="");const a={enabled:Ao.value,cert_file:Ho.value,key_file:No.value},o={provider:Lo.value,site_key:Ro.value,site_secret:Eo.value,site_login:Ko.value,setup_login:Jo.value,oai_username:Go.value,oai_password:Mo.value},n={proxy_api_prefix:go.value,isolated_conv_title:bo.value,bing:Vo.value,timeout:yo.value,proxy_url:Wo.value,public_share:To.value,site_password:So.value,setup_password:Co.value,loginUsername:Oo.value,loginPassword:$o.value,license_id:qo.value,disable_signup:xo.value,auto_conv_arkose:Uo.value,proxy_file_service:Po.value,custom_doh_host:zo.value,isGetToken:Do.value,getTokenPassword:Bo.value,containerName:Io.value,autoToken_url:jo.value,whitelist:Zo.value,validation:o,tls:a};fetch(`${Fa}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Ln(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?io.value=!1:1==e?ro.value=!1:2==e&&(so.value=!1)},yt=()=>{const e=y.kN.service({fullscreen:!0});"/"!==Qo.value.charAt(Qo.value.length-1)&&(Qo.value+="/");const l={auto_updateSession:Yo.value,auto_updateTime:Fo.value,auto_updateNumber:Xo.value,pandoraNext_outUrl:Qo.value,oneAPi_outUrl:en.value,oneAPi_intoToken:ln.value};fetch(`${Fa}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),vo.value=!1},Wt=()=>{const e=y.kN.service({fullscreen:!0});let l="";if(dt!=wn.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==Wn.value&&(gn.value=!1,Vn.value=!1,bn.value=!1,Tn.value=!1),!0===gn.value?yn.value="":(Vn.value=!1,bn.value=!1);let a="";a=_t!=Wn.value&&ft==wn.value?0==Wn.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==Tn.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":kt!=Tn.value&&ft==wn.value?1==Tn.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:pn.value,token:wn.value,username:kn.value,userPassword:fn.value,shared:gn.value,show_user_info:bn.value,plus:Vn.value,setPoolToken:Wn.value,useRefreshToken:Tn.value,checkSession:xn.value,password:yn.value,access_token:hn.value,share_token:_n.value};fetch(`${Fa}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),En("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),no.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Tt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/open`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},xt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/close`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ut=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/restart`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Pt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/reload`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},zt=(0,w.iH)(""),At=(0,w.iH)(""),Ht=async()=>{const e=await k.Z.get(`${Fa}/api/getPandoraNext`,{headers:Zn}),l=e.data.data;if(null!=l){at.value=l.current+"/"+l.total,zt.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();At.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}co.value=!0},Nt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/updateAllToken`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?(En(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},St=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/updateAllPoolToken`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?(Mn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Ct=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/verifyAllPoolToken`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?(Mn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Ot=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,En(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},$t=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Mn(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},qt=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),En(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Dt=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Mn(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Bt=(e,l)=>{const a=y.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${Fa}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(Mn(""),g.z8.success(e.data),a.close()):(Mn(""),g.z8.error(e.msg),a.close()),po.value=!1})).catch((e=>{console.error("删除失败",e),Mn(""),a.close(),po.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},It=(e,l)=>{const a=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Mn(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(Mn(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},jt=(e,l)=>{const a=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Fa}/api/deleteToken`,l,{headers:Zn}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${Fa}/api/updateAllPoolToken`,{headers:Zn}),o=e.data.data,En(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},Zt=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,V.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},Lt=e=>e.substring(0,30)+"...",Rt=()=>{localStorage.removeItem("jwtToken"),oo.replace("/")},Et=()=>{mo.value=!0},Kt=()=>{Gn(),wo.value=!0},Jt=()=>{window.open("https://github.com/Yanyutin753/PandoraNext-TokensTool")},Gt=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},Mt=e=>{const l=eo.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?Xn():"选中修改pool_token"==e&&(ho.value=!0);else{let e=0;const l=eo.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(En(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Fa}/api/deleteTokenList`,a,{headers:Zn}).then((async l=>{await k.Z.get(`${Fa}/api/updateAllPoolToken`,{headers:Zn}),o=l.data.data,En(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},Yt=(0,w.iH)(null),Ft=async()=>{_o.value=!0;const e=await k.Z.get(`${Fa}/api/modelsUsage`,{headers:Zn});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(Yt.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=(0,v.up)("el-menu-item"),_=c.JO,k=(0,v.up)("el-sub-menu"),f=(0,v.up)("el-menu"),g=m.zx,b=(0,v.up)("el-page-header"),V=(0,v.up)("el-radio-button"),y=(0,v.up)("el-radio-group"),T=d.ol,Fa=(0,v.up)("el-table-column"),eo=(0,v.up)("el-button"),oo=(0,v.up)("el-tag"),xn=(0,v.up)("el-popover"),jn=(0,v.up)("el-option"),Zn=(0,v.up)("el-select"),Ln=(0,v.up)("el-button-group"),Gn=s.gN,Mn=r.rs,Yn=i.TS,Fn=u.l0,Xn=t.Vq,dt=(0,v.up)("ChatLineRound"),_t=(0,v.up)("el-icon"),kt=(0,v.up)("el-statistic"),ft=(0,v.up)("el-col"),Xt=(0,v.up)("el-row"),Qt=(0,v.up)("CopyDocument"),eu=(0,v.up)("h10"),lu=(0,v.up)("el-dialog"),au=n.XZ,ou=o.cO,nu=(0,v.up)("el-form-item"),tu=(0,v.Q2)("loading");return(0,v.wg)(),(0,v.iD)(v.HY,null,[(0,v._)("div",x,[U,(0,v.Wm)(f,{"default-active":st.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:mt,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,v.w5)((()=>[(0,v.Wm)(a,null,{default:(0,v.w5)((()=>[(0,v._)("img",{style:{width:"40px"},src:h,alt:"Element logo",onClick:Jt})])),_:1}),(0,v.Wm)(a,{onClick:Ht},{title:(0,v.w5)((()=>[(0,v._)("div",P,[(0,v._)("h2",null,(0,p.zw)(at.value),1)]),(0,v.Wm)(_,{name:"replay",size:"20"})])),_:1}),z,(0,v.Wm)(a,{index:"1",onClick:Et},{default:(0,v.w5)((()=>[(0,v.Uk)("PoolToken列表")])),_:1}),(0,v.Wm)(k,{index:"3"},{title:(0,v.w5)((()=>[(0,v.Uk)("跳转Web服务")])),default:(0,v.w5)((()=>[(0,v.Wm)(k,{index:"3-1"},{title:(0,v.w5)((()=>[(0,v.Uk)("跳转PandoraWeb服务")])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"3-1-1",onClick:tt},{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"主页",1)])),_:1}),(0,v.Wm)(a,{index:"3-1-2",onClick:ut},{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"共享页",1)])),_:1}),(0,v.Wm)(a,{index:"3-1-3",onClick:it},{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"修改页",1)])),_:1})])),_:1}),(0,v.Wm)(k,{index:"3-2"},{title:(0,v.w5)((()=>[(0,v.Uk)("获取token地址")])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"3-2-1"},{default:(0,v.w5)((()=>[A])),_:1}),(0,v.Wm)(a,{index:"3-2-2"},{default:(0,v.w5)((()=>[H])),_:1}),(0,v.Wm)(a,{index:"3-2-3"},{default:(0,v.w5)((()=>[N])),_:1})])),_:1}),(0,v.Wm)(a,{index:"3-3",onClick:rt},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool使用说明")])),_:1})])),_:1}),(0,v.Wm)(k,{index:"5"},{title:(0,v.w5)((()=>[(0,v.Uk)("系统设置")])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"5-1",onClick:l[0]||(l[0]=e=>bt(Ga))},{default:(0,v.w5)((()=>[(0,v.Uk)("PandoraNext设置")])),_:1}),(0,v.Wm)(a,{index:"5-2",onClick:l[1]||(l[1]=e=>bt(Ma))},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool设置")])),_:1}),(0,v.Wm)(a,{index:"5-3",onClick:l[2]||(l[2]=e=>bt(Ya))},{default:(0,v.w5)((()=>[(0,v.Uk)("验证码信息设置")])),_:1}),(0,v.Wm)(a,{index:"5-3",onClick:l[3]||(l[3]=e=>vo.value=!0)},{default:(0,v.w5)((()=>[(0,v.Uk)("定时&接口设置")])),_:1})])),_:1}),(0,v.Wm)(k,{index:"6"},{title:(0,v.w5)((()=>[(0,v.Uk)("系统功能")])),default:(0,v.w5)((()=>[(0,v.Wm)(k,{index:"6-1"},{title:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"状态",1)])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"6-1-1",onClick:Tt},{default:(0,v.w5)((()=>[(0,v.Uk)("开启"+(0,p.zw)(Io.value),1)])),_:1}),(0,v.Wm)(a,{index:"6-1-2",onClick:xt},{default:(0,v.w5)((()=>[(0,v.Uk)("暂停"+(0,p.zw)(Io.value),1)])),_:1}),(0,v.Wm)(a,{index:"6-1-3",onClick:Ut},{default:(0,v.w5)((()=>[(0,v.Uk)("重启"+(0,p.zw)(Io.value),1)])),_:1}),(0,v.Wm)(a,{index:"6-1-4",onClick:Pt},{default:(0,v.w5)((()=>[(0,v.Uk)("重载"+(0,p.zw)(Io.value),1)])),_:1})])),_:1}),(0,v.Wm)(a,{index:"6-2",onClick:Kt},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool登录日志")])),_:1}),(0,v.Wm)(a,{index:"6-3",onClick:Ft},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool用量统计")])),_:1}),(0,v.Wm)(a,{index:"6-4",onClick:Rt},{default:(0,v.w5)((()=>[(0,v.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,v._)("div",S,[(0,v._)("div",C,[(0,v.Wm)(b,{icon:null,title:" "},{content:(0,v.w5)((()=>[O])),extra:(0,v.w5)((()=>[(0,v._)("div",{class:"addToken",onClick:ct},[(0,v.Wm)(g,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,v._)("div",$,[(0,v._)("div",q,[(0,v.Wm)(T,{modelValue:In.value,"onUpdate:modelValue":l[8]||(l[8]=e=>In.value=e),"show-action":"",shape:"round",placeholder:"请输入搜索token名称和类型",onSearch:Rn},{action:(0,v.w5)((()=>[(0,v.Wm)(y,{modelValue:ao.value,"onUpdate:modelValue":l[7]||(l[7]=e=>ao.value=e),label:"size control"},{default:(0,v.w5)((()=>[(0,v.Wm)(V,{type:"success",plain:"",label:"WEB",onClick:l[4]||(l[4]=e=>Jn(In.value))},{default:(0,v.w5)((()=>[(0,v.Uk)("WEB")])),_:1}),(0,v.Wm)(V,{type:"success",plain:"",label:"ALL",onClick:l[5]||(l[5]=e=>En(In.value))},{default:(0,v.w5)((()=>[(0,v.Uk)("ALL")])),_:1}),(0,v.Wm)(V,{type:"success",plain:"",label:"API",onClick:l[6]||(l[6]=e=>Kn(In.value))},{default:(0,v.w5)((()=>[(0,v.Uk)("API")])),_:1})])),_:1},8,["modelValue"])])),_:1},8,["modelValue"])]),(0,v._)("div",D,[(0,v.wy)(((0,v.wg)(),(0,v.j4)((0,w.SU)(W.eI),{data:Un.value,style:{width:"100%"},onSelectionChange:lo,ref_key:"multipleTableRef",ref:Qa,"default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":ot},{default:(0,v.w5)((()=>[(0,v.Wm)(Fa,{type:"selection",width:"45"}),(0,v.Wm)(Fa,{label:"名称",prop:"setPoolToken",sortable:"","min-width":"136"},{default:(0,v.w5)((e=>[(0,v._)("div",B,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[(0,v._)("h5",null,(0,p.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024),(0,v._)("span",I,(0,p.zw)(e.row.name),1)])])),_:1}),(0,v.Wm)(Fa,{label:"账号信息","min-width":"200"},{default:(0,v.w5)((e=>[(0,v.Wm)(xn,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,v.w5)((()=>[(0,v._)("div",null,"账号: "+(0,p.zw)(e.row.username),1),(0,v._)("div",null,"密码: "+(0,p.zw)(e.row.userPassword),1)])),reference:(0,v.w5)((()=>[(0,v.Wm)(oo,null,{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(e.row.username),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,v.Wm)(Fa,{label:"Token值","min-width":"270"},{default:(0,v.w5)((e=>[(0,v.Wm)(xn,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,v.w5)((()=>[(0,v._)("div",null,"token: "+(0,p.zw)(Lt(e.row.token)),1)])),reference:(0,v.w5)((()=>[(0,v.Wm)(oo,null,{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Lt(e.row.token)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,v.Wm)(Fa,{prop:"updateTime",sortable:"",label:"有效时间","min-width":"167"},{default:(0,v.w5)((e=>[(0,v.Wm)(xn,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,v.w5)((()=>[(0,v._)("div",null,"注册时间:"+(0,p.zw)(e.row.updateTime),1)])),reference:(0,v.w5)((()=>[(0,v.Wm)(oo,null,{default:(0,v.w5)((()=>[(0,v.Uk)("距离过期还有:"+(0,p.zw)(Zt(e.row)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,v.Wm)(Fa,{label:"操作方法",width:"335"},{default:(0,v.w5)((e=>[(0,v.Wm)(eo,{size:"small",onClick:l=>gt(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("编辑")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"primary",onClick:l=>ht(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("查看")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"danger",onClick:l=>jt(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("删除")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"success",onClick:l=>Ot(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("刷新")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"warning",onClick:l=>qt(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[tu,e.loading]])]),(0,v._)("div",j,[(0,v.Wm)(Zn,{modelValue:ko.value,"onUpdate:modelValue":l[9]||(l[9]=e=>ko.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作",class:"ml-4"},{default:(0,v.w5)((()=>[((0,v.wg)(),(0,v.iD)(v.HY,null,(0,v.Ko)(fo,(e=>(0,v.Wm)(jn,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,v.Wm)(eo,{class:"ml-4",onClick:l[10]||(l[10]=e=>Mt(ko.value))},{default:(0,v.w5)((()=>[Z])),_:1}),(0,v.Wm)(Ln,{class:"my-button"},{default:(0,v.w5)((()=>[(0,v.Wm)(eo,{onClick:Nt},{default:(0,v.w5)((()=>[L])),_:1})])),_:1})])]),R,E,K])]),(0,v.Wm)(Xn,{show:no.value,"onUpdate:show":l[21]||(l[21]=e=>no.value=e),title:"修改token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",J,[(0,v.Wm)(Fn,{onSubmit:l[20]||(l[20]=e=>Wt())},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[G,(0,v.Wm)(Gn,{modelValue:kn.value,"onUpdate:modelValue":l[11]||(l[11]=e=>kn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),M,(0,v.Wm)(Gn,{modelValue:fn.value,"onUpdate:modelValue":l[12]||(l[12]=e=>fn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),Y,(0,v.Wm)(Gn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[13]||(l[13]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),1==Wn.value?((0,v.wg)(),(0,v.iD)("div",F,[X,(0,v.Wm)(Gn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Tn.value,"onUpdate:modelValue":l[14]||(l[14]=e=>Tn.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0),1==Wn.value?((0,v.wg)(),(0,v.iD)("div",Q,[ee,(0,v.Wm)(Gn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:gn.value,"onUpdate:modelValue":l[15]||(l[15]=e=>gn.value=e)},null,8,["modelValue"])])),_:1}),1==gn.value?((0,v.wg)(),(0,v.iD)("div",le,[ae,(0,v.Wm)(Gn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:bn.value,"onUpdate:modelValue":l[16]||(l[16]=e=>bn.value=e)},null,8,["modelValue"])])),_:1}),oe,(0,v.Wm)(Gn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[17]||(l[17]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0)])):(0,v.kq)("",!0),0==gn.value||0==Wn.value?((0,v.wg)(),(0,v.iD)("div",ne,[te,(0,v.Wm)(Gn,{modelValue:yn.value,"onUpdate:modelValue":l[18]||(l[18]=e=>yn.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:vn}]},null,8,["modelValue","rules"])])):(0,v.kq)("",!0),ue,(0,v.Wm)(Gn,{modelValue:wn.value,"onUpdate:modelValue":l[19]||(l[19]=e=>wn.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:20},"show-word-limit":""},null,8,["modelValue"]),ie])),_:1}),(0,v._)("div",re,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),se])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:to.value,"onUpdate:show":l[33]||(l[33]=e=>to.value=e),title:"添加token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",de,[(0,v.Wm)(Fn,{onSubmit:l[32]||(l[32]=e=>vt())},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[me,(0,v.Wm)(Gn,{modelValue:An.value,"onUpdate:modelValue":l[22]||(l[22]=e=>An.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),ce,(0,v.Wm)(Gn,{modelValue:Hn.value,"onUpdate:modelValue":l[23]||(l[23]=e=>Hn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),ve,(0,v.Wm)(Gn,{modelValue:Nn.value,"onUpdate:modelValue":l[24]||(l[24]=e=>Nn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),pe,(0,v.Wm)(Gn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:qn.value,"onUpdate:modelValue":l[25]||(l[25]=e=>qn.value=e)},null,8,["modelValue"])])),_:1}),1==qn.value?((0,v.wg)(),(0,v.iD)("div",we,[he,(0,v.Wm)(Gn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Dn.value,"onUpdate:modelValue":l[26]||(l[26]=e=>Dn.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0),1==qn.value?((0,v.wg)(),(0,v.iD)("div",_e,[ke,(0,v.Wm)(Gn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Cn.value,"onUpdate:modelValue":l[27]||(l[27]=e=>Cn.value=e)},null,8,["modelValue"])])),_:1}),1==Cn.value?((0,v.wg)(),(0,v.iD)("div",fe,[ge,(0,v.Wm)(Gn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:On.value,"onUpdate:modelValue":l[28]||(l[28]=e=>On.value=e)},null,8,["modelValue"])])),_:1}),be,(0,v.Wm)(Gn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:$n.value,"onUpdate:modelValue":l[29]||(l[29]=e=>$n.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0)])):(0,v.kq)("",!0),""==Cn.value?((0,v.wg)(),(0,v.iD)("div",Ve,[ye,(0,v.Wm)(Gn,{modelValue:Bn.value,"onUpdate:modelValue":l[30]||(l[30]=e=>Bn.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:vn}]},null,8,["modelValue","rules"])])):(0,v.kq)("",!0),1==qn.value?((0,v.wg)(),(0,v.iD)("div",We,[Te,(0,v.Wm)(Gn,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:Sn.value,"onUpdate:modelValue":l[31]||(l[31]=e=>Sn.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,v.kq)("",!0),xe])),_:1}),(0,v._)("div",Ue,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),Pe])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:uo.value,"onUpdate:show":l[53]||(l[53]=e=>uo.value=e),title:"token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",ze,[(0,v.Wm)(Fn,null,{default:(0,v.w5)((()=>[1==Wn.value?((0,v.wg)(),(0,v.iD)("div",Ae,[(0,v._)("div",He,[(0,v.Wm)(Xt,null,{default:(0,v.w5)((()=>[(0,v._)("div",Ne,[(0,v.Wm)(ft,null,{default:(0,v.w5)((()=>[(0,v.Wm)(kt,{title:"GPT3.5",value:pt.value},{suffix:(0,v.w5)((()=>[(0,v.Wm)(_t,{style:{"vertical-align":"-0.125em"}},{default:(0,v.w5)((()=>[(0,v.Wm)(dt)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,v._)("div",Se,[(0,v.Wm)(ft,null,{default:(0,v.w5)((()=>[(0,v.Wm)(kt,{title:"总计",value:pt.value+wt.value},{suffix:(0,v.w5)((()=>[(0,v.Wm)(_t,{style:{"vertical-align":"-0.125em"}},{default:(0,v.w5)((()=>[(0,v.Wm)(dt)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,v._)("div",Ce,[(0,v.Wm)(ft,null,{default:(0,v.w5)((()=>[(0,v.Wm)(kt,{title:"GPT4.0",value:wt.value},{suffix:(0,v.w5)((()=>[(0,v.Wm)(_t,{style:{"vertical-align":"-0.125em"}},{default:(0,v.w5)((()=>[(0,v.Wm)(dt)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,v.kq)("",!0),(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[Oe,(0,v.Wm)(Gn,{modelValue:pn.value,"onUpdate:modelValue":l[34]||(l[34]=e=>pn.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>Gt(pn.value))},null,8,["modelValue"]),$e,(0,v.Wm)(Gn,{modelValue:yn.value,"onUpdate:modelValue":l[36]||(l[36]=e=>yn.value=e),type:"temPassword",name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)!","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>Gt(yn.value))},null,8,["modelValue"]),qe,(0,v.Wm)(Gn,{modelValue:kn.value,"onUpdate:modelValue":l[38]||(l[38]=e=>kn.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[39]||(l[39]=e=>Gt(kn.value))},null,8,["modelValue"]),De,(0,v.Wm)(Gn,{modelValue:fn.value,"onUpdate:modelValue":l[40]||(l[40]=e=>fn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[41]||(l[41]=e=>Gt(fn.value))},null,8,["modelValue"]),Be,(0,v.Wm)(Gn,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:gn.value,"onUpdate:modelValue":l[42]||(l[42]=e=>gn.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,v.Wm)(Gn,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:bn.value,"onUpdate:modelValue":l[43]||(l[43]=e=>bn.value=e)},null,8,["modelValue"])])),_:1}),je,(0,v.Wm)(Gn,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[44]||(l[44]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),Ze,(0,v.Wm)(Gn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[45]||(l[45]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),Le,(0,v.Wm)(Gn,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:Tn.value,"onUpdate:modelValue":l[46]||(l[46]=e=>Tn.value=e)},null,8,["modelValue"])])),_:1}),Re,(0,v.Wm)(Gn,{modelValue:wn.value,"onUpdate:modelValue":l[47]||(l[47]=e=>wn.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>Gt(wn.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),1==Wn.value?((0,v.wg)(),(0,v.iD)("div",Ee,[Ke,(0,v.Wm)(Gn,{modelValue:hn.value,"onUpdate:modelValue":l[49]||(l[49]=e=>hn.value=e),label:"access_token",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[50]||(l[50]=e=>Gt(hn.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),Je,(0,v.Wm)(Gn,{modelValue:_n.value,"onUpdate:modelValue":l[51]||(l[51]=e=>_n.value=e),label:"share_token",type:"textarea",maxlength:"200",placeholder:"请填写OpenAi的share_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[52]||(l[52]=e=>Gt(_n.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"])])):(0,v.kq)("",!0)])),_:1}),Ge])),_:1})])])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:io.value,"onUpdate:show":l[68]||(l[68]=e=>io.value=e),title:"PandoraNext设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requirePandora"},{default:(0,v.w5)((()=>[(0,v._)("div",Me,[(0,v.Wm)(Fn,{onSubmit:l[67]||(l[67]=e=>Vt(Ga))},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[Ye,(0,v.Wm)(Gn,{modelValue:bo.value,"onUpdate:modelValue":l[54]||(l[54]=e=>bo.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Fe,(0,v.Wm)(Gn,{modelValue:Vo.value,"onUpdate:modelValue":l[55]||(l[55]=e=>Vo.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Xe,(0,v.Wm)(Gn,{modelValue:zo.value,"onUpdate:modelValue":l[56]||(l[56]=e=>zo.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Qe,(0,v.Wm)(Gn,{modelValue:yo.value,"onUpdate:modelValue":l[57]||(l[57]=e=>yo.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),el,(0,v.Wm)(Gn,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:To.value,"onUpdate:modelValue":l[58]||(l[58]=e=>To.value=e)},null,8,["modelValue"])])),_:1}),ll,(0,v.Wm)(Gn,{name:"switch",label:"是否配置证书"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Ao.value,"onUpdate:modelValue":l[59]||(l[59]=e=>Ao.value=e)},null,8,["modelValue"])])),_:1}),1==Ao.value?((0,v.wg)(),(0,v.iD)("div",al,[ol,(0,v.Wm)(Gn,{modelValue:Ho.value,"onUpdate:modelValue":l[60]||(l[60]=e=>Ho.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),nl,(0,v.Wm)(Gn,{modelValue:No.value,"onUpdate:modelValue":l[61]||(l[61]=e=>No.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,v.kq)("",!0),tl,(0,v.Wm)(Gn,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:xo.value,"onUpdate:modelValue":l[62]||(l[62]=e=>xo.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,v.Wm)(Gn,{name:"switch",label:"是否自动打码"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Uo.value,"onUpdate:modelValue":l[63]||(l[63]=e=>Uo.value=e)},null,8,["modelValue"])])),_:1}),il,(0,v.Wm)(Gn,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Po.value,"onUpdate:modelValue":l[64]||(l[64]=e=>Po.value=e)},null,8,["modelValue"])])),_:1}),rl,(0,v.Wm)(Gn,{modelValue:Wo.value,"onUpdate:modelValue":l[65]||(l[65]=e=>Wo.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),sl,(0,v.Wm)(Gn,{modelValue:Zo.value,"onUpdate:modelValue":l[66]||(l[66]=e=>Zo.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),dl])),_:1}),(0,v._)("div",ml,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),cl])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:ro.value,"onUpdate:show":l[80]||(l[80]=e=>ro.value=e),title:"tokensTool设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",vl,[(0,v.Wm)(Fn,{onSubmit:l[79]||(l[79]=e=>Vt(Ma))},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[pl,(0,v.Wm)(Gn,{modelValue:Oo.value,"onUpdate:modelValue":l[69]||(l[69]=e=>Oo.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),wl,(0,v.Wm)(Gn,{modelValue:$o.value,"onUpdate:modelValue":l[70]||(l[70]=e=>$o.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"]),hl,(0,v.Wm)(Gn,{modelValue:go.value,"onUpdate:modelValue":l[71]||(l[71]=e=>go.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"]),_l,(0,v.Wm)(Gn,{modelValue:jo.value,"onUpdate:modelValue":l[72]||(l[72]=e=>jo.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),kl,(0,v.Wm)(Gn,{modelValue:Co.value,"onUpdate:modelValue":l[73]||(l[73]=e=>Co.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"]),fl,(0,v.Wm)(Gn,{modelValue:So.value,"onUpdate:modelValue":l[74]||(l[74]=e=>So.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:mn}]},null,8,["modelValue","rules"]),gl,(0,v.Wm)(Gn,{modelValue:qo.value,"onUpdate:modelValue":l[75]||(l[75]=e=>qo.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),bl,(0,v.Wm)(Gn,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Do.value,"onUpdate:modelValue":l[76]||(l[76]=e=>Do.value=e)},null,8,["modelValue"])])),_:1}),1==Do.value?((0,v.wg)(),(0,v.iD)("div",Vl,[yl,(0,v.Wm)(Gn,{modelValue:Bo.value,"onUpdate:modelValue":l[77]||(l[77]=e=>Bo.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"])])):(0,v.kq)("",!0),Wl,(0,v.Wm)(Gn,{modelValue:Io.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Io.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Tl])),_:1}),(0,v._)("div",xl,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ul])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:so.value,"onUpdate:show":l[89]||(l[89]=e=>so.value=e),title:"PandoraNext验证信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"verify"},{default:(0,v.w5)((()=>[(0,v._)("div",Pl,[(0,v.Wm)(Fn,{onSubmit:l[88]||(l[88]=e=>Vt(Ya))},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[zl,(0,v.Wm)(Gn,{modelValue:Lo.value,"onUpdate:modelValue":l[81]||(l[81]=e=>Lo.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Al,(0,v.Wm)(Gn,{modelValue:Ro.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Ro.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),Hl,(0,v.Wm)(Gn,{modelValue:Eo.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Eo.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),Nl,(0,v.Wm)(Gn,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Ko.value,"onUpdate:modelValue":l[84]||(l[84]=e=>Ko.value=e)},null,8,["modelValue"])])),_:1}),Sl,(0,v.Wm)(Gn,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Jo.value,"onUpdate:modelValue":l[85]||(l[85]=e=>Jo.value=e)},null,8,["modelValue"])])),_:1}),Cl,(0,v.Wm)(Gn,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Go.value,"onUpdate:modelValue":l[86]||(l[86]=e=>Go.value=e)},null,8,["modelValue"])])),_:1}),Ol,(0,v.Wm)(Gn,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Mo.value,"onUpdate:modelValue":l[87]||(l[87]=e=>Mo.value=e)},null,8,["modelValue"])])),_:1}),$l])),_:1}),(0,v._)("div",ql,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),Dl])),_:1},8,["show"]),(0,v.Wm)(lu,{modelValue:mo.value,"onUpdate:modelValue":l[91]||(l[91]=e=>mo.value=e),title:"pool_token列表","align-center":"",width:"78%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",Bl,[(0,v.Wm)(_t,{onClick:l[90]||(l[90]=e=>Gt(Qo.value+go.value+"/v1/chat/completions"))},{default:(0,v.w5)((()=>[(0,v.Wm)(Qt)])),_:1}),(0,v.Wm)(eu,null,{default:(0,v.w5)((()=>[(0,v.Uk)("API地址:"+(0,p.zw)(Qo.value)+(0,p.zw)(go.value)+"/v1/chat/completions",1)])),_:1})]),(0,v.Wm)((0,w.SU)(W.eI),{data:Pn.value,"default-sort":{prop:"poolTime",prop:"intoOneApi"},"row-class-name":nt},{default:(0,v.w5)((()=>[(0,v.Wm)(Fa,{label:"pool_token名称",prop:"intoOneApi",sortable:"",width:"180"},{default:(0,v.w5)((e=>[(0,v._)("div",Il,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,v.wg)(),(0,v.iD)("div",jl,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[Zl])),_:1})])):1==e.row.intoOneApi?((0,v.wg)(),(0,v.iD)("div",Ll,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[Rl])),_:1})])):((0,v.wg)(),(0,v.iD)("div",El,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[Kl])),_:1})])),(0,v._)("span",Jl,(0,p.zw)(e.row.poolName),1)])])),_:1}),(0,v.Wm)(Fa,{label:"pool_token值","min-width":"365"},{default:(0,v.w5)((e=>[(0,v._)("div",Gl,[(0,v.Wm)(_t,{onClick:l=>Gt(e.row.poolToken)},{default:(0,v.w5)((()=>[(0,v.Wm)(Qt)])),_:2},1032,["onClick"]),(0,v._)("span",Ml,(0,p.zw)(e.row.poolToken),1)])])),_:1}),(0,v.Wm)(Fa,{label:"使用token名集合","min-width":"255"},{default:(0,v.w5)((e=>[(0,v._)("div",Yl,[(0,v._)("span",Fl,(0,p.zw)(e.row.shareTokens),1)])])),_:1}),(0,v.Wm)(Fa,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"170"}),(0,v.Wm)(Fa,{label:"操作方法","min-width":"315"},{default:(0,v.w5)((e=>[(0,v.Wm)(eo,{size:"small",onClick:l=>It(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("检验")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"danger",onClick:l=>Bt(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("删除")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"success",onClick:l=>$t(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("刷新")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"primary",onClick:l=>Dt(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),(0,v._)("div",Xl,[(0,v.Wm)(Ln,{class:"pool-button"},{default:(0,v.w5)((()=>[(0,v.Wm)(eo,{onClick:St},{default:(0,v.w5)((()=>[Ql])),_:1}),(0,v.Wm)(eo,{onClick:Ct},{default:(0,v.w5)((()=>[ea])),_:1})])),_:1})]),la])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:co.value,"onUpdate:modelValue":l[95]||(l[95]=e=>co.value=e),title:"PandoraNext余额","align-center":"",width:"auto","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",aa,[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[oa,(0,v.Wm)(Gn,{modelValue:at.value,"onUpdate:modelValue":l[92]||(l[92]=e=>at.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),na,(0,v.Wm)(Gn,{modelValue:zt.value,"onUpdate:modelValue":l[93]||(l[93]=e=>zt.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),ta,(0,v.Wm)(Gn,{modelValue:At.value,"onUpdate:modelValue":l[94]||(l[94]=e=>At.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),ua])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:vo.value,"onUpdate:modelValue":l[103]||(l[103]=e=>vo.value=e),title:"定时刷新&PandoraNext网址","align-center":"","max-width":"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",ia,[(0,v.Wm)(Fn,{onSubmit:l[102]||(l[102]=e=>yt())},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[ra,(0,v.Wm)(Gn,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Yo.value,"onUpdate:modelValue":l[96]||(l[96]=e=>Yo.value=e)},null,8,["modelValue"])])),_:1}),1==Yo.value?((0,v.wg)(),(0,v.iD)("div",sa,[da,(0,v.Wm)(Gn,{modelValue:Fo.value,"onUpdate:modelValue":l[97]||(l[97]=e=>Fo.value=e),name:"刷新session的时间",label:"刷新session的时间","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),ma,(0,v.Wm)(Gn,{modelValue:Xo.value,"onUpdate:modelValue":l[98]||(l[98]=e=>Xo.value=e),name:"刷新session的个数",label:"刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"]),ca])):(0,v.kq)("",!0),(0,v.Wm)(Gn,{modelValue:Qo.value,"onUpdate:modelValue":l[99]||(l[99]=e=>Qo.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址","input-align":"right",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),va,(0,v.Wm)(Gn,{modelValue:en.value,"onUpdate:modelValue":l[100]||(l[100]=e=>en.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),pa,(0,v.Wm)(Gn,{modelValue:ln.value,"onUpdate:modelValue":l[101]||(l[101]=e=>ln.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),wa])),_:1}),(0,v._)("div",ha,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:po.value,"onUpdate:modelValue":l[110]||(l[110]=e=>po.value=e),title:"添加poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",_a,[(0,v.Wm)(Fn,{onSubmit:Qn},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[ka,(0,v.Wm)(Gn,{modelValue:on.value,"onUpdate:modelValue":l[104]||(l[104]=e=>on.value=e),name:"为pool_token名",label:"pool_token名","input-align":"right",placeholder:"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字",rules:[{validator:cn}]},null,8,["modelValue","rules"]),fa,(0,v.Wm)(Gn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:nn.value,"onUpdate:modelValue":l[105]||(l[105]=e=>nn.value=e)},null,8,["modelValue"])])),_:1}),1==nn.value?((0,v.wg)(),(0,v.iD)("div",ga,[ba,(0,v.Wm)(Gn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:tn.value,"onUpdate:modelValue":l[106]||(l[106]=e=>tn.value=e)},null,8,["modelValue"])])),_:1}),Va,(0,v.Wm)(Gn,{modelValue:rn.value,"onUpdate:modelValue":l[107]||(l[107]=e=>rn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ya,(0,v.Wm)(Gn,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,v.w5)((()=>[(0,v.Wm)(ou,{modelValue:Xa.value,"onUpdate:modelValue":l[108]||(l[108]=e=>Xa.value=e),direction:"horizontal"},{default:(0,v.w5)((()=>[(0,v.Wm)(au,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("default")])),_:1}),(0,v.Wm)(au,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("vip")])),_:1}),(0,v.Wm)(au,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Wa,(0,v.Wm)(Gn,{modelValue:un.value,"onUpdate:modelValue":l[109]||(l[109]=e=>un.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),Ta])):(0,v.kq)("",!0)])),_:1}),(0,v._)("div",xa,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:wo.value,"onUpdate:modelValue":l[111]||(l[111]=e=>wo.value=e),title:"tokensTool登录日志","align-center":"",width:"50%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",Ua,[(0,v.Wm)((0,w.SU)(W.eI),{"row-class-name":nt,data:zn.value},{default:(0,v.w5)((()=>[(0,v.Wm)(Fa,{prop:"ipAddress",label:"登录地区","min-width":"180"},{default:(0,v.w5)((e=>[(0,v._)("div",Pa,[(0,v._)("span",za,(0,p.zw)(e.row.ipAddress),1)])])),_:1}),(0,v.Wm)(Fa,{label:"登录IP","min-width":"145"},{default:(0,v.w5)((e=>[(0,v._)("div",Aa,[(0,v.Wm)(_t,{onClick:l=>Gt(e.row.poolToken)},{default:(0,v.w5)((()=>[(0,v.Wm)(Qt)])),_:2},1032,["onClick"]),(0,v._)("span",Ha,(0,p.zw)(e.row.requestIp),1)])])),_:1}),(0,v.Wm)(Fa,{label:"成功/失败","min-width":"105"},{default:(0,v.w5)((e=>[(0,v._)("div",Na,[(0,v._)("span",Sa,(0,p.zw)(e.row.inRequestNumber)+"/"+(0,p.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,v.Wm)(Fa,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),Ca])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:ho.value,"onUpdate:modelValue":l[119]||(l[119]=e=>ho.value=e),title:"修改poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",Oa,[(0,v.Wm)(Fn,{onSubmit:lt},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[$a,(0,v._)("div",qa,[(0,v.Wm)(nu,{label:"poolToken名"},{default:(0,v.w5)((()=>[(0,v.Wm)(Zn,{modelValue:an.value,"onUpdate:modelValue":l[112]||(l[112]=e=>an.value=e),filterable:"",clearable:"",placeholder:"选择你想要的修改的pool_token名称",onChange:et,class:"selectPool_token"},{default:(0,v.w5)((()=>[((0,v.wg)(!0),(0,v.iD)(v.HY,null,(0,v.Ko)(Pn.value,(e=>((0,v.wg)(),(0,v.j4)(jn,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Da,(0,v.Wm)(Gn,{modelValue:sn.value,"onUpdate:modelValue":l[113]||(l[113]=e=>sn.value=e),type:"textarea",maxlength:"100",autoSize:"",name:"pool_token的值",label:"pool_token的值","input-align":"right",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),Ba,(0,v.Wm)(Gn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:nn.value,"onUpdate:modelValue":l[114]||(l[114]=e=>nn.value=e)},null,8,["modelValue"])])),_:1}),Ia,1==nn.value?((0,v.wg)(),(0,v.iD)("div",ja,[Za,(0,v.Wm)(Gn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:tn.value,"onUpdate:modelValue":l[115]||(l[115]=e=>tn.value=e)},null,8,["modelValue"])])),_:1}),La,(0,v.Wm)(Gn,{modelValue:rn.value,"onUpdate:modelValue":l[116]||(l[116]=e=>rn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ra,(0,v.Wm)(Gn,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,v.w5)((()=>[(0,v.Wm)(ou,{modelValue:Xa.value,"onUpdate:modelValue":l[117]||(l[117]=e=>Xa.value=e),direction:"horizontal"},{default:(0,v.w5)((()=>[(0,v.Wm)(au,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("default")])),_:1}),(0,v.Wm)(au,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("vip")])),_:1}),(0,v.Wm)(au,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ea,(0,v.Wm)(Gn,{modelValue:un.value,"onUpdate:modelValue":l[118]||(l[118]=e=>un.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Ka])):(0,v.kq)("",!0)])),_:1}),(0,v._)("div",Ja,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:_o.value,"onUpdate:modelValue":l[120]||(l[120]=e=>_o.value=e),"align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",{ref_key:"chart",ref:Yt,style:{width:"auto",height:"300px"}},null,512)])),_:1},8,["modelValue"])],64)}}});const Xa=Fa;var Qa=Xa}}]); -//# sourceMappingURL=805.c5ddb037.js.map \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/805.c5ddb037.js.map b/rearServer/src/main/resources/static/js/805.c5ddb037.js.map deleted file mode 100644 index 3b129ea..0000000 --- a/rearServer/src/main/resources/static/js/805.c5ddb037.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/805.c5ddb037.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue","webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue?32ba"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = {\n class: \"home-container\"\n};\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_8 = {\n class: \"under\"\n};\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(5vw, 2.5vh)\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.2 \")], -1);\nconst _hoisted_11 = {\n class: \"search\"\n};\nconst _hoisted_12 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"10px 35px -8px 35px\"\n }\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translateX(4vw)\",\n \"width\": \"70vw\",\n \"height\": \"61vh\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"margin-left\": \"18px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin\": \"15px 0px 15px 0px\"\n }\n};\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查并生成\", -1);\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_22 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_26 = {\n key: 0\n};\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 1\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = {\n key: 0\n};\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = {\n key: 2\n};\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 0\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 1\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = {\n key: 0\n};\nconst _hoisted_49 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 2\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = {\n key: 3\n};\nconst _hoisted_54 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_57 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_58 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_59 = {\n key: 0\n};\nconst _hoisted_60 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_62 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_63 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = {\n key: 0\n};\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = {\n key: 0\n};\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = {\n key: 0\n};\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_121 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_122 = {\n style: {\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_123 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_124 = {\n key: 0\n};\nconst _hoisted_125 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_126 = {\n key: 1\n};\nconst _hoisted_127 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_128 = {\n key: 2\n};\nconst _hoisted_129 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_130 = {\n style: {\n \"margin-left\": \"25px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_132 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_133 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_134 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_135 = {\n style: {\n \"margin\": \"10px 0px 10px 0px\"\n }\n};\nconst _hoisted_136 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部刷新\", -1);\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查\", -1);\nconst _hoisted_138 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_139 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_144 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_145 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_146 = {\n key: 0\n};\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_151 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_152 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_153 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_154 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_157 = {\n key: 0\n};\nconst _hoisted_158 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_159 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_160 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_161 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_162 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_163 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_164 = {\n style: {\n \"display\": \"flex\"\n }\n};\nconst _hoisted_165 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_166 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_168 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_169 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_170 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_171 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_172 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_175 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_176 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = {\n key: 0\n};\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_181 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_182 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_183 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_184 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIndex',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleSelection = ref([]);\n const toggleSelection = rows => {\n multipleTableRef.value.clearSelection();\n };\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n //页头图片 image\n const image = png;\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, null, {\n default: _withCtx(() => [_createElementVNode(\"img\", {\n style: {\n \"width\": \"40px\"\n },\n src: _imports_0,\n alt: \"Element logo\",\n onClick: redirectToGitHub\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n onClick: getPandoraNext\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\"\n })]),\n _: 1\n }), _hoisted_4, _createVNode(_component_el_menu_item, {\n index: \"1\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"PoolToken列表\")]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"3-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转PandoraWeb服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-1-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-2-1\"\n }, {\n default: _withCtx(() => [_hoisted_5]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-2\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-3\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用说明\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"5\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"5-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"6\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统功能\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"6-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"6-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-2\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-3\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => value.value = $event),\n \"show-action\": \"\",\n shape: \"round\",\n placeholder: \"请输入搜索token名称和类型\",\n onSearch: onSearch\n }, {\n action: _withCtx(() => [_createVNode(_component_el_radio_group, {\n modelValue: size.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => size.value = $event),\n label: \"size control\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"WEB\",\n onClick: _cache[4] || (_cache[4] = $event => getWebToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"WEB\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"ALL\",\n onClick: _cache[5] || (_cache[5] = $event => getToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"ALL\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"API\",\n onClick: _cache[6] || (_cache[6] = $event => getAPIToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"API\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_13, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n ref_key: \"multipleTableRef\",\n ref: multipleTableRef,\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n prop: \"setPoolToken\",\n sortable: \"\",\n \"min-width\": \"136\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_14, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024), _createElementVNode(\"span\", _hoisted_15, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"账号信息\",\n \"min-width\": \"200\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"账号: \" + _toDisplayString(scope.row.username), 1), _createElementVNode(\"div\", null, \"密码: \" + _toDisplayString(scope.row.userPassword), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.username), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"Token值\",\n \"min-width\": \"270\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"token: \" + _toDisplayString(dataToken(scope.row.token)), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(dataToken(scope.row.token)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n \"min-width\": \"167\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(\"距离过期还有:\" + _toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"335\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_16, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\",\n class: \"ml-4\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"ml-4\",\n onClick: _cache[10] || (_cache[10] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_17]),\n _: 1\n }), _createVNode(_component_el_button_group, {\n class: \"my-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_hoisted_18]),\n _: 1\n })]),\n _: 1\n })])]), _hoisted_19, _hoisted_20, _hoisted_21])]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[21] || (_cache[21] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_22, [_createVNode(_component_van_form, {\n onSubmit: _cache[20] || (_cache[20] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_25, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [_hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [_hoisted_31, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_32, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [_hoisted_34, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => temPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_35, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 20\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_36]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_38]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[33] || (_cache[33] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_39, [_createVNode(_component_van_form, {\n onSubmit: _cache[32] || (_cache[32] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_40, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_42, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [_hoisted_49, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[28] || (_cache[28] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_50, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[29] || (_cache[29] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => addPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [_hoisted_54, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[31] || (_cache[31] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_55]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_57]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[53] || (_cache[53] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [_createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_62, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_63, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_64, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)!\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[39] || (_cache[39] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_67, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[41] || (_cache[41] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_68, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[44] || (_cache[44] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_72, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[46] || (_cache[46] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_73, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_74, [_hoisted_75, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[49] || (_cache[49] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[50] || (_cache[50] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), _hoisted_76, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n placeholder: \"请填写OpenAi的share_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[52] || (_cache[52] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_77]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[68] || (_cache[68] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requirePandora\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_78, [_createVNode(_component_van_form, {\n onSubmit: _cache[67] || (_cache[67] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_79, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_82, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_83, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_84, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_85, [_hoisted_86, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_87, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[63] || (_cache[63] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_90, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[64] || (_cache[64] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_91, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_92, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_93]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_95]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[80] || (_cache[80] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_96, [_createVNode(_component_van_form, {\n onSubmit: _cache[79] || (_cache[79] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_97, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_101, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_102, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_103, _createVNode(_component_van_field, {\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[75] || (_cache[75] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_104, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[76] || (_cache[76] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_105, [_hoisted_106, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_107, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_108]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_110]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[89] || (_cache[89] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"verify\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_111, [_createVNode(_component_van_form, {\n onSubmit: _cache[88] || (_cache[88] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_112, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_114, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[84] || (_cache[84] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[85] || (_cache[85] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[86] || (_cache[86] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_118, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_119]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_121]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"78%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_122, [_createVNode(_component_el_icon, {\n onClick: _cache[90] || (_cache[90] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, null, {\n default: _withCtx(() => [_createTextVNode(\"API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions\", 1)]),\n _: 1\n })]), _createVNode(_unref(ElTable), {\n data: poolData.value,\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n label: \"pool_token名称\",\n prop: \"intoOneApi\",\n sortable: \"\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_123, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_124, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_125]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_126, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_127]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_128, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_129]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_130, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"365\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_131, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_132, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"255\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_133, [_createElementVNode(\"span\", _hoisted_134, _toDisplayString(scope.row.shareTokens), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"315\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"]), _createElementVNode(\"div\", _hoisted_135, [_createVNode(_component_el_button_group, {\n class: \"pool-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_136]),\n _: 1\n }), _createVNode(_component_el_button, {\n onClick: verifyAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_137]),\n _: 1\n })]),\n _: 1\n })]), _hoisted_138]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"auto\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_139, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_140, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[92] || (_cache[92] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_141, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_142, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[94] || (_cache[94] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_143]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_8.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n \"max-width\": \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_144, [_createVNode(_component_van_form, {\n onSubmit: _cache[102] || (_cache[102] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_145, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_146, [_hoisted_147, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => auto_updateTime.value = $event),\n name: \"刷新session的时间\",\n label: \"刷新session的时间\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_148, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[98] || (_cache[98] = $event => auto_updateNumber.value = $event),\n name: \"刷新session的个数\",\n label: \"刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"]), _hoisted_149])) : _createCommentVNode(\"\", true), _createVNode(_component_van_field, {\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[99] || (_cache[99] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_150, _createVNode(_component_van_field, {\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[100] || (_cache[100] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_151, _createVNode(_component_van_field, {\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[101] || (_cache[101] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_152]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_153, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_9.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_154, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_155, _createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => poolNameValue.value = $event),\n name: \"为pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_156, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_157, [_hoisted_158, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[106] || (_cache[106] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_159, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_160, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[108] || (_cache[108] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_161, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_162])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_163, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"50%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_164, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_165, [_createElementVNode(\"span\", _hoisted_166, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"145\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_167, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_168, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_169, [_createElementVNode(\"span\", _hoisted_170, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_171]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_11.value,\n \"onUpdate:modelValue\": _cache[119] || (_cache[119] = $event => show_11.value = $event),\n title: \"修改poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_172, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_173, _createElementVNode(\"div\", _hoisted_174, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的修改的pool_token名称\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_175, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => temPool_token.value = $event),\n type: \"textarea\",\n maxlength: \"100\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n \"input-align\": \"right\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_176, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_177, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_178, [_hoisted_179, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[115] || (_cache[115] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_180, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_181, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[117] || (_cache[117] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_182, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[118] || (_cache[118] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_183])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_184, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[120] || (_cache[120] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"300px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIndex.vue?vue&type=style&index=0&id=a978225c&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","href","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","style","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","key","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleTableRef","multipleSelection","handleSelectionChange","val","value","size","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","buttonValue","options","label","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","innerHeight","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","getPool","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","getSetting","tls","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","service","fullscreen","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","loadingInstance","json","msg","close","handlePoolNameChange","selectedItem","find","requirePoolToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","updateAllPoolToken","verifyAllPoolToken","reNew","reNewMsg","ok","Error","reNewPool","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","dataToken","substring","logout","removeItem","getPoolToken","getLogin","redirectToGitHub","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_el_menu_item","_component_van_icon","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_el_radio_button","_component_el_radio_group","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_el_button_group","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","src","alt","onClick","$event","icon","extra","square","color","modelValue","shape","placeholder","plain","onSelectionChange","ref_key","ref","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","clearable","filterable","onSubmit","inset","rules","required","validator","maxlength","autosize","maxHeight","minHeight","round","block","rows","suffix","readonly","onClickLeftIcon","disabled","property","input","direction","onChange","autoSize","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/src/main/resources/static/js/app.9c1ffebb.js b/rearServer/src/main/resources/static/js/app.9c1ffebb.js deleted file mode 100644 index ff2d866..0000000 --- a/rearServer/src/main/resources/static/js/app.9c1ffebb.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={2386:function(e,t,n){n(6284);var o=n(5943),r=(n(262),n(1387)),u=(n(9908),n(1332)),i=(n(8528),n(2779)),s=(n(1746),n(2994)),a=(n(4205),n(5695)),c=(n(7055),n(1819)),l=(n(8845),n(299)),f=(n(487),n(6773)),d=(n(9517),n(5616)),p=(n(4618),n(8498)),m=(n(1763),n(1817)),v=(n(656),n(4326)),h=(n(8001),n(5601)),P=(n(492),n(2876)),b=(n(1897),n(157)),g=(n(4150),n(2495)),Z=(n(9042),n(3383)),y=(n(8825),n(1116)),k=(n(1645),n(5267)),T=(n(6335),n(3164)),w=(n(3349),n(5185)),O=(n(4746),n(6907)),N=(n(9846),n(4188)),x=(n(9840),n(6233)),j=(n(103),n(1206)),C=(n(2824),n(3801)),A=(n(3300),n(8521)),E=(n(6615),n(2406)),S=(n(4164),n(121)),_=(n(8399),n(5420)),L=n(9963),B=n(2403),F=(n(4415),n(6252));const D={id:"app"};function q(e,t,n,o,r,u){const i=(0,F.up)("router-view");return(0,F.wg)(),(0,F.iD)("div",D,[(0,F.Wm)(i)])}var z=(0,F.aZ)({setup(){const e=(e,t)=>{let n;return function(...o){const r=self;n&&clearTimeout(n),n=setTimeout((()=>{e.apply(r,o)}),t)}},t=window.ResizeObserver;window.ResizeObserver=class extends t{constructor(t){t=e(t,20),super(t)}}}}),M=n(3744);const R=(0,M.Z)(z,[["render",q]]);var W=R,H=(n(5110),n(2201));const I=[{path:"/",component:()=>Promise.all([n.e(331),n.e(137)]).then(n.bind(n,6137)),meta:{title:"Welcome to PandoraNext-TokensTool",keepAlive:!0}},{path:"/home",component:()=>Promise.all([n.e(331),n.e(244),n.e(805)]).then(n.bind(n,8805)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}},{path:"/iphone",component:()=>Promise.all([n.e(331),n.e(244),n.e(77)]).then(n.bind(n,1077)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}}],K=(0,H.p7)({history:(0,H.r5)(),routes:I});K.beforeEach(((e,t,n)=>{e.meta.title?document.title=`${e.meta.title}`:document.title="PandoraNext-TokensTool",n()}));var U=K,$=n(5781);const G=(0,L.ri)(W);G.use(B.Z),G.use(_.ZP),G.use(S.ZP),G.use(E.ZP),G.use(U),G.use(A.ZP),G.use(C.ZP),G.use(j.ZP),G.use(x.Z),G.use(N.ZP),G.use(O.ZP),G.use(w.ZP),G.use(T.ZP),G.use(k.ZP),G.use(y.ZP),G.use(Z.ZP),G.use(g.ZP),G.use(b.ZP),G.use(P.ZP),G.use(h.ZP),G.use(v.ZP),G.use(m.ZP),G.use(p.ZP),G.use(d.ZP),G.use(f.ZP),G.use(l.ZP),G.use(c.ZP),G.use(a.ZP),G.use(s.ZP),G.use(i.ZP),G.use(u.ZP),G.use(r.ZP),G.use(o.ZP);for(const[J,Q]of Object.entries($))G.component(J,Q);G.mount("#app")}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var u=t[o]={exports:{}};return e[o].call(u.exports,u,u.exports,n),u.exports}n.m=e,function(){var e=[];n.O=function(t,o,r,u){if(!o){var i=1/0;for(l=0;l=u)&&Object.keys(n.O).every((function(e){return n.O[e](o[a])}))?o.splice(a--,1):(s=!1,u0&&e[l-1][2]>u;l--)e[l]=e[l-1];e[l]=[o,r,u]}}(),function(){n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,o){return n.f[o](e,t),t}),[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{77:"cc45578a",137:"9bfe0990",244:"498b6edf",331:"05857446",805:"c5ddb037"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{77:"e1dcaa98",137:"c621660d",805:"d100b2eb"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="PandoraNext-TokensTool:";n.l=function(o,r,u,i){if(e[o])e[o].push(r);else{var s,a;if(void 0!==u)for(var c=document.getElementsByTagName("script"),l=0;l{let n;return function(...o){const r=self;n&&clearTimeout(n),n=setTimeout((()=>{e.apply(r,o)}),t)}},t=window.ResizeObserver;window.ResizeObserver=class extends t{constructor(t){t=e(t,20),super(t)}}}}),M=n(3744);const R=(0,M.Z)(z,[["render",q]]);var W=R,H=(n(5110),n(2201));const I=[{path:"/",component:()=>Promise.all([n.e(154),n.e(608)]).then(n.bind(n,4476)),meta:{title:"Welcome to PandoraNext-TokensTool",keepAlive:!0}},{path:"/home",component:()=>Promise.all([n.e(154),n.e(244),n.e(402)]).then(n.bind(n,4402)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}},{path:"/iphone",component:()=>Promise.all([n.e(154),n.e(244),n.e(581)]).then(n.bind(n,581)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}}],K=(0,H.p7)({history:(0,H.r5)(),routes:I});K.beforeEach(((e,t,n)=>{e.meta.title?document.title=`${e.meta.title}`:document.title="PandoraNext-TokensTool",n()}));var U=K,$=n(5781);const G=(0,L.ri)(W);G.use(B.Z),G.use(_.ZP),G.use(S.ZP),G.use(E.ZP),G.use(U),G.use(A.ZP),G.use(C.ZP),G.use(j.ZP),G.use(x.Z),G.use(N.ZP),G.use(O.ZP),G.use(w.ZP),G.use(T.ZP),G.use(k.ZP),G.use(y.ZP),G.use(Z.ZP),G.use(g.ZP),G.use(b.ZP),G.use(P.ZP),G.use(h.ZP),G.use(v.ZP),G.use(m.ZP),G.use(p.ZP),G.use(d.ZP),G.use(l.ZP),G.use(f.ZP),G.use(c.ZP),G.use(s.ZP),G.use(a.ZP),G.use(i.ZP),G.use(u.ZP),G.use(r.ZP),G.use(o.ZP);for(const[J,Q]of Object.entries($))G.component(J,Q);G.mount("#app")}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var u=t[o]={exports:{}};return e[o].call(u.exports,u,u.exports,n),u.exports}n.m=e,function(){var e=[];n.O=function(t,o,r,u){if(!o){var i=1/0;for(f=0;f=u)&&Object.keys(n.O).every((function(e){return n.O[e](o[s])}))?o.splice(s--,1):(a=!1,u0&&e[f-1][2]>u;f--)e[f]=e[f-1];e[f]=[o,r,u]}}(),function(){n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,o){return n.f[o](e,t),t}),[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{154:"a30ad9b8",244:"498b6edf",402:"fa30b347",581:"b12fce75",608:"2335e494"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{402:"9939f745",581:"090b8644",608:"06ad8fdd"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="PandoraNext-TokensTool:";n.l=function(o,r,u,i){if(e[o])e[o].push(r);else{var a,s;if(void 0!==u)for(var c=document.getElementsByTagName("script"),f=0;f {\n let tid;\n return function (...args) {\n const ctx = self;\n tid && clearTimeout(tid);\n tid = setTimeout(() => {\n callback.apply(ctx, args);\n }, delay);\n };\n };\n const _ = window.ResizeObserver;\n window.ResizeObserver = class ResizeObserver extends _ {\n constructor(callback) {\n callback = debounce(callback, 20);\n super(callback);\n }\n };\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./App.vue?vue&type=template&id=1a8491d9&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from 'vue-router';\r\n\r\n\r\nconst routes = [\r\n { path: '/', component: () => import('@/views/loginIndex.vue'), meta: { title: 'Welcome to PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/home', component: () => import('@/views/homeIndex.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/iphone', component: () => import('@/views/homeIphone.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(),\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // 检查是否存在to.meta.title,如果存在则设置页面标题为to.meta.title,否则使用默认标题\r\n if (to.meta.title) {\r\n document.title = `${to.meta.title}`; // 使用字符串模板将其转换为字符串\r\n } else {\r\n document.title = 'PandoraNext-TokensTool';\r\n }\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import { createApp } from 'vue';\nimport ElementPlus from 'element-plus'\nimport 'element-plus/dist/index.css'\nimport App from './App.vue';\nimport 'vant/lib/index.css';\n//转向用的\nimport router from './router';\n//标签栏\nimport { Tabbar, TabbarItem } from 'vant';\n//加载图片懒模式\nimport { Swipe, SwipeItem } from 'vant';\nimport { NavBar } from 'vant';\nimport { ContactList } from 'vant';\nimport { AddressEdit } from 'vant';\nimport { FloatingBubble } from 'vant';\nimport { Button } from 'vant';\nimport { Form, Field, CellGroup } from 'vant';\nimport { Uploader } from 'vant';\nimport { Loading } from 'vant';\nimport { Search } from 'vant';\nimport { NoticeBar } from 'vant';\nimport { Dialog } from 'vant';\nimport { BackTop } from 'vant';\nimport { TextEllipsis } from 'vant';\nimport { Slider } from 'vant';\nimport { Toast } from 'vant';\nimport { Notify } from 'vant';\nimport { Checkbox, CheckboxGroup } from 'vant';\nimport { Grid, GridItem } from 'vant';\nimport {\n Skeleton,\n SkeletonTitle,\n SkeletonImage,\n SkeletonAvatar,\n SkeletonParagraph,\n} from 'vant';\nimport * as ElementPlusIconsVue from '@element-plus/icons-vue'\n\n//滑动单元格\n\nconst app = createApp(App)\napp.use(ElementPlus)\napp.use(AddressEdit);\n//滑动单元格\n//积分和代办栏\napp.use(ContactList);\n// 主题栏\napp.use(NavBar);\napp.use(router);//转向用的\n//标签栏\napp.use(Tabbar);\napp.use(TabbarItem);\n//加载图片懒模式\napp.use(Swipe);\n\napp.use(SwipeItem);\n\napp.use(FloatingBubble);\napp.use(Button);\n\napp.use(Form);\napp.use(Field);\napp.use(CellGroup);\n\n// 加载\napp.use(Loading)\n\n// 下载\napp.use(Uploader);\n\n// 通知栏\napp.use(NoticeBar);\n\n// 搜索\napp.use(Search);\n\n// 弹框\napp.use(Dialog);\n\napp.use(BackTop);\n\napp.use(TextEllipsis);\n\napp.use(Slider);\n\napp.use(Toast);\n\napp.use(Notify);\n\napp.use(Checkbox);\n\napp.use(CheckboxGroup);\n\napp.use(Grid);\n\napp.use(GridItem);\n\napp.use(Skeleton);\napp.use(SkeletonTitle);\napp.use(SkeletonImage);\napp.use(SkeletonAvatar);\napp.use(SkeletonParagraph);\n\nfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\n app.component(key, component)\n}\napp.mount('#app');","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"77\":\"cc45578a\",\"137\":\"9bfe0990\",\"244\":\"498b6edf\",\"331\":\"05857446\",\"805\":\"c5ddb037\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"77\":\"e1dcaa98\",\"137\":\"c621660d\",\"805\":\"d100b2eb\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"PandoraNext-TokensTool:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"77\":1,\"137\":1,\"805\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPandoraNext_TokensTool\"] = self[\"webpackChunkPandoraNext_TokensTool\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2386); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","id","render","_ctx","_cache","$props","$setup","$data","$options","_component_router_view","setup","debounce","callback","delay","tid","args","ctx","self","clearTimeout","setTimeout","apply","_","window","ResizeObserver","constructor","super","__exports__","routes","path","component","meta","title","keepAlive","router","createRouter","history","createWebHashHistory","beforeEach","to","from","next","document","app","createApp","App","use","ElementPlus","_AddressEdit","_ContactList","_NavBar","_Tabbar","_TabbarItem","_Swipe","_SwipeItem","_FloatingBubble","_Button","_Form","_Field","_CellGroup","_Loading","_Uploader","_NoticeBar","_Search","_Dialog","_BackTop","_TextEllipsis","_Slider","_Toast","_Notify","_Checkbox","_CheckboxGroup","_Grid","_GridItem","_Skeleton","_SkeletonTitle","_SkeletonImage","_SkeletonAvatar","_SkeletonParagraph","key","Object","entries","ElementPlusIconsVue","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","every","splice","r","d","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","push","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","bind","type","target","head","appendChild","Symbol","toStringTag","value","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.a73ba34e.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/App.vue?6124","webpack://PandoraNext-TokensTool/./src/App.vue","webpack://PandoraNext-TokensTool/./src/App.vue?b1e7","webpack://PandoraNext-TokensTool/./src/router/index.ts","webpack://PandoraNext-TokensTool/./src/main.ts","webpack://PandoraNext-TokensTool/webpack/bootstrap","webpack://PandoraNext-TokensTool/webpack/runtime/chunk loaded","webpack://PandoraNext-TokensTool/webpack/runtime/define property getters","webpack://PandoraNext-TokensTool/webpack/runtime/ensure chunk","webpack://PandoraNext-TokensTool/webpack/runtime/get javascript chunk filename","webpack://PandoraNext-TokensTool/webpack/runtime/get mini-css chunk filename","webpack://PandoraNext-TokensTool/webpack/runtime/global","webpack://PandoraNext-TokensTool/webpack/runtime/hasOwnProperty shorthand","webpack://PandoraNext-TokensTool/webpack/runtime/load script","webpack://PandoraNext-TokensTool/webpack/runtime/make namespace object","webpack://PandoraNext-TokensTool/webpack/runtime/publicPath","webpack://PandoraNext-TokensTool/webpack/runtime/css loading","webpack://PandoraNext-TokensTool/webpack/runtime/jsonp chunk loading","webpack://PandoraNext-TokensTool/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n id: \"app\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_router_view = _resolveComponent(\"router-view\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_router_view)]);\n}","import { defineComponent } from \"vue\";\nexport default defineComponent({\n setup() {\n const debounce = (callback, delay) => {\n let tid;\n return function (...args) {\n const ctx = self;\n tid && clearTimeout(tid);\n tid = setTimeout(() => {\n callback.apply(ctx, args);\n }, delay);\n };\n };\n const _ = window.ResizeObserver;\n window.ResizeObserver = class ResizeObserver extends _ {\n constructor(callback) {\n callback = debounce(callback, 20);\n super(callback);\n }\n };\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./App.vue?vue&type=template&id=1a8491d9&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from 'vue-router';\r\n\r\n\r\nconst routes = [\r\n { path: '/', component: () => import('@/views/loginIndex.vue'), meta: { title: 'Welcome to PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/home', component: () => import('@/views/homeIndex.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/iphone', component: () => import('@/views/homeIphone.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(),\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // 检查是否存在to.meta.title,如果存在则设置页面标题为to.meta.title,否则使用默认标题\r\n if (to.meta.title) {\r\n document.title = `${to.meta.title}`; // 使用字符串模板将其转换为字符串\r\n } else {\r\n document.title = 'PandoraNext-TokensTool';\r\n }\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import { createApp } from 'vue';\nimport ElementPlus from 'element-plus'\nimport 'element-plus/dist/index.css'\nimport App from './App.vue';\nimport 'vant/lib/index.css';\n//转向用的\nimport router from './router';\n//标签栏\nimport { Tabbar, TabbarItem } from 'vant';\n//加载图片懒模式\nimport { Swipe, SwipeItem } from 'vant';\nimport { NavBar } from 'vant';\nimport { ContactList } from 'vant';\nimport { AddressEdit } from 'vant';\nimport { FloatingBubble } from 'vant';\nimport { Button } from 'vant';\nimport { Form, Field, CellGroup } from 'vant';\nimport { Uploader } from 'vant';\nimport { Loading } from 'vant';\nimport { Search } from 'vant';\nimport { NoticeBar } from 'vant';\nimport { Dialog } from 'vant';\nimport { BackTop } from 'vant';\nimport { TextEllipsis } from 'vant';\nimport { Slider } from 'vant';\nimport { Toast } from 'vant';\nimport { Notify } from 'vant';\nimport { Checkbox, CheckboxGroup } from 'vant';\nimport { Grid, GridItem } from 'vant';\nimport {\n Skeleton,\n SkeletonTitle,\n SkeletonImage,\n SkeletonAvatar,\n SkeletonParagraph,\n} from 'vant';\nimport * as ElementPlusIconsVue from '@element-plus/icons-vue'\n\n//滑动单元格\n\nconst app = createApp(App)\napp.use(ElementPlus)\napp.use(AddressEdit);\n//滑动单元格\n//积分和代办栏\napp.use(ContactList);\n// 主题栏\napp.use(NavBar);\napp.use(router);//转向用的\n//标签栏\napp.use(Tabbar);\napp.use(TabbarItem);\n//加载图片懒模式\napp.use(Swipe);\n\napp.use(SwipeItem);\n\napp.use(FloatingBubble);\napp.use(Button);\n\napp.use(Form);\napp.use(Field);\napp.use(CellGroup);\n\n// 加载\napp.use(Loading)\n\n// 下载\napp.use(Uploader);\n\n// 通知栏\napp.use(NoticeBar);\n\n// 搜索\napp.use(Search);\n\n// 弹框\napp.use(Dialog);\n\napp.use(BackTop);\n\napp.use(TextEllipsis);\n\napp.use(Slider);\n\napp.use(Toast);\n\napp.use(Notify);\n\napp.use(Checkbox);\n\napp.use(CheckboxGroup);\n\napp.use(Grid);\n\napp.use(GridItem);\n\napp.use(Skeleton);\napp.use(SkeletonTitle);\napp.use(SkeletonImage);\napp.use(SkeletonAvatar);\napp.use(SkeletonParagraph);\n\nfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\n app.component(key, component)\n}\napp.mount('#app');","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"154\":\"a30ad9b8\",\"244\":\"498b6edf\",\"402\":\"fa30b347\",\"581\":\"b12fce75\",\"608\":\"2335e494\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"402\":\"9939f745\",\"581\":\"090b8644\",\"608\":\"06ad8fdd\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"PandoraNext-TokensTool:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"402\":1,\"581\":1,\"608\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPandoraNext_TokensTool\"] = self[\"webpackChunkPandoraNext_TokensTool\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2386); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","id","render","_ctx","_cache","$props","$setup","$data","$options","_component_router_view","setup","debounce","callback","delay","tid","args","ctx","self","clearTimeout","setTimeout","apply","_","window","ResizeObserver","constructor","super","__exports__","routes","path","component","meta","title","keepAlive","router","createRouter","history","createWebHashHistory","beforeEach","to","from","next","document","app","createApp","App","use","ElementPlus","_AddressEdit","_ContactList","_NavBar","_Tabbar","_TabbarItem","_Swipe","_SwipeItem","_FloatingBubble","_Button","_Form","_Field","_CellGroup","_Loading","_Uploader","_NoticeBar","_Search","_Dialog","_BackTop","_TextEllipsis","_Slider","_Toast","_Notify","_Checkbox","_CheckboxGroup","_Grid","_GridItem","_Skeleton","_SkeletonTitle","_SkeletonImage","_SkeletonAvatar","_SkeletonParagraph","key","Object","entries","ElementPlusIconsVue","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","every","splice","r","d","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","push","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","bind","type","target","head","appendChild","Symbol","toStringTag","value","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/autoTokenController.class b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/autoTokenController.class index 22a765a..1e958b3 100644 Binary files a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/autoTokenController.class and b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/autoTokenController.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/chatController.class b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/chatController.class index 46d4542..9459104 100644 Binary files a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/chatController.class and b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/chatController.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/poolController.class b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/poolController.class index c5d77f8..033ea53 100644 Binary files a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/poolController.class and b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/poolController.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/controller/shareController.class b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/shareController.class new file mode 100644 index 0000000..7bbc7d6 Binary files /dev/null and b/rearServer/target/classes/com/tokensTool/pandoraNext/controller/shareController.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/pojo/shareToken.class b/rearServer/target/classes/com/tokensTool/pandoraNext/pojo/shareToken.class new file mode 100644 index 0000000..bb197e4 Binary files /dev/null and b/rearServer/target/classes/com/tokensTool/pandoraNext/pojo/shareToken.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.class b/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.class index 04a81df..31e687b 100644 Binary files a/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.class and b/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/apiServiceImpl.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.class b/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.class index fe57d73..1a57be8 100644 Binary files a/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.class and b/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/poolServiceImpl.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/shareServiceImpl.class b/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/shareServiceImpl.class new file mode 100644 index 0000000..72f9f09 Binary files /dev/null and b/rearServer/target/classes/com/tokensTool/pandoraNext/service/impl/shareServiceImpl.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/service/shareService.class b/rearServer/target/classes/com/tokensTool/pandoraNext/service/shareService.class new file mode 100644 index 0000000..147d837 Binary files /dev/null and b/rearServer/target/classes/com/tokensTool/pandoraNext/service/shareService.class differ diff --git a/rearServer/target/classes/com/tokensTool/pandoraNext/tokensToolApplication.class b/rearServer/target/classes/com/tokensTool/pandoraNext/tokensToolApplication.class index 47865e2..169f134 100644 Binary files a/rearServer/target/classes/com/tokensTool/pandoraNext/tokensToolApplication.class and b/rearServer/target/classes/com/tokensTool/pandoraNext/tokensToolApplication.class differ diff --git a/rearServer/target/classes/static/css/137.c621660d.css b/rearServer/target/classes/static/css/137.c621660d.css deleted file mode 100644 index 2f9e795..0000000 --- a/rearServer/target/classes/static/css/137.c621660d.css +++ /dev/null @@ -1 +0,0 @@ -.content_login[data-v-6ca3dbb4]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-6ca3dbb4]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-6ca3dbb4]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-6ca3dbb4]{font-size:14.6px;font-weight:700}.container[data-v-6ca3dbb4]{width:350px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-6ca3dbb4]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-6ca3dbb4]:hover{background-color:#0ea27e}#background[data-v-6ca3dbb4]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-6ca3dbb4]{margin-top:10vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-6ca3dbb4]{font-size:25px;color:#000;font-weight:700}.login-container img[data-v-6ca3dbb4]{width:40px;height:40px}a[data-v-6ca3dbb4]{color:#0ea27e}h3[data-v-6ca3dbb4]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-6ca3dbb4]{width:150px;font-size:14.6px}.bottom[data-v-6ca3dbb4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-6ca3dbb4] .label{font-size:18.6px}@media only screen and (max-width:767px){.content_login[data-v-6ca3dbb4]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-6ca3dbb4]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-6ca3dbb4]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-6ca3dbb4]{font-size:14.6px}.container[data-v-6ca3dbb4]{width:290px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-6ca3dbb4]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-6ca3dbb4]:hover{background-color:#0ea27e}#background[data-v-6ca3dbb4]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-6ca3dbb4]{margin-top:3vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-6ca3dbb4]{font-size:20px;color:#000;font-weight:700}.login-container img[data-v-6ca3dbb4]{width:40px;height:40px}a[data-v-6ca3dbb4]{color:#0ea27e}h3[data-v-6ca3dbb4]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-6ca3dbb4]{width:150px;font-size:14.6px}.bottom[data-v-6ca3dbb4]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-6ca3dbb4] .label{font-size:18.6px}} \ No newline at end of file diff --git a/rearServer/target/classes/static/css/402.9939f745.css b/rearServer/target/classes/static/css/402.9939f745.css new file mode 100644 index 0000000..307d4bc --- /dev/null +++ b/rearServer/target/classes/static/css/402.9939f745.css @@ -0,0 +1 @@ +.van-floating-bubble{width:6vh;height:6vh;background:#0ea27e}.van-floating-bubble__icon{font-size:50px}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:150px;font-size:14.6px}.el-table .cell{font-size:14px;line-height:47px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(5vw,8px)}.el-page-header__content{transform:translate(0);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-divider--vertical{border-left:1px #fff var(--el-border-style)}.el-avatar--circle{transform:translateY(2.8vh);border-radius:50%;--el-avatar-size:85px}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px}.van-dialog__header{font-size:14px}.requireTokenDialog{max-height:77.8vh;overflow-y:auto;overflow-x:hidden}.addTokenDialog{max-height:75.3vh}.addTokenDialog,.showDialog{overflow-y:auto;overflow-x:hidden}.showDialog{max-height:77.8vh}.requirePandora,.requireSettingDialog,.verify{max-height:75.3vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{overflow:auto}a{color:#0ea27e}h2{font-size:20px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 5px #98dfce;transform:translate(11vw,5.5vh);width:78vw;background:#fff;height:auto;border-radius:10px}.bottom-component{justify-content:center;align-items:center;height:auto;margin-top:1.3vh}.bottom-component,.under{flex:1;display:flex;flex-direction:column}.el-table{max-width:100%;height:100%}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.poolTokenDialog,.shareTokenDialog{max-height:75.3vh;overflow:auto}.shareTokenDialog{min-height:70vh}h1{font-size:14px}h1,h5{color:#0ea27e}h5{font-size:10px}.my-button{margin-right:3.8vw;float:right}.pool-button{margin-right:0;float:left}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-button-group{display:inline-block;vertical-align:middle}.ml-4{transform:translateX(4vw)}.addToken{transform:translate(-20.4vw,-5px)}.addTokenButton{width:60px;height:60px;border-radius:50%;transform:translateY(.2vh)}.van-button__icon{font-size:60px;line-height:inherit}.card-header{display:flex;justify-content:space-between;align-items:center}.text{font-size:14px}.item{margin-bottom:18px}.box-card{width:480px}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:300px}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:2.2rem;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:1.4rem;color:#0ea27e;font-weight:700}.onShareToken{width:100%;margin:0}.flex-container{display:flex;align-items:center;width:100%}.flex-container .onPoolToken{margin-left:auto;width:50%}.el-button [class*=el-icon] svg{vertical-align:bottom;color:#0ea27e} \ No newline at end of file diff --git a/rearServer/target/classes/static/css/581.090b8644.css b/rearServer/target/classes/static/css/581.090b8644.css new file mode 100644 index 0000000..60477ad --- /dev/null +++ b/rearServer/target/classes/static/css/581.090b8644.css @@ -0,0 +1 @@ +.van-floating-bubble{position:fixed;width:40px;height:40px;background:#0ea27e}.van-floating-bubble__icon{font-size:30px;position:fixed}.addBubble{position:fixed}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:84px;font-size:13px}.el-table .cell{font-size:14px;line-height:40px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(6.5vw)}.el-page-header__content{transform:translateY(10px);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-avatar--circle{transform:translate(-10px,1vh);border-radius:50%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px;width:auto}.van-dialog__header{font-size:14px}.addTokenDialog,.requireDialog,.requireSettingDialog,.requireTokenDialog,.showDialog{max-height:65vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{margin-left:6.15vw;margin-bottom:7px;overflow:auto}.el-page-header__left{display:flex;align-items:center;margin-right:0;position:relative}a{color:#0ea27e}h2{font-size:14px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 3px #98dfce;transform:translate(6vw,1.8vh);width:88vw;background:#fff;border-radius:10px;margin-top:5px;margin-bottom:10px}.bottom-component{flex:1;height:auto;display:flex;align-items:center;justify-content:center}.under{flex:1;display:flex;flex-direction:column}.el-scrollbar{height:100%}.el-table{width:95%;max-width:95%;overflow-x:auto}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere;width:41vw}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.my-button{margin-right:4.3vw;float:right}.pool-button{margin-right:1vw;float:left}h1{font-size:.8rem}h1,h5{color:#0ea27e}h5{font-size:10px}.poolTokenDialog{max-height:75.3vh;overflow:auto}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.tokenTable{height:100%}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.el-divider--vertical{border-left:0 #f4fffd var(--el-border-style)}.addToken{transform:translate(-11.5vw,1.2vh)}.addTokenButton{width:35px;height:35px;border-radius:50%}.van-button__icon{font-size:30px;line-height:inherit}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.el-sub-menu__title{padding:0 5px}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-col{text-align:center}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:173px}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:16px;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:13px;color:#0ea27e;font-weight:700}.onShareToken{width:100%;margin:0}.flex-container{display:flex;align-items:center;width:100%}.flex-container .onPoolToken{margin-left:auto;width:50%} \ No newline at end of file diff --git a/rearServer/target/classes/static/css/608.06ad8fdd.css b/rearServer/target/classes/static/css/608.06ad8fdd.css new file mode 100644 index 0000000..f521b98 --- /dev/null +++ b/rearServer/target/classes/static/css/608.06ad8fdd.css @@ -0,0 +1 @@ +.content_login[data-v-b90dbbf6]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-b90dbbf6]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-b90dbbf6]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-b90dbbf6]{font-size:14.6px;font-weight:700}.container[data-v-b90dbbf6]{width:350px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-b90dbbf6]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-b90dbbf6]:hover{background-color:#0ea27e}#background[data-v-b90dbbf6]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-b90dbbf6]{margin-top:10vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-b90dbbf6]{font-size:25px;color:#000;font-weight:700}.login-container img[data-v-b90dbbf6]{width:40px;height:40px}a[data-v-b90dbbf6]{color:#0ea27e}h3[data-v-b90dbbf6]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-b90dbbf6]{width:150px;font-size:14.6px}.bottom[data-v-b90dbbf6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-b90dbbf6] .label{font-size:18.6px}@media only screen and (max-width:767px){.content_login[data-v-b90dbbf6]{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-x:hidden;flex-direction:column}body[data-v-b90dbbf6]{font-family:Arial,sans-serif;background-color:#f2f2f2}.van-cell[data-v-b90dbbf6]{box-shadow:1px 1px 1px #0ea27e;border-radius:14px}.userName[data-v-b90dbbf6]{font-size:14.6px}.container[data-v-b90dbbf6]{width:290px;height:auto;margin:0 auto;background-color:#fff;transform:translateY(13vh);border-radius:14px}input[type=submit][data-v-b90dbbf6]{width:100%;padding:14px;background-color:#0ea27e;color:#fff;border:none;border-radius:14px;cursor:pointer;font-weight:700}input[type=submit][data-v-b90dbbf6]:hover{background-color:#0ea27e}#background[data-v-b90dbbf6]{width:100%;height:100vh;position:absolute;top:0;left:0;background-size:cover;background-position:0 -560px;z-index:-1;opacity:.99}.login-container[data-v-b90dbbf6]{margin-top:3vh;margin-bottom:7vh;background-color:#fff;padding:17.5px;border-radius:25px;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);height:5vh;display:flex;justify-content:center;align-items:center;transform:translateY(19vh)}.login-container h4[data-v-b90dbbf6]{font-size:20px;color:#000;font-weight:700}.login-container img[data-v-b90dbbf6]{width:40px;height:40px}a[data-v-b90dbbf6]{color:#0ea27e}h3[data-v-b90dbbf6]{font-size:15.5px;color:#0ea27e}.van-field__label[data-v-b90dbbf6]{width:150px;font-size:14.6px}.bottom[data-v-b90dbbf6]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;margin-top:10px}.van-field__label[data-v-b90dbbf6] .label{font-size:18.6px}} \ No newline at end of file diff --git a/rearServer/target/classes/static/css/77.e1dcaa98.css b/rearServer/target/classes/static/css/77.e1dcaa98.css deleted file mode 100644 index 542d1b0..0000000 --- a/rearServer/target/classes/static/css/77.e1dcaa98.css +++ /dev/null @@ -1 +0,0 @@ -.van-floating-bubble{position:fixed;width:40px;height:40px;background:#0ea27e}.van-floating-bubble__icon{font-size:30px;position:fixed}.addBubble{position:fixed}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:84px;font-size:13px}.el-table .cell{font-size:14px;line-height:40px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(6.5vw)}.el-page-header__content{transform:translateY(10px);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-avatar--circle{transform:translate(-10px,1vh);border-radius:50%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px;width:auto}.van-dialog__header{font-size:14px}.addTokenDialog,.requireDialog,.requireSettingDialog,.requireTokenDialog,.showDialog{max-height:65vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{margin-left:6.15vw;margin-bottom:7px;overflow:auto}.el-page-header__left{display:flex;align-items:center;margin-right:0;position:relative}a{color:#0ea27e}h2{font-size:14px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 3px #98dfce;transform:translate(6vw,1.8vh);width:88vw;background:#fff;border-radius:10px;margin-top:5px;margin-bottom:10px}.bottom-component{flex:1;height:auto;display:flex;align-items:center;justify-content:center}.under{flex:1;display:flex;flex-direction:column}.el-scrollbar{height:100%}.el-table{width:95%;max-width:95%;overflow-x:auto}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere;width:41vw}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.my-button{margin-right:4.3vw;float:right}.pool-button{margin-right:-1vw;float:right}h1{font-size:.8rem}h1,h5{color:#0ea27e}h5{font-size:10px}.poolTokenDialog{max-height:75.3vh;overflow:auto}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.tokenTable{height:100%}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.el-divider--vertical{border-left:0 #f4fffd var(--el-border-style)}.addToken{transform:translate(-11.5vw,1.2vh)}.addTokenButton{width:35px;height:35px;border-radius:50%}.van-button__icon{font-size:30px;line-height:inherit}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.el-sub-menu__title{padding:0 5px}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-col{text-align:center}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:173px}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:16px;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:13px;color:#0ea27e;font-weight:700} \ No newline at end of file diff --git a/rearServer/target/classes/static/css/805.d100b2eb.css b/rearServer/target/classes/static/css/805.d100b2eb.css deleted file mode 100644 index b7b2c54..0000000 --- a/rearServer/target/classes/static/css/805.d100b2eb.css +++ /dev/null @@ -1 +0,0 @@ -.van-floating-bubble{width:6vh;height:6vh;background:#0ea27e}.van-floating-bubble__icon{font-size:50px}.content{flex:1;display:flex;background:#fff;zoom:1;width:100vw;height:100vh;overflow-y:auto;overflow-x:hidden;flex-direction:column}.van-dialog{top:50vh;height:auto}.van-field__label{width:150px;font-size:14.6px}.el-table .cell{font-size:14px;line-height:47px}.el-button--small,.el-tag{font-size:12.6px}.el-page-header__header{display:flex;align-items:center;justify-content:space-between;transform:translate(5vw,8px)}.el-page-header__content{transform:translate(0);font-size:1rem;width:100%}.el-page-header__left .el-divider--vertical{margin:0 0}.el-divider--vertical{border-left:1px #fff var(--el-border-style)}.el-avatar--circle{transform:translateY(2.8vh);border-radius:50%;--el-avatar-size:85px}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{font-size:14px}.el-menu-item{font-size:12.6px}.van-dialog__header{font-size:14px}.requireTokenDialog{max-height:77.8vh;overflow-y:auto;overflow-x:hidden}.addTokenDialog{max-height:75.3vh}.addTokenDialog,.showDialog{overflow-y:auto;overflow-x:hidden}.showDialog{max-height:77.8vh}.requirePandora,.requireSettingDialog,.verify{max-height:75.3vh;overflow-y:auto;overflow-x:hidden}.el-tag{--el-tag-text-color:#0ea27e;background-color:#f4fffd}.el-table__inner-wrapper{overflow:auto}a{color:#0ea27e}h2{font-size:20px;color:#606266;margin:0}.el-table--large .el-table__cell{padding:17.5px 0}.el-menu--horizontal.el-menu{border-bottom:1px solid #fff;box-shadow:0 2px 0 #ccf6eb;border-radius:10%}.flex-grow{flex-grow:1}.van-search{width:100%;margin:14px}.search{box-shadow:0 0 5px #98dfce;transform:translate(11vw,5.5vh);width:78vw;background:#fff;height:auto;border-radius:10px}.bottom-component{justify-content:center;align-items:center;height:auto;margin-top:1.3vh}.bottom-component,.under{flex:1;display:flex;flex-direction:column}.el-table{max-width:100%;height:100%}.el-menu--popup{z-index:100;min-width:auto;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#0ea27e;border-color:#0ea27e}.el-checkbox__inner:hover{border-color:#0ea27e}.poolTokenDialog{max-height:75.3vh;overflow:auto}h1{font-size:14px}h1,h5{color:#0ea27e}h5{font-size:10px}.my-button{margin-right:3.8vw;float:right}.pool-button{margin-right:0;float:right}.el-message-box__btns button:nth-child(2){--el-button-bg-color:#0ea27e;--el-button-border-color:#0ea27e;--el-button-outline-color:#0ea27e;--el-button-active-color:#0ea27e;--el-button-hover-bg-color:#0ea27e;--el-button-hover-border-color:#0ea27e;--el-button-active-bg-color:#0ea27e;--el-button-active-border-color:#0ea27e;--el-button-disabled-text-color:#0ea27e;--el-button-disabled-bg-color:#0ea27e;--el-button-disabled-border-color:var(--el-color-primary-light-5);margin-left:10px}.el-input__wrapper.is-focus{box-shadow:inset 0 0 0 1px #0ea27e}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:0 solid #fff;color:#0ea27e;border-radius:10%}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:0 solid #fff;border-radius:10%;color:var(--el-menu-active-color)!important}.el-button-group{display:inline-block;vertical-align:middle}.ml-4{transform:translateX(4vw)}.addToken{transform:translate(-20.4vw,-5px)}.addTokenButton{width:60px;height:60px;border-radius:50%;transform:translateY(.2vh)}.van-button__icon{font-size:60px;line-height:inherit}.card-header{display:flex;justify-content:space-between;align-items:center}.text{font-size:14px}.item{margin-bottom:18px}.box-card{width:480px}.el-table .warning-row{--el-table-tr-bg-color:var(--el-color-warning-light-9)}.el-table .success-row{--el-table-tr-bg-color:var(--el-color-success-light-9)}.home-container{margin-right:10px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#0ea27e}.el-table .sort-caret.descending{border-top-color:#0ea27e}.el-input__inner{color:#0ea27e;font-size:14px;font-weight:700}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px;width:180px}.el-select-dropdown__item.selected{color:#0ea27e;font-weight:700}.el-radio-button__original-radio:checked+.el-radio-button__inner{color:var(--el-radio-button-checked-text-color,var(--el-color-white));background-color:#0ea27e;box-shadow:-1px 0 0 0 #0ea27e}.selectPool_token{width:300px}.el-select{--el-select-input-focus-border-color:#0ea27e}.font-h4{font-size:2.2rem;color:#5b5b5b;font-weight:700}.font-h4-tag{font-size:1.4rem;color:#0ea27e;font-weight:700} \ No newline at end of file diff --git a/rearServer/target/classes/static/index.html b/rearServer/target/classes/static/index.html index 692b085..eaa016e 100644 --- a/rearServer/target/classes/static/index.html +++ b/rearServer/target/classes/static/index.html @@ -1 +1 @@ -Welcome to PandoraNext-TokensTool
\ No newline at end of file +Welcome to PandoraNext-TokensTool
\ No newline at end of file diff --git a/rearServer/target/classes/static/js/137.9bfe0990.js b/rearServer/target/classes/static/js/137.9bfe0990.js deleted file mode 100644 index 9184faa..0000000 --- a/rearServer/target/classes/static/js/137.9bfe0990.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[137],{6137:function(e,a,t){t.r(a),t.d(a,{default:function(){return S}});var o=t(6773),l=(t(487),t(3164)),s=(t(6335),t(6252));const n=e=>((0,s.dD)("data-v-6ca3dbb4"),e=e(),(0,s.Cn)(),e),r={class:"content_login"},i=n((()=>(0,s._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1))),d=n((()=>(0,s._)("div",{class:"login-container"},[(0,s._)("h4",null,"PandoraNext-TokensTool")],-1))),c={class:"container"},m={style:{display:"flex",transform:"translate(0vw, 2vh)","font-size":"14.6px"}},u={style:{display:"flex",transform:"translate(0vw, 2vh)","margin-top":"5vh","font-size":"14.6px"}},v={style:{display:"flex",transform:"translate(0.5vw, 0vh)","margin-top":"6vh"}},p={style:{display:"block",transform:"translate(0vw, 0vh)","margin-top":"3.5vh"}},h=n((()=>(0,s._)("div",{class:"bottom"},[(0,s._)("div",{style:{"text-align":"center",transform:"translateY(0vh)"}},[(0,s._)("h3",null,[(0,s._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"Powered by tokensTool v0.6.2")])])],-1)));function g(e,a,t,n,g,w){const b=l.gN,f=(0,s.up)("h9"),k=o.XZ;return(0,s.wg)(),(0,s.iD)("div",r,[i,d,(0,s._)("div",c,[(0,s._)("div",m,[(0,s.Wm)(b,{modelValue:n.username,"onUpdate:modelValue":a[0]||(a[0]=e=>n.username=e),clearable:"",name:"username",label:"Username",placeholder:"username",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",u,[(0,s.Wm)(b,{modelValue:n.password,"onUpdate:modelValue":a[1]||(a[1]=e=>n.password=e),clearable:"",type:"password",name:"password",label:"Password",placeholder:"password",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",v,[(0,s.Wm)(k,{class:"remember",modelValue:n.checked,"onUpdate:modelValue":a[2]||(a[2]=e=>n.checked=e),"checked-color":"#0ea27e","icon-size":"13.5px"},{default:(0,s.w5)((()=>[(0,s.Wm)(f,{style:{"font-size":"13.5px",transform:"translateX(7px)"}},{default:(0,s.w5)((()=>[(0,s.Uk)("Remember me")])),_:1})])),_:1},8,["modelValue"])]),(0,s._)("div",p,[(0,s._)("input",{type:"submit",onClick:a[3]||(a[3]=(...e)=>n.submit&&n.submit(...e)),value:"Continue",class:"userName"})])]),h])}var w=t(2262),b=t(2201),f=t(6154),k=t(451),_=t(1348),y={setup(){const e=(0,b.tv)(),a=window.location.pathname,t=a.split("/");let o="";t.length>=3&&(o="/"+t[1]);const l=(0,w.iH)(""),n=(0,w.iH)(""),r=(0,w.iH)(""),i=k,d=(0,w.iH)(!0);(0,s.bv)((async()=>{const e=localStorage.getItem("savedUsername"),a=localStorage.getItem("savedPassword"),t=localStorage.getItem("savedRemember");"true"===t&&(l.value=e||"",n.value=a||"",r.value=!0),window.innerWidth>767&&(d.value=!1),m()}));const c=localStorage.getItem("jwtToken"),m=async()=>{f.Z.post(`${o}/api/loginToken?token=`+c).then((a=>{1!=a.data.code?_.z8.error("令牌失效,请重新登录!"):window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")})).catch((e=>{_.z8.error("令牌失效,请重新登录!")}))},u=()=>{r.value?(localStorage.setItem("savedUsername",l.value),localStorage.setItem("savedPassword",n.value),localStorage.setItem("savedRemember","true")):(localStorage.removeItem("savedUsername"),localStorage.removeItem("savedPassword"),localStorage.removeItem("savedRemember"));let a={loginUsername:l.value,loginPassword:n.value};fetch(`${o}/api/login`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify(a)}).then((e=>e.json())).then((a=>{if(1===a.code){const t=a.data;localStorage.setItem("jwtToken",t),_.z8.success("登录成功!"),setTimeout((()=>{window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")}),1e3)}else _.z8.error(a.msg)})).catch((e=>{console.error("登录时出现错误:",e),_.z8.error("账号或密码错误!")}))};return{username:l,password:n,image:i,checked:r,submit:u,page:d}}},T=t(3744);const x=(0,T.Z)(y,[["render",g],["__scopeId","data-v-6ca3dbb4"]]);var S=x}}]); -//# sourceMappingURL=137.9bfe0990.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/154.a30ad9b8.js b/rearServer/target/classes/static/js/154.a30ad9b8.js new file mode 100644 index 0000000..d5b24dd --- /dev/null +++ b/rearServer/target/classes/static/js/154.a30ad9b8.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[154],{6154:function(e,t,n){function r(e,t){return function(){return e.apply(t,arguments)}}n.d(t,{Z:function(){return qt}});const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,s=(e=>t=>{const n=o.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),a=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:u}=Array,l=c("undefined");function f(e){return null!==e&&!l(e)&&null!==e.constructor&&!l(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const d=a("ArrayBuffer");function p(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t}const h=c("string"),m=c("function"),y=c("number"),g=e=>null!==e&&"object"===typeof e,b=e=>!0===e||!1===e,w=e=>{if("object"!==s(e))return!1;const t=i(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},E=a("Date"),O=a("File"),S=a("Blob"),R=a("FileList"),A=e=>g(e)&&m(e.pipe),T=e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=s(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},v=a("URLSearchParams"),N=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function j(e,t,{allOwnKeys:n=!1}={}){if(null===e||"undefined"===typeof e)return;let r,o;if("object"!==typeof e&&(e=[e]),u(e))for(r=0,o=e.length;r0)if(r=n[o],t===r.toLowerCase())return r;return null}const x=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),P=e=>!l(e)&&e!==x;function _(){const{caseless:e}=P(this)&&this||{},t={},n=(n,r)=>{const o=e&&C(t,r)||r;w(t[o])&&w(n)?t[o]=_(t[o],n):w(n)?t[o]=_({},n):u(n)?t[o]=n.slice():t[o]=n};for(let r=0,o=arguments.length;r(j(t,((t,o)=>{n&&m(t)?e[o]=r(t,n):e[o]=t}),{allOwnKeys:o}),e),F=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),B=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},L=(e,t,n,r)=>{let o,s,a;const c={};if(t=t||{},null==e)return t;do{o=Object.getOwnPropertyNames(e),s=o.length;while(s-- >0)a=o[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},D=(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},k=e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!y(t))return null;const n=new Array(t);while(t-- >0)n[t]=e[t];return n},q=(e=>t=>e&&t instanceof e)("undefined"!==typeof Uint8Array&&i(Uint8Array)),I=(e,t)=>{const n=e&&e[Symbol.iterator],r=n.call(e);let o;while((o=r.next())&&!o.done){const n=o.value;t.call(e,n[0],n[1])}},z=(e,t)=>{let n;const r=[];while(null!==(n=e.exec(t)))r.push(n);return r},M=a("HTMLFormElement"),H=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),J=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),W=a("RegExp"),K=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};j(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},V=e=>{K(e,((t,n)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];m(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},$=(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return u(e)?r(e):r(String(e).split(t)),n},G=()=>{},X=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Q="abcdefghijklmnopqrstuvwxyz",Z="0123456789",Y={DIGIT:Z,ALPHA:Q,ALPHA_DIGIT:Q+Q.toUpperCase()+Z},ee=(e=16,t=Y.ALPHA_DIGIT)=>{let n="";const{length:r}=t;while(e--)n+=t[Math.random()*r|0];return n};function te(e){return!!(e&&m(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const ne=e=>{const t=new Array(10),n=(e,r)=>{if(g(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=u(e)?[]:{};return j(e,((e,t)=>{const i=n(e,r+1);!l(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},re=a("AsyncFunction"),oe=e=>e&&(g(e)||m(e))&&m(e.then)&&m(e.catch);var ie={isArray:u,isArrayBuffer:d,isBuffer:f,isFormData:T,isArrayBufferView:p,isString:h,isNumber:y,isBoolean:b,isObject:g,isPlainObject:w,isUndefined:l,isDate:E,isFile:O,isBlob:S,isRegExp:W,isFunction:m,isStream:A,isURLSearchParams:v,isTypedArray:q,isFileList:R,forEach:j,merge:_,extend:U,trim:N,stripBOM:F,inherits:B,toFlatObject:L,kindOf:s,kindOfTest:a,endsWith:D,toArray:k,forEachEntry:I,matchAll:z,isHTMLForm:M,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:V,toObjectSet:$,toCamelCase:H,noop:G,toFiniteNumber:X,findKey:C,global:x,isContextDefined:P,ALPHABET:Y,generateString:ee,isSpecCompliantForm:te,toJSONObject:ne,isAsyncFn:re,isThenable:oe};function se(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}ie.inherits(se,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ie.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ae=se.prototype,ce={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ce[e]={value:e}})),Object.defineProperties(se,ce),Object.defineProperty(ae,"isAxiosError",{value:!0}),se.from=(e,t,n,r,o,i)=>{const s=Object.create(ae);return ie.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),se.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var ue=se,le=null;function fe(e){return ie.isPlainObject(e)||ie.isArray(e)}function de(e){return ie.endsWith(e,"[]")?e.slice(0,-2):e}function pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=de(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}function he(e){return ie.isArray(e)&&!e.some(fe)}const me=ie.toFlatObject(ie,{},null,(function(e){return/^is[A-Z]/.test(e)}));function ye(e,t,n){if(!ie.isObject(e))throw new TypeError("target must be an object");t=t||new(le||FormData),n=ie.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ie.isUndefined(t[e])}));const r=n.metaTokens,o=n.visitor||l,i=n.dots,s=n.indexes,a=n.Blob||"undefined"!==typeof Blob&&Blob,c=a&&ie.isSpecCompliantForm(t);if(!ie.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(ie.isDate(e))return e.toISOString();if(!c&&ie.isBlob(e))throw new ue("Blob is not supported. Use a Buffer instead.");return ie.isArrayBuffer(e)||ie.isTypedArray(e)?c&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"===typeof e)if(ie.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ie.isArray(e)&&he(e)||(ie.isFileList(e)||ie.endsWith(n,"[]"))&&(a=ie.toArray(e)))return n=de(n),a.forEach((function(e,r){!ie.isUndefined(e)&&null!==e&&t.append(!0===s?pe([n],r,i):null===s?n:n+"[]",u(e))})),!1;return!!fe(e)||(t.append(pe(o,n,i),u(e)),!1)}const f=[],d=Object.assign(me,{defaultVisitor:l,convertValue:u,isVisitable:fe});function p(e,n){if(!ie.isUndefined(e)){if(-1!==f.indexOf(e))throw Error("Circular reference detected in "+n.join("."));f.push(e),ie.forEach(e,(function(e,r){const i=!(ie.isUndefined(e)||null===e)&&o.call(t,e,ie.isString(r)?r.trim():r,n,d);!0===i&&p(e,n?n.concat(r):[r])})),f.pop()}}if(!ie.isObject(e))throw new TypeError("data must be an object");return p(e),t}var ge=ye;function be(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function we(e,t){this._pairs=[],e&&ge(e,this,t)}const Ee=we.prototype;Ee.append=function(e,t){this._pairs.push([e,t])},Ee.toString=function(e){const t=e?function(t){return e.call(this,t,be)}:be;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Oe=we;function Se(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Re(e,t,n){if(!t)return e;const r=n&&n.encode||Se,o=n&&n.serialize;let i;if(i=o?o(t,n):ie.isURLSearchParams(t)?t.toString():new Oe(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}class Ae{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ie.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var Te=Ae,ve={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ne="undefined"!==typeof URLSearchParams?URLSearchParams:Oe,je="undefined"!==typeof FormData?FormData:null,Ce="undefined"!==typeof Blob?Blob:null;const xe=(()=>{let e;return("undefined"===typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!==typeof window&&"undefined"!==typeof document)})(),Pe=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)();var _e={isBrowser:!0,classes:{URLSearchParams:Ne,FormData:je,Blob:Ce},isStandardBrowserEnv:xe,isStandardBrowserWebWorkerEnv:Pe,protocols:["http","https","file","blob","url","data"]};function Ue(e,t){return ge(e,new _e.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return _e.isNode&&ie.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}function Fe(e){return ie.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function Be(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=e.length;if(i=!i&&ie.isArray(r)?r.length:i,a)return ie.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s;r[i]&&ie.isObject(r[i])||(r[i]=[]);const c=t(e,n,r[i],o);return c&&ie.isArray(r[i])&&(r[i]=Be(r[i])),!s}if(ie.isFormData(e)&&ie.isFunction(e.entries)){const n={};return ie.forEachEntry(e,((e,r)=>{t(Fe(e),r,n,0)})),n}return null}var De=Le;function ke(e,t,n){if(ie.isString(e))try{return(t||JSON.parse)(e),ie.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}const qe={transitional:ve,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ie.isObject(e);o&&ie.isHTMLForm(e)&&(e=new FormData(e));const i=ie.isFormData(e);if(i)return r&&r?JSON.stringify(De(e)):e;if(ie.isArrayBuffer(e)||ie.isBuffer(e)||ie.isStream(e)||ie.isFile(e)||ie.isBlob(e))return e;if(ie.isArrayBufferView(e))return e.buffer;if(ie.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Ue(e,this.formSerializer).toString();if((s=ie.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ge(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),ke(e)):e}],transformResponse:[function(e){const t=this.transitional||qe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&ie.isString(e)&&(n&&!this.responseType||r)){const n=t&&t.silentJSONParsing,i=!n&&r;try{return JSON.parse(e)}catch(o){if(i){if("SyntaxError"===o.name)throw ue.from(o,ue.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_e.classes.FormData,Blob:_e.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ie.forEach(["delete","get","head","post","put","patch"],(e=>{qe.headers[e]={}}));var Ie=qe;const ze=ie.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Me=e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ze[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t};const He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ie.isArray(e)?e.map(We):String(e)}function Ke(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;while(r=n.exec(e))t[r[1]]=r[2];return t}const Ve=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function $e(e,t,n,r,o){return ie.isFunction(r)?r.call(this,t,n):(o&&(t=n),ie.isString(t)?ie.isString(r)?-1!==t.indexOf(r):ie.isRegExp(r)?r.test(t):void 0:void 0)}function Ge(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}function Xe(e,t){const n=ie.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}class Qe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Je(t);if(!o)throw new Error("header name must be a non-empty string");const i=ie.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=We(e))}const i=(e,t)=>ie.forEach(e,((e,n)=>o(e,n,t)));return ie.isPlainObject(e)||e instanceof this.constructor?i(e,t):ie.isString(e)&&(e=e.trim())&&!Ve(e)?i(Me(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return Ke(e);if(ie.isFunction(t))return t.call(this,e,n);if(ie.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);return!(!n||void 0===this[n]||t&&!$e(this,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Je(e),e){const o=ie.findKey(n,e);!o||t&&!$e(n,n[o],o,t)||(delete n[o],r=!0)}}return ie.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;while(n--){const o=t[n];e&&!$e(this,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ie.forEach(this,((r,o)=>{const i=ie.findKey(n,o);if(i)return t[i]=We(r),void delete t[o];const s=e?Ge(o):String(o).trim();s!==o&&delete t[o],t[s]=We(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ie.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ie.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=this[He]=this[He]={accessors:{}},n=t.accessors,r=this.prototype;function o(e){const t=Je(e);n[t]||(Xe(r,e),n[t]=!0)}return ie.isArray(e)?e.forEach(o):o(e),this}}Qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ie.reduceDescriptors(Qe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ie.freezeMethods(Qe);var Ze=Qe;function Ye(e,t){const n=this||Ie,r=t||n,o=Ze.from(r.headers);let i=r.data;return ie.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function et(e){return!(!e||!e.__CANCEL__)}function tt(e,t,n){ue.call(this,null==e?"canceled":e,ue.ERR_CANCELED,t,n),this.name="CanceledError"}ie.inherits(tt,ue,{__CANCEL__:!0});var nt=tt;function rt(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ue("Request failed with status code "+n.status,[ue.ERR_BAD_REQUEST,ue.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}var ot=_e.isStandardBrowserEnv?function(){return{write:function(e,t,n,r,o,i){const s=[];s.push(e+"="+encodeURIComponent(t)),ie.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),ie.isString(r)&&s.push("path="+r),ie.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function it(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function st(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function at(e,t){return e&&!it(t)?st(e,t):t}var ct=_e.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=ie.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return function(){return!0}}();function ut(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function lt(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];o||(o=c),n[i]=a,r[i]=c;let l=s,f=0;while(l!==i)f+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,c=r(a),u=i<=s;n=i;const l={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&u?(s-i)/c:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const pt="undefined"!==typeof XMLHttpRequest;var ht=pt&&function(e){return new Promise((function(t,n){let r=e.data;const o=Ze.from(e.headers).normalize(),i=e.responseType;let s,a;function c(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener("abort",s)}ie.isFormData(r)&&(_e.isStandardBrowserEnv||_e.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?ie.isString(a=o.getContentType())&&o.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let u=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+n))}const l=at(e.baseURL,e.url);function f(){if(!u)return;const r=Ze.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),o=i&&"text"!==i&&"json"!==i?u.response:u.responseText,s={data:o,status:u.status,statusText:u.statusText,headers:r,config:e,request:u};rt((function(e){t(e),c()}),(function(e){n(e),c()}),s),u=null}if(u.open(e.method.toUpperCase(),Re(l,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(f)},u.onabort=function(){u&&(n(new ue("Request aborted",ue.ECONNABORTED,e,u)),u=null)},u.onerror=function(){n(new ue("Network Error",ue.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ve;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new ue(t,r.clarifyTimeoutError?ue.ETIMEDOUT:ue.ECONNABORTED,e,u)),u=null},_e.isStandardBrowserEnv){const t=ct(l)&&e.xsrfCookieName&&ot.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in u&&ie.forEach(o.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),ie.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),i&&"json"!==i&&(u.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&u.addEventListener("progress",dt(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",dt(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{u&&(n(!t||t.type?new nt(null,e,u):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener("abort",s)));const d=ut(l);d&&-1===_e.protocols.indexOf(d)?n(new ue("Unsupported protocol "+d+":",ue.ERR_BAD_REQUEST,e)):u.send(r||null)}))};const mt={http:le,xhr:ht};ie.forEach(mt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));const yt=e=>`- ${e}`,gt=e=>ie.isFunction(e)||null===e||!1===e;var bt={getAdapter:e=>{e=ie.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(yt).join("\n"):" "+yt(e[0]):"as no adapter specified";throw new ue("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r},adapters:mt};function wt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new nt(null,e)}function Et(e){wt(e),e.headers=Ze.from(e.headers),e.data=Ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);const t=bt.getAdapter(e.adapter||Ie.adapter);return t(e).then((function(t){return wt(e),t.data=Ye.call(e,e.transformResponse,t),t.headers=Ze.from(t.headers),t}),(function(t){return et(t)||(wt(e),t&&t.response&&(t.response.data=Ye.call(e,e.transformResponse,t.response),t.response.headers=Ze.from(t.response.headers))),Promise.reject(t)}))}const Ot=e=>e instanceof Ze?e.toJSON():e;function St(e,t){t=t||{};const n={};function r(e,t,n){return ie.isPlainObject(e)&&ie.isPlainObject(t)?ie.merge.call({caseless:n},e,t):ie.isPlainObject(t)?ie.merge({},t):ie.isArray(t)?t.slice():t}function o(e,t,n){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!ie.isUndefined(t))return r(void 0,t)}function s(e,t){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(Ot(e),Ot(t),!0)};return ie.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);ie.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Rt="1.6.0",At={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{At[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Tt={};function vt(e,t,n){if("object"!==typeof e)throw new ue("options must be an object",ue.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;while(o-- >0){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new ue("option "+i+" must be "+n,ue.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ue("Unknown option "+i,ue.ERR_BAD_OPTION)}}At.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Rt+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new ue(r(o," has been removed"+(t?" in "+t:"")),ue.ERR_DEPRECATED);return t&&!Tt[o]&&(Tt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};var Nt={assertOptions:vt,validators:At};const jt=Nt.validators;class Ct{constructor(e){this.defaults=e,this.interceptors={request:new Te,response:new Te}}request(e,t){"string"===typeof e?(t=t||{},t.url=e):t=e||{},t=St(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&Nt.assertOptions(n,{silentJSONParsing:jt.transitional(jt.boolean),forcedJSONParsing:jt.transitional(jt.boolean),clarifyTimeoutError:jt.transitional(jt.boolean)},!1),null!=r&&(ie.isFunction(r)?t.paramsSerializer={serialize:r}:Nt.assertOptions(r,{encode:jt.function,serialize:jt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&ie.merge(o.common,o[t.method]);o&&ie.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ze.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,f=0;if(!a){const e=[Et.bind(this),void 0];e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);while(f{if(!n._listeners)return;let t=n._listeners.length;while(t-- >0)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new nt(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Pt((function(t){e=t}));return{token:t,cancel:e}}}var _t=Pt;function Ut(e){return function(t){return e.apply(null,t)}}function Ft(e){return ie.isObject(e)&&!0===e.isAxiosError}const Bt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bt).forEach((([e,t])=>{Bt[t]=e}));var Lt=Bt;function Dt(e){const t=new xt(e),n=r(xt.prototype.request,t);return ie.extend(n,xt.prototype,t,{allOwnKeys:!0}),ie.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Dt(St(e,t))},n}const kt=Dt(Ie);kt.Axios=xt,kt.CanceledError=nt,kt.CancelToken=_t,kt.isCancel=et,kt.VERSION=Rt,kt.toFormData=ge,kt.AxiosError=ue,kt.Cancel=kt.CanceledError,kt.all=function(e){return Promise.all(e)},kt.spread=Ut,kt.isAxiosError=Ft,kt.mergeConfig=St,kt.AxiosHeaders=Ze,kt.formToJSON=e=>De(ie.isHTMLForm(e)?new FormData(e):e),kt.getAdapter=bt.getAdapter,kt.HttpStatusCode=Lt,kt.default=kt;var qt=kt}}]); +//# sourceMappingURL=154.a30ad9b8.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/331.05857446.js.map b/rearServer/target/classes/static/js/154.a30ad9b8.js.map similarity index 99% rename from rearServer/target/classes/static/js/331.05857446.js.map rename to rearServer/target/classes/static/js/154.a30ad9b8.js.map index 006af01..e8d3142 100644 --- a/rearServer/target/classes/static/js/331.05857446.js.map +++ b/rearServer/target/classes/static/js/154.a30ad9b8.js.map @@ -1 +1 @@ -{"version":3,"file":"js/331.05857446.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/bind.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/utils.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/null.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toFormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/buildURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/InterceptorManager.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/transitional.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/transformData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/isCancel.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CanceledError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/settle.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/cookies.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/combineURLs.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/buildFullPath.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/speedometer.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/xhr.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/adapters.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/dispatchRequest.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/mergeConfig.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/env/data.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/validator.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/Axios.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CancelToken.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/spread.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","FormData","append","isURLSearchParams","trim","replace","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","merge","caseless","this","assignValue","targetKey","extend","a","b","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","catch","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","isFlatArray","some","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","toURLEncodedForm","data","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","e","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","get","has","matcher","deleted","deleteHeader","normalize","format","normalized","targets","asStrings","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","event","isXHRAdapterSupported","XMLHttpRequest","Promise","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","err","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","isURLSameOrigin","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","knownAdapters","http","xhr","renderReason","reason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","validator","ERR_BAD_OPTION","version","formatMessage","desc","opts","ERR_DEPRECATED","console","warn","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","spread","callback","isAxiosError","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON","default"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/154.a30ad9b8.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/bind.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/utils.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/null.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toFormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/buildURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/InterceptorManager.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/transitional.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/platform/browser/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/defaults/index.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/transformData.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/isCancel.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CanceledError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/settle.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/cookies.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/combineURLs.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/buildFullPath.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/speedometer.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/xhr.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/adapters/adapters.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/dispatchRequest.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/mergeConfig.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/env/data.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/validator.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/core/Axios.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/cancel/CancelToken.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/spread.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://PandoraNext-TokensTool/./node_modules/axios/lib/axios.js"],"sourcesContent":["'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\n const isStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n isStandardBrowserWebWorkerEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if(!requestHeaders.getContentType(/^\\s*multipart\\/form-data/)){\n requestHeaders.setContentType('multipart/form-data'); // mobile/desktop app frameworks\n } else if(utils.isString(contentType = requestHeaders.getContentType())){\n // fix semicolon duplication issue for ReactNative FormData implementation\n requestHeaders.setContentType(contentType.replace(/^\\s*(multipart\\/form-data);+/, '$1'))\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n // regarding CVE-2023-45857 config.withCredentials condition was removed temporarily\n const xsrfValue = isURLSameOrigin(fullPath) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n"],"names":["bind","fn","thisArg","apply","arguments","toString","Object","prototype","getPrototypeOf","kindOf","cache","thing","str","call","slice","toLowerCase","create","kindOfTest","type","typeOfTest","isArray","Array","isUndefined","isBuffer","val","constructor","isFunction","isArrayBuffer","isArrayBufferView","result","ArrayBuffer","isView","buffer","isString","isNumber","isObject","isBoolean","isPlainObject","Symbol","toStringTag","iterator","isDate","isFile","isBlob","isFileList","isStream","pipe","isFormData","kind","FormData","append","isURLSearchParams","trim","replace","forEach","obj","allOwnKeys","i","l","length","keys","getOwnPropertyNames","len","key","findKey","_key","_global","globalThis","self","window","global","isContextDefined","context","merge","caseless","this","assignValue","targetKey","extend","a","b","stripBOM","content","charCodeAt","inherits","superConstructor","props","descriptors","defineProperty","value","assign","toFlatObject","sourceObj","destObj","filter","propFilter","prop","merged","endsWith","searchString","position","String","undefined","lastIndex","indexOf","toArray","arr","isTypedArray","TypedArray","Uint8Array","forEachEntry","generator","next","done","pair","matchAll","regExp","matches","exec","push","isHTMLForm","toCamelCase","m","p1","p2","toUpperCase","hasOwnProperty","isRegExp","reduceDescriptors","reducer","getOwnPropertyDescriptors","reducedDescriptors","descriptor","name","ret","defineProperties","freezeMethods","enumerable","writable","set","Error","toObjectSet","arrayOrString","delimiter","define","split","noop","toFiniteNumber","defaultValue","Number","isFinite","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","size","alphabet","Math","random","isSpecCompliantForm","toJSONObject","stack","visit","source","target","reducedValue","isAsyncFn","isThenable","then","catch","hasOwnProp","AxiosError","message","code","config","request","response","captureStackTrace","utils","toJSON","description","number","fileName","lineNumber","columnNumber","status","from","error","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","path","dots","concat","map","token","join","isFlatArray","some","predicates","test","toFormData","formData","options","TypeError","metaTokens","indexes","option","visitor","defaultVisitor","_Blob","Blob","useBlob","convertValue","toISOString","Buffer","JSON","stringify","el","index","exposedHelpers","build","pop","encode","charMap","encodeURIComponent","match","AxiosURLSearchParams","params","_pairs","encoder","_encode","buildURL","url","serializeFn","serialize","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","id","clear","h","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","URLSearchParams","isStandardBrowserEnv","product","navigator","document","isStandardBrowserWebWorkerEnv","WorkerGlobalScope","importScripts","isBrowser","classes","protocols","toURLEncodedForm","data","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","entries","stringifySafely","rawValue","parser","parse","e","defaults","transitional","adapter","transformRequest","headers","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","env","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","method","ignoreDuplicateOf","rawHeaders","parsed","line","substring","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","configurable","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","get","has","matcher","deleted","deleteHeader","normalize","format","normalized","targets","asStrings","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","resolve","reject","ERR_BAD_REQUEST","floor","write","expires","domain","secure","cookie","Date","toGMTString","read","RegExp","decodeURIComponent","remove","now","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","userAgent","urlParsingNode","createElement","originURL","resolveURL","href","setAttribute","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","firstSampleTS","head","tail","chunkLength","startedAt","bytesCount","passed","round","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","rate","inRange","progress","estimated","event","isXHRAdapterSupported","XMLHttpRequest","Promise","requestData","requestHeaders","onCanceled","cancelToken","unsubscribe","signal","removeEventListener","auth","username","password","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","err","open","paramsSerializer","onreadystatechange","readyState","responseURL","setTimeout","onabort","ECONNABORTED","onerror","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","xsrfValue","isURLSameOrigin","cookies","setRequestHeader","withCredentials","onDownloadProgress","addEventListener","onUploadProgress","upload","cancel","abort","subscribe","aborted","send","knownAdapters","http","xhr","renderReason","reason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","state","s","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","transport","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","validator","ERR_BAD_OPTION","version","formatMessage","desc","opts","ERR_DEPRECATED","console","warn","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","unshift","responseInterceptorChain","promise","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","splice","c","spread","callback","isAxiosError","payload","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Ok","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","instance","axios","Cancel","all","promises","formToJSON","default"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/static/js/331.05857446.js b/rearServer/target/classes/static/js/331.05857446.js deleted file mode 100644 index 4b4ab48..0000000 --- a/rearServer/target/classes/static/js/331.05857446.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[331],{451:function(e,t,n){e.exports=n.p+"img/chatGpt.93292c55.jpg"},6154:function(e,t,n){function r(e,t){return function(){return e.apply(t,arguments)}}n.d(t,{Z:function(){return qt}});const{toString:o}=Object.prototype,{getPrototypeOf:i}=Object,s=(e=>t=>{const n=o.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),a=e=>(e=e.toLowerCase(),t=>s(t)===e),c=e=>t=>typeof t===e,{isArray:u}=Array,l=c("undefined");function f(e){return null!==e&&!l(e)&&null!==e.constructor&&!l(e.constructor)&&m(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const d=a("ArrayBuffer");function p(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&d(e.buffer),t}const h=c("string"),m=c("function"),y=c("number"),g=e=>null!==e&&"object"===typeof e,b=e=>!0===e||!1===e,w=e=>{if("object"!==s(e))return!1;const t=i(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},E=a("Date"),O=a("File"),S=a("Blob"),R=a("FileList"),A=e=>g(e)&&m(e.pipe),T=e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||m(e.append)&&("formdata"===(t=s(e))||"object"===t&&m(e.toString)&&"[object FormData]"===e.toString()))},v=a("URLSearchParams"),j=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function N(e,t,{allOwnKeys:n=!1}={}){if(null===e||"undefined"===typeof e)return;let r,o;if("object"!==typeof e&&(e=[e]),u(e))for(r=0,o=e.length;r0)if(r=n[o],t===r.toLowerCase())return r;return null}const x=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),P=e=>!l(e)&&e!==x;function _(){const{caseless:e}=P(this)&&this||{},t={},n=(n,r)=>{const o=e&&C(t,r)||r;w(t[o])&&w(n)?t[o]=_(t[o],n):w(n)?t[o]=_({},n):u(n)?t[o]=n.slice():t[o]=n};for(let r=0,o=arguments.length;r(N(t,((t,o)=>{n&&m(t)?e[o]=r(t,n):e[o]=t}),{allOwnKeys:o}),e),F=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),B=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},L=(e,t,n,r)=>{let o,s,a;const c={};if(t=t||{},null==e)return t;do{o=Object.getOwnPropertyNames(e),s=o.length;while(s-- >0)a=o[s],r&&!r(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==n&&i(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},D=(e,t,n)=>{e=String(e),(void 0===n||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return-1!==r&&r===n},k=e=>{if(!e)return null;if(u(e))return e;let t=e.length;if(!y(t))return null;const n=new Array(t);while(t-- >0)n[t]=e[t];return n},q=(e=>t=>e&&t instanceof e)("undefined"!==typeof Uint8Array&&i(Uint8Array)),I=(e,t)=>{const n=e&&e[Symbol.iterator],r=n.call(e);let o;while((o=r.next())&&!o.done){const n=o.value;t.call(e,n[0],n[1])}},z=(e,t)=>{let n;const r=[];while(null!==(n=e.exec(t)))r.push(n);return r},M=a("HTMLFormElement"),H=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,n){return t.toUpperCase()+n})),J=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),W=a("RegExp"),K=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};N(n,((n,o)=>{let i;!1!==(i=t(n,o,e))&&(r[o]=i||n)})),Object.defineProperties(e,r)},V=e=>{K(e,((t,n)=>{if(m(e)&&-1!==["arguments","caller","callee"].indexOf(n))return!1;const r=e[n];m(r)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")}))}))},G=(e,t)=>{const n={},r=e=>{e.forEach((e=>{n[e]=!0}))};return u(e)?r(e):r(String(e).split(t)),n},$=()=>{},X=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Q="abcdefghijklmnopqrstuvwxyz",Z="0123456789",Y={DIGIT:Z,ALPHA:Q,ALPHA_DIGIT:Q+Q.toUpperCase()+Z},ee=(e=16,t=Y.ALPHA_DIGIT)=>{let n="";const{length:r}=t;while(e--)n+=t[Math.random()*r|0];return n};function te(e){return!!(e&&m(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const ne=e=>{const t=new Array(10),n=(e,r)=>{if(g(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[r]=e;const o=u(e)?[]:{};return N(e,((e,t)=>{const i=n(e,r+1);!l(i)&&(o[t]=i)})),t[r]=void 0,o}}return e};return n(e,0)},re=a("AsyncFunction"),oe=e=>e&&(g(e)||m(e))&&m(e.then)&&m(e.catch);var ie={isArray:u,isArrayBuffer:d,isBuffer:f,isFormData:T,isArrayBufferView:p,isString:h,isNumber:y,isBoolean:b,isObject:g,isPlainObject:w,isUndefined:l,isDate:E,isFile:O,isBlob:S,isRegExp:W,isFunction:m,isStream:A,isURLSearchParams:v,isTypedArray:q,isFileList:R,forEach:N,merge:_,extend:U,trim:j,stripBOM:F,inherits:B,toFlatObject:L,kindOf:s,kindOfTest:a,endsWith:D,toArray:k,forEachEntry:I,matchAll:z,isHTMLForm:M,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:V,toObjectSet:G,toCamelCase:H,noop:$,toFiniteNumber:X,findKey:C,global:x,isContextDefined:P,ALPHABET:Y,generateString:ee,isSpecCompliantForm:te,toJSONObject:ne,isAsyncFn:re,isThenable:oe};function se(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}ie.inherits(se,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ie.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ae=se.prototype,ce={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{ce[e]={value:e}})),Object.defineProperties(se,ce),Object.defineProperty(ae,"isAxiosError",{value:!0}),se.from=(e,t,n,r,o,i)=>{const s=Object.create(ae);return ie.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),se.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};var ue=se,le=null;function fe(e){return ie.isPlainObject(e)||ie.isArray(e)}function de(e){return ie.endsWith(e,"[]")?e.slice(0,-2):e}function pe(e,t,n){return e?e.concat(t).map((function(e,t){return e=de(e),!n&&t?"["+e+"]":e})).join(n?".":""):t}function he(e){return ie.isArray(e)&&!e.some(fe)}const me=ie.toFlatObject(ie,{},null,(function(e){return/^is[A-Z]/.test(e)}));function ye(e,t,n){if(!ie.isObject(e))throw new TypeError("target must be an object");t=t||new(le||FormData),n=ie.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ie.isUndefined(t[e])}));const r=n.metaTokens,o=n.visitor||l,i=n.dots,s=n.indexes,a=n.Blob||"undefined"!==typeof Blob&&Blob,c=a&&ie.isSpecCompliantForm(t);if(!ie.isFunction(o))throw new TypeError("visitor must be a function");function u(e){if(null===e)return"";if(ie.isDate(e))return e.toISOString();if(!c&&ie.isBlob(e))throw new ue("Blob is not supported. Use a Buffer instead.");return ie.isArrayBuffer(e)||ie.isTypedArray(e)?c&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function l(e,n,o){let a=e;if(e&&!o&&"object"===typeof e)if(ie.endsWith(n,"{}"))n=r?n:n.slice(0,-2),e=JSON.stringify(e);else if(ie.isArray(e)&&he(e)||(ie.isFileList(e)||ie.endsWith(n,"[]"))&&(a=ie.toArray(e)))return n=de(n),a.forEach((function(e,r){!ie.isUndefined(e)&&null!==e&&t.append(!0===s?pe([n],r,i):null===s?n:n+"[]",u(e))})),!1;return!!fe(e)||(t.append(pe(o,n,i),u(e)),!1)}const f=[],d=Object.assign(me,{defaultVisitor:l,convertValue:u,isVisitable:fe});function p(e,n){if(!ie.isUndefined(e)){if(-1!==f.indexOf(e))throw Error("Circular reference detected in "+n.join("."));f.push(e),ie.forEach(e,(function(e,r){const i=!(ie.isUndefined(e)||null===e)&&o.call(t,e,ie.isString(r)?r.trim():r,n,d);!0===i&&p(e,n?n.concat(r):[r])})),f.pop()}}if(!ie.isObject(e))throw new TypeError("data must be an object");return p(e),t}var ge=ye;function be(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function we(e,t){this._pairs=[],e&&ge(e,this,t)}const Ee=we.prototype;Ee.append=function(e,t){this._pairs.push([e,t])},Ee.toString=function(e){const t=e?function(t){return e.call(this,t,be)}:be;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Oe=we;function Se(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Re(e,t,n){if(!t)return e;const r=n&&n.encode||Se,o=n&&n.serialize;let i;if(i=o?o(t,n):ie.isURLSearchParams(t)?t.toString():new Oe(t,n).toString(r),i){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+i}return e}class Ae{constructor(){this.handlers=[]}use(e,t,n){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){ie.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var Te=Ae,ve={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},je="undefined"!==typeof URLSearchParams?URLSearchParams:Oe,Ne="undefined"!==typeof FormData?FormData:null,Ce="undefined"!==typeof Blob?Blob:null;const xe=(()=>{let e;return("undefined"===typeof navigator||"ReactNative"!==(e=navigator.product)&&"NativeScript"!==e&&"NS"!==e)&&("undefined"!==typeof window&&"undefined"!==typeof document)})(),Pe=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)();var _e={isBrowser:!0,classes:{URLSearchParams:je,FormData:Ne,Blob:Ce},isStandardBrowserEnv:xe,isStandardBrowserWebWorkerEnv:Pe,protocols:["http","https","file","blob","url","data"]};function Ue(e,t){return ge(e,new _e.classes.URLSearchParams,Object.assign({visitor:function(e,t,n,r){return _e.isNode&&ie.isBuffer(e)?(this.append(t,e.toString("base64")),!1):r.defaultVisitor.apply(this,arguments)}},t))}function Fe(e){return ie.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function Be(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=e.length;if(i=!i&&ie.isArray(r)?r.length:i,a)return ie.hasOwnProp(r,i)?r[i]=[r[i],n]:r[i]=n,!s;r[i]&&ie.isObject(r[i])||(r[i]=[]);const c=t(e,n,r[i],o);return c&&ie.isArray(r[i])&&(r[i]=Be(r[i])),!s}if(ie.isFormData(e)&&ie.isFunction(e.entries)){const n={};return ie.forEachEntry(e,((e,r)=>{t(Fe(e),r,n,0)})),n}return null}var De=Le;function ke(e,t,n){if(ie.isString(e))try{return(t||JSON.parse)(e),ie.trim(e)}catch(r){if("SyntaxError"!==r.name)throw r}return(n||JSON.stringify)(e)}const qe={transitional:ve,adapter:["xhr","http"],transformRequest:[function(e,t){const n=t.getContentType()||"",r=n.indexOf("application/json")>-1,o=ie.isObject(e);o&&ie.isHTMLForm(e)&&(e=new FormData(e));const i=ie.isFormData(e);if(i)return r&&r?JSON.stringify(De(e)):e;if(ie.isArrayBuffer(e)||ie.isBuffer(e)||ie.isStream(e)||ie.isFile(e)||ie.isBlob(e))return e;if(ie.isArrayBufferView(e))return e.buffer;if(ie.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Ue(e,this.formSerializer).toString();if((s=ie.isFileList(e))||n.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return ge(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return o||r?(t.setContentType("application/json",!1),ke(e)):e}],transformResponse:[function(e){const t=this.transitional||qe.transitional,n=t&&t.forcedJSONParsing,r="json"===this.responseType;if(e&&ie.isString(e)&&(n&&!this.responseType||r)){const n=t&&t.silentJSONParsing,i=!n&&r;try{return JSON.parse(e)}catch(o){if(i){if("SyntaxError"===o.name)throw ue.from(o,ue.ERR_BAD_RESPONSE,this,null,this.response);throw o}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:_e.classes.FormData,Blob:_e.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ie.forEach(["delete","get","head","post","put","patch"],(e=>{qe.headers[e]={}}));var Ie=qe;const ze=ie.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Me=e=>{const t={};let n,r,o;return e&&e.split("\n").forEach((function(e){o=e.indexOf(":"),n=e.substring(0,o).trim().toLowerCase(),r=e.substring(o+1).trim(),!n||t[n]&&ze[n]||("set-cookie"===n?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)})),t};const He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ie.isArray(e)?e.map(We):String(e)}function Ke(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;while(r=n.exec(e))t[r[1]]=r[2];return t}const Ve=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Ge(e,t,n,r,o){return ie.isFunction(r)?r.call(this,t,n):(o&&(t=n),ie.isString(t)?ie.isString(r)?-1!==t.indexOf(r):ie.isRegExp(r)?r.test(t):void 0:void 0)}function $e(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,n)=>t.toUpperCase()+n))}function Xe(e,t){const n=ie.toCamelCase(" "+t);["get","set","has"].forEach((r=>{Object.defineProperty(e,r+n,{value:function(e,n,o){return this[r].call(this,t,e,n,o)},configurable:!0})}))}class Qe{constructor(e){e&&this.set(e)}set(e,t,n){const r=this;function o(e,t,n){const o=Je(t);if(!o)throw new Error("header name must be a non-empty string");const i=ie.findKey(r,o);(!i||void 0===r[i]||!0===n||void 0===n&&!1!==r[i])&&(r[i||t]=We(e))}const i=(e,t)=>ie.forEach(e,((e,n)=>o(e,n,t)));return ie.isPlainObject(e)||e instanceof this.constructor?i(e,t):ie.isString(e)&&(e=e.trim())&&!Ve(e)?i(Me(e),t):null!=e&&o(t,e,n),this}get(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);if(n){const e=this[n];if(!t)return e;if(!0===t)return Ke(e);if(ie.isFunction(t))return t.call(this,e,n);if(ie.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Je(e),e){const n=ie.findKey(this,e);return!(!n||void 0===this[n]||t&&!Ge(this,this[n],n,t))}return!1}delete(e,t){const n=this;let r=!1;function o(e){if(e=Je(e),e){const o=ie.findKey(n,e);!o||t&&!Ge(n,n[o],o,t)||(delete n[o],r=!0)}}return ie.isArray(e)?e.forEach(o):o(e),r}clear(e){const t=Object.keys(this);let n=t.length,r=!1;while(n--){const o=t[n];e&&!Ge(this,this[o],o,e,!0)||(delete this[o],r=!0)}return r}normalize(e){const t=this,n={};return ie.forEach(this,((r,o)=>{const i=ie.findKey(n,o);if(i)return t[i]=We(r),void delete t[o];const s=e?$e(o):String(o).trim();s!==o&&delete t[o],t[s]=We(r),n[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return ie.forEach(this,((n,r)=>{null!=n&&!1!==n&&(t[r]=e&&ie.isArray(n)?n.join(", "):n)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const n=new this(e);return t.forEach((e=>n.set(e))),n}static accessor(e){const t=this[He]=this[He]={accessors:{}},n=t.accessors,r=this.prototype;function o(e){const t=Je(e);n[t]||(Xe(r,e),n[t]=!0)}return ie.isArray(e)?e.forEach(o):o(e),this}}Qe.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ie.reduceDescriptors(Qe.prototype,(({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[n]=e}}})),ie.freezeMethods(Qe);var Ze=Qe;function Ye(e,t){const n=this||Ie,r=t||n,o=Ze.from(r.headers);let i=r.data;return ie.forEach(e,(function(e){i=e.call(n,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function et(e){return!(!e||!e.__CANCEL__)}function tt(e,t,n){ue.call(this,null==e?"canceled":e,ue.ERR_CANCELED,t,n),this.name="CanceledError"}ie.inherits(tt,ue,{__CANCEL__:!0});var nt=tt;function rt(e,t,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?t(new ue("Request failed with status code "+n.status,[ue.ERR_BAD_REQUEST,ue.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):e(n)}var ot=_e.isStandardBrowserEnv?function(){return{write:function(e,t,n,r,o,i){const s=[];s.push(e+"="+encodeURIComponent(t)),ie.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),ie.isString(r)&&s.push("path="+r),ie.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}();function it(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function st(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function at(e,t){return e&&!it(t)?st(e,t):t}var ct=_e.isStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let n;function r(n){let r=n;return e&&(t.setAttribute("href",r),r=t.href),t.setAttribute("href",r),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return n=r(window.location.href),function(e){const t=ie.isString(e)?r(e):e;return t.protocol===n.protocol&&t.host===n.host}}():function(){return function(){return!0}}();function ut(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function lt(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o,i=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),u=r[s];o||(o=c),n[i]=a,r[i]=c;let l=s,f=0;while(l!==i)f+=n[l++],l%=e;if(i=(i+1)%e,i===s&&(s=(s+1)%e),c-o{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,c=r(a),u=i<=s;n=i;const l={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&u?(s-i)/c:void 0,event:o};l[t?"download":"upload"]=!0,e(l)}}const pt="undefined"!==typeof XMLHttpRequest;var ht=pt&&function(e){return new Promise((function(t,n){let r=e.data;const o=Ze.from(e.headers).normalize(),i=e.responseType;let s,a;function c(){e.cancelToken&&e.cancelToken.unsubscribe(s),e.signal&&e.signal.removeEventListener("abort",s)}ie.isFormData(r)&&(_e.isStandardBrowserEnv||_e.isStandardBrowserWebWorkerEnv?o.setContentType(!1):o.getContentType(/^\s*multipart\/form-data/)?ie.isString(a=o.getContentType())&&o.setContentType(a.replace(/^\s*(multipart\/form-data);+/,"$1")):o.setContentType("multipart/form-data"));let u=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",n=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";o.set("Authorization","Basic "+btoa(t+":"+n))}const l=at(e.baseURL,e.url);function f(){if(!u)return;const r=Ze.from("getAllResponseHeaders"in u&&u.getAllResponseHeaders()),o=i&&"text"!==i&&"json"!==i?u.response:u.responseText,s={data:o,status:u.status,statusText:u.statusText,headers:r,config:e,request:u};rt((function(e){t(e),c()}),(function(e){n(e),c()}),s),u=null}if(u.open(e.method.toUpperCase(),Re(l,e.params,e.paramsSerializer),!0),u.timeout=e.timeout,"onloadend"in u?u.onloadend=f:u.onreadystatechange=function(){u&&4===u.readyState&&(0!==u.status||u.responseURL&&0===u.responseURL.indexOf("file:"))&&setTimeout(f)},u.onabort=function(){u&&(n(new ue("Request aborted",ue.ECONNABORTED,e,u)),u=null)},u.onerror=function(){n(new ue("Network Error",ue.ERR_NETWORK,e,u)),u=null},u.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const r=e.transitional||ve;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),n(new ue(t,r.clarifyTimeoutError?ue.ETIMEDOUT:ue.ECONNABORTED,e,u)),u=null},_e.isStandardBrowserEnv){const t=ct(l)&&e.xsrfCookieName&&ot.read(e.xsrfCookieName);t&&o.set(e.xsrfHeaderName,t)}void 0===r&&o.setContentType(null),"setRequestHeader"in u&&ie.forEach(o.toJSON(),(function(e,t){u.setRequestHeader(t,e)})),ie.isUndefined(e.withCredentials)||(u.withCredentials=!!e.withCredentials),i&&"json"!==i&&(u.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&u.addEventListener("progress",dt(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&u.upload&&u.upload.addEventListener("progress",dt(e.onUploadProgress)),(e.cancelToken||e.signal)&&(s=t=>{u&&(n(!t||t.type?new nt(null,e,u):t),u.abort(),u=null)},e.cancelToken&&e.cancelToken.subscribe(s),e.signal&&(e.signal.aborted?s():e.signal.addEventListener("abort",s)));const d=ut(l);d&&-1===_e.protocols.indexOf(d)?n(new ue("Unsupported protocol "+d+":",ue.ERR_BAD_REQUEST,e)):u.send(r||null)}))};const mt={http:le,xhr:ht};ie.forEach(mt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(n){}Object.defineProperty(e,"adapterName",{value:t})}}));const yt=e=>`- ${e}`,gt=e=>ie.isFunction(e)||null===e||!1===e;var bt={getAdapter:e=>{e=ie.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let n=t?e.length>1?"since :\n"+e.map(yt).join("\n"):" "+yt(e[0]):"as no adapter specified";throw new ue("There is no suitable adapter to dispatch the request "+n,"ERR_NOT_SUPPORT")}return r},adapters:mt};function wt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new nt(null,e)}function Et(e){wt(e),e.headers=Ze.from(e.headers),e.data=Ye.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);const t=bt.getAdapter(e.adapter||Ie.adapter);return t(e).then((function(t){return wt(e),t.data=Ye.call(e,e.transformResponse,t),t.headers=Ze.from(t.headers),t}),(function(t){return et(t)||(wt(e),t&&t.response&&(t.response.data=Ye.call(e,e.transformResponse,t.response),t.response.headers=Ze.from(t.response.headers))),Promise.reject(t)}))}const Ot=e=>e instanceof Ze?e.toJSON():e;function St(e,t){t=t||{};const n={};function r(e,t,n){return ie.isPlainObject(e)&&ie.isPlainObject(t)?ie.merge.call({caseless:n},e,t):ie.isPlainObject(t)?ie.merge({},t):ie.isArray(t)?t.slice():t}function o(e,t,n){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e,n):r(e,t,n)}function i(e,t){if(!ie.isUndefined(t))return r(void 0,t)}function s(e,t){return ie.isUndefined(t)?ie.isUndefined(e)?void 0:r(void 0,e):r(void 0,t)}function a(n,o,i){return i in t?r(n,o):i in e?r(void 0,n):void 0}const c={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>o(Ot(e),Ot(t),!0)};return ie.forEach(Object.keys(Object.assign({},e,t)),(function(r){const i=c[r]||o,s=i(e[r],t[r],r);ie.isUndefined(s)&&i!==a||(n[r]=s)})),n}const Rt="1.6.0",At={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{At[e]=function(n){return typeof n===e||"a"+(t<1?"n ":" ")+e}}));const Tt={};function vt(e,t,n){if("object"!==typeof e)throw new ue("options must be an object",ue.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;while(o-- >0){const i=r[o],s=t[i];if(s){const t=e[i],n=void 0===t||s(t,i,e);if(!0!==n)throw new ue("option "+i+" must be "+n,ue.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new ue("Unknown option "+i,ue.ERR_BAD_OPTION)}}At.transitional=function(e,t,n){function r(e,t){return"[Axios v"+Rt+"] Transitional option '"+e+"'"+t+(n?". "+n:"")}return(n,o,i)=>{if(!1===e)throw new ue(r(o," has been removed"+(t?" in "+t:"")),ue.ERR_DEPRECATED);return t&&!Tt[o]&&(Tt[o]=!0,console.warn(r(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(n,o,i)}};var jt={assertOptions:vt,validators:At};const Nt=jt.validators;class Ct{constructor(e){this.defaults=e,this.interceptors={request:new Te,response:new Te}}request(e,t){"string"===typeof e?(t=t||{},t.url=e):t=e||{},t=St(this.defaults,t);const{transitional:n,paramsSerializer:r,headers:o}=t;void 0!==n&&jt.assertOptions(n,{silentJSONParsing:Nt.transitional(Nt.boolean),forcedJSONParsing:Nt.transitional(Nt.boolean),clarifyTimeoutError:Nt.transitional(Nt.boolean)},!1),null!=r&&(ie.isFunction(r)?t.paramsSerializer={serialize:r}:jt.assertOptions(r,{encode:Nt.function,serialize:Nt.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let i=o&&ie.merge(o.common,o[t.method]);o&&ie.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete o[e]})),t.headers=Ze.concat(i,o);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let u;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let l,f=0;if(!a){const e=[Et.bind(this),void 0];e.unshift.apply(e,s),e.push.apply(e,c),l=e.length,u=Promise.resolve(t);while(f{if(!n._listeners)return;let t=n._listeners.length;while(t-- >0)n._listeners[t](e);n._listeners=null})),this.promise.then=e=>{let t;const r=new Promise((e=>{n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},e((function(e,r,o){n.reason||(n.reason=new nt(e,r,o),t(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Pt((function(t){e=t}));return{token:t,cancel:e}}}var _t=Pt;function Ut(e){return function(t){return e.apply(null,t)}}function Ft(e){return ie.isObject(e)&&!0===e.isAxiosError}const Bt={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Bt).forEach((([e,t])=>{Bt[t]=e}));var Lt=Bt;function Dt(e){const t=new xt(e),n=r(xt.prototype.request,t);return ie.extend(n,xt.prototype,t,{allOwnKeys:!0}),ie.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return Dt(St(e,t))},n}const kt=Dt(Ie);kt.Axios=xt,kt.CanceledError=nt,kt.CancelToken=_t,kt.isCancel=et,kt.VERSION=Rt,kt.toFormData=ge,kt.AxiosError=ue,kt.Cancel=kt.CanceledError,kt.all=function(e){return Promise.all(e)},kt.spread=Ut,kt.isAxiosError=Ft,kt.mergeConfig=St,kt.AxiosHeaders=Ze,kt.formToJSON=e=>De(ie.isHTMLForm(e)?new FormData(e):e),kt.getAdapter=bt.getAdapter,kt.HttpStatusCode=Lt,kt.default=kt;var qt=kt}}]); -//# sourceMappingURL=331.05857446.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/402.fa30b347.js b/rearServer/target/classes/static/js/402.fa30b347.js new file mode 100644 index 0000000..54e7cf6 --- /dev/null +++ b/rearServer/target/classes/static/js/402.fa30b347.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[402],{4402:function(e,l,a){a.r(l),a.d(l,{default:function(){return qo}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),m=(a(1897),a(6907)),c=(a(4746),a(294)),p=(a(6870),a(6252)),v=a(3577),h=a(2262),w=a(1094),_=a(2201),k=a(6154),f=a(844),g=a(1348),b=a(9288),V=a(2534),y=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,p._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),A={class:"home-container"},H=(0,p._)("div",{class:"flex-grow"},null,-1),P=(0,p._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),z=(0,p._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),S=(0,p._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),N={class:"under"},C={style:{display:"block",transform:"translate(5vw, 2.5vh)"}},O=(0,p._)("div",{class:"flex items-center"},[(0,p._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,p._)("span",{class:"font-h4-tag"},"v0.6.3 ")],-1),$={class:"search"},q={style:{display:"flex",margin:"10px 35px -8px 35px"}},B={style:{display:"flex",transform:"translateX(4vw)",width:"70vw",height:"61vh"}},D={style:{display:"flex","align-items":"center"}},j={style:{"margin-left":"18px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},I={style:{margin:"15px 0px 15px 0px"}},L=(0,p._)("h1",null,"批量操作",-1),Z=(0,p._)("h1",null,"全部检查并生成",-1),E=(0,p._)("br",null,null,-1),R=(0,p._)("br",null,null,-1),K=(0,p._)("br",null,null,-1),J={style:{display:"block"}},M=(0,p._)("br",null,null,-1),G=(0,p._)("br",null,null,-1),Y=(0,p._)("br",null,null,-1),X={key:0},F=(0,p._)("br",null,null,-1),Q={key:1},ee=(0,p._)("br",null,null,-1),le={key:0},ae=(0,p._)("br",null,null,-1),oe=(0,p._)("br",null,null,-1),ne={key:2},te=(0,p._)("br",null,null,-1),ue=(0,p._)("br",null,null,-1),ie=(0,p._)("br",null,null,-1),re={style:{margin:"5.2px"}},se=(0,p._)("br",null,null,-1),de={style:{display:"block"}},me=(0,p._)("br",null,null,-1),ce=(0,p._)("br",null,null,-1),pe=(0,p._)("br",null,null,-1),ve=(0,p._)("br",null,null,-1),he={key:0},we=(0,p._)("br",null,null,-1),_e={key:1},ke=(0,p._)("br",null,null,-1),fe={key:0},ge=(0,p._)("br",null,null,-1),be=(0,p._)("br",null,null,-1),Ve={key:2},ye=(0,p._)("br",null,null,-1),We={key:3},Te=(0,p._)("br",null,null,-1),xe=(0,p._)("br",null,null,-1),Ue={style:{margin:"5.2px"}},Ae=(0,p._)("br",null,null,-1),He={style:{display:"block"}},Pe={key:0},ze={style:{display:"flex","justify-content":"center","align-items":"center"}},Se={style:{margin:"10px 75px 10px 75px"}},Ne={style:{margin:"10px 75px 10px 75px"}},Ce={style:{margin:"10px 75px 10px 75px"}},Oe=(0,p._)("br",null,null,-1),$e=(0,p._)("br",null,null,-1),qe=(0,p._)("br",null,null,-1),Be=(0,p._)("br",null,null,-1),De=(0,p._)("br",null,null,-1),je=(0,p._)("br",null,null,-1),Ie=(0,p._)("br",null,null,-1),Le=(0,p._)("br",null,null,-1),Ze=(0,p._)("br",null,null,-1),Ee=(0,p._)("br",null,null,-1),Re={key:0},Ke=(0,p._)("br",null,null,-1),Je=(0,p._)("br",null,null,-1),Me=(0,p._)("br",null,null,-1),Ge={style:{display:"block"}},Ye=(0,p._)("br",null,null,-1),Xe=(0,p._)("br",null,null,-1),Fe=(0,p._)("br",null,null,-1),Qe=(0,p._)("br",null,null,-1),el=(0,p._)("br",null,null,-1),ll=(0,p._)("br",null,null,-1),al={key:0},ol=(0,p._)("br",null,null,-1),nl=(0,p._)("br",null,null,-1),tl=(0,p._)("br",null,null,-1),ul=(0,p._)("br",null,null,-1),il=(0,p._)("br",null,null,-1),rl=(0,p._)("br",null,null,-1),sl=(0,p._)("br",null,null,-1),dl=(0,p._)("br",null,null,-1),ml={style:{margin:"5.2px"}},cl=(0,p._)("br",null,null,-1),pl={style:{display:"block"}},vl=(0,p._)("br",null,null,-1),hl=(0,p._)("br",null,null,-1),wl=(0,p._)("br",null,null,-1),_l=(0,p._)("br",null,null,-1),kl=(0,p._)("br",null,null,-1),fl=(0,p._)("br",null,null,-1),gl=(0,p._)("br",null,null,-1),bl=(0,p._)("br",null,null,-1),Vl={key:0},yl=(0,p._)("br",null,null,-1),Wl=(0,p._)("br",null,null,-1),Tl=(0,p._)("br",null,null,-1),xl={style:{margin:"5.2px"}},Ul=(0,p._)("br",null,null,-1),Al={style:{display:"block"}},Hl=(0,p._)("br",null,null,-1),Pl=(0,p._)("br",null,null,-1),zl=(0,p._)("br",null,null,-1),Sl=(0,p._)("br",null,null,-1),Nl=(0,p._)("br",null,null,-1),Cl=(0,p._)("br",null,null,-1),Ol=(0,p._)("br",null,null,-1),$l=(0,p._)("br",null,null,-1),ql={style:{margin:"5.2px"}},Bl=(0,p._)("br",null,null,-1),Dl={style:{transform:"translate(0vw, -2vh)"}},jl={style:{"margin-left":"15px",display:"flex","align-items":"center"}},Il={key:0},Ll=(0,p._)("h5",null,"oneApi4",-1),Zl={key:1},El=(0,p._)("h5",null,"oneApi3",-1),Rl={key:2},Kl=(0,p._)("h5",null,"Json",-1),Jl={style:{"margin-left":"25px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ml={style:{display:"flex","align-items":"center",overflow:"auto"}},Gl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Yl=(0,p._)("span",{style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},"点击此进行查看",-1),Xl=(0,p._)("h1",null,"批量操作",-1),Fl=(0,p._)("br",null,null,-1),Ql={style:{display:"block"}},ea=(0,p._)("br",null,null,-1),la=(0,p._)("br",null,null,-1),aa=(0,p._)("br",null,null,-1),oa=(0,p._)("br",null,null,-1),na={style:{display:"block"}},ta=(0,p._)("br",null,null,-1),ua={key:0},ia=(0,p._)("br",null,null,-1),ra=(0,p._)("br",null,null,-1),sa=(0,p._)("br",null,null,-1),da=(0,p._)("br",null,null,-1),ma=(0,p._)("br",null,null,-1),ca=(0,p._)("br",null,null,-1),pa={style:{margin:"5.2px"}},va={style:{display:"block"}},ha=(0,p._)("br",null,null,-1),wa=(0,p._)("br",null,null,-1),_a={key:0},ka=(0,p._)("br",null,null,-1),fa=(0,p._)("br",null,null,-1),ga=(0,p._)("br",null,null,-1),ba=(0,p._)("br",null,null,-1),Va=(0,p._)("br",null,null,-1),ya={style:{margin:"5.2px"}},Wa={style:{display:"flex"}},Ta={style:{display:"flex","align-items":"center"}},xa={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ua={style:{display:"flex","align-items":"center",overflow:"auto"}},Aa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ha={style:{display:"flex","align-items":"center",overflow:"auto"}},Pa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},za=(0,p._)("br",null,null,-1),Sa={style:{display:"block"}},Na=(0,p._)("br",null,null,-1),Ca={style:{transform:"translateX(17px)"}},Oa=(0,p._)("br",null,null,-1),$a=(0,p._)("br",null,null,-1),qa=(0,p._)("br",null,null,-1),Ba={key:0},Da=(0,p._)("br",null,null,-1),ja=(0,p._)("br",null,null,-1),Ia=(0,p._)("br",null,null,-1),La=(0,p._)("br",null,null,-1),Za=(0,p._)("br",null,null,-1),Ea={style:{margin:"5.2px"}},Ra=(0,p._)("h1",null,"添加share_token到one_api",-1),Ka={style:{"margin-left":"15px",display:"flex","align-items":"center"}},Ja={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ma={style:{display:"flex","align-items":"center",overflow:"auto"}},Ga={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ya={style:{display:"flex","align-items":"center",overflow:"auto"}},Xa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Fa=(0,p._)("br",null,null,-1),Qa={style:{display:"block"}},eo=(0,p._)("br",null,null,-1),lo=(0,p._)("br",null,null,-1),ao={style:{transform:"translateX(17px)"}},oo=(0,p._)("br",null,null,-1),no={style:{transform:"translateX(17px)"}},to={style:{display:"flex","justify-content":"flex-end"}},uo=(0,p._)("br",null,null,-1),io=(0,p._)("br",null,null,-1),ro=(0,p._)("br",null,null,-1),so=(0,p._)("br",null,null,-1),mo={style:{margin:"5.2px"}},co={style:{display:"block"}},po=(0,p._)("br",null,null,-1),vo=(0,p._)("br",null,null,-1),ho=(0,p._)("br",null,null,-1),wo=(0,p._)("br",null,null,-1),_o=(0,p._)("br",null,null,-1),ko=(0,p._)("br",null,null,-1),fo=(0,p._)("br",null,null,-1),go=(0,p._)("br",null,null,-1),bo={style:{display:"block"}},Vo=(0,p._)("br",null,null,-1),yo={style:{transform:"translateX(17px)"}},Wo=(0,p._)("br",null,null,-1),To={style:{transform:"translateX(17px)"}},xo={style:{display:"flex","justify-content":"flex-end"}},Uo=(0,p._)("br",null,null,-1),Ao=(0,p._)("br",null,null,-1),Ho=(0,p._)("br",null,null,-1),Po=(0,p._)("br",null,null,-1),zo={style:{margin:"5.2px"}},So=0,No=1,Co=2;var Oo=(0,p.aZ)({__name:"homeIndex",setup(e){const l=window.location.pathname,a=l.split("/");let Oo="";a.length>=3&&(Oo="/"+a[1]);const $o=(0,h.iH)(["default","svip","vip"]),qo=(0,h.iH)(),Bo=(0,h.iH)(),Do=(0,h.iH)([]),jo=(0,h.iH)([]),Io=e=>{Do.value=e},Lo=e=>{jo.value=e},Zo=(0,h.iH)("ALL"),Eo=(0,_.tv)(),Ro=(0,h.iH)(!1),Ko=(0,h.iH)(!1),Jo=(0,h.iH)(!1),Mo=(0,h.iH)(!1),Go=(0,h.iH)(!1),Yo=(0,h.iH)(!1),Xo=(0,h.iH)(!1),Fo=(0,h.iH)(!1),Qo=(0,h.iH)(!1),en=(0,h.iH)(!1),ln=(0,h.iH)(!1),an=(0,h.iH)(!1),on=(0,h.iH)(!1),nn=(0,h.iH)(!1),tn=(0,h.iH)(!1),un=(0,h.iH)(!1),rn=(0,h.iH)(!1),sn=(0,h.iH)(""),dn=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],mn=((0,h.iH)(""),[{buttonModel:"gpt-4-s",label:"gpt-4-s"},{buttonModel:"gpt-4-mobile",label:"gpt-4-mobile"},{buttonModel:"gpt-4-vision",label:"gpt-4-vision"},{buttonModel:"gpt-3.5-turbo",label:"gpt-3.5-turbo"},{buttonModel:"gpt-4-classic",label:"gpt-4-classic"}]),cn=(0,h.iH)(""),pn=[{buttonPoolValue:"选中检查pool_token",label:"选中检查pool_token"},{buttonPoolValue:"选中删除pool_token",label:"选中删除pool_token"},{buttonPoolValue:"选中刷新pool_token",label:"选中刷新pool_token"},{buttonPoolValue:"选中更换pool_token",label:"选中更换pool_token"}],vn=(0,h.iH)(""),hn=(0,h.iH)("*"),wn=(0,h.iH)(""),_n=(0,h.iH)(""),kn=(0,h.iH)(""),fn=(0,h.iH)(!1),gn=(0,h.iH)(!1),bn=(0,h.iH)(!1),Vn=(0,h.iH)(!1),yn=(0,h.iH)(""),Wn=(0,h.iH)(!1),Tn=(0,h.iH)(""),xn=(0,h.iH)(""),Un=(0,h.iH)(""),An=(0,h.iH)(""),Hn=(0,h.iH)(""),Pn=(0,h.iH)(""),zn=(0,h.iH)(""),Sn=(0,h.iH)(!1),Nn=(0,h.iH)(""),Cn=(0,h.iH)("PandoraNext"),On=(0,h.iH)("default"),$n=(0,h.iH)(""),qn=(0,h.iH)(""),Bn=(0,h.iH)(""),Dn=(0,h.iH)(""),jn=(0,h.iH)(!1),In=(0,h.iH)(!1),Ln=(0,h.iH)(!1),Zn=(0,h.iH)(!1),En=(0,h.iH)(!1),Rn=(0,h.iH)(5),Kn=(0,h.iH)(1),Jn=(0,h.iH)(""),Mn=(0,h.iH)(""),Gn=(0,h.iH)(""),Yn=(0,h.iH)(""),Xn=((0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(!0),(0,h.iH)("")),Fn=(0,h.iH)(!1),Qn=(0,h.iH)(!1),et=(0,h.iH)(Jn.value+vn.value),lt=(0,h.iH)(0),at=(0,h.iH)(""),ot=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},nt=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},tt=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},ut=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=zt.value&&1!=_t.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},it=(0,h.iH)(""),rt=(0,h.iH)(""),st=(0,h.iH)(""),dt=(0,h.iH)(""),mt=(0,h.iH)(""),ct=(0,h.iH)(""),pt=(0,h.iH)(!1),vt=(0,h.iH)(!1),ht=(0,h.iH)(!1),wt=(0,h.iH)(""),_t=(0,h.iH)(!1),kt=(0,h.iH)(!1),ft=(0,h.iH)(!0),gt=(0,h.iH)([]),bt=(0,h.iH)([]),Vt=(0,h.iH)([]),yt=(0,h.iH)([]),Wt=(0,h.iH)(""),Tt=(0,h.iH)(""),xt=(0,h.iH)(""),Ut=(0,h.iH)(""),At=(0,h.iH)(!1),Ht=(0,h.iH)(!1),Pt=(0,h.iH)(!1),zt=(0,h.iH)(!1),St=(0,h.iH)(!1),Nt=(0,h.iH)(""),Ct=(0,h.iH)(""),Ot=(0,h.iH)(""),$t=((0,h.iH)(""),(0,h.iH)("")),qt=(0,h.iH)([]),Bt=(0,h.iH)(["default","svip","vip"]),Dt=(0,h.iH)(0),jt=((0,h.iH)(.085*window.innerHeight),(0,h.iH)("")),It=(0,h.iH)(""),Lt=(0,h.iH)(""),Zt=localStorage.getItem("jwtToken");Zt||Eo.replace("/");const Et={Authorization:`Bearer ${Zt}`},Rt=async()=>{k.Z.post(`${Oo}/api/loginToken?token=`+Zt).then((e=>{if(0==e.data.code)return console.error(e.data.data),void Eo.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),Eo.replace("/")}))},Kt=e=>{"Web"==e?Xt(""):"all"==e?Gt(""):e.includes("API")?Yt(""):Gt(e)},Jt=e=>{eu(e)},Mt=e=>{Qt(e)},Gt=async e=>{const l=await k.Z.get(`${Oo}/api/selectToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));gt.value=e}},Yt=async e=>{const l=await k.Z.get(`${Oo}/api/selectToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));gt.value=l}},Xt=async e=>{const l=await k.Z.get(`${Oo}/api/selectToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));gt.value=l}},Ft=async()=>{const e=await k.Z.get(`${Oo}/api/selectLogin`,{headers:Et}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));yt.value=e}},Qt=async e=>{const l=await k.Z.get(`${Oo}/api/selectPoolToken?name=${e}`,{headers:Et}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));bt.value=e}},eu=async e=>{const l=y.kN.service({fullscreen:!0}),a=await k.Z.get(`${Oo}/api/selectShareToken?name=${e}`,{headers:Et}),o=a.data.data;if(Array.isArray(o)){const e=o.map((e=>({oneApi_name:e.oneApi_name,token_name:e.token_name,token_value:e.token_value,oneApi_baseUrl:e.oneApi_baseUrl,oneApi_models:e.oneApi_models,oneApi_groups:e.oneApi_groups,shareTime:e.shareTime,priority:e.priority})));Vt.value=e}l.close()},lu=async e=>{const l=await k.Z.get(`${Oo}/api/selectSetting`,{headers:Et}),a=l.data.data;vn.value=a.proxy_api_prefix,hn.value=a.isolated_conv_title,wn.value=a.bing,_n.value=a.timeout,kn.value=a.proxy_url,fn.value=a.public_share,gn.value=a.disable_signup,bn.value=a.auto_conv_arkose,Vn.value=a.proxy_file_service,yn.value=a.custom_doh_host,Wn.value=a.tls.enabled,Tn.value=a.tls.cert_file,xn.value=a.tls.key_file,Un.value=a.site_password,An.value=a.setup_password,null==a.whitelist?$n.value="null":$n.value=a.whitelist,Hn.value=a.loginUsername,Pn.value=a.loginPassword,zn.value=a.license_id,Sn.value=a.isGetToken,Nn.value=a.getTokenPassword,Cn.value=a.containerName,On.value=a.autoToken_url,qn.value=a.validation.provider,Bn.value=a.validation.site_key,Dn.value=a.validation.site_secret,jn.value=a.validation.site_login,In.value=a.validation.setup_login,Ln.value=a.validation.oai_username,Zn.value=a.validation.oai_password,En.value=a.auto_updateSession,Rn.value=a.auto_updateTime,Kn.value=a.auto_updateNumber,Jn.value=a.pandoraNext_outUrl,Jn.value.endsWith("/")?et.value=Jn.value+vn.value:et.value=Jn.value+"/"+vn.value,Mn.value=a.oneAPi_outUrl,Gn.value=a.oneAPi_intoToken,au()},au=async()=>{"123456"==Pn.value&&"root"==Hn.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),Go.value=!0,Pn.value="",Hn.value="")},ou=()=>{const e=Do.value;0!==e.length?en.value=!0:(0,g.z8)("未选择数据")},nu=async()=>{y.kN.service({fullscreen:!0});try{const e=Do.value,l=e.map((e=>e.name)),a={poolName:Xn.value,intoOneApi:Fn.value,pandoraNextGpt4:Qn.value,oneApi_pandoraUrl:et.value,shareTokens:l,groupChecked:$o.value.toString(),priority:lt.value},o=await fetch(`${Oo}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Xn.value="",Qt(""),(0,g.z8)({type:"success",message:t.data}),Xn.value="",Fn.value=!1,Qn.value=!1,$o.value=["default","svip","vip"],lt.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}en.value=!1},tu=e=>{let l=bt.value.find((l=>l.poolName===e));null!=l&&(at.value=l.poolToken,Fn.value=l.intoOneApi,Qn.value=l.pandoraNextGpt4,et.value=l.oneApi_pandoraUrl,lt.value=l.priority)},uu=e=>{gt.value.find((l=>l.name===e&&!0===l.setPoolToken))},iu=(0,p.Fl)((()=>gt.value.filter((e=>!0===e.setPoolToken)))),ru=async()=>{y.kN.service({fullscreen:!0});try{const e=Do.value,l=e.map((e=>e.name)),a={poolName:Yn.value,poolToken:at.value,intoOneApi:Fn.value,pandoraNextGpt4:Qn.value,oneApi_pandoraUrl:et.value,shareTokens:l,groupChecked:$o.value.toString(),priority:lt.value},o=await fetch(`${Oo}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Qt(""),(0,g.z8)({type:"success",message:t.data}),Yn.value="",at.value="",Fn.value=!1,Qn.value=!1,$o.value=["default","svip","vip"],lt.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}an.value=!1},su=async()=>{const e=y.kN.service({fullscreen:!0});try{const e={oneApi_name:Ct.value,token_name:Ot.value,oneApi_baseUrl:$t.value,oneApi_models:qt.value.toString(),oneApi_groups:Bt.value.toString(),priority:lt.value},l=await fetch(`${Oo}/api/addShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}),a=(y.kN.service({fullscreen:!0}),await l.json());1===a.code?(eu(""),(0,g.z8)({type:"success",message:a.data}),Ct.value="",Ot.value="",$t.value="",qt.value=[],Bt.value=["default","svip","vip"],lt.value=0):(0,g.z8)({type:"info",message:a.msg})}catch(l){(0,g.z8)({type:"info",message:"取消修改pool_token"})}tn.value=!1,e.close()},du=(0,h.iH)("");(0,p.bv)((async()=>{const e=y.kN.service({fullscreen:!0});window.innerWidth<=700?Eo.replace("/iphone"):Eo.replace("/home"),Rt();const l=await k.Z.get(`${Oo}/api/getPandoraNext`,{headers:Et}),a=l.data.data;null!=a&&(du.value=a.current+"/"+a.total),Kt(jt.value),Qt(jt.value),lu(jt.value),e.close()}));const mu=({row:e})=>0==e.checkSession?"warning-row":"",cu=({row:e})=>0==e.checkPool?"warning-row":"",pu=()=>{window.open(Jn.value)},vu=()=>{var e=Jn.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},hu=()=>{var e=Jn.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},wu=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},_u=(0,h.iH)("-1");let ku="";const fu=(e,l)=>{console.log("选择准备!")},gu=()=>{Ko.value=!0},bu=()=>{const e=y.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=Nt.value&&(At.value=!1,Pt.value=!1,Ht.value=!1),0==zt.value&&(Ut.value=Tt.value+","+xt.value,St.value=!1,At.value=!1,Pt.value=!1,Ht.value=!1);let o={name:Wt.value,token:Ut.value,username:Tt.value,userPassword:xt.value,shared:At.value,show_user_info:Ht.value,plus:Pt.value,setPoolToken:zt.value,useRefreshToken:St.value,password:Nt.value,updateTime:a};fetch(`${Oo}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),Wt.value="",Ut.value="",Tt.value="",xt.value="",At.value=!1,Ht.value=!1,Pt.value=!1,zt.value=!1,St.value=!1,Nt.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),Nt.value="",Gt(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),Ko.value=!1},Vu=(0,h.iH)(0),yu=(0,h.iH)(0),Wu=async e=>{if(it.value=e.name,mt.value=e.username,ct.value=e.userPassword,rt.value=e.token,st.value=e.access_token,dt.value=e.share_token,pt.value=e.shared,vt.value=e.show_user_info,ht.value=e.plus,wt.value=e.password,_t.value=e.setPoolToken,kt.value=e.useRefreshToken,ft.value=e.checkSession,1!=_t.value)return void(Jo.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${et.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?Vu.value=Number(o.usage["text-davinci-002-render-sha"]):Vu.value=0,null!=o.usage["gpt-4"]?yu.value=Number(o.usage["gpt-4"]):yu.value=0),Jo.value=!0},Tu=(0,h.iH)(""),xu=(0,h.iH)(""),Uu=(0,h.iH)(""),Au=(0,h.iH)(""),Hu=(0,h.iH)([]),Pu=(0,h.iH)(""),zu=(0,h.iH)(""),Su=(0,h.iH)(["default","svip","vip"]),Nu=(0,h.iH)(""),Cu=e=>{Tu.value=e.oneApi_name,xu.value=e.token_name,Uu.value=e.token_value,Au.value=e.oneApi_baseUrl,Pu.value=e.oneApi_models,zu.value=e.oneApi_groups,lt.value=e.priority,Nu.value=e.shareTime,un.value=!0};let Ou=!1,$u=!1,qu="";const Bu=(e,l)=>{it.value=l.name,mt.value=l.username,ct.value=l.userPassword,rt.value=l.token,ku=l.token,pt.value=l.shared,vt.value=l.show_user_info,ht.value=l.plus,wt.value=l.password,_t.value=l.setPoolToken,kt.value=l.useRefreshToken,Ou=_t.value,$u=kt.value,qu=rt.value,ft.value=l.checkSession,st.value=l.access_token,dt.value=l.share_token,Ro.value=!0},Du=async e=>{0==e?Mo.value=!0:1==e?Go.value=!0:2==e&&(Yo.value=!0)},ju=e=>{const l=y.kN.service({fullscreen:!0});null!=$n.value&&"null"!=$n.value||($n.value=""),0==Wn.value&&(Tn.value="",xn.value="");const a={enabled:Wn.value,cert_file:Tn.value,key_file:xn.value},o={provider:qn.value,site_key:Bn.value,site_secret:Dn.value,site_login:jn.value,setup_login:In.value,oai_username:Ln.value,oai_password:Zn.value},n={proxy_api_prefix:vn.value,isolated_conv_title:hn.value,bing:wn.value,timeout:_n.value,proxy_url:kn.value,public_share:fn.value,site_password:Un.value,setup_password:An.value,loginUsername:Hn.value,loginPassword:Pn.value,license_id:zn.value,disable_signup:gn.value,auto_conv_arkose:bn.value,proxy_file_service:Vn.value,custom_doh_host:yn.value,isGetToken:Sn.value,getTokenPassword:Nn.value,containerName:Cn.value,autoToken_url:On.value,whitelist:$n.value,validation:o,tls:a};fetch(`${Oo}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Rt(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?Mo.value=!1:1==e?Go.value=!1:2==e&&(Yo.value=!1)},Iu=()=>{const e=y.kN.service({fullscreen:!0});"/"!==Jn.value.charAt(Jn.value.length-1)&&(Jn.value+="/");const l={auto_updateSession:En.value,auto_updateTime:Rn.value,auto_updateNumber:Kn.value,pandoraNext_outUrl:Jn.value,oneAPi_outUrl:Mn.value,oneAPi_intoToken:Gn.value};fetch(`${Oo}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),Qo.value=!1},Lu=()=>{const e=y.kN.service({fullscreen:!0});let l="";if(ku!=rt.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==_t.value&&(pt.value=!1,ht.value=!1,vt.value=!1,kt.value=!1),!0===pt.value?wt.value="":(ht.value=!1,vt.value=!1);let a="";a=Ou!=_t.value&&qu==rt.value?0==_t.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==kt.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":$u!=kt.value&&qu==rt.value?1==kt.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:it.value,token:rt.value,username:mt.value,userPassword:ct.value,shared:pt.value,show_user_info:vt.value,plus:ht.value,setPoolToken:_t.value,useRefreshToken:kt.value,checkSession:ft.value,password:wt.value,access_token:st.value,share_token:dt.value};fetch(`${Oo}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),Gt("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),Ro.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Zu=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/open`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Eu=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/close`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ru=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/restart`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ku=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/reload`,{headers:Et}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ju=(0,h.iH)(""),Mu=(0,h.iH)(""),Gu=async()=>{const e=await k.Z.get(`${Oo}/api/getPandoraNext`,{headers:Et}),l=e.data.data;if(null!=l){du.value=l.current+"/"+l.total,Ju.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();Mu.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}Fo.value=!0},Yu=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Oo}/api/updateAllToken`,{headers:Et}),a=l.data.data;null!=a&&""!=a?(Gt(""),f.T.alert(a,"温馨提示",{dangerouslyUseHTMLString:!0})):g.z8.error(l.data.msg),e.close()},Xu=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,Gt(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},Fu=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Qt(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Qu=e=>{Tu.value=e.oneApi_name,xu.value=e.token_name,Uu.value=e.token_value,Au.value=e.oneApi_baseUrl,Hu.value=e.oneApi_models.split(","),Su.value=e.oneApi_groups.split(","),lt.value=e.priority,Nu.value=e.shareTime,rn.value=!0},ei=()=>{const e=y.kN.service({fullscreen:!0}),l={oneApi_name:Tu.value,token_name:xu.value,token_value:Uu.value,oneApi_baseUrl:Au.value,oneApi_models:Hu.value.toString(),oneApi_groups:Su.value.toString(),priority:lt.value};fetch(`${Oo}/api/requireShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.msg)),eu(""),e.close()})).catch((l=>{e.close(),console.error("Error:",l)})),rn.value=!1},li=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),Gt(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},ai=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Qt(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},oi=(e,l)=>{const a=y.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${Oo}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(Qt(""),g.z8.success(e.data),a.close()):(Qt(""),g.z8.error(e.msg),a.close()),en.value=!1})).catch((e=>{console.error("删除失败",e),Qt(""),a.close(),en.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},ni=(e,l)=>{const a=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Qt(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(Qt(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},ti=(e,l)=>{const a=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Oo}/api/deleteToken`,l,{headers:Et}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${Oo}/api/updateAllPoolToken`,{headers:Et}),o=e.data.data,Gt(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},ui=(e,l)=>{const a=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个share_Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Oo}/api/deleteShareToken`,l,{headers:Et}).then((async e=>{o=e.data.data,eu(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},ii=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,V.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},ri=e=>e.substring(0,30)+"...",si=()=>{localStorage.removeItem("jwtToken"),Eo.replace("/")},di=()=>{Xo.value=!0},mi=async()=>{await eu(""),nn.value=!0},ci=()=>{Ft(),ln.value=!0},pi=()=>{window.open("https://github.com/Yanyutin753/PandoraNext-TokensTool")},vi=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},hi=e=>{const l=Do.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?ou():"选中修改pool_token"==e&&(an.value=!0);else{let e=0;const l=Do.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Gt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Oo}/api/deleteTokenList`,a,{headers:Et}).then((async l=>{await k.Z.get(`${Oo}/api/updateAllPoolToken`,{headers:Et}),o=l.data.data,Gt(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},wi=e=>{const l=jo.value,a=l.map((e=>e));if(0!==a.length)if("选中检查pool_token"!=e)if("选中刷新pool_token"!=e)if("选中更换pool_token"!=e)if("选中删除pool_token"!=e);else{l.length;const e="您确定要删除这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/deletePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"})}))}else{l.length;const e="您确定要更换这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/changePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"更换取消!"})}))}else{const e="您确定要刷新这"+l.length+"个pool_token吗?";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/refreshSimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{let e=4*l.length;const o="您确定要花"+e+"积分检查这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Oo}/api/verifySimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Zt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Qt(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"检查取消!"})}))}else(0,g.z8)("未选择数据")},_i=(0,h.iH)(null),ki=async()=>{on.value=!0;const e=await k.Z.get(`${Oo}/api/modelsUsage`,{headers:Et});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(_i.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=(0,p.up)("el-menu-item"),_=c.JO,k=(0,p.up)("el-sub-menu"),f=(0,p.up)("el-menu"),g=m.zx,b=(0,p.up)("el-page-header"),V=(0,p.up)("el-radio-button"),y=(0,p.up)("el-radio-group"),T=d.ol,Oo=(0,p.up)("el-table-column"),Do=(0,p.up)("el-button"),jo=(0,p.up)("el-tag"),Eo=(0,p.up)("el-popover"),ft=(0,p.up)("el-option"),Zt=(0,p.up)("el-select"),Et=(0,p.up)("el-button-group"),Rt=s.gN,Ft=r.rs,Qt=i.TS,eu=u.l0,lu=t.Vq,au=(0,p.up)("ChatLineRound"),ou=(0,p.up)("el-icon"),ku=(0,p.up)("el-statistic"),zu=(0,p.up)("el-col"),Nu=(0,p.up)("el-row"),Ou=(0,p.up)("CopyDocument"),$u=(0,p.up)("h10"),qu=(0,p.up)("el-select-group"),fi=(0,p.up)("el-dialog"),gi=n.XZ,bi=o.cO,Vi=(0,p.up)("el-form-item"),yi=(0,p.Q2)("loading");return(0,p.wg)(),(0,p.iD)(p.HY,null,[(0,p._)("div",x,[U,(0,p.Wm)(f,{"default-active":_u.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:fu,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Wm)(a,null,{default:(0,p.w5)((()=>[(0,p._)("img",{style:{width:"40px"},src:w,alt:"Element logo",onClick:pi})])),_:1}),(0,p.Wm)(a,{onClick:Gu},{title:(0,p.w5)((()=>[(0,p._)("div",A,[(0,p._)("h2",null,(0,v.zw)(du.value),1)]),(0,p.Wm)(_,{name:"replay",size:"20"})])),_:1}),H,(0,p.Wm)(a,{index:"1",onClick:di},{default:(0,p.w5)((()=>[(0,p.Uk)("pool_token列表")])),_:1}),(0,p.Wm)(a,{index:"2",onClick:mi},{default:(0,p.w5)((()=>[(0,p.Uk)("share_token列表")])),_:1}),(0,p.Wm)(k,{index:"3"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转Web服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(k,{index:"3-1"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转PandoraWeb服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"3-1-1",onClick:pu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"主页",1)])),_:1}),(0,p.Wm)(a,{index:"3-1-2",onClick:vu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"共享页",1)])),_:1}),(0,p.Wm)(a,{index:"3-1-3",onClick:hu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"修改页",1)])),_:1})])),_:1}),(0,p.Wm)(k,{index:"3-2"},{title:(0,p.w5)((()=>[(0,p.Uk)("获取token地址")])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"3-2-1"},{default:(0,p.w5)((()=>[P])),_:1}),(0,p.Wm)(a,{index:"3-2-2"},{default:(0,p.w5)((()=>[z])),_:1}),(0,p.Wm)(a,{index:"3-2-3"},{default:(0,p.w5)((()=>[S])),_:1})])),_:1}),(0,p.Wm)(a,{index:"3-3",onClick:wu},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool使用说明")])),_:1})])),_:1}),(0,p.Wm)(k,{index:"5"},{title:(0,p.w5)((()=>[(0,p.Uk)("系统设置")])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"5-1",onClick:l[0]||(l[0]=e=>Du(So))},{default:(0,p.w5)((()=>[(0,p.Uk)("PandoraNext设置")])),_:1}),(0,p.Wm)(a,{index:"5-2",onClick:l[1]||(l[1]=e=>Du(No))},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool设置")])),_:1}),(0,p.Wm)(a,{index:"5-3",onClick:l[2]||(l[2]=e=>Du(Co))},{default:(0,p.w5)((()=>[(0,p.Uk)("验证码信息设置")])),_:1}),(0,p.Wm)(a,{index:"5-3",onClick:l[3]||(l[3]=e=>Qo.value=!0)},{default:(0,p.w5)((()=>[(0,p.Uk)("定时&接口设置")])),_:1})])),_:1}),(0,p.Wm)(k,{index:"6"},{title:(0,p.w5)((()=>[(0,p.Uk)("系统功能")])),default:(0,p.w5)((()=>[(0,p.Wm)(k,{index:"6-1"},{title:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Cn.value)+"状态",1)])),default:(0,p.w5)((()=>[(0,p.Wm)(a,{index:"6-1-1",onClick:Zu},{default:(0,p.w5)((()=>[(0,p.Uk)("开启"+(0,v.zw)(Cn.value),1)])),_:1}),(0,p.Wm)(a,{index:"6-1-2",onClick:Eu},{default:(0,p.w5)((()=>[(0,p.Uk)("暂停"+(0,v.zw)(Cn.value),1)])),_:1}),(0,p.Wm)(a,{index:"6-1-3",onClick:Ru},{default:(0,p.w5)((()=>[(0,p.Uk)("重启"+(0,v.zw)(Cn.value),1)])),_:1}),(0,p.Wm)(a,{index:"6-1-4",onClick:Ku},{default:(0,p.w5)((()=>[(0,p.Uk)("重载"+(0,v.zw)(Cn.value),1)])),_:1})])),_:1}),(0,p.Wm)(a,{index:"6-2",onClick:ci},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool登录日志")])),_:1}),(0,p.Wm)(a,{index:"6-3",onClick:ki},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool用量统计")])),_:1}),(0,p.Wm)(a,{index:"6-4",onClick:si},{default:(0,p.w5)((()=>[(0,p.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,p._)("div",N,[(0,p._)("div",C,[(0,p.Wm)(b,{icon:null,title:" "},{content:(0,p.w5)((()=>[O])),extra:(0,p.w5)((()=>[(0,p._)("div",{class:"addToken",onClick:gu},[(0,p.Wm)(g,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,p._)("div",$,[(0,p._)("div",q,[(0,p.Wm)(T,{modelValue:jt.value,"onUpdate:modelValue":l[8]||(l[8]=e=>jt.value=e),"show-action":"",shape:"round",clearable:"",placeholder:"请输入搜索token名称和类型",onSearch:Kt},{action:(0,p.w5)((()=>[(0,p.Wm)(y,{modelValue:Zo.value,"onUpdate:modelValue":l[7]||(l[7]=e=>Zo.value=e),label:"size control"},{default:(0,p.w5)((()=>[(0,p.Wm)(V,{type:"success",plain:"",label:"WEB",onClick:l[4]||(l[4]=e=>Xt(jt.value))},{default:(0,p.w5)((()=>[(0,p.Uk)("WEB")])),_:1}),(0,p.Wm)(V,{type:"success",plain:"",label:"ALL",onClick:l[5]||(l[5]=e=>Gt(jt.value))},{default:(0,p.w5)((()=>[(0,p.Uk)("ALL")])),_:1}),(0,p.Wm)(V,{type:"success",plain:"",label:"API",onClick:l[6]||(l[6]=e=>Yt(jt.value))},{default:(0,p.w5)((()=>[(0,p.Uk)("API")])),_:1})])),_:1},8,["modelValue"])])),_:1},8,["modelValue"])]),(0,p._)("div",B,[(0,p.wy)(((0,p.wg)(),(0,p.j4)((0,h.SU)(W.eI),{data:gt.value,style:{width:"100%"},onSelectionChange:Io,ref_key:"multipleTableRef",ref:qo,"default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":mu},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{type:"selection",width:"45"}),(0,p.Wm)(Oo,{label:"名称",prop:"setPoolToken",sortable:"","min-width":"136"},{default:(0,p.w5)((e=>[(0,p._)("div",D,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[(0,p._)("h5",null,(0,v.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024),(0,p._)("span",j,(0,v.zw)(e.row.name),1)])])),_:1}),(0,p.Wm)(Oo,{label:"账号信息","min-width":"200"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"账号: "+(0,v.zw)(e.row.username),1),(0,p._)("div",null,"密码: "+(0,v.zw)(e.row.userPassword),1)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(e.row.username),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{label:"Token值","min-width":"270"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"token: "+(0,v.zw)(ri(e.row.token)),1)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(ri(e.row.token)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{prop:"updateTime",sortable:"",label:"有效时间","min-width":"167"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"注册时间:"+(0,v.zw)(e.row.updateTime),1)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)("距离过期还有:"+(0,v.zw)(ii(e.row)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{label:"操作方法",width:"335"},{default:(0,p.w5)((e=>[(0,p.Wm)(Do,{size:"small",onClick:l=>Bu(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("编辑")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"primary",onClick:l=>Wu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"danger",onClick:l=>ti(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"success",onClick:l=>Xu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"warning",onClick:l=>li(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[yi,e.loading]])]),(0,p._)("div",I,[(0,p.Wm)(Zt,{modelValue:sn.value,"onUpdate:modelValue":l[9]||(l[9]=e=>sn.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作",class:"ml-4"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(dn,(e=>(0,p.Wm)(ft,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(Do,{class:"ml-4",onClick:l[10]||(l[10]=e=>hi(sn.value))},{default:(0,p.w5)((()=>[L])),_:1}),(0,p.Wm)(Et,{class:"my-button"},{default:(0,p.w5)((()=>[(0,p.Wm)(Do,{onClick:Yu},{default:(0,p.w5)((()=>[Z])),_:1})])),_:1})])]),E,R,K])]),(0,p.Wm)(lu,{show:Ro.value,"onUpdate:show":l[21]||(l[21]=e=>Ro.value=e),title:"修改token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",J,[(0,p.Wm)(eu,{onSubmit:l[20]||(l[20]=e=>Lu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[M,(0,p.Wm)(Rt,{modelValue:mt.value,"onUpdate:modelValue":l[11]||(l[11]=e=>mt.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),G,(0,p.Wm)(Rt,{modelValue:ct.value,"onUpdate:modelValue":l[12]||(l[12]=e=>ct.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),Y,(0,p.Wm)(Rt,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:_t.value,"onUpdate:modelValue":l[13]||(l[13]=e=>_t.value=e)},null,8,["modelValue"])])),_:1}),1==_t.value?((0,p.wg)(),(0,p.iD)("div",X,[F,(0,p.Wm)(Rt,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:kt.value,"onUpdate:modelValue":l[14]||(l[14]=e=>kt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==_t.value?((0,p.wg)(),(0,p.iD)("div",Q,[ee,(0,p.Wm)(Rt,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:pt.value,"onUpdate:modelValue":l[15]||(l[15]=e=>pt.value=e)},null,8,["modelValue"])])),_:1}),1==pt.value?((0,p.wg)(),(0,p.iD)("div",le,[ae,(0,p.Wm)(Rt,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:vt.value,"onUpdate:modelValue":l[16]||(l[16]=e=>vt.value=e)},null,8,["modelValue"])])),_:1}),oe,(0,p.Wm)(Rt,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:ht.value,"onUpdate:modelValue":l[17]||(l[17]=e=>ht.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),0==pt.value||0==_t.value?((0,p.wg)(),(0,p.iD)("div",ne,[te,(0,p.Wm)(Rt,{modelValue:wt.value,"onUpdate:modelValue":l[18]||(l[18]=e=>wt.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:ut}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),ue,(0,p.Wm)(Rt,{modelValue:rt.value,"onUpdate:modelValue":l[19]||(l[19]=e=>rt.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:20},"show-word-limit":""},null,8,["modelValue"]),ie])),_:1}),(0,p._)("div",re,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),se])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Ko.value,"onUpdate:show":l[33]||(l[33]=e=>Ko.value=e),title:"添加token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",de,[(0,p.Wm)(eu,{onSubmit:l[32]||(l[32]=e=>bu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[me,(0,p.Wm)(Rt,{modelValue:Wt.value,"onUpdate:modelValue":l[22]||(l[22]=e=>Wt.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),ce,(0,p.Wm)(Rt,{modelValue:Tt.value,"onUpdate:modelValue":l[23]||(l[23]=e=>Tt.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),pe,(0,p.Wm)(Rt,{modelValue:xt.value,"onUpdate:modelValue":l[24]||(l[24]=e=>xt.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),ve,(0,p.Wm)(Rt,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:zt.value,"onUpdate:modelValue":l[25]||(l[25]=e=>zt.value=e)},null,8,["modelValue"])])),_:1}),1==zt.value?((0,p.wg)(),(0,p.iD)("div",he,[we,(0,p.Wm)(Rt,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:St.value,"onUpdate:modelValue":l[26]||(l[26]=e=>St.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==zt.value?((0,p.wg)(),(0,p.iD)("div",_e,[ke,(0,p.Wm)(Rt,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:At.value,"onUpdate:modelValue":l[27]||(l[27]=e=>At.value=e)},null,8,["modelValue"])])),_:1}),1==At.value?((0,p.wg)(),(0,p.iD)("div",fe,[ge,(0,p.Wm)(Rt,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Ht.value,"onUpdate:modelValue":l[28]||(l[28]=e=>Ht.value=e)},null,8,["modelValue"])])),_:1}),be,(0,p.Wm)(Rt,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Pt.value,"onUpdate:modelValue":l[29]||(l[29]=e=>Pt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),""==At.value?((0,p.wg)(),(0,p.iD)("div",Ve,[ye,(0,p.Wm)(Rt,{modelValue:Nt.value,"onUpdate:modelValue":l[30]||(l[30]=e=>Nt.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:ut}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),1==zt.value?((0,p.wg)(),(0,p.iD)("div",We,[Te,(0,p.Wm)(Rt,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:Ut.value,"onUpdate:modelValue":l[31]||(l[31]=e=>Ut.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,p.kq)("",!0),xe])),_:1}),(0,p._)("div",Ue,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ae])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Jo.value,"onUpdate:show":l[53]||(l[53]=e=>Jo.value=e),title:"token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",He,[(0,p.Wm)(eu,null,{default:(0,p.w5)((()=>[1==_t.value?((0,p.wg)(),(0,p.iD)("div",Pe,[(0,p._)("div",ze,[(0,p.Wm)(Nu,null,{default:(0,p.w5)((()=>[(0,p._)("div",Se,[(0,p.Wm)(zu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(ku,{title:"GPT3.5",value:Vu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ne,[(0,p.Wm)(zu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(ku,{title:"总计",value:Vu.value+yu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ce,[(0,p.Wm)(zu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(ku,{title:"GPT4.0",value:yu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,p.kq)("",!0),(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Oe,(0,p.Wm)(Rt,{modelValue:it.value,"onUpdate:modelValue":l[34]||(l[34]=e=>it.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>vi(it.value))},null,8,["modelValue"]),$e,(0,p.Wm)(Rt,{modelValue:wt.value,"onUpdate:modelValue":l[36]||(l[36]=e=>wt.value=e),type:"temPassword",name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)!","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>vi(wt.value))},null,8,["modelValue"]),qe,(0,p.Wm)(Rt,{modelValue:mt.value,"onUpdate:modelValue":l[38]||(l[38]=e=>mt.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[39]||(l[39]=e=>vi(mt.value))},null,8,["modelValue"]),Be,(0,p.Wm)(Rt,{modelValue:ct.value,"onUpdate:modelValue":l[40]||(l[40]=e=>ct.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[41]||(l[41]=e=>vi(ct.value))},null,8,["modelValue"]),De,(0,p.Wm)(Rt,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:pt.value,"onUpdate:modelValue":l[42]||(l[42]=e=>pt.value=e)},null,8,["modelValue"])])),_:1}),je,(0,p.Wm)(Rt,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:vt.value,"onUpdate:modelValue":l[43]||(l[43]=e=>vt.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,p.Wm)(Rt,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:ht.value,"onUpdate:modelValue":l[44]||(l[44]=e=>ht.value=e)},null,8,["modelValue"])])),_:1}),Le,(0,p.Wm)(Rt,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:_t.value,"onUpdate:modelValue":l[45]||(l[45]=e=>_t.value=e)},null,8,["modelValue"])])),_:1}),Ze,(0,p.Wm)(Rt,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{disabled:"","active-color":"#0ea27e",modelValue:kt.value,"onUpdate:modelValue":l[46]||(l[46]=e=>kt.value=e)},null,8,["modelValue"])])),_:1}),Ee,(0,p.Wm)(Rt,{modelValue:rt.value,"onUpdate:modelValue":l[47]||(l[47]=e=>rt.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>vi(rt.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),1==_t.value?((0,p.wg)(),(0,p.iD)("div",Re,[Ke,(0,p.Wm)(Rt,{modelValue:st.value,"onUpdate:modelValue":l[49]||(l[49]=e=>st.value=e),label:"access_token",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[50]||(l[50]=e=>vi(st.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),Je,(0,p.Wm)(Rt,{modelValue:dt.value,"onUpdate:modelValue":l[51]||(l[51]=e=>dt.value=e),label:"share_token",type:"textarea",maxlength:"200",placeholder:"请填写OpenAi的share_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[52]||(l[52]=e=>vi(dt.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"])])):(0,p.kq)("",!0)])),_:1}),Me])),_:1})])])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Mo.value,"onUpdate:show":l[68]||(l[68]=e=>Mo.value=e),title:"PandoraNext设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requirePandora"},{default:(0,p.w5)((()=>[(0,p._)("div",Ge,[(0,p.Wm)(eu,{onSubmit:l[67]||(l[67]=e=>ju(So))},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Ye,(0,p.Wm)(Rt,{modelValue:hn.value,"onUpdate:modelValue":l[54]||(l[54]=e=>hn.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Xe,(0,p.Wm)(Rt,{modelValue:wn.value,"onUpdate:modelValue":l[55]||(l[55]=e=>wn.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Fe,(0,p.Wm)(Rt,{modelValue:yn.value,"onUpdate:modelValue":l[56]||(l[56]=e=>yn.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Qe,(0,p.Wm)(Rt,{modelValue:_n.value,"onUpdate:modelValue":l[57]||(l[57]=e=>_n.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),el,(0,p.Wm)(Rt,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:fn.value,"onUpdate:modelValue":l[58]||(l[58]=e=>fn.value=e)},null,8,["modelValue"])])),_:1}),ll,(0,p.Wm)(Rt,{name:"switch",label:"是否配置证书"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[59]||(l[59]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),1==Wn.value?((0,p.wg)(),(0,p.iD)("div",al,[ol,(0,p.Wm)(Rt,{modelValue:Tn.value,"onUpdate:modelValue":l[60]||(l[60]=e=>Tn.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),nl,(0,p.Wm)(Rt,{modelValue:xn.value,"onUpdate:modelValue":l[61]||(l[61]=e=>xn.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,p.kq)("",!0),tl,(0,p.Wm)(Rt,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:gn.value,"onUpdate:modelValue":l[62]||(l[62]=e=>gn.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,p.Wm)(Rt,{name:"switch",label:"是否自动打码"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:bn.value,"onUpdate:modelValue":l[63]||(l[63]=e=>bn.value=e)},null,8,["modelValue"])])),_:1}),il,(0,p.Wm)(Rt,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[64]||(l[64]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),rl,(0,p.Wm)(Rt,{modelValue:kn.value,"onUpdate:modelValue":l[65]||(l[65]=e=>kn.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),sl,(0,p.Wm)(Rt,{modelValue:$n.value,"onUpdate:modelValue":l[66]||(l[66]=e=>$n.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),dl])),_:1}),(0,p._)("div",ml,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),cl])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Go.value,"onUpdate:show":l[80]||(l[80]=e=>Go.value=e),title:"tokensTool设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",pl,[(0,p.Wm)(eu,{onSubmit:l[79]||(l[79]=e=>ju(No))},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[vl,(0,p.Wm)(Rt,{modelValue:Hn.value,"onUpdate:modelValue":l[69]||(l[69]=e=>Hn.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),hl,(0,p.Wm)(Rt,{modelValue:Pn.value,"onUpdate:modelValue":l[70]||(l[70]=e=>Pn.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"]),wl,(0,p.Wm)(Rt,{modelValue:vn.value,"onUpdate:modelValue":l[71]||(l[71]=e=>vn.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"]),_l,(0,p.Wm)(Rt,{modelValue:On.value,"onUpdate:modelValue":l[72]||(l[72]=e=>On.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),kl,(0,p.Wm)(Rt,{modelValue:An.value,"onUpdate:modelValue":l[73]||(l[73]=e=>An.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"]),fl,(0,p.Wm)(Rt,{modelValue:Un.value,"onUpdate:modelValue":l[74]||(l[74]=e=>Un.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:nt}]},null,8,["modelValue","rules"]),gl,(0,p.Wm)(Rt,{modelValue:zn.value,"onUpdate:modelValue":l[75]||(l[75]=e=>zn.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),bl,(0,p.Wm)(Rt,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Sn.value,"onUpdate:modelValue":l[76]||(l[76]=e=>Sn.value=e)},null,8,["modelValue"])])),_:1}),1==Sn.value?((0,p.wg)(),(0,p.iD)("div",Vl,[yl,(0,p.Wm)(Rt,{modelValue:Nn.value,"onUpdate:modelValue":l[77]||(l[77]=e=>Nn.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:ot}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),Wl,(0,p.Wm)(Rt,{modelValue:Cn.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Cn.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Tl])),_:1}),(0,p._)("div",xl,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ul])),_:1},8,["show"]),(0,p.Wm)(lu,{show:Yo.value,"onUpdate:show":l[89]||(l[89]=e=>Yo.value=e),title:"PandoraNext验证信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"verify"},{default:(0,p.w5)((()=>[(0,p._)("div",Al,[(0,p.Wm)(eu,{onSubmit:l[88]||(l[88]=e=>ju(Co))},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Hl,(0,p.Wm)(Rt,{modelValue:qn.value,"onUpdate:modelValue":l[81]||(l[81]=e=>qn.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Pl,(0,p.Wm)(Rt,{modelValue:Bn.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Bn.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),zl,(0,p.Wm)(Rt,{modelValue:Dn.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Dn.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),Sl,(0,p.Wm)(Rt,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:jn.value,"onUpdate:modelValue":l[84]||(l[84]=e=>jn.value=e)},null,8,["modelValue"])])),_:1}),Nl,(0,p.Wm)(Rt,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:In.value,"onUpdate:modelValue":l[85]||(l[85]=e=>In.value=e)},null,8,["modelValue"])])),_:1}),Cl,(0,p.Wm)(Rt,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Ln.value,"onUpdate:modelValue":l[86]||(l[86]=e=>Ln.value=e)},null,8,["modelValue"])])),_:1}),Ol,(0,p.Wm)(Rt,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Zn.value,"onUpdate:modelValue":l[87]||(l[87]=e=>Zn.value=e)},null,8,["modelValue"])])),_:1}),$l])),_:1}),(0,p._)("div",ql,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Bl])),_:1},8,["show"]),(0,p.Wm)(fi,{modelValue:Xo.value,"onUpdate:modelValue":l[95]||(l[95]=e=>Xo.value=e),title:"pool_token列表","align-center":"",width:"78%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Dl,[(0,p.Wm)(ou,{onClick:l[90]||(l[90]=e=>vi(Jn.value+vn.value+"/v1/chat/completions"))},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:1}),(0,p.Wm)($u,null,{default:(0,p.w5)((()=>[(0,p.Uk)("API地址:"+(0,v.zw)(Jn.value)+(0,v.zw)(vn.value)+"/v1/chat/completions",1)])),_:1})]),(0,p.Wm)((0,h.SU)(W.eI),{data:bt.value,"default-sort":{prop:"poolTime",prop:"intoOneApi"},onSelectionChange:Lo,ref_key:"multipleTableRefPool",ref:Bo,"row-class-name":cu},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{type:"selection",width:"45"}),(0,p.Wm)(Oo,{label:"pool_token名称",prop:"intoOneApi",sortable:"","min-width":"170"},{default:(0,p.w5)((e=>[(0,p._)("div",jl,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,p.wg)(),(0,p.iD)("div",Il,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Ll])),_:1})])):1==e.row.intoOneApi?((0,p.wg)(),(0,p.iD)("div",Zl,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[El])),_:1})])):((0,p.wg)(),(0,p.iD)("div",Rl,[(0,p.Wm)(Do,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Kl])),_:1})])),(0,p._)("span",Jl,(0,v.zw)(e.row.poolName),1)])])),_:1}),(0,p.Wm)(Oo,{label:"pool_token值","min-width":"355"},{default:(0,p.w5)((e=>[(0,p._)("div",Ml,[(0,p.Wm)(ou,{onClick:l=>vi(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:2},1032,["onClick"]),(0,p._)("span",Gl,(0,v.zw)(e.row.poolToken),1)])])),_:1}),(0,p.Wm)(Oo,{label:"使用token名集合","min-width":"165"},{default:(0,p.w5)((e=>[(0,p.Wm)(Eo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(e.row.shareTokens),1)])),_:2},1024)])),reference:(0,p.w5)((()=>[(0,p.Wm)(jo,null,{default:(0,p.w5)((()=>[Yl])),_:1})])),_:2},1024)])),_:1}),(0,p.Wm)(Oo,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"170"}),(0,p.Wm)(Oo,{label:"操作方法","min-width":"315"},{default:(0,p.w5)((e=>[(0,p.Wm)(Do,{size:"small",onClick:l=>ni(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("检验")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"danger",onClick:l=>oi(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"success",onClick:l=>Fu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"primary",onClick:l=>ai(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),(0,p.Wm)(qu,{class:"pool-button flex-container"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:cn.value,"onUpdate:modelValue":l[91]||(l[91]=e=>cn.value=e),filterable:"",clearable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(pn,(e=>(0,p.Wm)(ft,{key:e.buttonPoolValue,label:e.label,value:e.buttonPoolValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(Do,{onClick:l[92]||(l[92]=e=>wi(cn.value))},{default:(0,p.w5)((()=>[Xl])),_:1}),(0,p.Wm)(T,{modelValue:It.value,"onUpdate:modelValue":l[93]||(l[93]=e=>It.value=e),shape:"round",clearable:"",placeholder:"请输入搜索pool_token名称",onSearch:l[94]||(l[94]=e=>Mt(It.value)),class:"onPoolToken"},null,8,["modelValue"])])),_:1}),Fl])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:Fo.value,"onUpdate:modelValue":l[99]||(l[99]=e=>Fo.value=e),title:"PandoraNext余额","align-center":"",width:"auto","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ql,[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[ea,(0,p.Wm)(Rt,{modelValue:du.value,"onUpdate:modelValue":l[96]||(l[96]=e=>du.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),la,(0,p.Wm)(Rt,{modelValue:Ju.value,"onUpdate:modelValue":l[97]||(l[97]=e=>Ju.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),aa,(0,p.Wm)(Rt,{modelValue:Mu.value,"onUpdate:modelValue":l[98]||(l[98]=e=>Mu.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),oa])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:Qo.value,"onUpdate:modelValue":l[107]||(l[107]=e=>Qo.value=e),title:"定时刷新&PandoraNext网址","align-center":"","max-width":"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",na,[(0,p.Wm)(eu,{onSubmit:l[106]||(l[106]=e=>Iu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[ta,(0,p.Wm)(Rt,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:En.value,"onUpdate:modelValue":l[100]||(l[100]=e=>En.value=e)},null,8,["modelValue"])])),_:1}),1==En.value?((0,p.wg)(),(0,p.iD)("div",ua,[ia,(0,p.Wm)(Rt,{modelValue:Rn.value,"onUpdate:modelValue":l[101]||(l[101]=e=>Rn.value=e),name:"刷新session的时间",label:"刷新session的时间","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),ra,(0,p.Wm)(Rt,{modelValue:Kn.value,"onUpdate:modelValue":l[102]||(l[102]=e=>Kn.value=e),name:"刷新session的个数",label:"刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"]),sa])):(0,p.kq)("",!0),(0,p.Wm)(Rt,{modelValue:Jn.value,"onUpdate:modelValue":l[103]||(l[103]=e=>Jn.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址","input-align":"right",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),da,(0,p.Wm)(Rt,{modelValue:Mn.value,"onUpdate:modelValue":l[104]||(l[104]=e=>Mn.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),ma,(0,p.Wm)(Rt,{modelValue:Gn.value,"onUpdate:modelValue":l[105]||(l[105]=e=>Gn.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),ca])),_:1}),(0,p._)("div",pa,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:en.value,"onUpdate:modelValue":l[114]||(l[114]=e=>en.value=e),title:"添加poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",va,[(0,p.Wm)(eu,{onSubmit:nu},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[ha,(0,p.Wm)(Rt,{modelValue:Xn.value,"onUpdate:modelValue":l[108]||(l[108]=e=>Xn.value=e),name:"为pool_token名",label:"pool_token名","input-align":"right",placeholder:"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字",rules:[{validator:tt}]},null,8,["modelValue","rules"]),wa,(0,p.Wm)(Rt,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Fn.value,"onUpdate:modelValue":l[109]||(l[109]=e=>Fn.value=e)},null,8,["modelValue"])])),_:1}),1==Fn.value?((0,p.wg)(),(0,p.iD)("div",_a,[ka,(0,p.Wm)(Rt,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Qn.value,"onUpdate:modelValue":l[110]||(l[110]=e=>Qn.value=e)},null,8,["modelValue"])])),_:1}),fa,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[111]||(l[111]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ga,(0,p.Wm)(Rt,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:$o.value,"onUpdate:modelValue":l[112]||(l[112]=e=>$o.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),ba,(0,p.Wm)(Rt,{modelValue:et.value,"onUpdate:modelValue":l[113]||(l[113]=e=>et.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),Va])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",ya,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:ln.value,"onUpdate:modelValue":l[115]||(l[115]=e=>ln.value=e),title:"tokensTool登录日志","align-center":"",width:"50%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Wa,[(0,p.Wm)((0,h.SU)(W.eI),{"row-class-name":cu,data:yt.value},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{prop:"ipAddress",label:"登录地区","min-width":"180"},{default:(0,p.w5)((e=>[(0,p._)("div",Ta,[(0,p._)("span",xa,(0,v.zw)(e.row.ipAddress),1)])])),_:1}),(0,p.Wm)(Oo,{label:"登录IP","min-width":"145"},{default:(0,p.w5)((e=>[(0,p._)("div",Ua,[(0,p.Wm)(ou,{onClick:l=>vi(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:2},1032,["onClick"]),(0,p._)("span",Aa,(0,v.zw)(e.row.requestIp),1)])])),_:1}),(0,p.Wm)(Oo,{label:"成功/失败","min-width":"105"},{default:(0,p.w5)((e=>[(0,p._)("div",Ha,[(0,p._)("span",Pa,(0,v.zw)(e.row.inRequestNumber)+"/"+(0,v.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,p.Wm)(Oo,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),za])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:an.value,"onUpdate:modelValue":l[123]||(l[123]=e=>an.value=e),title:"修改poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Sa,[(0,p.Wm)(eu,{onSubmit:ru},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Na,(0,p._)("div",Ca,[(0,p.Wm)(Vi,{label:"poolToken名"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:Yn.value,"onUpdate:modelValue":l[116]||(l[116]=e=>Yn.value=e),filterable:"",clearable:"",placeholder:"选择你想要的修改的pool_token名称",onChange:tu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(bt.value,(e=>((0,p.wg)(),(0,p.j4)(ft,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Oa,(0,p.Wm)(Rt,{modelValue:at.value,"onUpdate:modelValue":l[117]||(l[117]=e=>at.value=e),type:"textarea",maxlength:"100",autoSize:"",name:"pool_token的值",label:"pool_token的值","input-align":"right",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),$a,(0,p.Wm)(Rt,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Fn.value,"onUpdate:modelValue":l[118]||(l[118]=e=>Fn.value=e)},null,8,["modelValue"])])),_:1}),qa,1==Fn.value?((0,p.wg)(),(0,p.iD)("div",Ba,[Da,(0,p.Wm)(Rt,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ft,{"active-color":"#0ea27e",modelValue:Qn.value,"onUpdate:modelValue":l[119]||(l[119]=e=>Qn.value=e)},null,8,["modelValue"])])),_:1}),ja,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[120]||(l[120]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ia,(0,p.Wm)(Rt,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:$o.value,"onUpdate:modelValue":l[121]||(l[121]=e=>$o.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),La,(0,p.Wm)(Rt,{modelValue:et.value,"onUpdate:modelValue":l[122]||(l[122]=e=>et.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Za])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ea,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:on.value,"onUpdate:modelValue":l[124]||(l[124]=e=>on.value=e),"align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",{ref_key:"chart",ref:_i,style:{width:"auto",height:"300px"}},null,512)])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:nn.value,"onUpdate:modelValue":l[128]||(l[128]=e=>nn.value=e),title:"share_token in oneApi","align-center":"",width:"78%","close-on-click-modal":!1,class:"shareTokenDialog"},{default:(0,p.w5)((()=>[(0,p.Wm)(T,{modelValue:Lt.value,"onUpdate:modelValue":l[126]||(l[126]=e=>Lt.value=e),"show-action":"",shape:"round",clearable:"",placeholder:"请输入搜索share_token名称",onSearch:l[127]||(l[127]=e=>Jt(Lt.value)),class:"onShareToken"},{action:(0,p.w5)((()=>[(0,p.Wm)(Do,{icon:e.Plus,onClick:l[125]||(l[125]=e=>tn.value=!0)},{default:(0,p.w5)((()=>[Ra])),_:1},8,["icon"])])),_:1},8,["modelValue"]),(0,p.Wm)((0,h.SU)(W.eI),{data:Vt.value,"row-class-name":cu},{default:(0,p.w5)((()=>[(0,p.Wm)(Oo,{label:"在one_api的名称",prop:"oneApi_name",width:"180"},{default:(0,p.w5)((e=>[(0,p._)("div",Ka,[(0,p._)("span",Ja,(0,v.zw)(e.row.oneApi_name),1)])])),_:1}),(0,p.Wm)(Oo,{label:"来源Token名","min-width":"135"},{default:(0,p.w5)((e=>[(0,p._)("div",Ma,[(0,p._)("span",Ga,(0,v.zw)(e.row.token_name),1)])])),_:1}),(0,p.Wm)(Oo,{label:"share_token值","min-width":"355"},{default:(0,p.w5)((e=>[(0,p._)("div",Ya,[(0,p.Wm)(ou,{onClick:l=>vi(e.row.token_value)},{default:(0,p.w5)((()=>[(0,p.Wm)(Ou)])),_:2},1032,["onClick"]),(0,p._)("span",Xa,(0,v.zw)(e.row.token_value),1)])])),_:1}),(0,p.Wm)(Oo,{property:"shareTime",label:"更新时间",prop:"shareTime","min-width":"170"}),(0,p.Wm)(Oo,{label:"操作方法","min-width":"205"},{default:(0,p.w5)((e=>[(0,p.Wm)(Do,{size:"small",onClick:l=>Cu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"primary",onClick:l=>Qu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("修改")])),_:2},1032,["onClick"]),(0,p.Wm)(Do,{size:"small",type:"danger",onClick:l=>ui(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),Fa])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:tn.value,"onUpdate:modelValue":l[135]||(l[135]=e=>tn.value=e),title:"添加shareToken进one_api","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Qa,[(0,p.Wm)(eu,{onSubmit:su},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[eo,(0,p.Wm)(Rt,{modelValue:Ct.value,"onUpdate:modelValue":l[129]||(l[129]=e=>Ct.value=e),name:"oneApi中渠道名称",label:"oneApi中渠道名称","input-align":"right",placeholder:"oneApi中渠道名称",rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),lo,(0,p._)("div",ao,[(0,p.Wm)(Vi,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:Ot.value,"onUpdate:modelValue":l[130]||(l[130]=e=>Ot.value=e),filterable:"",clearable:"",placeholder:"选择你想要的添加的Token名称",onChange:uu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(iu.value,(e=>((0,p.wg)(),(0,p.j4)(ft,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),oo,(0,p._)("div",no,[(0,p.Wm)(Vi,{label:"选择加入的模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",to,[(0,p.Wm)(Zt,{modelValue:qt.value,"onUpdate:modelValue":l[131]||(l[131]=e=>qt.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"Select",style:{width:"240px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(mn,(e=>(0,p.Wm)(ft,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),uo,(0,p.Wm)(Rt,{modelValue:Dt.value,"onUpdate:modelValue":l[132]||(l[132]=e=>Dt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),io,(0,p.Wm)(Rt,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:Bt.value,"onUpdate:modelValue":l[133]||(l[133]=e=>Bt.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),ro,(0,p.Wm)(Rt,{modelValue:$t.value,"onUpdate:modelValue":l[134]||(l[134]=e=>$t.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),so])),_:1}),(0,p._)("div",mo,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:un.value,"onUpdate:modelValue":l[143]||(l[143]=e=>un.value=e),title:"查看shareToken在one_api信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",co,[(0,p.Wm)(eu,{onSubmit:e.shareToken},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[po,(0,p.Wm)(Rt,{modelValue:Tu.value,"onUpdate:modelValue":l[136]||(l[136]=e=>Tu.value=e),name:"oneApi中渠道名称",label:"oneApi中渠道名称","input-align":"right",placeholder:"oneApi中渠道名称",rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),vo,(0,p.Wm)(Rt,{modelValue:Uu.value,"onUpdate:modelValue":l[137]||(l[137]=e=>Uu.value=e),name:"share_token的值",label:"share_token的值","input-align":"right",placeholder:"share_token的值"},null,8,["modelValue"]),ho,(0,p.Wm)(Rt,{modelValue:xu.value,"onUpdate:modelValue":l[138]||(l[138]=e=>xu.value=e),name:"share_token的来源",label:"share_token的来源","input-align":"right",placeholder:"share_token的值"},null,8,["modelValue"]),wo,(0,p.Wm)(Rt,{modelValue:Pu.value,"onUpdate:modelValue":l[139]||(l[139]=e=>Pu.value=e),name:"加入的模型",label:"加入的模型","input-align":"right",placeholder:"加入的模型"},null,8,["modelValue"]),_o,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[140]||(l[140]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),ko,(0,p.Wm)(Rt,{modelValue:Su.value,"onUpdate:modelValue":l[141]||(l[141]=e=>Su.value=e),name:"加入的组别",label:"加入的组别","input-align":"right",placeholder:"加入的组别"},null,8,["modelValue"]),fo,(0,p.Wm)(Rt,{modelValue:Au.value,"onUpdate:modelValue":l[142]||(l[142]=e=>Au.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),go])),_:1})])),_:1},8,["onSubmit"])])])),_:1},8,["modelValue"]),(0,p.Wm)(fi,{modelValue:rn.value,"onUpdate:modelValue":l[149]||(l[149]=e=>rn.value=e),title:"修改shareToken进one_api","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",bo,[(0,p.Wm)(eu,{onSubmit:ei},{default:(0,p.w5)((()=>[(0,p.Wm)(Qt,{inset:""},{default:(0,p.w5)((()=>[Vo,(0,p._)("div",yo,[(0,p.Wm)(Vi,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Zt,{modelValue:xu.value,"onUpdate:modelValue":l[144]||(l[144]=e=>xu.value=e),filterable:"",clearable:"",placeholder:"选择你想要的添加的Token名称",onChange:uu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(iu.value,(e=>((0,p.wg)(),(0,p.j4)(ft,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Wo,(0,p._)("div",To,[(0,p.Wm)(Vi,{label:"选择加入的模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",xo,[(0,p.Wm)(Zt,{modelValue:Hu.value,"onUpdate:modelValue":l[145]||(l[145]=e=>Hu.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"选择或输入模型",style:{width:"240px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(mn,(e=>(0,p.Wm)(ft,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),Uo,(0,p.Wm)(Rt,{modelValue:lt.value,"onUpdate:modelValue":l[146]||(l[146]=e=>lt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ao,(0,p.Wm)(Rt,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(bi,{modelValue:Su.value,"onUpdate:modelValue":l[147]||(l[147]=e=>Su.value=e),direction:"horizontal"},{default:(0,p.w5)((()=>[(0,p.Wm)(gi,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1}),(0,p.Wm)(gi,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1}),(0,p.Wm)(gi,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ho,(0,p.Wm)(Rt,{modelValue:Au.value,"onUpdate:modelValue":l[148]||(l[148]=e=>Au.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),Po])),_:1}),(0,p._)("div",zo,[(0,p.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"])],64)}}});const $o=Oo;var qo=$o}}]); +//# sourceMappingURL=402.fa30b347.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/402.fa30b347.js.map b/rearServer/target/classes/static/js/402.fa30b347.js.map new file mode 100644 index 0000000..36afeca --- /dev/null +++ b/rearServer/target/classes/static/js/402.fa30b347.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/402.fa30b347.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue","webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue?32ba"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = {\n class: \"home-container\"\n};\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_8 = {\n class: \"under\"\n};\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(5vw, 2.5vh)\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.3 \")], -1);\nconst _hoisted_11 = {\n class: \"search\"\n};\nconst _hoisted_12 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"10px 35px -8px 35px\"\n }\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translateX(4vw)\",\n \"width\": \"70vw\",\n \"height\": \"61vh\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"margin-left\": \"18px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin\": \"15px 0px 15px 0px\"\n }\n};\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查并生成\", -1);\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_22 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_26 = {\n key: 0\n};\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 1\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = {\n key: 0\n};\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = {\n key: 2\n};\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 0\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 1\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = {\n key: 0\n};\nconst _hoisted_49 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 2\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = {\n key: 3\n};\nconst _hoisted_54 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_57 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_58 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_59 = {\n key: 0\n};\nconst _hoisted_60 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_62 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_63 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = {\n key: 0\n};\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = {\n key: 0\n};\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = {\n key: 0\n};\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_121 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_122 = {\n style: {\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_123 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_124 = {\n key: 0\n};\nconst _hoisted_125 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_126 = {\n key: 1\n};\nconst _hoisted_127 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_128 = {\n key: 2\n};\nconst _hoisted_129 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_130 = {\n style: {\n \"margin-left\": \"25px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_132 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_133 = /*#__PURE__*/_createElementVNode(\"span\", {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n}, \"点击此进行查看\", -1);\nconst _hoisted_134 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_135 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_136 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_138 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_139 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = {\n key: 0\n};\nconst _hoisted_144 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_145 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_146 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_151 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_152 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_153 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_154 = {\n key: 0\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_157 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_158 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_159 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_160 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_161 = {\n style: {\n \"display\": \"flex\"\n }\n};\nconst _hoisted_162 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_163 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_164 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_165 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_166 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_168 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_169 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_170 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_171 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_172 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_175 = {\n key: 0\n};\nconst _hoisted_176 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_181 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_182 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"添加share_token到one_api\", -1);\nconst _hoisted_183 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_184 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_185 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_186 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_187 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_188 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_189 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_190 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_191 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_192 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_193 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_194 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_195 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_196 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_197 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_198 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_199 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_200 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_201 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_202 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_203 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_204 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_205 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_206 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_207 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_208 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_209 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_210 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_211 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_212 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_213 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_214 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_215 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_216 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_217 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_218 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_219 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_220 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_221 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nimport { computed } from 'vue';\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIndex',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleTableRefPool = ref();\n const multipleSelection = ref([]);\n const multipleSelectionPool = ref([]);\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const poolSelectionChange = val => {\n multipleSelectionPool.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n const show_13 = ref(false);\n const show_14 = ref(false);\n const show_15 = ref(false);\n const show_16 = ref(false);\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n const buttonModel = ref(\"\");\n const optionsModel = [{\n buttonModel: \"gpt-4-s\",\n label: \"gpt-4-s\"\n }, {\n buttonModel: \"gpt-4-mobile\",\n label: \"gpt-4-mobile\"\n }, {\n buttonModel: \"gpt-4-vision\",\n label: \"gpt-4-vision\"\n }, {\n buttonModel: \"gpt-3.5-turbo\",\n label: \"gpt-3.5-turbo\"\n }, {\n buttonModel: \"gpt-4-classic\",\n label: \"gpt-4-classic\"\n }];\n const buttonPoolValue = ref(\"\");\n const optionsPool = [{\n buttonPoolValue: \"选中检查pool_token\",\n label: \"选中检查pool_token\"\n }, {\n buttonPoolValue: \"选中删除pool_token\",\n label: \"选中删除pool_token\"\n }, {\n buttonPoolValue: \"选中刷新pool_token\",\n label: \"选中刷新pool_token\"\n }, {\n buttonPoolValue: \"选中更换pool_token\",\n label: \"选中更换pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n const shareData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n /**\r\n * 添加用户信息参数\r\n */\n const addOneApi_name = ref(\"\");\n const addToken_name = ref(\"\");\n const addToken_value = ref(\"\");\n const addOneApi_baseUrl = ref(\"\");\n const addOneApi_models = ref([]);\n const addOneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const addPriority = ref(0);\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n const valuePool = ref(\"\");\n const valueShare = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n const onSearchShareToken = value => {\n getShare(value);\n };\n const onSearchPoolToken = value => {\n getPool(value);\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=${value}`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getShare = async value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const responseShare = await axios.get(`${prefix}/api/selectShareToken?name=${value}`, {\n headers\n });\n const share_token = responseShare.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(share_token)) {\n const resShares = share_token.map(item => ({\n oneApi_name: item.oneApi_name,\n token_name: item.token_name,\n token_value: item.token_value,\n oneApi_baseUrl: item.oneApi_baseUrl,\n oneApi_models: item.oneApi_models,\n oneApi_groups: item.oneApi_groups,\n shareTime: item.shareTime,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n shareData.value = resShares;\n }\n loadingInstance.close();\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n if (!pandoraNext_outUrl.value.endsWith(\"/\")) {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + \"/\" + proxy_api_prefix.value;\n } else {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n }\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const handleShareNameChange = addToken_name => {\n let selectedItem = tableData.value.find(item => item.name === addToken_name && item.setPoolToken === true);\n };\n const filteredTableData = computed(() => {\n return tableData.value.filter(item => item.setPoolToken === true);\n });\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const addShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const addShareToken = {\n oneApi_name: addOneApi_name.value,\n token_name: addToken_name.value,\n oneApi_baseUrl: addOneApi_baseUrl.value,\n oneApi_models: addOneApi_models.value.toString(),\n oneApi_groups: addOneApi_groups.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addShareToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n addOneApi_name.value = \"\";\n addToken_name.value = \"\";\n addOneApi_baseUrl.value = \"\";\n addOneApi_models.value = [];\n addOneApi_groups.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_14.value = false;\n loadingInstance.close();\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n const oneApi_name = ref(\"\");\n const token_name = ref(\"\");\n const token_value = ref(\"\");\n const oneApi_baseUrl = ref(\"\");\n const oneApi_models = ref([]);\n const temOneApi_models = ref(\"\");\n const temOneApi_groups = ref(\"\");\n const oneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const shareTime = ref(\"\");\n const showShareToken = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n temOneApi_models.value = row.oneApi_models;\n temOneApi_groups.value = row.oneApi_groups;\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_15.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提示\", {\n dangerouslyUseHTMLString: true\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n const reviewShare = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n oneApi_models.value = row.oneApi_models.split(\",\");\n oneApi_groups.value = row.oneApi_groups.split(\",\");\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_16.value = true;\n };\n const requireShareToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const requireShare = {\n oneApi_name: oneApi_name.value,\n token_name: token_name.value,\n token_value: token_value.value,\n oneApi_baseUrl: oneApi_baseUrl.value,\n oneApi_models: oneApi_models.value.toString(),\n oneApi_groups: oneApi_groups.value.toString(),\n priority: priority.value\n };\n fetch(`${prefix}/api/requireShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(requireShare)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getShare(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n show_16.value = false;\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteShareToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个share_Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteShareToken`, row, {\n headers\n }).then(async response => {\n msg = response.data.data;\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getShareToken = async () => {\n await getShare(\"\");\n show_13.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const selectPoolChoice = buttonValue => {\n const selectedPoolData = multipleSelectionPool.value;\n const temPoolData = selectedPoolData.map(temPoolData => temPoolData);\n if (temPoolData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中检查pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要花\" + count + \"积分检查这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"检查取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中刷新pool_token\") {\n const reNewMsg = \"您确定要刷新这\" + selectedPoolData.length + \"个pool_token吗?\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中更换pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要更换这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"更换取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中删除pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要删除这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/deletePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n return;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_select_group = _resolveComponent(\"el-select-group\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, null, {\n default: _withCtx(() => [_createElementVNode(\"img\", {\n style: {\n \"width\": \"40px\"\n },\n src: _imports_0,\n alt: \"Element logo\",\n onClick: redirectToGitHub\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n onClick: getPandoraNext\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\"\n })]),\n _: 1\n }), _hoisted_4, _createVNode(_component_el_menu_item, {\n index: \"1\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"pool_token列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2\",\n onClick: getShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"share_token列表\")]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"3-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转PandoraWeb服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-1-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-2-1\"\n }, {\n default: _withCtx(() => [_hoisted_5]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-2\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-3\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用说明\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"5\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"5-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"6\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统功能\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"6-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"6-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-2\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-3\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => value.value = $event),\n \"show-action\": \"\",\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索token名称和类型\",\n onSearch: onSearch\n }, {\n action: _withCtx(() => [_createVNode(_component_el_radio_group, {\n modelValue: size.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => size.value = $event),\n label: \"size control\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"WEB\",\n onClick: _cache[4] || (_cache[4] = $event => getWebToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"WEB\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"ALL\",\n onClick: _cache[5] || (_cache[5] = $event => getToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"ALL\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"API\",\n onClick: _cache[6] || (_cache[6] = $event => getAPIToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"API\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_13, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n ref_key: \"multipleTableRef\",\n ref: multipleTableRef,\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n prop: \"setPoolToken\",\n sortable: \"\",\n \"min-width\": \"136\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_14, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024), _createElementVNode(\"span\", _hoisted_15, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"账号信息\",\n \"min-width\": \"200\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"账号: \" + _toDisplayString(scope.row.username), 1), _createElementVNode(\"div\", null, \"密码: \" + _toDisplayString(scope.row.userPassword), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.username), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"Token值\",\n \"min-width\": \"270\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"token: \" + _toDisplayString(dataToken(scope.row.token)), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(dataToken(scope.row.token)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n \"min-width\": \"167\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(\"距离过期还有:\" + _toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"335\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_16, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\",\n class: \"ml-4\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"ml-4\",\n onClick: _cache[10] || (_cache[10] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_17]),\n _: 1\n }), _createVNode(_component_el_button_group, {\n class: \"my-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_hoisted_18]),\n _: 1\n })]),\n _: 1\n })])]), _hoisted_19, _hoisted_20, _hoisted_21])]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[21] || (_cache[21] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_22, [_createVNode(_component_van_form, {\n onSubmit: _cache[20] || (_cache[20] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_25, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [_hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [_hoisted_31, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_32, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [_hoisted_34, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => temPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_35, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 20\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_36]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_38]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[33] || (_cache[33] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_39, [_createVNode(_component_van_form, {\n onSubmit: _cache[32] || (_cache[32] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_40, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_42, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [_hoisted_49, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[28] || (_cache[28] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_50, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[29] || (_cache[29] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => addPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [_hoisted_54, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[31] || (_cache[31] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_55]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_57]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[53] || (_cache[53] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [_createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_62, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_63, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_64, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)!\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[39] || (_cache[39] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_67, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[41] || (_cache[41] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_68, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[44] || (_cache[44] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_72, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[46] || (_cache[46] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_73, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_74, [_hoisted_75, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[49] || (_cache[49] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[50] || (_cache[50] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), _hoisted_76, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n placeholder: \"请填写OpenAi的share_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[52] || (_cache[52] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_77]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[68] || (_cache[68] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requirePandora\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_78, [_createVNode(_component_van_form, {\n onSubmit: _cache[67] || (_cache[67] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_79, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_82, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_83, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_84, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_85, [_hoisted_86, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_87, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[63] || (_cache[63] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_90, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[64] || (_cache[64] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_91, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_92, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_93]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_95]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[80] || (_cache[80] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_96, [_createVNode(_component_van_form, {\n onSubmit: _cache[79] || (_cache[79] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_97, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_101, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_102, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_103, _createVNode(_component_van_field, {\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[75] || (_cache[75] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_104, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[76] || (_cache[76] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_105, [_hoisted_106, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_107, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_108]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_110]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[89] || (_cache[89] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"verify\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_111, [_createVNode(_component_van_form, {\n onSubmit: _cache[88] || (_cache[88] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_112, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_114, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[84] || (_cache[84] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[85] || (_cache[85] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[86] || (_cache[86] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_118, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_119]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_121]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"78%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_122, [_createVNode(_component_el_icon, {\n onClick: _cache[90] || (_cache[90] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, null, {\n default: _withCtx(() => [_createTextVNode(\"API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions\", 1)]),\n _: 1\n })]), _createVNode(_unref(ElTable), {\n data: poolData.value,\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n onSelectionChange: poolSelectionChange,\n ref_key: \"multipleTableRefPool\",\n ref: multipleTableRefPool,\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token名称\",\n prop: \"intoOneApi\",\n sortable: \"\",\n \"min-width\": \"170\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_123, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_124, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_125]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_126, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_127]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_128, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_129]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_130, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"355\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_131, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_132, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"165\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.shareTokens), 1)]),\n _: 2\n }, 1024)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_hoisted_133]),\n _: 1\n })]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"315\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"]), _createVNode(_component_el_select_group, {\n class: \"pool-button flex-container\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: buttonPoolValue.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => buttonPoolValue.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsPool, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonPoolValue,\n label: item.label,\n value: item.buttonPoolValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n onClick: _cache[92] || (_cache[92] = $event => selectPoolChoice(buttonPoolValue.value))\n }, {\n default: _withCtx(() => [_hoisted_134]),\n _: 1\n }), _createVNode(_component_van_search, {\n modelValue: valuePool.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => valuePool.value = $event),\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索pool_token名称\",\n onSearch: _cache[94] || (_cache[94] = $event => onSearchPoolToken(valuePool.value)),\n class: \"onPoolToken\"\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_135]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[99] || (_cache[99] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"auto\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_136, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_137, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_138, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_139, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[98] || (_cache[98] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_140]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_8.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n \"max-width\": \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_141, [_createVNode(_component_van_form, {\n onSubmit: _cache[106] || (_cache[106] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_142, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[100] || (_cache[100] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_143, [_hoisted_144, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[101] || (_cache[101] = $event => auto_updateTime.value = $event),\n name: \"刷新session的时间\",\n label: \"刷新session的时间\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_145, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[102] || (_cache[102] = $event => auto_updateNumber.value = $event),\n name: \"刷新session的个数\",\n label: \"刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"]), _hoisted_146])) : _createCommentVNode(\"\", true), _createVNode(_component_van_field, {\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_147, _createVNode(_component_van_field, {\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_148, _createVNode(_component_van_field, {\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_149]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_150, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_9.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_151, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_152, _createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[108] || (_cache[108] = $event => poolNameValue.value = $event),\n name: \"为pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_153, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_154, [_hoisted_155, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_156, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_157, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_158, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_159])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_160, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[115] || (_cache[115] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"50%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_161, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_162, [_createElementVNode(\"span\", _hoisted_163, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"145\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_164, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_165, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_166, [_createElementVNode(\"span\", _hoisted_167, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_168]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_11.value,\n \"onUpdate:modelValue\": _cache[123] || (_cache[123] = $event => show_11.value = $event),\n title: \"修改poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_169, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_170, _createElementVNode(\"div\", _hoisted_171, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的修改的pool_token名称\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_172, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[117] || (_cache[117] = $event => temPool_token.value = $event),\n type: \"textarea\",\n maxlength: \"100\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n \"input-align\": \"right\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_173, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[118] || (_cache[118] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_174, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_175, [_hoisted_176, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[119] || (_cache[119] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_177, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[120] || (_cache[120] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_178, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[121] || (_cache[121] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_179, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[122] || (_cache[122] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_180])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_181, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[124] || (_cache[124] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"300px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_13.value,\n \"onUpdate:modelValue\": _cache[128] || (_cache[128] = $event => show_13.value = $event),\n title: \"share_token in oneApi\",\n \"align-center\": \"\",\n width: \"78%\",\n \"close-on-click-modal\": false,\n class: \"shareTokenDialog\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_search, {\n modelValue: valueShare.value,\n \"onUpdate:modelValue\": _cache[126] || (_cache[126] = $event => valueShare.value = $event),\n \"show-action\": \"\",\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索share_token名称\",\n onSearch: _cache[127] || (_cache[127] = $event => onSearchShareToken(valueShare.value)),\n class: \"onShareToken\"\n }, {\n action: _withCtx(() => [_createVNode(_component_el_button, {\n icon: _ctx.Plus,\n onClick: _cache[125] || (_cache[125] = $event => show_14.value = true)\n }, {\n default: _withCtx(() => [_hoisted_182]),\n _: 1\n }, 8, [\"icon\"])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_unref(ElTable), {\n data: shareData.value,\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n label: \"在one_api的名称\",\n prop: \"oneApi_name\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_183, [_createElementVNode(\"span\", _hoisted_184, _toDisplayString(scope.row.oneApi_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"来源Token名\",\n \"min-width\": \"135\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_185, [_createElementVNode(\"span\", _hoisted_186, _toDisplayString(scope.row.token_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"share_token值\",\n \"min-width\": \"355\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_187, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.token_value)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_188, _toDisplayString(scope.row.token_value), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"shareTime\",\n label: \"更新时间\",\n prop: \"shareTime\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"205\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => showShareToken(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewShare(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"修改\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteShareToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"]), _hoisted_189]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_14.value,\n \"onUpdate:modelValue\": _cache[135] || (_cache[135] = $event => show_14.value = $event),\n title: \"添加shareToken进one_api\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_190, [_createVNode(_component_van_form, {\n onSubmit: addShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_191, _createVNode(_component_van_field, {\n modelValue: addOneApi_name.value,\n \"onUpdate:modelValue\": _cache[129] || (_cache[129] = $event => addOneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n label: \"oneApi中渠道名称\",\n \"input-align\": \"right\",\n placeholder: \"oneApi中渠道名称\",\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_192, _createElementVNode(\"div\", _hoisted_193, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: addToken_name.value,\n \"onUpdate:modelValue\": _cache[130] || (_cache[130] = $event => addToken_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的添加的Token名称\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_194, _createElementVNode(\"div\", _hoisted_195, [_createVNode(_component_el_form_item, {\n label: \"选择加入的模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_196, [_createVNode(_component_el_select, {\n modelValue: addOneApi_models.value,\n \"onUpdate:modelValue\": _cache[131] || (_cache[131] = $event => addOneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"Select\",\n style: {\n \"width\": \"240px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_197, _createVNode(_component_van_field, {\n modelValue: addPriority.value,\n \"onUpdate:modelValue\": _cache[132] || (_cache[132] = $event => addPriority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_198, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: addOneApi_groups.value,\n \"onUpdate:modelValue\": _cache[133] || (_cache[133] = $event => addOneApi_groups.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_199, _createVNode(_component_van_field, {\n modelValue: addOneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[134] || (_cache[134] = $event => addOneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_200]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_201, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_15.value,\n \"onUpdate:modelValue\": _cache[143] || (_cache[143] = $event => show_15.value = $event),\n title: \"查看shareToken在one_api信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_202, [_createVNode(_component_van_form, {\n onSubmit: _ctx.shareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_203, _createVNode(_component_van_field, {\n modelValue: oneApi_name.value,\n \"onUpdate:modelValue\": _cache[136] || (_cache[136] = $event => oneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n label: \"oneApi中渠道名称\",\n \"input-align\": \"right\",\n placeholder: \"oneApi中渠道名称\",\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_204, _createVNode(_component_van_field, {\n modelValue: token_value.value,\n \"onUpdate:modelValue\": _cache[137] || (_cache[137] = $event => token_value.value = $event),\n name: \"share_token的值\",\n label: \"share_token的值\",\n \"input-align\": \"right\",\n placeholder: \"share_token的值\"\n }, null, 8, [\"modelValue\"]), _hoisted_205, _createVNode(_component_van_field, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[138] || (_cache[138] = $event => token_name.value = $event),\n name: \"share_token的来源\",\n label: \"share_token的来源\",\n \"input-align\": \"right\",\n placeholder: \"share_token的值\"\n }, null, 8, [\"modelValue\"]), _hoisted_206, _createVNode(_component_van_field, {\n modelValue: temOneApi_models.value,\n \"onUpdate:modelValue\": _cache[139] || (_cache[139] = $event => temOneApi_models.value = $event),\n name: \"加入的模型\",\n label: \"加入的模型\",\n \"input-align\": \"right\",\n placeholder: \"加入的模型\"\n }, null, 8, [\"modelValue\"]), _hoisted_207, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[140] || (_cache[140] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_208, _createVNode(_component_van_field, {\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[141] || (_cache[141] = $event => oneApi_groups.value = $event),\n name: \"加入的组别\",\n label: \"加入的组别\",\n \"input-align\": \"right\",\n placeholder: \"加入的组别\"\n }, null, 8, [\"modelValue\"]), _hoisted_209, _createVNode(_component_van_field, {\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[142] || (_cache[142] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_210]),\n _: 1\n })]),\n _: 1\n }, 8, [\"onSubmit\"])])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_16.value,\n \"onUpdate:modelValue\": _cache[149] || (_cache[149] = $event => show_16.value = $event),\n title: \"修改shareToken进one_api\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_211, [_createVNode(_component_van_form, {\n onSubmit: requireShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_212, _createElementVNode(\"div\", _hoisted_213, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[144] || (_cache[144] = $event => token_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的添加的Token名称\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_214, _createElementVNode(\"div\", _hoisted_215, [_createVNode(_component_el_form_item, {\n label: \"选择加入的模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_216, [_createVNode(_component_el_select, {\n modelValue: oneApi_models.value,\n \"onUpdate:modelValue\": _cache[145] || (_cache[145] = $event => oneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"选择或输入模型\",\n style: {\n \"width\": \"240px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_217, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[146] || (_cache[146] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_218, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[147] || (_cache[147] = $event => oneApi_groups.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_219, _createVNode(_component_van_field, {\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[148] || (_cache[148] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_220]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_221, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIndex.vue?vue&type=style&index=0&id=a59cdb90&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","href","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","style","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","key","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","_hoisted_185","_hoisted_186","_hoisted_187","_hoisted_188","_hoisted_189","_hoisted_190","_hoisted_191","_hoisted_192","_hoisted_193","_hoisted_194","_hoisted_195","_hoisted_196","_hoisted_197","_hoisted_198","_hoisted_199","_hoisted_200","_hoisted_201","_hoisted_202","_hoisted_203","_hoisted_204","_hoisted_205","_hoisted_206","_hoisted_207","_hoisted_208","_hoisted_209","_hoisted_210","_hoisted_211","_hoisted_212","_hoisted_213","_hoisted_214","_hoisted_215","_hoisted_216","_hoisted_217","_hoisted_218","_hoisted_219","_hoisted_220","_hoisted_221","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleTableRef","multipleTableRefPool","multipleSelection","multipleSelectionPool","handleSelectionChange","val","value","poolSelectionChange","size","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","show_13","show_14","show_15","show_16","buttonValue","options","label","optionsModel","buttonModel","buttonPoolValue","optionsPool","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","shareData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","addOneApi_name","addToken_name","addOneApi_baseUrl","addOneApi_models","addOneApi_groups","addPriority","innerHeight","valuePool","valueShare","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","onSearchShareToken","getShare","onSearchPoolToken","getPool","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","loadingInstance","service","fullscreen","responseShare","resShares","oneApi_name","token_name","token_value","oneApi_baseUrl","oneApi_models","oneApi_groups","shareTime","close","getSetting","tls","endsWith","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","json","msg","handlePoolNameChange","selectedItem","find","handleShareNameChange","filteredTableData","requirePoolToken","addShareToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","temOneApi_models","temOneApi_groups","showShareToken","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","dangerouslyUseHTMLString","reNew","reNewMsg","ok","Error","reNewPool","reviewShare","requireShareToken","requireShare","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","deleteShareToken","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","dataToken","substring","logout","removeItem","getPoolToken","getShareToken","getLogin","redirectToGitHub","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","selectPoolChoice","selectedPoolData","temPoolData","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_el_menu_item","_component_van_icon","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_el_radio_button","_component_el_radio_group","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_el_button_group","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_select_group","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","src","alt","onClick","$event","icon","extra","square","color","modelValue","shape","clearable","placeholder","plain","onSelectionChange","ref_key","ref","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","filterable","onSubmit","inset","rules","required","validator","maxlength","autosize","maxHeight","minHeight","round","block","rows","suffix","readonly","onClickLeftIcon","disabled","property","input","direction","onChange","autoSize","Plus","multiple","shareToken","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/static/js/581.b12fce75.js b/rearServer/target/classes/static/js/581.b12fce75.js new file mode 100644 index 0000000..fbbb1fa --- /dev/null +++ b/rearServer/target/classes/static/js/581.b12fce75.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[581],{581:function(e,l,a){a.r(l),a.d(l,{default:function(){return Mo}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),m=(a(1897),a(6907)),c=(a(4746),a(294)),p=(a(6870),a(6252)),v=a(3577),h=a(2262),w=a(1094),_=a(2201),k=a(6154),f=a(844),g=a(1348),b=a(9288),y=a(2534),V=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,p._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),A=(0,p._)("img",{style:{width:"25px"},src:w},null,-1),H={class:"home-container"},z=(0,p._)("div",{class:"flex-grow"},null,-1),P=(0,p._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),S=(0,p._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),N=(0,p._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),C={style:{display:"block"}},O=(0,p._)("div",{class:"flex items-center"},[(0,p._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,p._)("span",{class:"font-h4-tag"},"v0.6.3 ")],-1),$={class:"under"},B={class:"search"},D={style:{display:"flex",margin:"0px 0px -20px 0px"}},q={style:{display:"flex",width:"88vw",height:"63vh",transform:"translateX(0vw)"}},I={style:{display:"flex","align-items":"center"}},j={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},L={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Z={style:{margin:"13px",transform:"translateX(7px)"}},R=(0,p._)("h1",null,"批量操作",-1),E=(0,p._)("br",null,null,-1),K={style:{display:"block"}},J=(0,p._)("br",null,null,-1),M=(0,p._)("br",null,null,-1),G=(0,p._)("br",null,null,-1),Y={key:0},X=(0,p._)("br",null,null,-1),F=(0,p._)("br",null,null,-1),Q={key:0},ee=(0,p._)("br",null,null,-1),le=(0,p._)("br",null,null,-1),ae={key:1},oe=(0,p._)("br",null,null,-1),ne=(0,p._)("br",null,null,-1),te=(0,p._)("br",null,null,-1),ue={style:{margin:"5.2px"}},ie=(0,p._)("br",null,null,-1),re={style:{display:"block"}},se=(0,p._)("br",null,null,-1),de=(0,p._)("br",null,null,-1),me=(0,p._)("br",null,null,-1),ce=(0,p._)("br",null,null,-1),pe={key:0},ve=(0,p._)("br",null,null,-1),he={key:1},we=(0,p._)("br",null,null,-1),_e={key:0},ke=(0,p._)("br",null,null,-1),fe=(0,p._)("br",null,null,-1),ge={key:2},be=(0,p._)("br",null,null,-1),ye={key:3},Ve=(0,p._)("br",null,null,-1),We=(0,p._)("br",null,null,-1),Te={style:{margin:"5.2px"}},xe=(0,p._)("br",null,null,-1),Ue={style:{display:"block"}},Ae={key:0},He={style:{display:"flex","justify-content":"center","align-items":"center"}},ze={style:{margin:"10px 15px 10px 15px"}},Pe={style:{margin:"10px 15px 10px 15px"}},Se={style:{margin:"10px 15px 10px 15px"}},Ne=(0,p._)("br",null,null,-1),Ce=(0,p._)("br",null,null,-1),Oe=(0,p._)("br",null,null,-1),$e=(0,p._)("br",null,null,-1),Be=(0,p._)("br",null,null,-1),De=(0,p._)("br",null,null,-1),qe=(0,p._)("br",null,null,-1),Ie=(0,p._)("br",null,null,-1),je=(0,p._)("br",null,null,-1),Le=(0,p._)("br",null,null,-1),Ze={key:0},Re=(0,p._)("br",null,null,-1),Ee=(0,p._)("br",null,null,-1),Ke=(0,p._)("br",null,null,-1),Je={style:{display:"block"}},Me=(0,p._)("br",null,null,-1),Ge=(0,p._)("br",null,null,-1),Ye=(0,p._)("br",null,null,-1),Xe=(0,p._)("br",null,null,-1),Fe=(0,p._)("br",null,null,-1),Qe=(0,p._)("br",null,null,-1),el={key:0},ll=(0,p._)("br",null,null,-1),al=(0,p._)("br",null,null,-1),ol=(0,p._)("br",null,null,-1),nl=(0,p._)("br",null,null,-1),tl=(0,p._)("br",null,null,-1),ul=(0,p._)("br",null,null,-1),il=(0,p._)("br",null,null,-1),rl=(0,p._)("br",null,null,-1),sl={style:{margin:"5.2px"}},dl=(0,p._)("br",null,null,-1),ml={style:{display:"block"}},cl=(0,p._)("br",null,null,-1),pl=(0,p._)("br",null,null,-1),vl=(0,p._)("br",null,null,-1),hl=(0,p._)("br",null,null,-1),wl=(0,p._)("br",null,null,-1),_l=(0,p._)("br",null,null,-1),kl=(0,p._)("br",null,null,-1),fl=(0,p._)("br",null,null,-1),gl={key:0},bl=(0,p._)("br",null,null,-1),yl=(0,p._)("br",null,null,-1),Vl=(0,p._)("br",null,null,-1),Wl={style:{margin:"5.2px"}},Tl=(0,p._)("br",null,null,-1),xl={style:{display:"block"}},Ul=(0,p._)("br",null,null,-1),Al=(0,p._)("br",null,null,-1),Hl=(0,p._)("br",null,null,-1),zl=(0,p._)("br",null,null,-1),Pl=(0,p._)("br",null,null,-1),Sl=(0,p._)("br",null,null,-1),Nl=(0,p._)("br",null,null,-1),Cl=(0,p._)("br",null,null,-1),Ol={style:{margin:"5.2px"}},$l=(0,p._)("br",null,null,-1),Bl={style:{display:"flex",transform:"translate(0vw, -2vh)"}},Dl={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(102.5% + 40px)"}},ql={style:{"margin-left":"10px",display:"flex","align-items":"center"}},Il={key:0},jl=(0,p._)("h5",null,"oneApi4",-1),Ll={key:1},Zl=(0,p._)("h5",null,"oneApi3",-1),Rl={key:2},El=(0,p._)("h5",null,"Json",-1),Kl={style:{"margin-left":"20px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Jl={style:{display:"flex","align-items":"center",overflow:"auto"}},Ml={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Gl=(0,p._)("span",{style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},"点击此进行查看",-1),Yl={style:{margin:"10px 0px 10px 0px"}},Xl=(0,p._)("h1",null,"批量操作",-1),Fl=(0,p._)("br",null,null,-1),Ql={style:{display:"block"}},ea=(0,p._)("br",null,null,-1),la=(0,p._)("br",null,null,-1),aa=(0,p._)("br",null,null,-1),oa=(0,p._)("br",null,null,-1),na={style:{display:"block"}},ta=(0,p._)("br",null,null,-1),ua={key:0},ia=(0,p._)("br",null,null,-1),ra=(0,p._)("br",null,null,-1),sa=(0,p._)("br",null,null,-1),da=(0,p._)("br",null,null,-1),ma=(0,p._)("br",null,null,-1),ca=(0,p._)("br",null,null,-1),pa={style:{margin:"5.2px"}},va=(0,p._)("br",null,null,-1),ha={style:{display:"block"}},wa=(0,p._)("br",null,null,-1),_a={key:0},ka=(0,p._)("br",null,null,-1),fa=(0,p._)("br",null,null,-1),ga=(0,p._)("br",null,null,-1),ba={style:{"margin-bottom":"5px"}},ya={style:{"margin-bottom":"5px"}},Va=(0,p._)("br",null,null,-1),Wa=(0,p._)("br",null,null,-1),Ta={style:{margin:"5.2px"}},xa=(0,p._)("br",null,null,-1),Ua={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(100% + 2.5% + 40px)"}},Aa={style:{display:"flex","align-items":"center"}},Ha={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},za={style:{display:"flex","align-items":"center",overflow:"auto"}},Pa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Sa={style:{display:"flex","align-items":"center",overflow:"auto"}},Na={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ca=(0,p._)("br",null,null,-1),Oa={style:{display:"block"}},$a=(0,p._)("br",null,null,-1),Ba={style:{transform:"translateX(17px)"}},Da=(0,p._)("br",null,null,-1),qa=(0,p._)("br",null,null,-1),Ia=(0,p._)("br",null,null,-1),ja={key:0},La=(0,p._)("br",null,null,-1),Za=(0,p._)("br",null,null,-1),Ra=(0,p._)("br",null,null,-1),Ea={style:{"margin-bottom":"5px"}},Ka={style:{"margin-bottom":"5px"}},Ja=(0,p._)("br",null,null,-1),Ma=(0,p._)("br",null,null,-1),Ga={style:{margin:"5.2px"}},Ya=(0,p._)("br",null,null,-1),Xa=(0,p._)("h1",null,"添加到one_api",-1),Fa={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(102.5% + 40px)"}},Qa={style:{"margin-left":"15px",display:"flex","align-items":"center"}},eo={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},lo={style:{display:"flex","align-items":"center",overflow:"auto"}},ao={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},oo={style:{display:"flex","align-items":"center",overflow:"auto"}},no={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},to=(0,p._)("br",null,null,-1),uo={style:{display:"block"}},io=(0,p._)("br",null,null,-1),ro=(0,p._)("br",null,null,-1),so={style:{transform:"translateX(17px)"}},mo=(0,p._)("br",null,null,-1),co={style:{transform:"translateX(17px)"}},po={style:{display:"flex","justify-content":"flex-end"}},vo=(0,p._)("br",null,null,-1),ho=(0,p._)("br",null,null,-1),wo={style:{"margin-bottom":"5px"}},_o={style:{"margin-bottom":"5px"}},ko=(0,p._)("br",null,null,-1),fo=(0,p._)("br",null,null,-1),go={style:{margin:"5.2px"}},bo={style:{display:"block"}},yo=(0,p._)("br",null,null,-1),Vo=(0,p._)("br",null,null,-1),Wo=(0,p._)("br",null,null,-1),To=(0,p._)("br",null,null,-1),xo=(0,p._)("br",null,null,-1),Uo=(0,p._)("br",null,null,-1),Ao=(0,p._)("br",null,null,-1),Ho=(0,p._)("br",null,null,-1),zo={style:{display:"block"}},Po=(0,p._)("br",null,null,-1),So={style:{transform:"translateX(17px)"}},No=(0,p._)("br",null,null,-1),Co={style:{transform:"translateX(17px)"}},Oo={style:{display:"flex","justify-content":"flex-end"}},$o=(0,p._)("br",null,null,-1),Bo=(0,p._)("br",null,null,-1),Do={style:{"margin-bottom":"5px"}},qo={style:{"margin-bottom":"5px"}},Io=(0,p._)("br",null,null,-1),jo=(0,p._)("br",null,null,-1),Lo={style:{margin:"5.2px"}},Zo=0,Ro=1,Eo=2;var Ko=(0,p.aZ)({__name:"homeIphone",setup(e){const l=window.location.pathname,a=l.split("/");let w="";a.length>=3&&(w="/"+a[1]);const Ko=(0,h.iH)(["default","svip","vip"]),Jo=((0,h.iH)(),(0,h.iH)()),Mo=(0,h.iH)([]),Go=(0,h.iH)([]),Yo=e=>{Mo.value=e},Xo=e=>{Go.value=e},Fo=((0,h.iH)("ALL"),(0,_.tv)()),Qo=(0,h.iH)(!1),en=(0,h.iH)(!1),ln=(0,h.iH)(!1),an=(0,h.iH)(!1),on=(0,h.iH)(!1),nn=(0,h.iH)(!1),tn=(0,h.iH)(!1),un=(0,h.iH)(!1),rn=(0,h.iH)(!1),sn=(0,h.iH)(!1),dn=(0,h.iH)(!1),mn=(0,h.iH)(!1),cn=(0,h.iH)(!1),pn=(0,h.iH)(!1),vn=(0,h.iH)(!1),hn=(0,h.iH)(!1),wn=(0,h.iH)(!1),_n=(0,h.iH)(""),kn=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],fn=((0,h.iH)(""),[{buttonModel:"gpt-4-s",label:"gpt-4-s"},{buttonModel:"gpt-4-mobile",label:"gpt-4-mobile"},{buttonModel:"gpt-4-vision",label:"gpt-4-vision"},{buttonModel:"gpt-3.5-turbo",label:"gpt-3.5-turbo"},{buttonModel:"gpt-4-classic",label:"gpt-4-classic"}]),gn=(0,h.iH)(""),bn=[{buttonPoolValue:"选中检查pool_token",label:"选中检查pool_token"},{buttonPoolValue:"选中删除pool_token",label:"选中删除pool_token"},{buttonPoolValue:"选中刷新pool_token",label:"选中刷新pool_token"},{buttonPoolValue:"选中更换pool_token",label:"选中更换pool_token"}],yn=(0,h.iH)(""),Vn=(0,h.iH)("*"),Wn=(0,h.iH)(""),Tn=(0,h.iH)(""),xn=(0,h.iH)(""),Un=(0,h.iH)(!1),An=(0,h.iH)(!1),Hn=(0,h.iH)(!1),zn=(0,h.iH)(!1),Pn=(0,h.iH)(""),Sn=(0,h.iH)(!1),Nn=(0,h.iH)(""),Cn=(0,h.iH)(""),On=(0,h.iH)(""),$n=(0,h.iH)(""),Bn=(0,h.iH)(""),Dn=(0,h.iH)(""),qn=(0,h.iH)(""),In=(0,h.iH)(!1),jn=(0,h.iH)(""),Ln=(0,h.iH)("PandoraNext"),Zn=(0,h.iH)("default"),Rn=(0,h.iH)(""),En=(0,h.iH)(""),Kn=(0,h.iH)(""),Jn=(0,h.iH)(""),Mn=(0,h.iH)(!1),Gn=(0,h.iH)(!1),Yn=(0,h.iH)(!1),Xn=(0,h.iH)(!1),Fn=(0,h.iH)(!1),Qn=(0,h.iH)(5),et=(0,h.iH)(1),lt=(0,h.iH)(""),at=(0,h.iH)(""),ot=(0,h.iH)(""),nt=(0,h.iH)(""),tt=((0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(""),(0,h.iH)(!0),(0,h.iH)("")),ut=(0,h.iH)(!1),it=(0,h.iH)(!1),rt=(0,h.iH)(lt.value+yn.value),st=(0,h.iH)(0),dt=(0,h.iH)(""),mt=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},ct=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},pt=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},vt=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=qt.value&&1!=Tt.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},ht=(0,h.iH)(""),wt=(0,h.iH)(""),_t=(0,h.iH)(""),kt=(0,h.iH)(""),ft=(0,h.iH)(""),gt=(0,h.iH)(""),bt=(0,h.iH)(!1),yt=(0,h.iH)(!1),Vt=(0,h.iH)(!1),Wt=(0,h.iH)(""),Tt=(0,h.iH)(!1),xt=(0,h.iH)(!1),Ut=(0,h.iH)(!0),At=(0,h.iH)([]),Ht=(0,h.iH)([]),zt=(0,h.iH)([]),Pt=(0,h.iH)([]),St=(0,h.iH)(""),Nt=(0,h.iH)(""),Ct=(0,h.iH)(""),Ot=(0,h.iH)(""),$t=(0,h.iH)(!1),Bt=(0,h.iH)(!1),Dt=(0,h.iH)(!1),qt=(0,h.iH)(!1),It=(0,h.iH)(!1),jt=(0,h.iH)(""),Lt=(0,h.iH)(""),Zt=(0,h.iH)(""),Rt=((0,h.iH)(""),(0,h.iH)("")),Et=(0,h.iH)([]),Kt=(0,h.iH)(["default","svip","vip"]),Jt=(0,h.iH)(0),Mt=((0,h.iH)(.085*window.innerHeight),(0,h.iH)("")),Gt=((0,h.iH)(""),(0,h.iH)("")),Yt=localStorage.getItem("jwtToken");Yt||Fo.replace("/");const Xt={Authorization:`Bearer ${Yt}`},Ft=async()=>{k.Z.post(`${w}/api/loginToken?token=`+Yt).then((e=>{if(0==e.data.code)return console.error(e.data.data),void Fo.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),Fo.replace("/")}))},Qt=e=>{"Web"==e?ou(""):"all"==e?lu(""):e.includes("API")?au(""):lu(e)},eu=e=>{uu(e)},lu=async e=>{const l=await k.Z.get(`${w}/api/selectToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));At.value=e}},au=async e=>{const l=await k.Z.get(`${w}/api/selectToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));At.value=l}},ou=async e=>{const l=await k.Z.get(`${w}/api/selectToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));At.value=l}},nu=async()=>{const e=await k.Z.get(`${w}/api/selectLogin`,{headers:Xt}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));Pt.value=e}},tu=async e=>{const l=await k.Z.get(`${w}/api/selectPoolToken?name=${e}`,{headers:Xt}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));Ht.value=e}},uu=async e=>{const l=V.kN.service({fullscreen:!0}),a=await k.Z.get(`${w}/api/selectShareToken?name=${e}`,{headers:Xt}),o=a.data.data;if(Array.isArray(o)){const e=o.map((e=>({oneApi_name:e.oneApi_name,token_name:e.token_name,token_value:e.token_value,oneApi_baseUrl:e.oneApi_baseUrl,oneApi_models:e.oneApi_models,oneApi_groups:e.oneApi_groups,shareTime:e.shareTime,priority:e.priority})));zt.value=e}l.close()},iu=async e=>{const l=await k.Z.get(`${w}/api/selectSetting`,{headers:Xt}),a=l.data.data;yn.value=a.proxy_api_prefix,Vn.value=a.isolated_conv_title,Wn.value=a.bing,Tn.value=a.timeout,xn.value=a.proxy_url,Un.value=a.public_share,An.value=a.disable_signup,Hn.value=a.auto_conv_arkose,zn.value=a.proxy_file_service,Pn.value=a.custom_doh_host,Sn.value=a.tls.enabled,Nn.value=a.tls.cert_file,Cn.value=a.tls.key_file,On.value=a.site_password,$n.value=a.setup_password,null==a.whitelist?Rn.value="null":Rn.value=a.whitelist,Bn.value=a.loginUsername,Dn.value=a.loginPassword,qn.value=a.license_id,In.value=a.isGetToken,jn.value=a.getTokenPassword,Ln.value=a.containerName,Zn.value=a.autoToken_url,En.value=a.validation.provider,Kn.value=a.validation.site_key,Jn.value=a.validation.site_secret,Mn.value=a.validation.site_login,Gn.value=a.validation.setup_login,Yn.value=a.validation.oai_username,Xn.value=a.validation.oai_password,Fn.value=a.auto_updateSession,Qn.value=a.auto_updateTime,et.value=a.auto_updateNumber,lt.value=a.pandoraNext_outUrl,lt.value.endsWith("/")?rt.value=lt.value+yn.value:rt.value=lt.value+"/"+yn.value,at.value=a.oneAPi_outUrl,ot.value=a.oneAPi_intoToken,ru()},ru=async()=>{"123456"==Dn.value&&"root"==Bn.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),on.value=!0,Dn.value="",Bn.value="")},su=()=>{const e=Mo.value;0!==e.length?sn.value=!0:(0,g.z8)("未选择数据")},du=async()=>{V.kN.service({fullscreen:!0});try{const e=Mo.value,l=e.map((e=>e.name)),a={poolName:tt.value,intoOneApi:ut.value,pandoraNextGpt4:it.value,oneApi_pandoraUrl:rt.value,shareTokens:l,groupChecked:Ko.value.toString(),priority:st.value},o=await fetch(`${w}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(tt.value="",tu(""),(0,g.z8)({type:"success",message:t.data}),tt.value="",ut.value=!1,it.value=!1,Ko.value=["default","svip","vip"],st.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}sn.value=!1},mu=e=>{let l=Ht.value.find((l=>l.poolName===e));null!=l&&(dt.value=l.poolToken,ut.value=l.intoOneApi,it.value=l.pandoraNextGpt4,rt.value=l.oneApi_pandoraUrl,st.value=l.priority)},cu=e=>{At.value.find((l=>l.name===e&&!0===l.setPoolToken))},pu=(0,p.Fl)((()=>At.value.filter((e=>!0===e.setPoolToken)))),vu=async()=>{V.kN.service({fullscreen:!0});try{const e=Mo.value,l=e.map((e=>e.name)),a={poolName:nt.value,poolToken:dt.value,intoOneApi:ut.value,pandoraNextGpt4:it.value,oneApi_pandoraUrl:rt.value,shareTokens:l,groupChecked:Ko.value.toString(),priority:st.value},o=await fetch(`${w}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(tu(""),(0,g.z8)({type:"success",message:t.data}),nt.value="",dt.value="",ut.value=!1,it.value=!1,Ko.value=["default","svip","vip"],st.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}mn.value=!1},hu=async()=>{const e=V.kN.service({fullscreen:!0});try{const e={oneApi_name:Lt.value,token_name:Zt.value,oneApi_baseUrl:Rt.value,oneApi_models:Et.value.toString(),oneApi_groups:Kt.value.toString(),priority:st.value},l=await fetch(`${w}/api/addShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}),a=(V.kN.service({fullscreen:!0}),await l.json());1===a.code?(uu(""),(0,g.z8)({type:"success",message:a.data}),Lt.value="",Zt.value="",Rt.value="",Et.value=[],Kt.value=["default","svip","vip"],st.value=0):(0,g.z8)({type:"info",message:a.msg})}catch(l){(0,g.z8)({type:"info",message:"取消修改pool_token"})}vn.value=!1,e.close()},wu=(0,h.iH)("");(0,p.bv)((async()=>{const e=V.kN.service({fullscreen:!0});window.innerWidth<=700?Fo.replace("/iphone"):Fo.replace("/home"),Ft();const l=await k.Z.get(`${w}/api/getPandoraNext`,{headers:Xt}),a=l.data.data;null!=a&&(wu.value=a.current+"/"+a.total),Qt(Mt.value),tu(Mt.value),iu(Mt.value),e.close()}));const _u=({row:e})=>0==e.checkSession?"warning-row":"",ku=({row:e})=>0==e.checkPool?"warning-row":"",fu=()=>{window.open(lt.value)},gu=()=>{var e=lt.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},bu=()=>{var e=lt.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},yu=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},Vu=(0,h.iH)("-1");let Wu="";const Tu=(e,l)=>{console.log("选择准备!")},xu=()=>{en.value=!0},Uu=()=>{const e=V.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=jt.value&&($t.value=!1,Dt.value=!1,Bt.value=!1),0==qt.value&&(Ot.value=Nt.value+","+Ct.value,It.value=!1,$t.value=!1,Dt.value=!1,Bt.value=!1);let o={name:St.value,token:Ot.value,username:Nt.value,userPassword:Ct.value,shared:$t.value,show_user_info:Bt.value,plus:Dt.value,setPoolToken:qt.value,useRefreshToken:It.value,password:jt.value,updateTime:a};fetch(`${w}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),St.value="",Ot.value="",Nt.value="",Ct.value="",$t.value=!1,Bt.value=!1,Dt.value=!1,qt.value=!1,It.value=!1,jt.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),jt.value="",lu(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),en.value=!1},Au=(0,h.iH)(0),Hu=(0,h.iH)(0),zu=async e=>{if(ht.value=e.name,ft.value=e.username,gt.value=e.userPassword,wt.value=e.token,_t.value=e.access_token,kt.value=e.share_token,bt.value=e.shared,yt.value=e.show_user_info,Vt.value=e.plus,Wt.value=e.password,Tt.value=e.setPoolToken,xt.value=e.useRefreshToken,Ut.value=e.checkSession,1!=Tt.value)return void(ln.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${rt.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?Au.value=Number(o.usage["text-davinci-002-render-sha"]):Au.value=0,null!=o.usage["gpt-4"]?Hu.value=Number(o.usage["gpt-4"]):Hu.value=0),ln.value=!0},Pu=(0,h.iH)(""),Su=(0,h.iH)(""),Nu=(0,h.iH)(""),Cu=(0,h.iH)(""),Ou=(0,h.iH)([]),$u=(0,h.iH)(""),Bu=(0,h.iH)(""),Du=(0,h.iH)(["default","svip","vip"]),qu=(0,h.iH)(""),Iu=e=>{Pu.value=e.oneApi_name,Su.value=e.token_name,Nu.value=e.token_value,Cu.value=e.oneApi_baseUrl,$u.value=e.oneApi_models,Bu.value=e.oneApi_groups,st.value=e.priority,qu.value=e.shareTime,hn.value=!0};let ju=!1,Lu=!1,Zu="";const Ru=(e,l)=>{ht.value=l.name,ft.value=l.username,gt.value=l.userPassword,wt.value=l.token,Wu=l.token,bt.value=l.shared,yt.value=l.show_user_info,Vt.value=l.plus,Wt.value=l.password,Tt.value=l.setPoolToken,xt.value=l.useRefreshToken,ju=Tt.value,Lu=xt.value,Zu=wt.value,Ut.value=l.checkSession,_t.value=l.access_token,kt.value=l.share_token,Qo.value=!0},Eu=async e=>{0==e?an.value=!0:1==e?on.value=!0:2==e&&(nn.value=!0)},Ku=e=>{const l=V.kN.service({fullscreen:!0});null!=Rn.value&&"null"!=Rn.value||(Rn.value=""),0==Sn.value&&(Nn.value="",Cn.value="");const a={enabled:Sn.value,cert_file:Nn.value,key_file:Cn.value},o={provider:En.value,site_key:Kn.value,site_secret:Jn.value,site_login:Mn.value,setup_login:Gn.value,oai_username:Yn.value,oai_password:Xn.value},n={proxy_api_prefix:yn.value,isolated_conv_title:Vn.value,bing:Wn.value,timeout:Tn.value,proxy_url:xn.value,public_share:Un.value,site_password:On.value,setup_password:$n.value,loginUsername:Bn.value,loginPassword:Dn.value,license_id:qn.value,disable_signup:An.value,auto_conv_arkose:Hn.value,proxy_file_service:zn.value,custom_doh_host:Pn.value,isGetToken:In.value,getTokenPassword:jn.value,containerName:Ln.value,autoToken_url:Zn.value,whitelist:Rn.value,validation:o,tls:a};fetch(`${w}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Ft(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?an.value=!1:1==e?on.value=!1:2==e&&(nn.value=!1)},Ju=()=>{const e=V.kN.service({fullscreen:!0});"/"!==lt.value.charAt(lt.value.length-1)&&(lt.value+="/");const l={auto_updateSession:Fn.value,auto_updateTime:Qn.value,auto_updateNumber:et.value,pandoraNext_outUrl:lt.value,oneAPi_outUrl:at.value,oneAPi_intoToken:ot.value};fetch(`${w}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),rn.value=!1},Mu=()=>{const e=V.kN.service({fullscreen:!0});let l="";if(Wu!=wt.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==Tt.value&&(bt.value=!1,Vt.value=!1,yt.value=!1,xt.value=!1),!0===bt.value?Wt.value="":(Vt.value=!1,yt.value=!1);let a="";a=ju!=Tt.value&&Zu==wt.value?0==Tt.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==xt.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":Lu!=xt.value&&Zu==wt.value?1==xt.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:ht.value,token:wt.value,username:ft.value,userPassword:gt.value,shared:bt.value,show_user_info:yt.value,plus:Vt.value,setPoolToken:Tt.value,useRefreshToken:xt.value,checkSession:Ut.value,password:Wt.value,access_token:_t.value,share_token:kt.value};fetch(`${w}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),lu("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),Qo.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Gu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/open`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Yu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/close`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Xu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/restart`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Fu=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/reload`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Qu=(0,h.iH)(""),ei=(0,h.iH)(""),li=async()=>{const e=await k.Z.get(`${w}/api/getPandoraNext`,{headers:Xt}),l=e.data.data;if(null!=l){wu.value=l.current+"/"+l.total,Qu.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();ei.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}un.value=!0},ai=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${w}/api/updateAllToken`,{headers:Xt}),a=l.data.data;null!=a&&""!=a?(lu(""),f.T.alert(a,"温馨提示",{dangerouslyUseHTMLString:!0})):g.z8.error(l.data.msg),e.close()},oi=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,lu(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},ni=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(tu(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},ti=e=>{Pu.value=e.oneApi_name,Su.value=e.token_name,Nu.value=e.token_value,Cu.value=e.oneApi_baseUrl,Ou.value=e.oneApi_models.split(","),Du.value=e.oneApi_groups.split(","),st.value=e.priority,qu.value=e.shareTime,wn.value=!0},ui=()=>{const e=V.kN.service({fullscreen:!0}),l={oneApi_name:Pu.value,token_name:Su.value,token_value:Nu.value,oneApi_baseUrl:Cu.value,oneApi_models:Ou.value.toString(),oneApi_groups:Du.value.toString(),priority:st.value};fetch(`${w}/api/requireShareToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.msg)),uu(""),e.close()})).catch((l=>{e.close(),console.error("Error:",l)})),wn.value=!1},ii=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),lu(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},ri=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${w}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(tu(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},si=(e,l)=>{const a=V.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${w}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(tu(""),g.z8.success(e.data),a.close()):(tu(""),g.z8.error(e.msg),a.close()),sn.value=!1})).catch((e=>{console.error("删除失败",e),tu(""),a.close(),sn.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},di=(e,l)=>{const a=V.kN.service({fullscreen:!0});fetch(`${w}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(tu(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(tu(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},mi=(e,l)=>{const a=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${w}/api/deleteToken`,l,{headers:Xt}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${w}/api/updateAllPoolToken`,{headers:Xt}),o=e.data.data,lu(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},ci=(e,l)=>{const a=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个share_Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${w}/api/deleteShareToken`,l,{headers:Xt}).then((async e=>{o=e.data.data,uu(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},pi=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,y.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},vi=()=>{localStorage.removeItem("jwtToken"),Fo.replace("/")},hi=()=>{tn.value=!0},wi=async()=>{await uu(""),pn.value=!0},_i=()=>{nu(),dn.value=!0},ki=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},fi=e=>{const l=Mo.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?su():"选中修改pool_token"==e&&(mn.value=!0);else{let e=0;const l=Mo.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(lu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${w}/api/deleteTokenList`,a,{headers:Xt}).then((async l=>{await k.Z.get(`${w}/api/updateAllPoolToken`,{headers:Xt}),o=l.data.data,lu(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},gi=e=>{const l=Go.value,a=l.map((e=>e));if(0!==a.length)if("选中检查pool_token"!=e)if("选中刷新pool_token"!=e)if("选中更换pool_token"!=e)if("选中删除pool_token"!=e);else{l.length;const e="您确定要删除这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/deletePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"})}))}else{l.length;const e="您确定要更换这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/changePoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"更换取消!"})}))}else{const e="您确定要刷新这"+l.length+"个pool_token吗?";f.T.confirm(e,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/refreshSimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{let e=4*l.length;const o="您确定要花"+e+"积分检查这"+l.length+"个pool_token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${w}/api/verifySimplyPoolTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Yt}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(tu(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"检查取消!"})}))}else(0,g.z8)("未选择数据")},bi=(0,h.iH)(null),yi=async()=>{cn.value=!0;const e=await k.Z.get(`${w}/api/modelsUsage`,{headers:Xt});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(bi.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=c.JO,w=(0,p.up)("el-menu-item"),_=(0,p.up)("el-sub-menu"),k=(0,p.up)("el-menu"),f=m.zx,g=(0,p.up)("el-page-header"),b=d.ol,y=(0,p.up)("el-table-column"),V=(0,p.up)("el-button"),T=(0,p.up)("el-tag"),Mo=(0,p.up)("el-popover"),Go=(0,p.up)("el-option"),Fo=(0,p.up)("el-select"),Ut=s.gN,Yt=r.rs,Xt=i.TS,Ft=u.l0,lu=t.Vq,au=(0,p.up)("ChatLineRound"),ou=(0,p.up)("el-icon"),nu=(0,p.up)("el-statistic"),tu=(0,p.up)("el-col"),uu=(0,p.up)("el-row"),iu=(0,p.up)("CopyDocument"),ru=(0,p.up)("h10"),su=(0,p.up)("el-select-group"),Wu=(0,p.up)("el-dialog"),Bu=n.XZ,qu=o.cO,ju=(0,p.up)("el-form-item"),Lu=(0,p.Q2)("loading");return(0,p.wg)(),(0,p.iD)(p.HY,null,[(0,p._)("div",x,[U,(0,p.Wm)(k,{"default-active":Vu.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:Tu,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"0"},{title:(0,p.w5)((()=>[(0,p._)("div",H,[(0,p._)("h2",null,(0,v.zw)(wu.value),1)]),(0,p.Wm)(a,{name:"replay",size:"20",onClick:li})])),default:(0,p.w5)((()=>[A])),_:1}),z,(0,p.Wm)(_,{index:"3"},{title:(0,p.w5)((()=>[(0,p.Uk)("列表")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"3-1",onClick:hi},{default:(0,p.w5)((()=>[(0,p.Uk)("pool_token列表")])),_:1}),(0,p.Wm)(w,{index:"3-2",onClick:wi},{default:(0,p.w5)((()=>[(0,p.Uk)("share_token列表")])),_:1}),(0,p.Wm)(w,{index:"3-3",onClick:ai},{default:(0,p.w5)((()=>[(0,p.Uk)("全部检查并生成")])),_:1}),(0,p.Wm)(w,{index:"3-4",onClick:_i},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool登录日志")])),_:1}),(0,p.Wm)(w,{index:"3-5",onClick:yi},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool用量统计")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"1"},{title:(0,p.w5)((()=>[(0,p.Uk)("设置")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"1-1",onClick:l[0]||(l[0]=e=>Eu(Zo))},{default:(0,p.w5)((()=>[(0,p.Uk)("PandoraNext设置")])),_:1}),(0,p.Wm)(w,{index:"1-2",onClick:l[1]||(l[1]=e=>Eu(Ro))},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool设置")])),_:1}),(0,p.Wm)(w,{index:"1-3",onClick:l[2]||(l[2]=e=>Eu(Eo))},{default:(0,p.w5)((()=>[(0,p.Uk)("验证码信息设置")])),_:1}),(0,p.Wm)(w,{index:"1-4",onClick:l[3]||(l[3]=e=>rn.value=!0)},{default:(0,p.w5)((()=>[(0,p.Uk)("定时&接口设置")])),_:1}),(0,p.Wm)(w,{index:"1-5",onClick:yu},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool使用手册")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2"},{title:(0,p.w5)((()=>[(0,p.Uk)("状态")])),default:(0,p.w5)((()=>[(0,p.Wm)(_,{index:"2-1"},{title:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"状态",1)])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"2-1-1",onClick:Gu},{default:(0,p.w5)((()=>[(0,p.Uk)("开启"+(0,v.zw)(Ln.value),1)])),_:1}),(0,p.Wm)(w,{index:"2-1-2",onClick:Yu},{default:(0,p.w5)((()=>[(0,p.Uk)("暂停"+(0,v.zw)(Ln.value),1)])),_:1}),(0,p.Wm)(w,{index:"2-1-3",onClick:Xu},{default:(0,p.w5)((()=>[(0,p.Uk)("重启"+(0,v.zw)(Ln.value),1)])),_:1}),(0,p.Wm)(w,{index:"2-1-4",onClick:Fu},{default:(0,p.w5)((()=>[(0,p.Uk)("重载"+(0,v.zw)(Ln.value),1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-2"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转Web服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"2-2-1",onClick:fu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"主页",1)])),_:1}),(0,p.Wm)(w,{index:"2-2-2",onClick:gu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"共享页",1)])),_:1}),(0,p.Wm)(w,{index:"2-2-3",onClick:bu},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Ln.value)+"修改页",1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-3"},{title:(0,p.w5)((()=>[(0,p.Uk)("获取token地址")])),default:(0,p.w5)((()=>[(0,p.Wm)(w,{index:"2-3-1"},{default:(0,p.w5)((()=>[P])),_:1}),(0,p.Wm)(w,{index:"2-3-2"},{default:(0,p.w5)((()=>[S])),_:1}),(0,p.Wm)(w,{index:"2-3-3"},{default:(0,p.w5)((()=>[N])),_:1})])),_:1}),(0,p.Wm)(w,{index:"2-4",onClick:vi},{default:(0,p.w5)((()=>[(0,p.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,p._)("div",C,[(0,p.Wm)(g,{icon:null,title:" "},{content:(0,p.w5)((()=>[O])),extra:(0,p.w5)((()=>[(0,p._)("div",{class:"addToken",onClick:xu},[(0,p.Wm)(f,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,p._)("div",$,[(0,p._)("div",B,[(0,p._)("div",D,[(0,p.Wm)(b,{modelValue:Mt.value,"onUpdate:modelValue":l[4]||(l[4]=e=>Mt.value=e),shape:"round",clearable:"",placeholder:"请输入搜索token名称或类型",onSearch:Qt},null,8,["modelValue"])]),(0,p._)("div",q,[(0,p.wy)(((0,p.wg)(),(0,p.j4)((0,h.SU)(W.eI),{data:At.value,style:{width:"100%"},onSelectionChange:Yo,class:"tokenTable","default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":_u},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{type:"selection",width:"45"}),(0,p.Wm)(y,{label:"名称",width:"160",prop:"setPoolToken",sortable:""},{default:(0,p.w5)((e=>[(0,p._)("div",I,[(0,p._)("div",null,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[(0,p._)("h5",null,(0,v.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024)]),(0,p._)("span",j,(0,v.zw)(e.row.name),1)])])),_:1}),(0,p.Wm)(y,{prop:"updateTime",sortable:"",label:"有效时间",width:"117"},{default:(0,p.w5)((e=>[(0,p.Wm)(Mo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"注册时间:"+(0,v.zw)(e.row.updateTime),1)])),reference:(0,p.w5)((()=>[(0,p._)("span",L,[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(pi(e.row)),1)])),_:2},1024)])])),_:2},1024)])),_:1}),(0,p.Wm)(y,{label:"操作方法",width:"370"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>Ru(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("编辑")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>zu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>mi(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>oi(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"warning",onClick:l=>ii(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[Lu,e.loading]])]),(0,p._)("div",Z,[(0,p.Wm)(Fo,{modelValue:_n.value,"onUpdate:modelValue":l[5]||(l[5]=e=>_n.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(kn,(e=>(0,p.Wm)(Go,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(V,{class:"my-button",onClick:l[6]||(l[6]=e=>fi(_n.value))},{default:(0,p.w5)((()=>[R])),_:1})])])]),E]),(0,p.Wm)(lu,{show:Qo.value,"onUpdate:show":l[17]||(l[17]=e=>Qo.value=e),title:"修改token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",K,[(0,p.Wm)(Ft,{onSubmit:l[16]||(l[16]=e=>Mu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[J,(0,p.Wm)(Ut,{modelValue:ft.value,"onUpdate:modelValue":l[7]||(l[7]=e=>ft.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱","input-align":"center",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),M,(0,p.Wm)(Ut,{modelValue:gt.value,"onUpdate:modelValue":l[8]||(l[8]=e=>gt.value=e),name:"OpenAi密码","input-align":"center",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),G,(0,p.Wm)(Ut,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Tt.value,"onUpdate:modelValue":l[9]||(l[9]=e=>Tt.value=e)},null,8,["modelValue"])])),_:1}),1==Tt.value?((0,p.wg)(),(0,p.iD)("div",Y,[X,(0,p.Wm)(Ut,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:xt.value,"onUpdate:modelValue":l[10]||(l[10]=e=>xt.value=e)},null,8,["modelValue"])])),_:1}),F,(0,p.Wm)(Ut,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:bt.value,"onUpdate:modelValue":l[11]||(l[11]=e=>bt.value=e)},null,8,["modelValue"])])),_:1}),1==bt.value?((0,p.wg)(),(0,p.iD)("div",Q,[ee,(0,p.Wm)(Ut,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:yt.value,"onUpdate:modelValue":l[12]||(l[12]=e=>yt.value=e)},null,8,["modelValue"])])),_:1}),le,(0,p.Wm)(Ut,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Vt.value,"onUpdate:modelValue":l[13]||(l[13]=e=>Vt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),0==bt.value||0==Tt.value?((0,p.wg)(),(0,p.iD)("div",ae,[oe,(0,p.Wm)(Ut,{rows:"2",type:"textarea",autoSize:"",modelValue:Wt.value,"onUpdate:modelValue":l[14]||(l[14]=e=>Wt.value=e),name:"Token的密码","input-align":"center",label:"Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:vt}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),ne,(0,p.Wm)(Ut,{modelValue:wt.value,"onUpdate:modelValue":l[15]||(l[15]=e=>wt.value=e),label:"Token的值",type:"textarea","input-align":"center",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:50},"show-word-limit":""},null,8,["modelValue"]),te])),_:1}),(0,p._)("div",ue,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),ie])),_:1},8,["show"]),(0,p.Wm)(lu,{show:en.value,"onUpdate:show":l[29]||(l[29]=e=>en.value=e),title:"添加token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",re,[(0,p.Wm)(Ft,{onSubmit:l[28]||(l[28]=e=>Uu())},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[se,(0,p.Wm)(Ut,{modelValue:St.value,"onUpdate:modelValue":l[18]||(l[18]=e=>St.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),de,(0,p.Wm)(Ut,{modelValue:Nt.value,"onUpdate:modelValue":l[19]||(l[19]=e=>Nt.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名",rules:[{required:!0,message:"请填写OpenAi用户名"}]},null,8,["modelValue"]),me,(0,p.Wm)(Ut,{modelValue:Ct.value,"onUpdate:modelValue":l[20]||(l[20]=e=>Ct.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),ce,(0,p.Wm)(Ut,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:qt.value,"onUpdate:modelValue":l[21]||(l[21]=e=>qt.value=e)},null,8,["modelValue"])])),_:1}),1==qt.value?((0,p.wg)(),(0,p.iD)("div",pe,[ve,(0,p.Wm)(Ut,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:It.value,"onUpdate:modelValue":l[22]||(l[22]=e=>It.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==qt.value?((0,p.wg)(),(0,p.iD)("div",he,[we,(0,p.Wm)(Ut,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:$t.value,"onUpdate:modelValue":l[23]||(l[23]=e=>$t.value=e)},null,8,["modelValue"])])),_:1}),1==$t.value?((0,p.wg)(),(0,p.iD)("div",_e,[ke,(0,p.Wm)(Ut,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Bt.value,"onUpdate:modelValue":l[24]||(l[24]=e=>Bt.value=e)},null,8,["modelValue"])])),_:1}),fe,(0,p.Wm)(Ut,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Dt.value,"onUpdate:modelValue":l[25]||(l[25]=e=>Dt.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),""==$t.value?((0,p.wg)(),(0,p.iD)("div",ge,[be,(0,p.Wm)(Ut,{rows:"3",type:"textarea",autoSize:"",modelValue:jt.value,"onUpdate:modelValue":l[26]||(l[26]=e=>jt.value=e),name:"Token的密码",label:"Token的密码","input-align":"center",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:vt}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),1==qt.value?((0,p.wg)(),(0,p.iD)("div",ye,[Ve,(0,p.Wm)(Ut,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:Ot.value,"onUpdate:modelValue":l[27]||(l[27]=e=>Ot.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,p.kq)("",!0),We])),_:1}),(0,p._)("div",Te,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),xe])),_:1},8,["show"]),(0,p.Wm)(lu,{show:ln.value,"onUpdate:show":l[49]||(l[49]=e=>ln.value=e),title:"token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ue,[(0,p.Wm)(Ft,null,{default:(0,p.w5)((()=>[1==Tt.value?((0,p.wg)(),(0,p.iD)("div",Ae,[(0,p._)("div",He,[(0,p.Wm)(uu,null,{default:(0,p.w5)((()=>[(0,p._)("div",ze,[(0,p.Wm)(tu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(nu,{title:"GPT3.5",value:Au.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Pe,[(0,p.Wm)(tu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(nu,{title:"总计",value:Au.value+Hu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Se,[(0,p.Wm)(tu,null,{default:(0,p.w5)((()=>[(0,p.Wm)(nu,{title:"GPT4.0",value:Hu.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(ou,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(au)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,p.kq)("",!0),(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Ne,(0,p.Wm)(Ut,{modelValue:ht.value,"onUpdate:modelValue":l[30]||(l[30]=e=>ht.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[31]||(l[31]=e=>ki(ht.value))},null,8,["modelValue"]),Ce,(0,p.Wm)(Ut,{modelValue:Wt.value,"onUpdate:modelValue":l[32]||(l[32]=e=>Wt.value=e),type:"temPassword",name:"Token的密码",label:"Token的密码",placeholder:"Token的密码","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[33]||(l[33]=e=>ki(Wt.value))},null,8,["modelValue"]),Oe,(0,p.Wm)(Ut,{modelValue:ft.value,"onUpdate:modelValue":l[34]||(l[34]=e=>ft.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>ki(ft.value))},null,8,["modelValue"]),$e,(0,p.Wm)(Ut,{modelValue:gt.value,"onUpdate:modelValue":l[36]||(l[36]=e=>gt.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>ki(gt.value))},null,8,["modelValue"]),Be,(0,p.Wm)(Ut,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:bt.value,"onUpdate:modelValue":l[38]||(l[38]=e=>bt.value=e)},null,8,["modelValue"])])),_:1}),De,(0,p.Wm)(Ut,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:yt.value,"onUpdate:modelValue":l[39]||(l[39]=e=>yt.value=e)},null,8,["modelValue"])])),_:1}),qe,(0,p.Wm)(Ut,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:Vt.value,"onUpdate:modelValue":l[40]||(l[40]=e=>Vt.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,p.Wm)(Ut,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:Tt.value,"onUpdate:modelValue":l[41]||(l[41]=e=>Tt.value=e)},null,8,["modelValue"])])),_:1}),je,(0,p.Wm)(Ut,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{disabled:"","active-color":"#0ea27e",modelValue:xt.value,"onUpdate:modelValue":l[42]||(l[42]=e=>xt.value=e)},null,8,["modelValue"])])),_:1}),Le,(0,p.Wm)(Ut,{modelValue:wt.value,"onUpdate:modelValue":l[43]||(l[43]=e=>wt.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[44]||(l[44]=e=>ki(wt.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),1==Tt.value?((0,p.wg)(),(0,p.iD)("div",Ze,[Re,(0,p.Wm)(Ut,{modelValue:_t.value,"onUpdate:modelValue":l[45]||(l[45]=e=>_t.value=e),label:"access_token",type:"textarea",maxlength:"5000","input-align":"center",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[46]||(l[46]=e=>ki(_t.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),Ee,(0,p.Wm)(Ut,{modelValue:kt.value,"onUpdate:modelValue":l[47]||(l[47]=e=>kt.value=e),label:"share_token",type:"textarea",maxlength:"200","input-align":"center",placeholder:"请填写OpenAi的share_token","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>ki(kt.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"])])):(0,p.kq)("",!0)])),_:1}),Ke])),_:1})])])),_:1},8,["show"]),(0,p.Wm)(lu,{show:an.value,"onUpdate:show":l[64]||(l[64]=e=>an.value=e),title:"PandoraNext设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Je,[(0,p.Wm)(Ft,{onSubmit:l[63]||(l[63]=e=>Ku(Zo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Me,(0,p.Wm)(Ut,{modelValue:Vn.value,"onUpdate:modelValue":l[50]||(l[50]=e=>Vn.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Ge,(0,p.Wm)(Ut,{modelValue:Wn.value,"onUpdate:modelValue":l[51]||(l[51]=e=>Wn.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Ye,(0,p.Wm)(Ut,{modelValue:Pn.value,"onUpdate:modelValue":l[52]||(l[52]=e=>Pn.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Xe,(0,p.Wm)(Ut,{modelValue:Tn.value,"onUpdate:modelValue":l[53]||(l[53]=e=>Tn.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),Fe,(0,p.Wm)(Ut,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Un.value,"onUpdate:modelValue":l[54]||(l[54]=e=>Un.value=e)},null,8,["modelValue"])])),_:1}),Qe,(0,p.Wm)(Ut,{name:"switch",label:"是否配置证书"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Sn.value,"onUpdate:modelValue":l[55]||(l[55]=e=>Sn.value=e)},null,8,["modelValue"])])),_:1}),1==Sn.value?((0,p.wg)(),(0,p.iD)("div",el,[ll,(0,p.Wm)(Ut,{modelValue:Nn.value,"onUpdate:modelValue":l[56]||(l[56]=e=>Nn.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),al,(0,p.Wm)(Ut,{modelValue:Cn.value,"onUpdate:modelValue":l[57]||(l[57]=e=>Cn.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,p.kq)("",!0),ol,(0,p.Wm)(Ut,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:An.value,"onUpdate:modelValue":l[58]||(l[58]=e=>An.value=e)},null,8,["modelValue"])])),_:1}),nl,(0,p.Wm)(Ut,{name:"switch",label:"是否自动打码"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Hn.value,"onUpdate:modelValue":l[59]||(l[59]=e=>Hn.value=e)},null,8,["modelValue"])])),_:1}),tl,(0,p.Wm)(Ut,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:zn.value,"onUpdate:modelValue":l[60]||(l[60]=e=>zn.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,p.Wm)(Ut,{modelValue:xn.value,"onUpdate:modelValue":l[61]||(l[61]=e=>xn.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),il,(0,p.Wm)(Ut,{modelValue:Rn.value,"onUpdate:modelValue":l[62]||(l[62]=e=>Rn.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),rl])),_:1}),(0,p._)("div",sl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),dl])),_:1},8,["show"]),(0,p.Wm)(lu,{show:on.value,"onUpdate:show":l[76]||(l[76]=e=>on.value=e),title:"tokensTool设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",ml,[(0,p.Wm)(Ft,{onSubmit:l[75]||(l[75]=e=>Ku(Ro))},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[cl,(0,p.Wm)(Ut,{modelValue:Bn.value,"onUpdate:modelValue":l[65]||(l[65]=e=>Bn.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),pl,(0,p.Wm)(Ut,{modelValue:Dn.value,"onUpdate:modelValue":l[66]||(l[66]=e=>Dn.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"]),vl,(0,p.Wm)(Ut,{modelValue:yn.value,"onUpdate:modelValue":l[67]||(l[67]=e=>yn.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"]),hl,(0,p.Wm)(Ut,{modelValue:Zn.value,"onUpdate:modelValue":l[68]||(l[68]=e=>Zn.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),wl,(0,p.Wm)(Ut,{modelValue:$n.value,"onUpdate:modelValue":l[69]||(l[69]=e=>$n.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"]),_l,(0,p.Wm)(Ut,{modelValue:On.value,"onUpdate:modelValue":l[70]||(l[70]=e=>On.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:ct}]},null,8,["modelValue","rules"]),kl,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:qn.value,"onUpdate:modelValue":l[71]||(l[71]=e=>qn.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),fl,(0,p.Wm)(Ut,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:In.value,"onUpdate:modelValue":l[72]||(l[72]=e=>In.value=e)},null,8,["modelValue"])])),_:1}),1==In.value?((0,p.wg)(),(0,p.iD)("div",gl,[bl,(0,p.Wm)(Ut,{modelValue:jn.value,"onUpdate:modelValue":l[73]||(l[73]=e=>jn.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:mt}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),yl,(0,p.Wm)(Ut,{modelValue:Ln.value,"onUpdate:modelValue":l[74]||(l[74]=e=>Ln.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Vl])),_:1}),(0,p._)("div",Wl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Tl])),_:1},8,["show"]),(0,p.Wm)(lu,{show:nn.value,"onUpdate:show":l[85]||(l[85]=e=>nn.value=e),title:"PandoraNext验证信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",xl,[(0,p.Wm)(Ft,{onSubmit:l[84]||(l[84]=e=>Ku(Eo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Ul,(0,p.Wm)(Ut,{modelValue:En.value,"onUpdate:modelValue":l[77]||(l[77]=e=>En.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Al,(0,p.Wm)(Ut,{modelValue:Kn.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Kn.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),Hl,(0,p.Wm)(Ut,{modelValue:Jn.value,"onUpdate:modelValue":l[79]||(l[79]=e=>Jn.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),zl,(0,p.Wm)(Ut,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Mn.value,"onUpdate:modelValue":l[80]||(l[80]=e=>Mn.value=e)},null,8,["modelValue"])])),_:1}),Pl,(0,p.Wm)(Ut,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Gn.value,"onUpdate:modelValue":l[81]||(l[81]=e=>Gn.value=e)},null,8,["modelValue"])])),_:1}),Sl,(0,p.Wm)(Ut,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Yn.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Yn.value=e)},null,8,["modelValue"])])),_:1}),Nl,(0,p.Wm)(Ut,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Xn.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Xn.value=e)},null,8,["modelValue"])])),_:1}),Cl])),_:1}),(0,p._)("div",Ol,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),$l])),_:1},8,["show"]),(0,p.Wm)(Wu,{modelValue:tn.value,"onUpdate:modelValue":l[89]||(l[89]=e=>tn.value=e),title:"pool_token列表","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Bl,[(0,p.Wm)(ou,{onClick:l[86]||(l[86]=e=>ki(lt.value+yn.value+"/v1/chat/completions"))},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:1}),(0,p.Wm)(ru,{style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"}},{default:(0,p.w5)((()=>[(0,p.Uk)(" API地址:"+(0,v.zw)(lt.value)+(0,v.zw)(yn.value)+"/v1/chat/completions ",1)])),_:1})]),(0,p._)("div",Dl,[(0,p.Wm)((0,h.SU)(W.eI),{"row-class-name":ku,data:Ht.value,onSelectionChange:Xo,ref_key:"multipleTableRefPool",ref:Jo},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{type:"selection",width:"45"}),(0,p.Wm)(y,{prop:"intoOneApi",label:"pool_token名称",sortable:"","min-width":"170","default-sort":{prop:"poolTime",prop:"intoOneApi"},class:"poolTokenDialog"},{default:(0,p.w5)((e=>[(0,p._)("div",ql,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,p.wg)(),(0,p.iD)("div",Il,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[jl])),_:1})])):1==e.row.intoOneApi?((0,p.wg)(),(0,p.iD)("div",Ll,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Zl])),_:1})])):((0,p.wg)(),(0,p.iD)("div",Rl,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[El])),_:1})])),(0,p._)("span",Kl,(0,v.zw)(e.row.poolName),1)])])),_:1}),(0,p.Wm)(y,{label:"pool_token值","min-width":"265"},{default:(0,p.w5)((e=>[(0,p._)("div",Jl,[(0,p.Wm)(ou,{onClick:l=>ki(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:2},1032,["onClick"]),(0,p._)("span",Ml,(0,v.zw)(e.row.poolToken),1)])])),_:1}),(0,p.Wm)(y,{label:"使用token名集合","min-width":"165"},{default:(0,p.w5)((e=>[(0,p.Wm)(Mo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(e.row.shareTokens),1)])),_:2},1024)])),reference:(0,p.w5)((()=>[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[Gl])),_:1})])),_:2},1024)])),_:1}),(0,p.Wm)(y,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"180"}),(0,p.Wm)(y,{label:"操作方法","min-width":"285"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>di(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("检验")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>si(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>ni(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>ri(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])]),(0,p._)("div",Yl,[(0,p.Wm)(su,{class:"pool-button"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:gn.value,"onUpdate:modelValue":l[87]||(l[87]=e=>gn.value=e),filterable:"",clearable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(bn,(e=>(0,p.Wm)(Go,{key:e.buttonPoolValue,label:e.label,value:e.buttonPoolValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(V,{onClick:l[88]||(l[88]=e=>gi(gn.value))},{default:(0,p.w5)((()=>[Xl])),_:1})])),_:1})]),Fl])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:un.value,"onUpdate:modelValue":l[93]||(l[93]=e=>un.value=e),title:"PandoraNext余额","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ql,[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[ea,(0,p.Wm)(Ut,{modelValue:wu.value,"onUpdate:modelValue":l[90]||(l[90]=e=>wu.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),la,(0,p.Wm)(Ut,{modelValue:Qu.value,"onUpdate:modelValue":l[91]||(l[91]=e=>Qu.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),aa,(0,p.Wm)(Ut,{modelValue:ei.value,"onUpdate:modelValue":l[92]||(l[92]=e=>ei.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),oa])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(lu,{show:rn.value,"onUpdate:show":l[101]||(l[101]=e=>rn.value=e),title:"定时刷新&PandoraNext网址","align-center":"",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",na,[(0,p.Wm)(Ft,{onSubmit:l[100]||(l[100]=e=>Ju())},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[ta,(0,p.Wm)(Ut,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:Fn.value,"onUpdate:modelValue":l[94]||(l[94]=e=>Fn.value=e)},null,8,["modelValue"])])),_:1}),1==Fn.value?((0,p.wg)(),(0,p.iD)("div",ua,[ia,(0,p.Wm)(Ut,{modelValue:Qn.value,"onUpdate:modelValue":l[95]||(l[95]=e=>Qn.value=e),name:"自动刷新session的间隔天数",label:"自动刷新session的间隔天数","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),ra,(0,p.Wm)(Ut,{modelValue:et.value,"onUpdate:modelValue":l[96]||(l[96]=e=>et.value=e),name:"自动刷新session的个数",label:"自动刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"])])):(0,p.kq)("",!0),sa,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:lt.value,"onUpdate:modelValue":l[97]||(l[97]=e=>lt.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),da,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:at.value,"onUpdate:modelValue":l[98]||(l[98]=e=>at.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),ma,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:ot.value,"onUpdate:modelValue":l[99]||(l[99]=e=>ot.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),ca])),_:1}),(0,p._)("div",pa,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),va])),_:1},8,["show"]),(0,p.Wm)(lu,{show:sn.value,"onUpdate:show":l[108]||(l[108]=e=>sn.value=e),title:"添加poolToken信息",width:"90vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",ha,[(0,p.Wm)(Ft,{onSubmit:du},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[(0,p.Wm)(Ut,{modelValue:tt.value,"onUpdate:modelValue":l[102]||(l[102]=e=>tt.value=e),name:"pool_token名",label:"pool_token名","input-align":"right",placeholder:"3到10个字符",rules:[{validator:pt}]},null,8,["modelValue","rules"]),wa,(0,p.Wm)(Ut,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:ut.value,"onUpdate:modelValue":l[103]||(l[103]=e=>ut.value=e)},null,8,["modelValue"])])),_:1}),1==ut.value?((0,p.wg)(),(0,p.iD)("div",_a,[ka,(0,p.Wm)(Ut,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:it.value,"onUpdate:modelValue":l[104]||(l[104]=e=>it.value=e)},null,8,["modelValue"])])),_:1}),fa,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[105]||(l[105]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ga,(0,p.Wm)(Ut,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Ko.value,"onUpdate:modelValue":l[106]||(l[106]=e=>Ko.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",ba,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",ya,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Va,(0,p.Wm)(Ut,{rows:"2",autosize:"",type:"textarea",modelValue:rt.value,"onUpdate:modelValue":l[107]||(l[107]=e=>rt.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),Wa])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ta,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),xa])),_:1},8,["show"]),(0,p.Wm)(Wu,{modelValue:dn.value,"onUpdate:modelValue":l[109]||(l[109]=e=>dn.value=e),title:"tokensTool登录日志","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ua,[(0,p.Wm)((0,h.SU)(W.eI),{"row-class-name":ku,data:Pt.value},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{prop:"ipAddress",label:"登录地区","min-width":"160"},{default:(0,p.w5)((e=>[(0,p._)("div",Aa,[(0,p._)("span",Ha,(0,v.zw)(e.row.ipAddress),1)])])),_:1}),(0,p.Wm)(y,{label:"登录IP","min-width":"155"},{default:(0,p.w5)((e=>[(0,p._)("div",za,[(0,p.Wm)(ou,{onClick:l=>ki(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:2},1032,["onClick"]),(0,p._)("span",Pa,(0,v.zw)(e.row.requestIp),1)])])),_:1}),(0,p.Wm)(y,{label:"成功/失败","min-width":"105"},{default:(0,p.w5)((e=>[(0,p._)("div",Sa,[(0,p._)("span",Na,(0,v.zw)(e.row.inRequestNumber)+"/"+(0,v.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,p.Wm)(y,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),Ca])),_:1},8,["modelValue"]),(0,p.Wm)(lu,{show:mn.value,"onUpdate:show":l[117]||(l[117]=e=>mn.value=e),title:"添加poolToken信息",width:"95vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Oa,[(0,p.Wm)(Ft,{onSubmit:vu},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[$a,(0,p._)("div",Ba,[(0,p.Wm)(ju,{label:"poolToken名"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:nt.value,"onUpdate:modelValue":l[110]||(l[110]=e=>nt.value=e),filterable:"",clearable:"",placeholder:"选择要修改的pool名",onChange:mu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(Ht.value,(e=>((0,p.wg)(),(0,p.j4)(Go,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Da,(0,p.Wm)(Ut,{modelValue:dt.value,"onUpdate:modelValue":l[111]||(l[111]=e=>dt.value=e),type:"textarea",autoSize:"",name:"pool_token的值",label:"pool_token的值",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),qa,(0,p.Wm)(Ut,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:ut.value,"onUpdate:modelValue":l[112]||(l[112]=e=>ut.value=e)},null,8,["modelValue"])])),_:1}),Ia,1==ut.value?((0,p.wg)(),(0,p.iD)("div",ja,[La,(0,p.Wm)(Ut,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Yt,{"active-color":"#0ea27e",modelValue:it.value,"onUpdate:modelValue":l[113]||(l[113]=e=>it.value=e)},null,8,["modelValue"])])),_:1}),Za,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[114]||(l[114]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ra,(0,p.Wm)(Ut,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Ko.value,"onUpdate:modelValue":l[115]||(l[115]=e=>Ko.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Ea,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",Ka,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ja,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:rt.value,"onUpdate:modelValue":l[116]||(l[116]=e=>rt.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Ma])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ga,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ya])),_:1},8,["show"]),(0,p.Wm)(Wu,{modelValue:cn.value,"onUpdate:modelValue":l[118]||(l[118]=e=>cn.value=e),"align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",{ref_key:"chart",ref:bi,style:{width:"auto",height:"350px"}},null,512)])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:pn.value,"onUpdate:modelValue":l[122]||(l[122]=e=>pn.value=e),title:"share_token in oneApi","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p.Wm)(b,{modelValue:Gt.value,"onUpdate:modelValue":l[120]||(l[120]=e=>Gt.value=e),"show-action":"",clearable:"",shape:"round",placeholder:"请输入搜索share_token名称",onSearch:l[121]||(l[121]=e=>eu(Gt.value)),class:"onShareToken"},{action:(0,p.w5)((()=>[(0,p.Wm)(V,{onClick:l[119]||(l[119]=e=>vn.value=!0)},{default:(0,p.w5)((()=>[Xa])),_:1})])),_:1},8,["modelValue"]),(0,p._)("div",Fa,[(0,p.Wm)((0,h.SU)(W.eI),{data:zt.value,"row-class-name":ku},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{label:"在one_api的名称",prop:"oneApi_name",width:"180"},{default:(0,p.w5)((e=>[(0,p._)("div",Qa,[(0,p._)("span",eo,(0,v.zw)(e.row.oneApi_name),1)])])),_:1}),(0,p.Wm)(y,{label:"来源Token名","min-width":"135"},{default:(0,p.w5)((e=>[(0,p._)("div",lo,[(0,p._)("span",ao,(0,v.zw)(e.row.token_name),1)])])),_:1}),(0,p.Wm)(y,{label:"share_token值","min-width":"355"},{default:(0,p.w5)((e=>[(0,p._)("div",oo,[(0,p.Wm)(ou,{onClick:l=>ki(e.row.token_value)},{default:(0,p.w5)((()=>[(0,p.Wm)(iu)])),_:2},1032,["onClick"]),(0,p._)("span",no,(0,v.zw)(e.row.token_value),1)])])),_:1}),(0,p.Wm)(y,{property:"shareTime",label:"更新时间",prop:"shareTime","min-width":"170"}),(0,p.Wm)(y,{label:"操作方法","min-width":"235"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>Iu(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>ti(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("修改")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>ci(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])]),to])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:vn.value,"onUpdate:modelValue":l[129]||(l[129]=e=>vn.value=e),title:"添加shareToken进one_api","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",uo,[(0,p.Wm)(Ft,{onSubmit:hu},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[io,(0,p.Wm)(Ut,{modelValue:Lt.value,"onUpdate:modelValue":l[123]||(l[123]=e=>Lt.value=e),name:"oneApi中渠道名称",label:"oneApi中渠道名称","input-align":"right",placeholder:"oneApi中渠道名称",rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),ro,(0,p._)("div",so,[(0,p.Wm)(ju,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:Zt.value,"onUpdate:modelValue":l[124]||(l[124]=e=>Zt.value=e),filterable:"",clearable:"",placeholder:"选择要添加的Token名",onChange:cu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(pu.value,(e=>((0,p.wg)(),(0,p.j4)(Go,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),mo,(0,p._)("div",co,[(0,p.Wm)(ju,{label:"选择模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",po,[(0,p.Wm)(Fo,{modelValue:Et.value,"onUpdate:modelValue":l[125]||(l[125]=e=>Et.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"select models",style:{"max-width":"175px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(fn,(e=>(0,p.Wm)(Go,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),vo,(0,p.Wm)(Ut,{modelValue:Jt.value,"onUpdate:modelValue":l[126]||(l[126]=e=>Jt.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),ho,(0,p.Wm)(Ut,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Kt.value,"onUpdate:modelValue":l[127]||(l[127]=e=>Kt.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",wo,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",_o,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),ko,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Rt.value,"onUpdate:modelValue":l[128]||(l[128]=e=>Rt.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),fo])),_:1}),(0,p._)("div",go,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:hn.value,"onUpdate:modelValue":l[144]||(l[144]=e=>hn.value=e),title:"查看shareToken在one_api信息","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",bo,[(0,p.Wm)(Ft,{onSubmit:e.shareToken},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[yo,(0,p.Wm)(Ut,{modelValue:Pu.value,"onUpdate:modelValue":l[130]||(l[130]=e=>Pu.value=e),name:"oneApi中渠道名称","input-align":"center",label:"oneApi中渠道名称",placeholder:"oneApi中渠道名称","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[131]||(l[131]=e=>ki(Pu.value)),rules:[{required:!0,message:"请填写oneApi中渠道名称"}]},null,8,["modelValue"]),Vo,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Nu.value,"onUpdate:modelValue":l[132]||(l[132]=e=>Nu.value=e),name:"share_token的值",label:"share_token的值","input-align":"center",placeholder:"share_token的值","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[133]||(l[133]=e=>ki(Nu.value))},null,8,["modelValue"]),Wo,(0,p.Wm)(Ut,{modelValue:Su.value,"onUpdate:modelValue":l[134]||(l[134]=e=>Su.value=e),name:"share_token的来源",label:"share_token的来源","input-align":"center",placeholder:"share_token的值","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[135]||(l[135]=e=>ki(Su.value))},null,8,["modelValue"]),To,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:$u.value,"onUpdate:modelValue":l[136]||(l[136]=e=>$u.value=e),name:"模型",label:"模型","input-align":"center",placeholder:"加入的模型","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[137]||(l[137]=e=>ki($u.value))},null,8,["modelValue"]),xo,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[138]||(l[138]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"center",placeholder:"渠道优先级(默认为0)","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[139]||(l[139]=e=>ki(st.value)),rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Uo,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Du.value,"onUpdate:modelValue":l[140]||(l[140]=e=>Du.value=e),name:"加入的组别",label:"加入的组别","input-align":"center",placeholder:"加入的组别","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[141]||(l[141]=e=>ki(Du.value))},null,8,["modelValue"]),Ao,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Cu.value,"onUpdate:modelValue":l[142]||(l[142]=e=>Cu.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"center",placeholder:"自定义baseUrl地址","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[143]||(l[143]=e=>ki(Cu.value)),rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),Ho])),_:1})])),_:1},8,["onSubmit"])])])),_:1},8,["modelValue"]),(0,p.Wm)(Wu,{modelValue:wn.value,"onUpdate:modelValue":l[150]||(l[150]=e=>wn.value=e),title:"修改shareToken进one_api","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",zo,[(0,p.Wm)(Ft,{onSubmit:ui},{default:(0,p.w5)((()=>[(0,p.Wm)(Xt,{inset:""},{default:(0,p.w5)((()=>[Po,(0,p._)("div",So,[(0,p.Wm)(ju,{label:"Token名","input-align":"right"},{default:(0,p.w5)((()=>[(0,p.Wm)(Fo,{modelValue:Su.value,"onUpdate:modelValue":l[145]||(l[145]=e=>Su.value=e),filterable:"",clearable:"",placeholder:"选择添加的Token名称",onChange:cu,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(pu.value,(e=>((0,p.wg)(),(0,p.j4)(Go,{key:e.name,label:e.name,value:e.name,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),No,(0,p._)("div",Co,[(0,p.Wm)(ju,{label:"选择模型","input-align":"right"},{default:(0,p.w5)((()=>[(0,p._)("div",Oo,[(0,p.Wm)(Fo,{modelValue:Ou.value,"onUpdate:modelValue":l[146]||(l[146]=e=>Ou.value=e),multiple:"",filterable:"","allow-create":"",clearable:"",placeholder:"select models",style:{"max-width":"175px"}},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(fn,(e=>(0,p.Wm)(Go,{key:e.buttonModel,label:e.label,value:e.buttonModel},null,8,["label","value"]))),64))])),_:1},8,["modelValue"])])])),_:1})]),$o,(0,p.Wm)(Ut,{modelValue:st.value,"onUpdate:modelValue":l[147]||(l[147]=e=>st.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Bo,(0,p.Wm)(Ut,{"input-align":"right",name:"addOneApi_groups",label:"在one-api的组别"},{input:(0,p.w5)((()=>[(0,p.Wm)(qu,{modelValue:Du.value,"onUpdate:modelValue":l[148]||(l[148]=e=>Du.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Do,[(0,p.Wm)(Bu,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",qo,[(0,p.Wm)(Bu,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(Bu,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Io,(0,p.Wm)(Ut,{type:"textarea",autoSize:"",modelValue:Cu.value,"onUpdate:modelValue":l[149]||(l[149]=e=>Cu.value=e),name:"自定义baseUrl地址",label:"自定义baseUrl地址","input-align":"right",placeholder:"自定义baseUrl地址",rules:[{required:!0,message:"请填写自定义baseUrl地址"}]},null,8,["modelValue"]),jo])),_:1}),(0,p._)("div",Lo,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"])],64)}}});const Jo=Ko;var Mo=Jo}}]); +//# sourceMappingURL=581.b12fce75.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/581.b12fce75.js.map b/rearServer/target/classes/static/js/581.b12fce75.js.map new file mode 100644 index 0000000..4c06620 --- /dev/null +++ b/rearServer/target/classes/static/js/581.b12fce75.js.map @@ -0,0 +1 @@ +{"version":3,"file":"js/581.b12fce75.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue","webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue?1abb"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"img\", {\n style: {\n \"width\": \"25px\"\n },\n src: _imports_0\n}, null, -1);\nconst _hoisted_4 = {\n class: \"home-container\"\n};\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.3 \")], -1);\nconst _hoisted_11 = {\n class: \"under\"\n};\nconst _hoisted_12 = {\n class: \"search\"\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"0px 0px -20px 0px\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"width\": \"88vw\",\n \"height\": \"63vh\",\n \"transform\": \"translateX(0vw)\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_17 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_18 = {\n style: {\n \"margin\": \"13px\",\n \"transform\": \"translateX(7px)\"\n }\n};\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = {\n key: 0\n};\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 0\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_31 = {\n key: 1\n};\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = {\n key: 0\n};\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 1\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 0\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_49 = {\n key: 2\n};\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 3\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_54 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_57 = {\n key: 0\n};\nconst _hoisted_58 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_59 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_60 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_62 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_63 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = {\n key: 0\n};\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = {\n key: 0\n};\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = {\n key: 0\n};\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_121 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(102.5% + 40px)\"\n }\n};\nconst _hoisted_122 = {\n style: {\n \"margin-left\": \"10px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_123 = {\n key: 0\n};\nconst _hoisted_124 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_125 = {\n key: 1\n};\nconst _hoisted_126 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_127 = {\n key: 2\n};\nconst _hoisted_128 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_129 = {\n style: {\n \"margin-left\": \"20px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_130 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_132 = /*#__PURE__*/_createElementVNode(\"span\", {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n}, \"点击此进行查看\", -1);\nconst _hoisted_133 = {\n style: {\n \"margin\": \"10px 0px 10px 0px\"\n }\n};\nconst _hoisted_134 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_135 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_136 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_138 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_139 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = {\n key: 0\n};\nconst _hoisted_144 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_145 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_146 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_151 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_152 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_153 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_154 = {\n key: 0\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_157 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_158 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_159 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_160 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_161 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_162 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_163 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_164 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(100% + 2.5% + 40px)\"\n }\n};\nconst _hoisted_165 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_166 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_168 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_169 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_170 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_171 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_172 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_175 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_176 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = {\n key: 0\n};\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_181 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_182 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_183 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_184 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_185 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_186 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_187 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_188 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"添加到one_api\", -1);\nconst _hoisted_189 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(102.5% + 40px)\"\n }\n};\nconst _hoisted_190 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_191 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_192 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_193 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_194 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_195 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_196 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_197 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_198 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_199 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_200 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_201 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_202 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_203 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_204 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_205 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_206 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_207 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_208 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_209 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_210 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_211 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_212 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_213 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_214 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_215 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_216 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_217 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_218 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_219 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_220 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_221 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_222 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_223 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_224 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_225 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"flex-end\"\n }\n};\nconst _hoisted_226 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_227 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_228 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_229 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_230 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_231 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_232 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nimport { computed } from 'vue';\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIphone',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleTableRefPool = ref();\n const multipleSelection = ref([]);\n const multipleSelectionPool = ref([]);\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const poolSelectionChange = val => {\n multipleSelectionPool.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n const show_13 = ref(false);\n const show_14 = ref(false);\n const show_15 = ref(false);\n const show_16 = ref(false);\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n const buttonModel = ref(\"\");\n const optionsModel = [{\n buttonModel: \"gpt-4-s\",\n label: \"gpt-4-s\"\n }, {\n buttonModel: \"gpt-4-mobile\",\n label: \"gpt-4-mobile\"\n }, {\n buttonModel: \"gpt-4-vision\",\n label: \"gpt-4-vision\"\n }, {\n buttonModel: \"gpt-3.5-turbo\",\n label: \"gpt-3.5-turbo\"\n }, {\n buttonModel: \"gpt-4-classic\",\n label: \"gpt-4-classic\"\n }];\n const buttonPoolValue = ref(\"\");\n const optionsPool = [{\n buttonPoolValue: \"选中检查pool_token\",\n label: \"选中检查pool_token\"\n }, {\n buttonPoolValue: \"选中删除pool_token\",\n label: \"选中删除pool_token\"\n }, {\n buttonPoolValue: \"选中刷新pool_token\",\n label: \"选中刷新pool_token\"\n }, {\n buttonPoolValue: \"选中更换pool_token\",\n label: \"选中更换pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n const shareData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n /**\r\n * 添加用户信息参数\r\n */\n const addOneApi_name = ref(\"\");\n const addToken_name = ref(\"\");\n const addToken_value = ref(\"\");\n const addOneApi_baseUrl = ref(\"\");\n const addOneApi_models = ref([]);\n const addOneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const addPriority = ref(0);\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n const valuePool = ref(\"\");\n const valueShare = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n const onSearchShareToken = value => {\n getShare(value);\n };\n const onSearchPoolToken = value => {\n getPool(value);\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=${value}`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getShare = async value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const responseShare = await axios.get(`${prefix}/api/selectShareToken?name=${value}`, {\n headers\n });\n const share_token = responseShare.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(share_token)) {\n const resShares = share_token.map(item => ({\n oneApi_name: item.oneApi_name,\n token_name: item.token_name,\n token_value: item.token_value,\n oneApi_baseUrl: item.oneApi_baseUrl,\n oneApi_models: item.oneApi_models,\n oneApi_groups: item.oneApi_groups,\n shareTime: item.shareTime,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n shareData.value = resShares;\n }\n loadingInstance.close();\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n if (!pandoraNext_outUrl.value.endsWith(\"/\")) {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + \"/\" + proxy_api_prefix.value;\n } else {\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n }\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const handleShareNameChange = addToken_name => {\n let selectedItem = tableData.value.find(item => item.name === addToken_name && item.setPoolToken === true);\n };\n const filteredTableData = computed(() => {\n return tableData.value.filter(item => item.setPoolToken === true);\n });\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const addShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const addShareToken = {\n oneApi_name: addOneApi_name.value,\n token_name: addToken_name.value,\n oneApi_baseUrl: addOneApi_baseUrl.value,\n oneApi_models: addOneApi_models.value.toString(),\n oneApi_groups: addOneApi_groups.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addShareToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n addOneApi_name.value = \"\";\n addToken_name.value = \"\";\n addOneApi_baseUrl.value = \"\";\n addOneApi_models.value = [];\n addOneApi_groups.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_14.value = false;\n loadingInstance.close();\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n const oneApi_name = ref(\"\");\n const token_name = ref(\"\");\n const token_value = ref(\"\");\n const oneApi_baseUrl = ref(\"\");\n const oneApi_models = ref([]);\n const temOneApi_models = ref(\"\");\n const temOneApi_groups = ref(\"\");\n const oneApi_groups = ref([\"default\", \"svip\", \"vip\"]);\n const shareTime = ref(\"\");\n const showShareToken = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n temOneApi_models.value = row.oneApi_models;\n temOneApi_groups.value = row.oneApi_groups;\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_15.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提示\", {\n dangerouslyUseHTMLString: true\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n const reviewShare = row => {\n oneApi_name.value = row.oneApi_name;\n token_name.value = row.token_name;\n token_value.value = row.token_value;\n oneApi_baseUrl.value = row.oneApi_baseUrl;\n oneApi_models.value = row.oneApi_models.split(\",\");\n oneApi_groups.value = row.oneApi_groups.split(\",\");\n priority.value = row.priority;\n shareTime.value = row.shareTime;\n show_16.value = true;\n };\n const requireShareToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const requireShare = {\n oneApi_name: oneApi_name.value,\n token_name: token_name.value,\n token_value: token_value.value,\n oneApi_baseUrl: oneApi_baseUrl.value,\n oneApi_models: oneApi_models.value.toString(),\n oneApi_groups: oneApi_groups.value.toString(),\n priority: priority.value\n };\n fetch(`${prefix}/api/requireShareToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(requireShare)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getShare(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n show_16.value = false;\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteShareToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个share_Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteShareToken`, row, {\n headers\n }).then(async response => {\n msg = response.data.data;\n getShare(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getShareToken = async () => {\n await getShare(\"\");\n show_13.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const selectPoolChoice = buttonValue => {\n const selectedPoolData = multipleSelectionPool.value;\n const temPoolData = selectedPoolData.map(temPoolData => temPoolData);\n if (temPoolData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中检查pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要花\" + count + \"积分检查这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"检查取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中刷新pool_token\") {\n const reNewMsg = \"您确定要刷新这\" + selectedPoolData.length + \"个pool_token吗?\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中更换pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要更换这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"更换取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中删除pool_token\") {\n let count = selectedPoolData.length * 4;\n const reNewMsg = \"您确定要删除这\" + selectedPoolData.length + \"个pool_token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/deletePoolTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(temPoolData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n return;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_select_group = _resolveComponent(\"el-select-group\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"0\"\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\",\n onClick: getPandoraNext\n })]),\n default: _withCtx(() => [_hoisted_3]),\n _: 1\n }), _hoisted_5, _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"列表\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-1\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"pool_token列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2\",\n onClick: getShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"share_token列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"全部检查并生成\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-4\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-5\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"1-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-4\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-5\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用手册\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"状态\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"2-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-2-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-3-1\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-2\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-3\"\n }, {\n default: _withCtx(() => [_hoisted_8]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createElementVNode(\"div\", _hoisted_13, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => value.value = $event),\n shape: \"round\",\n clearable: \"\",\n placeholder: \"请输入搜索token名称或类型\",\n onSearch: onSearch\n }, null, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_14, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n class: \"tokenTable\",\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n width: \"160\",\n prop: \"setPoolToken\",\n sortable: \"\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_15, [_createElementVNode(\"div\", null, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024)]), _createElementVNode(\"span\", _hoisted_16, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n width: \"117\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createElementVNode(\"span\", _hoisted_17, [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)])]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"370\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_18, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"my-button\",\n onClick: _cache[6] || (_cache[6] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_19]),\n _: 1\n })])])]), _hoisted_20]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[17] || (_cache[17] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_21, [_createVNode(_component_van_form, {\n onSubmit: _cache[16] || (_cache[16] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_22, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n \"input-align\": \"center\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n \"input-align\": \"center\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [_hoisted_26, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_30, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [_hoisted_32, _createVNode(_component_van_field, {\n rows: \"2\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => temPassword.value = $event),\n name: \"Token的密码\",\n \"input-align\": \"center\",\n label: \"Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_33, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n \"input-align\": \"center\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 50\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_34]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_35, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_36]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[29] || (_cache[29] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_form, {\n onSubmit: _cache[28] || (_cache[28] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_38, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_39, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => addUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n rules: [{\n required: true,\n message: '请填写OpenAi用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_40, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[20] || (_cache[20] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [_hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_48, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_49, [_hoisted_50, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addPassword.value = $event),\n name: \"Token的密码\",\n label: \"Token的密码\",\n \"input-align\": \"center\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_53]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_54, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_55]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[49] || (_cache[49] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_57, [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_59, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_62, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[31] || (_cache[31] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_63, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[32] || (_cache[32] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"Token的密码\",\n label: \"Token的密码\",\n placeholder: \"Token的密码\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[33] || (_cache[33] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_64, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_67, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[39] || (_cache[39] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_68, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[41] || (_cache[41] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[44] || (_cache[44] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_72, [_hoisted_73, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[46] || (_cache[46] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), _hoisted_74, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的share_token\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_75]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[64] || (_cache[64] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_76, [_createVNode(_component_van_form, {\n onSubmit: _cache[63] || (_cache[63] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_77, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[50] || (_cache[50] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_78, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_79, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[52] || (_cache[52] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[53] || (_cache[53] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_82, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_83, [_hoisted_84, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_85, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_86, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_87, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_90, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_91]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_92, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_93]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[76] || (_cache[76] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_form, {\n onSubmit: _cache[75] || (_cache[75] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_95, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_96, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_97, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[67] || (_cache[67] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[68] || (_cache[68] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_101, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_102, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_103, [_hoisted_104, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_105, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_106]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_107, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_108]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[85] || (_cache[85] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_form, {\n onSubmit: _cache[84] || (_cache[84] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_110, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_111, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_112, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[79] || (_cache[79] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[80] || (_cache[80] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_114, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_118, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_119]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[89] || (_cache[89] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_el_icon, {\n onClick: _cache[86] || (_cache[86] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, {\n style: {\n \"white-space\": \"nowrap\",\n \"overflow\": \"hidden\",\n \"text-overflow\": \"ellipsis\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\" API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions \", 1)]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_121, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: poolData.value,\n onSelectionChange: poolSelectionChange,\n ref_key: \"multipleTableRefPool\",\n ref: multipleTableRefPool\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n prop: \"intoOneApi\",\n label: \"pool_token名称\",\n sortable: \"\",\n \"min-width\": \"170\",\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_122, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_123, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_124]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_125, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_126]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_127, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_128]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_129, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"265\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_130, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_131, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"165\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.shareTokens), 1)]),\n _: 2\n }, 1024)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_hoisted_132]),\n _: 1\n })]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"180\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"285\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])]), _createElementVNode(\"div\", _hoisted_133, [_createVNode(_component_el_select_group, {\n class: \"pool-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: buttonPoolValue.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => buttonPoolValue.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsPool, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonPoolValue,\n label: item.label,\n value: item.buttonPoolValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n onClick: _cache[88] || (_cache[88] = $event => selectPoolChoice(buttonPoolValue.value))\n }, {\n default: _withCtx(() => [_hoisted_134]),\n _: 1\n })]),\n _: 1\n })]), _hoisted_135]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_136, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_137, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[90] || (_cache[90] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_138, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_139, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[92] || (_cache[92] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_140]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_8.value,\n \"onUpdate:show\": _cache[101] || (_cache[101] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_141, [_createVNode(_component_van_form, {\n onSubmit: _cache[100] || (_cache[100] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_142, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[94] || (_cache[94] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_143, [_hoisted_144, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => auto_updateTime.value = $event),\n name: \"自动刷新session的间隔天数\",\n label: \"自动刷新session的间隔天数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_145, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => auto_updateNumber.value = $event),\n name: \"自动刷新session的个数\",\n label: \"自动刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_146, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_147, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[98] || (_cache[98] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_148, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[99] || (_cache[99] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_149]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_150, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_151]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_9.value,\n \"onUpdate:show\": _cache[108] || (_cache[108] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n width: \"90vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_152, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[102] || (_cache[102] = $event => poolNameValue.value = $event),\n name: \"pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"3到10个字符\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_153, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_154, [_hoisted_155, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_156, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_157, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[106] || (_cache[106] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_158, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_159, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_160, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_161])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_162, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_163]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_164, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"160\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_165, [_createElementVNode(\"span\", _hoisted_166, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"155\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_167, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_168, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_169, [_createElementVNode(\"span\", _hoisted_170, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_171]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_11.value,\n \"onUpdate:show\": _cache[117] || (_cache[117] = $event => show_11.value = $event),\n title: \"添加poolToken信息\",\n width: \"95vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_172, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_173, _createElementVNode(\"div\", _hoisted_174, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择要修改的pool名\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_175, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => temPool_token.value = $event),\n type: \"textarea\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_176, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_177, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_178, [_hoisted_179, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_180, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_181, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[115] || (_cache[115] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_182, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_183, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_184, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_185])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_186, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_187]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[118] || (_cache[118] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"350px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_13.value,\n \"onUpdate:modelValue\": _cache[122] || (_cache[122] = $event => show_13.value = $event),\n title: \"share_token in oneApi\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_search, {\n modelValue: valueShare.value,\n \"onUpdate:modelValue\": _cache[120] || (_cache[120] = $event => valueShare.value = $event),\n \"show-action\": \"\",\n clearable: \"\",\n shape: \"round\",\n placeholder: \"请输入搜索share_token名称\",\n onSearch: _cache[121] || (_cache[121] = $event => onSearchShareToken(valueShare.value)),\n class: \"onShareToken\"\n }, {\n action: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: _cache[119] || (_cache[119] = $event => show_14.value = true)\n }, {\n default: _withCtx(() => [_hoisted_188]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"]), _createElementVNode(\"div\", _hoisted_189, [_createVNode(_unref(ElTable), {\n data: shareData.value,\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n label: \"在one_api的名称\",\n prop: \"oneApi_name\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_190, [_createElementVNode(\"span\", _hoisted_191, _toDisplayString(scope.row.oneApi_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"来源Token名\",\n \"min-width\": \"135\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_192, [_createElementVNode(\"span\", _hoisted_193, _toDisplayString(scope.row.token_name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"share_token值\",\n \"min-width\": \"355\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_194, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.token_value)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_195, _toDisplayString(scope.row.token_value), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"shareTime\",\n label: \"更新时间\",\n prop: \"shareTime\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"235\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => showShareToken(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewShare(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"修改\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteShareToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_196]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_14.value,\n \"onUpdate:modelValue\": _cache[129] || (_cache[129] = $event => show_14.value = $event),\n title: \"添加shareToken进one_api\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_197, [_createVNode(_component_van_form, {\n onSubmit: addShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_198, _createVNode(_component_van_field, {\n modelValue: addOneApi_name.value,\n \"onUpdate:modelValue\": _cache[123] || (_cache[123] = $event => addOneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n label: \"oneApi中渠道名称\",\n \"input-align\": \"right\",\n placeholder: \"oneApi中渠道名称\",\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_199, _createElementVNode(\"div\", _hoisted_200, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: addToken_name.value,\n \"onUpdate:modelValue\": _cache[124] || (_cache[124] = $event => addToken_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择要添加的Token名\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_201, _createElementVNode(\"div\", _hoisted_202, [_createVNode(_component_el_form_item, {\n label: \"选择模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_203, [_createVNode(_component_el_select, {\n modelValue: addOneApi_models.value,\n \"onUpdate:modelValue\": _cache[125] || (_cache[125] = $event => addOneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"select models\",\n style: {\n \"max-width\": \"175px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_204, _createVNode(_component_van_field, {\n modelValue: addPriority.value,\n \"onUpdate:modelValue\": _cache[126] || (_cache[126] = $event => addPriority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_205, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: addOneApi_groups.value,\n \"onUpdate:modelValue\": _cache[127] || (_cache[127] = $event => addOneApi_groups.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_206, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_207, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_208, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: addOneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[128] || (_cache[128] = $event => addOneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_209]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_210, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_15.value,\n \"onUpdate:modelValue\": _cache[144] || (_cache[144] = $event => show_15.value = $event),\n title: \"查看shareToken在one_api信息\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_211, [_createVNode(_component_van_form, {\n onSubmit: _ctx.shareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_212, _createVNode(_component_van_field, {\n modelValue: oneApi_name.value,\n \"onUpdate:modelValue\": _cache[130] || (_cache[130] = $event => oneApi_name.value = $event),\n name: \"oneApi中渠道名称\",\n \"input-align\": \"center\",\n label: \"oneApi中渠道名称\",\n placeholder: \"oneApi中渠道名称\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[131] || (_cache[131] = $event => copyToken(oneApi_name.value)),\n rules: [{\n required: true,\n message: '请填写oneApi中渠道名称'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_213, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: token_value.value,\n \"onUpdate:modelValue\": _cache[132] || (_cache[132] = $event => token_value.value = $event),\n name: \"share_token的值\",\n label: \"share_token的值\",\n \"input-align\": \"center\",\n placeholder: \"share_token的值\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[133] || (_cache[133] = $event => copyToken(token_value.value))\n }, null, 8, [\"modelValue\"]), _hoisted_214, _createVNode(_component_van_field, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[134] || (_cache[134] = $event => token_name.value = $event),\n name: \"share_token的来源\",\n label: \"share_token的来源\",\n \"input-align\": \"center\",\n placeholder: \"share_token的值\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[135] || (_cache[135] = $event => copyToken(token_name.value))\n }, null, 8, [\"modelValue\"]), _hoisted_215, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: temOneApi_models.value,\n \"onUpdate:modelValue\": _cache[136] || (_cache[136] = $event => temOneApi_models.value = $event),\n name: \"模型\",\n label: \"模型\",\n \"input-align\": \"center\",\n placeholder: \"加入的模型\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[137] || (_cache[137] = $event => copyToken(temOneApi_models.value))\n }, null, 8, [\"modelValue\"]), _hoisted_216, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[138] || (_cache[138] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"center\",\n placeholder: \"渠道优先级(默认为0)\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[139] || (_cache[139] = $event => copyToken(priority.value)),\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_217, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[140] || (_cache[140] = $event => oneApi_groups.value = $event),\n name: \"加入的组别\",\n label: \"加入的组别\",\n \"input-align\": \"center\",\n placeholder: \"加入的组别\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[141] || (_cache[141] = $event => copyToken(oneApi_groups.value))\n }, null, 8, [\"modelValue\"]), _hoisted_218, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[142] || (_cache[142] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"center\",\n placeholder: \"自定义baseUrl地址\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[143] || (_cache[143] = $event => copyToken(oneApi_baseUrl.value)),\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_219]),\n _: 1\n })]),\n _: 1\n }, 8, [\"onSubmit\"])])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_16.value,\n \"onUpdate:modelValue\": _cache[150] || (_cache[150] = $event => show_16.value = $event),\n title: \"修改shareToken进one_api\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_220, [_createVNode(_component_van_form, {\n onSubmit: requireShareToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_221, _createElementVNode(\"div\", _hoisted_222, [_createVNode(_component_el_form_item, {\n label: \"Token名\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: token_name.value,\n \"onUpdate:modelValue\": _cache[145] || (_cache[145] = $event => token_name.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择添加的Token名称\",\n onChange: handleShareNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filteredTableData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.name,\n label: item.name,\n value: item.name,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_223, _createElementVNode(\"div\", _hoisted_224, [_createVNode(_component_el_form_item, {\n label: \"选择模型\",\n \"input-align\": \"right\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_225, [_createVNode(_component_el_select, {\n modelValue: oneApi_models.value,\n \"onUpdate:modelValue\": _cache[146] || (_cache[146] = $event => oneApi_models.value = $event),\n multiple: \"\",\n filterable: \"\",\n \"allow-create\": \"\",\n clearable: \"\",\n placeholder: \"select models\",\n style: {\n \"max-width\": \"175px\"\n }\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(optionsModel, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonModel,\n label: item.label,\n value: item.buttonModel\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"])])]),\n _: 1\n })]), _hoisted_226, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[147] || (_cache[147] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_227, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"addOneApi_groups\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: oneApi_groups.value,\n \"onUpdate:modelValue\": _cache[148] || (_cache[148] = $event => oneApi_groups.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_228, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_229, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_230, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_baseUrl.value,\n \"onUpdate:modelValue\": _cache[149] || (_cache[149] = $event => oneApi_baseUrl.value = $event),\n name: \"自定义baseUrl地址\",\n label: \"自定义baseUrl地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义baseUrl地址\",\n rules: [{\n required: true,\n message: '请填写自定义baseUrl地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_231]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_232, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIphone.vue?vue&type=style&index=0&id=4e8068fc&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","style","src","_hoisted_4","_hoisted_5","_hoisted_6","href","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","key","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","_hoisted_185","_hoisted_186","_hoisted_187","_hoisted_188","_hoisted_189","_hoisted_190","_hoisted_191","_hoisted_192","_hoisted_193","_hoisted_194","_hoisted_195","_hoisted_196","_hoisted_197","_hoisted_198","_hoisted_199","_hoisted_200","_hoisted_201","_hoisted_202","_hoisted_203","_hoisted_204","_hoisted_205","_hoisted_206","_hoisted_207","_hoisted_208","_hoisted_209","_hoisted_210","_hoisted_211","_hoisted_212","_hoisted_213","_hoisted_214","_hoisted_215","_hoisted_216","_hoisted_217","_hoisted_218","_hoisted_219","_hoisted_220","_hoisted_221","_hoisted_222","_hoisted_223","_hoisted_224","_hoisted_225","_hoisted_226","_hoisted_227","_hoisted_228","_hoisted_229","_hoisted_230","_hoisted_231","_hoisted_232","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleTableRefPool","multipleSelection","multipleSelectionPool","handleSelectionChange","val","value","poolSelectionChange","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","show_13","show_14","show_15","show_16","buttonValue","options","label","optionsModel","buttonModel","buttonPoolValue","optionsPool","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","shareData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","addOneApi_name","addToken_name","addOneApi_baseUrl","addOneApi_models","addOneApi_groups","addPriority","innerHeight","valueShare","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","onSearchShareToken","getShare","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","getPool","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","loadingInstance","service","fullscreen","responseShare","resShares","oneApi_name","token_name","token_value","oneApi_baseUrl","oneApi_models","oneApi_groups","shareTime","close","getSetting","tls","endsWith","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","json","msg","handlePoolNameChange","selectedItem","find","handleShareNameChange","filteredTableData","requirePoolToken","addShareToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","temOneApi_models","temOneApi_groups","showShareToken","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","dangerouslyUseHTMLString","reNew","reNewMsg","ok","Error","reNewPool","reviewShare","requireShareToken","requireShare","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","deleteShareToken","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","logout","removeItem","getPoolToken","getShareToken","getLogin","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","selectPoolChoice","selectedPoolData","temPoolData","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_van_icon","_component_el_menu_item","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_select_group","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","size","onClick","$event","icon","extra","square","color","modelValue","shape","clearable","placeholder","onSelectionChange","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","filterable","onSubmit","inset","rules","required","rows","autoSize","validator","maxlength","autosize","maxHeight","minHeight","round","block","suffix","readonly","onClickLeftIcon","disabled","ref_key","ref","property","input","onChange","multiple","shareToken","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/static/js/608.2335e494.js b/rearServer/target/classes/static/js/608.2335e494.js new file mode 100644 index 0000000..51ff70e --- /dev/null +++ b/rearServer/target/classes/static/js/608.2335e494.js @@ -0,0 +1,2 @@ +"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[608],{4476:function(e,a,t){t.r(a),t.d(a,{default:function(){return S}});var o=t(6773),l=(t(487),t(3164)),s=(t(6335),t(6252));const n=e=>((0,s.dD)("data-v-b90dbbf6"),e=e(),(0,s.Cn)(),e),r={class:"content_login"},i=n((()=>(0,s._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1))),d=n((()=>(0,s._)("div",{class:"login-container"},[(0,s._)("h4",null,"PandoraNext-TokensTool")],-1))),m={class:"container"},c={style:{display:"flex",transform:"translate(0vw, 2vh)","font-size":"14.6px"}},u={style:{display:"flex",transform:"translate(0vw, 2vh)","margin-top":"5vh","font-size":"14.6px"}},v={style:{display:"flex",transform:"translate(0.5vw, 0vh)","margin-top":"6vh"}},p={style:{display:"block",transform:"translate(0vw, 0vh)","margin-top":"3.5vh"}},h=n((()=>(0,s._)("div",{class:"bottom"},[(0,s._)("div",{style:{"text-align":"center",transform:"translateY(0vh)"}},[(0,s._)("h3",null,[(0,s._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"Powered by tokensTool v0.6.3")])])],-1)));function g(e,a,t,n,g,w){const b=l.gN,f=(0,s.up)("h9"),k=o.XZ;return(0,s.wg)(),(0,s.iD)("div",r,[i,d,(0,s._)("div",m,[(0,s._)("div",c,[(0,s.Wm)(b,{modelValue:n.username,"onUpdate:modelValue":a[0]||(a[0]=e=>n.username=e),clearable:"",name:"username",label:"Username",placeholder:"username",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",u,[(0,s.Wm)(b,{modelValue:n.password,"onUpdate:modelValue":a[1]||(a[1]=e=>n.password=e),clearable:"",type:"password",name:"password",label:"Password",placeholder:"password",class:"userName","input-align":"center",rules:[{validator:e.customValidator}]},null,8,["modelValue","rules"])]),(0,s._)("div",v,[(0,s.Wm)(k,{class:"remember",modelValue:n.checked,"onUpdate:modelValue":a[2]||(a[2]=e=>n.checked=e),"checked-color":"#0ea27e","icon-size":"13.5px"},{default:(0,s.w5)((()=>[(0,s.Wm)(f,{style:{"font-size":"13.5px",transform:"translateX(7px)"}},{default:(0,s.w5)((()=>[(0,s.Uk)("Remember me")])),_:1})])),_:1},8,["modelValue"])]),(0,s._)("div",p,[(0,s._)("input",{type:"submit",onClick:a[3]||(a[3]=(...e)=>n.submit&&n.submit(...e)),value:"Continue",class:"userName"})])]),h])}var w=t(2262),b=t(2201),f=t(6154),k=t.p+"img/chatGpt.93292c55.jpg",_=t(1348),y={setup(){const e=(0,b.tv)(),a=window.location.pathname,t=a.split("/");let o="";t.length>=3&&(o="/"+t[1]);const l=(0,w.iH)(""),n=(0,w.iH)(""),r=(0,w.iH)(""),i=k,d=(0,w.iH)(!0);(0,s.bv)((async()=>{const e=localStorage.getItem("savedUsername"),a=localStorage.getItem("savedPassword"),t=localStorage.getItem("savedRemember");"true"===t&&(l.value=e||"",n.value=a||"",r.value=!0),window.innerWidth>767&&(d.value=!1),c()}));const m=localStorage.getItem("jwtToken"),c=async()=>{f.Z.post(`${o}/api/loginToken?token=`+m).then((a=>{1!=a.data.code?_.z8.error("令牌失效,请重新登录!"):window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")})).catch((e=>{_.z8.error("令牌失效,请重新登录!")}))},u=()=>{r.value?(localStorage.setItem("savedUsername",l.value),localStorage.setItem("savedPassword",n.value),localStorage.setItem("savedRemember","true")):(localStorage.removeItem("savedUsername"),localStorage.removeItem("savedPassword"),localStorage.removeItem("savedRemember"));let a={loginUsername:l.value,loginPassword:n.value};fetch(`${o}/api/login`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify(a)}).then((e=>e.json())).then((a=>{if(1===a.code){const t=a.data;localStorage.setItem("jwtToken",t),_.z8.success("登录成功!"),setTimeout((()=>{window.innerWidth<=1e3?e.replace("/iphone"):e.replace("/home")}),1e3)}else _.z8.error(a.msg)})).catch((e=>{console.error("登录时出现错误:",e),_.z8.error("账号或密码错误!")}))};return{username:l,password:n,image:i,checked:r,submit:u,page:d}}},T=t(3744);const x=(0,T.Z)(y,[["render",g],["__scopeId","data-v-b90dbbf6"]]);var S=x}}]); +//# sourceMappingURL=608.2335e494.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/137.9bfe0990.js.map b/rearServer/target/classes/static/js/608.2335e494.js.map similarity index 96% rename from rearServer/target/classes/static/js/137.9bfe0990.js.map rename to rearServer/target/classes/static/js/608.2335e494.js.map index 5f1cb40..5e53356 100644 --- a/rearServer/target/classes/static/js/137.9bfe0990.js.map +++ b/rearServer/target/classes/static/js/608.2335e494.js.map @@ -1 +1 @@ -{"version":3,"file":"js/137.9bfe0990.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?e2ae","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?41fe"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-6ca3dbb4\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"content_login\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1));\nconst _hoisted_3 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"login-container\"\n}, [/*#__PURE__*/_createElementVNode(\"h4\", null, \"PandoraNext-TokensTool\")], -1));\nconst _hoisted_4 = {\n class: \"container\"\n};\nconst _hoisted_5 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_6 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"margin-top\": \"5vh\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_7 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0.5vw, 0vh)\",\n \"margin-top\": \"6vh\"\n }\n};\nconst _hoisted_8 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(0vw, 0vh)\",\n \"margin-top\": \"3.5vh\"\n }\n};\nconst _hoisted_9 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"bottom\"\n}, [/*#__PURE__*/_createElementVNode(\"div\", {\n style: {\n \"text-align\": \"center\",\n \"transform\": \"translateY(0vh)\"\n }\n}, [/*#__PURE__*/_createElementVNode(\"h3\", null, [/*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"Powered by tokensTool v0.6.2\")])])], -1));\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_h9 = _resolveComponent(\"h9\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_hoisted_2, _hoisted_3, _createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_van_field, {\n modelValue: $setup.username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.username = $event),\n clearable: \"\",\n name: \"username\",\n label: \"Username\",\n placeholder: \"username\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_van_field, {\n modelValue: $setup.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.password = $event),\n clearable: \"\",\n type: \"password\",\n name: \"password\",\n label: \"Password\",\n placeholder: \"password\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_van_checkbox, {\n class: \"remember\",\n modelValue: $setup.checked,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.checked = $event),\n \"checked-color\": \"#0ea27e\",\n \"icon-size\": \"13.5px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_h9, {\n style: {\n \"font-size\": \"13.5px\",\n \"transform\": \"translateX(7px)\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\"Remember me\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"input\", {\n type: \"submit\",\n onClick: _cache[3] || (_cache[3] = (...args) => $setup.submit && $setup.submit(...args)),\n value: \"Continue\",\n class: \"userName\"\n })])]), _hoisted_9]);\n}","import { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage } from \"element-plus\";\nexport default {\n setup() {\n const router = useRouter();\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const username = ref(\"\");\n const password = ref(\"\");\n const checked = ref(\"\");\n const image = png;\n const page = ref(true);\n onMounted(async () => {\n const savedUsername = localStorage.getItem(\"savedUsername\");\n const savedPassword = localStorage.getItem(\"savedPassword\");\n const savedRemember = localStorage.getItem(\"savedRemember\");\n if (savedRemember === \"true\") {\n username.value = savedUsername || \"\";\n password.value = savedPassword || \"\";\n checked.value = true;\n }\n if (window.innerWidth > 767) {\n page.value = false;\n }\n fetchLoginToken();\n });\n\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 不允许有空格和回车符\n const regex = /^(?!.*[\\s\\r\\n]).*$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不允许包含空格和回车符\";\n }\n };\n\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/login\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 1) {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n return;\n } else {\n ElMessage.error(\"令牌失效,请重新登录!\");\n }\n }).catch(error => {\n ElMessage.error(\"令牌失效,请重新登录!\");\n });\n };\n const submit = () => {\n // 处理登录逻辑\n if (checked.value) {\n // 如果记住密码被选中,将用户名和密码保存到本地存储\n localStorage.setItem(\"savedUsername\", username.value);\n localStorage.setItem(\"savedPassword\", password.value);\n localStorage.setItem(\"savedRemember\", \"true\");\n } else {\n // 如果不记住密码,清除本地存储中的信息\n localStorage.removeItem(\"savedUsername\");\n localStorage.removeItem(\"savedPassword\");\n localStorage.removeItem(\"savedRemember\");\n }\n let setting = {\n loginUsername: username.value,\n loginPassword: password.value\n };\n fetch(`${prefix}/api/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${setting}`\n },\n body: JSON.stringify(setting)\n }).then(response => response.json()).then(data => {\n if (data.code === 1) {\n const token = data.data;\n localStorage.setItem(\"jwtToken\", token);\n ElMessage.success(\"登录成功!\");\n setTimeout(() => {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n }, 1000);\n } else {\n ElMessage.error(data.msg);\n }\n }).catch(error => {\n console.error(\"登录时出现错误:\", error);\n ElMessage.error(\"账号或密码错误!\");\n });\n };\n return {\n username,\n password,\n image,\n checked,\n submit,\n page\n };\n }\n};","/* unplugin-vue-components disabled */import { render } from \"./loginIndex.vue?vue&type=template&id=6ca3dbb4&scoped=true\"\nimport script from \"./loginIndex.vue?vue&type=script&lang=js\"\nexport * from \"./loginIndex.vue?vue&type=script&lang=js\"\n\nimport \"./loginIndex.vue?vue&type=style&index=0&id=6ca3dbb4&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6ca3dbb4\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","style","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","href","render","_ctx","_cache","$props","$setup","$data","$options","_component_van_field","_component_h9","_component_van_checkbox","modelValue","username","$event","clearable","label","placeholder","rules","validator","customValidator","password","type","checked","default","onClick","args","submit","value","setup","router","path","window","location","pathname","parts","split","prefix","length","image","page","async","savedUsername","localStorage","getItem","savedPassword","savedRemember","innerWidth","fetchLoginToken","token","axios","post","then","response","data","code","error","replace","catch","setItem","removeItem","setting","loginUsername","loginPassword","fetch","method","headers","Authorization","body","JSON","stringify","json","success","setTimeout","msg","console","__exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/608.2335e494.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?7c7c","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue","webpack://PandoraNext-TokensTool/./src/views/loginIndex.vue?41fe"],"sourcesContent":["import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\";\nconst _withScopeId = n => (_pushScopeId(\"data-v-b90dbbf6\"), n = n(), _popScopeId(), n);\nconst _hoisted_1 = {\n class: \"content_login\"\n};\nconst _hoisted_2 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1));\nconst _hoisted_3 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"login-container\"\n}, [/*#__PURE__*/_createElementVNode(\"h4\", null, \"PandoraNext-TokensTool\")], -1));\nconst _hoisted_4 = {\n class: \"container\"\n};\nconst _hoisted_5 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_6 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, 2vh)\",\n \"margin-top\": \"5vh\",\n \"font-size\": \"14.6px\"\n }\n};\nconst _hoisted_7 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0.5vw, 0vh)\",\n \"margin-top\": \"6vh\"\n }\n};\nconst _hoisted_8 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(0vw, 0vh)\",\n \"margin-top\": \"3.5vh\"\n }\n};\nconst _hoisted_9 = /*#__PURE__*/_withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"bottom\"\n}, [/*#__PURE__*/_createElementVNode(\"div\", {\n style: {\n \"text-align\": \"center\",\n \"transform\": \"translateY(0vh)\"\n }\n}, [/*#__PURE__*/_createElementVNode(\"h3\", null, [/*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"Powered by tokensTool v0.6.3\")])])], -1));\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_h9 = _resolveComponent(\"h9\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_hoisted_2, _hoisted_3, _createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"div\", _hoisted_5, [_createVNode(_component_van_field, {\n modelValue: $setup.username,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => $setup.username = $event),\n clearable: \"\",\n name: \"username\",\n label: \"Username\",\n placeholder: \"username\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_van_field, {\n modelValue: $setup.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = $event => $setup.password = $event),\n clearable: \"\",\n type: \"password\",\n name: \"password\",\n label: \"Password\",\n placeholder: \"password\",\n class: \"userName\",\n \"input-align\": \"center\",\n rules: [{\n validator: _ctx.customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])]), _createElementVNode(\"div\", _hoisted_7, [_createVNode(_component_van_checkbox, {\n class: \"remember\",\n modelValue: $setup.checked,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => $setup.checked = $event),\n \"checked-color\": \"#0ea27e\",\n \"icon-size\": \"13.5px\"\n }, {\n default: _withCtx(() => [_createVNode(_component_h9, {\n style: {\n \"font-size\": \"13.5px\",\n \"transform\": \"translateX(7px)\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\"Remember me\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"input\", {\n type: \"submit\",\n onClick: _cache[3] || (_cache[3] = (...args) => $setup.submit && $setup.submit(...args)),\n value: \"Continue\",\n class: \"userName\"\n })])]), _hoisted_9]);\n}","import { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage } from \"element-plus\";\nexport default {\n setup() {\n const router = useRouter();\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const username = ref(\"\");\n const password = ref(\"\");\n const checked = ref(\"\");\n const image = png;\n const page = ref(true);\n onMounted(async () => {\n const savedUsername = localStorage.getItem(\"savedUsername\");\n const savedPassword = localStorage.getItem(\"savedPassword\");\n const savedRemember = localStorage.getItem(\"savedRemember\");\n if (savedRemember === \"true\") {\n username.value = savedUsername || \"\";\n password.value = savedPassword || \"\";\n checked.value = true;\n }\n if (window.innerWidth > 767) {\n page.value = false;\n }\n fetchLoginToken();\n });\n\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 不允许有空格和回车符\n const regex = /^(?!.*[\\s\\r\\n]).*$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不允许包含空格和回车符\";\n }\n };\n\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/login\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 1) {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n return;\n } else {\n ElMessage.error(\"令牌失效,请重新登录!\");\n }\n }).catch(error => {\n ElMessage.error(\"令牌失效,请重新登录!\");\n });\n };\n const submit = () => {\n // 处理登录逻辑\n if (checked.value) {\n // 如果记住密码被选中,将用户名和密码保存到本地存储\n localStorage.setItem(\"savedUsername\", username.value);\n localStorage.setItem(\"savedPassword\", password.value);\n localStorage.setItem(\"savedRemember\", \"true\");\n } else {\n // 如果不记住密码,清除本地存储中的信息\n localStorage.removeItem(\"savedUsername\");\n localStorage.removeItem(\"savedPassword\");\n localStorage.removeItem(\"savedRemember\");\n }\n let setting = {\n loginUsername: username.value,\n loginPassword: password.value\n };\n fetch(`${prefix}/api/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${setting}`\n },\n body: JSON.stringify(setting)\n }).then(response => response.json()).then(data => {\n if (data.code === 1) {\n const token = data.data;\n localStorage.setItem(\"jwtToken\", token);\n ElMessage.success(\"登录成功!\");\n setTimeout(() => {\n if (window.innerWidth <= 1000) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n }, 1000);\n } else {\n ElMessage.error(data.msg);\n }\n }).catch(error => {\n console.error(\"登录时出现错误:\", error);\n ElMessage.error(\"账号或密码错误!\");\n });\n };\n return {\n username,\n password,\n image,\n checked,\n submit,\n page\n };\n }\n};","/* unplugin-vue-components disabled */import { render } from \"./loginIndex.vue?vue&type=template&id=b90dbbf6&scoped=true\"\nimport script from \"./loginIndex.vue?vue&type=script&lang=js\"\nexport * from \"./loginIndex.vue?vue&type=script&lang=js\"\n\nimport \"./loginIndex.vue?vue&type=style&index=0&id=b90dbbf6&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b90dbbf6\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","style","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","href","render","_ctx","_cache","$props","$setup","$data","$options","_component_van_field","_component_h9","_component_van_checkbox","modelValue","username","$event","clearable","label","placeholder","rules","validator","customValidator","password","type","checked","default","onClick","args","submit","value","setup","router","path","window","location","pathname","parts","split","prefix","length","image","page","async","savedUsername","localStorage","getItem","savedPassword","savedRemember","innerWidth","fetchLoginToken","token","axios","post","then","response","data","code","error","replace","catch","setItem","removeItem","setting","loginUsername","loginPassword","fetch","method","headers","Authorization","body","JSON","stringify","json","success","setTimeout","msg","console","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/static/js/77.cc45578a.js b/rearServer/target/classes/static/js/77.cc45578a.js deleted file mode 100644 index 210c238..0000000 --- a/rearServer/target/classes/static/js/77.cc45578a.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[77],{1077:function(e,l,a){a.r(l),a.d(l,{default:function(){return no}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),c=(a(1897),a(6907)),m=(a(4746),a(294)),p=(a(6870),a(6252)),v=a(3577),w=a(2262),h=a(1094),_=a(2201),k=a(6154),f=(a(451),a(844)),g=a(1348),b=a(9288),y=a(2534),V=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,p._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),P=(0,p._)("img",{style:{width:"25px"},src:h},null,-1),z={class:"home-container"},H=(0,p._)("div",{class:"flex-grow"},null,-1),A=(0,p._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),N=(0,p._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),S=(0,p._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),C={style:{display:"block"}},O=(0,p._)("div",{class:"flex items-center"},[(0,p._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,p._)("span",{class:"font-h4-tag"},"v0.6.2 ")],-1),$={class:"under"},D={class:"search"},q={style:{display:"flex",margin:"0px 0px -20px 0px"}},B={style:{display:"flex",width:"88vw",height:"63vh",transform:"translateX(0vw)"}},I={style:{display:"flex","align-items":"center"}},j={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Z={style:{"margin-left":"15px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},R={style:{margin:"13px",transform:"translateX(7px)"}},L=(0,p._)("h1",null,"批量操作",-1),K=(0,p._)("br",null,null,-1),E={style:{display:"block"}},J=(0,p._)("br",null,null,-1),G=(0,p._)("br",null,null,-1),M=(0,p._)("br",null,null,-1),Y={key:0},X=(0,p._)("br",null,null,-1),F=(0,p._)("br",null,null,-1),Q={key:0},ee=(0,p._)("br",null,null,-1),le=(0,p._)("br",null,null,-1),ae={key:1},oe=(0,p._)("br",null,null,-1),ne=(0,p._)("br",null,null,-1),te=(0,p._)("br",null,null,-1),ue={style:{margin:"5.2px"}},ie=(0,p._)("br",null,null,-1),re={style:{display:"block"}},se=(0,p._)("br",null,null,-1),de=(0,p._)("br",null,null,-1),ce=(0,p._)("br",null,null,-1),me=(0,p._)("br",null,null,-1),pe={key:0},ve=(0,p._)("br",null,null,-1),we={key:1},he=(0,p._)("br",null,null,-1),_e={key:0},ke=(0,p._)("br",null,null,-1),fe=(0,p._)("br",null,null,-1),ge={key:2},be=(0,p._)("br",null,null,-1),ye={key:3},Ve=(0,p._)("br",null,null,-1),We=(0,p._)("br",null,null,-1),Te={style:{margin:"5.2px"}},xe=(0,p._)("br",null,null,-1),Ue={style:{display:"block"}},Pe={key:0},ze={style:{display:"flex","justify-content":"center","align-items":"center"}},He={style:{margin:"10px 15px 10px 15px"}},Ae={style:{margin:"10px 15px 10px 15px"}},Ne={style:{margin:"10px 15px 10px 15px"}},Se=(0,p._)("br",null,null,-1),Ce=(0,p._)("br",null,null,-1),Oe=(0,p._)("br",null,null,-1),$e=(0,p._)("br",null,null,-1),De=(0,p._)("br",null,null,-1),qe=(0,p._)("br",null,null,-1),Be=(0,p._)("br",null,null,-1),Ie=(0,p._)("br",null,null,-1),je=(0,p._)("br",null,null,-1),Ze=(0,p._)("br",null,null,-1),Re={key:0},Le=(0,p._)("br",null,null,-1),Ke=(0,p._)("br",null,null,-1),Ee=(0,p._)("br",null,null,-1),Je={style:{display:"block"}},Ge=(0,p._)("br",null,null,-1),Me=(0,p._)("br",null,null,-1),Ye=(0,p._)("br",null,null,-1),Xe=(0,p._)("br",null,null,-1),Fe=(0,p._)("br",null,null,-1),Qe=(0,p._)("br",null,null,-1),el={key:0},ll=(0,p._)("br",null,null,-1),al=(0,p._)("br",null,null,-1),ol=(0,p._)("br",null,null,-1),nl=(0,p._)("br",null,null,-1),tl=(0,p._)("br",null,null,-1),ul=(0,p._)("br",null,null,-1),il=(0,p._)("br",null,null,-1),rl=(0,p._)("br",null,null,-1),sl={style:{margin:"5.2px"}},dl=(0,p._)("br",null,null,-1),cl={style:{display:"block"}},ml=(0,p._)("br",null,null,-1),pl=(0,p._)("br",null,null,-1),vl=(0,p._)("br",null,null,-1),wl=(0,p._)("br",null,null,-1),hl=(0,p._)("br",null,null,-1),_l=(0,p._)("br",null,null,-1),kl=(0,p._)("br",null,null,-1),fl=(0,p._)("br",null,null,-1),gl={key:0},bl=(0,p._)("br",null,null,-1),yl=(0,p._)("br",null,null,-1),Vl=(0,p._)("br",null,null,-1),Wl={style:{margin:"5.2px"}},Tl=(0,p._)("br",null,null,-1),xl={style:{display:"block"}},Ul=(0,p._)("br",null,null,-1),Pl=(0,p._)("br",null,null,-1),zl=(0,p._)("br",null,null,-1),Hl=(0,p._)("br",null,null,-1),Al=(0,p._)("br",null,null,-1),Nl=(0,p._)("br",null,null,-1),Sl=(0,p._)("br",null,null,-1),Cl=(0,p._)("br",null,null,-1),Ol={style:{margin:"5.2px"}},$l=(0,p._)("br",null,null,-1),Dl={style:{display:"flex",transform:"translate(0vw, -2vh)"}},ql={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(102.5% + 40px)"}},Bl={style:{"margin-left":"10px",display:"flex","align-items":"center"}},Il={key:0},jl=(0,p._)("h5",null,"oneApi4",-1),Zl={key:1},Rl=(0,p._)("h5",null,"oneApi3",-1),Ll={key:2},Kl=(0,p._)("h5",null,"Json",-1),El={style:{"margin-left":"20px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Jl={style:{display:"flex","align-items":"center",overflow:"auto"}},Gl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ml={style:{display:"flex","align-items":"center",overflow:"auto"}},Yl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Xl={style:{margin:"10px 0px 10px 0px"}},Fl=(0,p._)("h1",null,"全部刷新",-1),Ql=(0,p._)("h1",null,"全部检查",-1),ea=(0,p._)("br",null,null,-1),la={style:{display:"block"}},aa=(0,p._)("br",null,null,-1),oa=(0,p._)("br",null,null,-1),na=(0,p._)("br",null,null,-1),ta=(0,p._)("br",null,null,-1),ua={style:{display:"block"}},ia=(0,p._)("br",null,null,-1),ra={key:0},sa=(0,p._)("br",null,null,-1),da=(0,p._)("br",null,null,-1),ca=(0,p._)("br",null,null,-1),ma=(0,p._)("br",null,null,-1),pa=(0,p._)("br",null,null,-1),va=(0,p._)("br",null,null,-1),wa={style:{margin:"5.2px"}},ha=(0,p._)("br",null,null,-1),_a={style:{display:"block"}},ka=(0,p._)("br",null,null,-1),fa={key:0},ga=(0,p._)("br",null,null,-1),ba=(0,p._)("br",null,null,-1),ya=(0,p._)("br",null,null,-1),Va={style:{"margin-bottom":"5px"}},Wa={style:{"margin-bottom":"5px"}},Ta=(0,p._)("br",null,null,-1),xa=(0,p._)("br",null,null,-1),Ua={style:{margin:"5.2px"}},Pa=(0,p._)("br",null,null,-1),za={style:{display:"flex",transform:"translate(calc(-2.5% - 20px), 0vh)",width:"calc(100% + 2.5% + 40px)"}},Ha={style:{display:"flex","align-items":"center"}},Aa={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Na={style:{display:"flex","align-items":"center",overflow:"auto"}},Sa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ca={style:{display:"flex","align-items":"center",overflow:"auto"}},Oa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},$a=(0,p._)("br",null,null,-1),Da={style:{display:"block"}},qa=(0,p._)("br",null,null,-1),Ba={style:{transform:"translateX(17px)"}},Ia=(0,p._)("br",null,null,-1),ja=(0,p._)("br",null,null,-1),Za=(0,p._)("br",null,null,-1),Ra={key:0},La=(0,p._)("br",null,null,-1),Ka=(0,p._)("br",null,null,-1),Ea=(0,p._)("br",null,null,-1),Ja={style:{"margin-bottom":"5px"}},Ga={style:{"margin-bottom":"5px"}},Ma=(0,p._)("br",null,null,-1),Ya=(0,p._)("br",null,null,-1),Xa={style:{margin:"5.2px"}},Fa=(0,p._)("br",null,null,-1),Qa=0,eo=1,lo=2;var ao=(0,p.aZ)({__name:"homeIphone",setup(e){const l=window.location.pathname,a=l.split("/");let h="";a.length>=3&&(h="/"+a[1]);const ao=(0,w.iH)(["default","svip","vip"]),oo=((0,w.iH)(),(0,w.iH)([])),no=e=>{oo.value=e},to=((0,w.iH)("ALL"),(0,_.tv)()),uo=(0,w.iH)(!1),io=(0,w.iH)(!1),ro=(0,w.iH)(!1),so=(0,w.iH)(!1),co=(0,w.iH)(!1),mo=(0,w.iH)(!1),po=(0,w.iH)(!1),vo=(0,w.iH)(!1),wo=(0,w.iH)(!1),ho=(0,w.iH)(!1),_o=(0,w.iH)(!1),ko=(0,w.iH)(!1),fo=(0,w.iH)(!1),go=(0,w.iH)(""),bo=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],yo=(0,w.iH)(""),Vo=(0,w.iH)("*"),Wo=(0,w.iH)(""),To=(0,w.iH)(""),xo=(0,w.iH)(""),Uo=(0,w.iH)(!1),Po=(0,w.iH)(!1),zo=(0,w.iH)(!1),Ho=(0,w.iH)(!1),Ao=(0,w.iH)(""),No=(0,w.iH)(!1),So=(0,w.iH)(""),Co=(0,w.iH)(""),Oo=(0,w.iH)(""),$o=(0,w.iH)(""),Do=(0,w.iH)(""),qo=(0,w.iH)(""),Bo=(0,w.iH)(""),Io=(0,w.iH)(!1),jo=(0,w.iH)(""),Zo=(0,w.iH)("PandoraNext"),Ro=(0,w.iH)("default"),Lo=(0,w.iH)(""),Ko=(0,w.iH)(""),Eo=(0,w.iH)(""),Jo=(0,w.iH)(""),Go=(0,w.iH)(!1),Mo=(0,w.iH)(!1),Yo=(0,w.iH)(!1),Xo=(0,w.iH)(!1),Fo=(0,w.iH)(!1),Qo=(0,w.iH)(5),en=(0,w.iH)(1),ln=(0,w.iH)(""),an=(0,w.iH)(""),on=(0,w.iH)(""),nn=(0,w.iH)(""),tn=((0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(!0),(0,w.iH)("")),un=(0,w.iH)(!1),rn=(0,w.iH)(!1),sn=(0,w.iH)(ln.value+yo.value),dn=(0,w.iH)(0),cn=(0,w.iH)(""),mn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},pn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},vn=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},wn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=Bn.value&&1!=xn.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},hn=(0,w.iH)(""),_n=(0,w.iH)(""),kn=(0,w.iH)(""),fn=(0,w.iH)(""),gn=(0,w.iH)(""),bn=(0,w.iH)(""),yn=(0,w.iH)(!1),Vn=(0,w.iH)(!1),Wn=(0,w.iH)(!1),Tn=(0,w.iH)(""),xn=(0,w.iH)(!1),Un=(0,w.iH)(!1),Pn=(0,w.iH)(!0),zn=(0,w.iH)([]),Hn=(0,w.iH)([]),An=(0,w.iH)([]),Nn=(0,w.iH)(""),Sn=(0,w.iH)(""),Cn=(0,w.iH)(""),On=(0,w.iH)(""),$n=(0,w.iH)(!1),Dn=(0,w.iH)(!1),qn=(0,w.iH)(!1),Bn=(0,w.iH)(!1),In=(0,w.iH)(!1),jn=(0,w.iH)(""),Zn=((0,w.iH)(.085*window.innerHeight),(0,w.iH)("")),Rn=localStorage.getItem("jwtToken");Rn||to.replace("/");const Ln={Authorization:`Bearer ${Rn}`},Kn=async()=>{k.Z.post(`${h}/api/loginToken?token=`+Rn).then((e=>{if(0==e.data.code)return console.error(e.data.data),void to.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),to.replace("/")}))},En=e=>{"Web"==e?Mn(""):"all"==e?Jn(""):e.includes("API")?Gn(""):Jn(e)},Jn=async e=>{const l=await k.Z.get(`${h}/api/selectToken?name=${e}`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));zn.value=e}},Gn=async e=>{const l=await k.Z.get(`${h}/api/selectToken?name=${e}`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));zn.value=l}},Mn=async e=>{const l=await k.Z.get(`${h}/api/selectToken?name=${e}`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));zn.value=l}},Yn=async()=>{const e=await k.Z.get(`${h}/api/selectLogin`,{headers:Ln}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));An.value=e}},Xn=async e=>{const l=await k.Z.get(`${h}/api/selectPoolToken?name=`,{headers:Ln}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));Hn.value=e}},Fn=async e=>{const l=await k.Z.get(`${h}/api/selectSetting`,{headers:Ln}),a=l.data.data;yo.value=a.proxy_api_prefix,Vo.value=a.isolated_conv_title,Wo.value=a.bing,To.value=a.timeout,xo.value=a.proxy_url,Uo.value=a.public_share,Po.value=a.disable_signup,zo.value=a.auto_conv_arkose,Ho.value=a.proxy_file_service,Ao.value=a.custom_doh_host,No.value=a.tls.enabled,So.value=a.tls.cert_file,Co.value=a.tls.key_file,Oo.value=a.site_password,$o.value=a.setup_password,null==a.whitelist?Lo.value="null":Lo.value=a.whitelist,Do.value=a.loginUsername,qo.value=a.loginPassword,Bo.value=a.license_id,Io.value=a.isGetToken,jo.value=a.getTokenPassword,Zo.value=a.containerName,Ro.value=a.autoToken_url,Ko.value=a.validation.provider,Eo.value=a.validation.site_key,Jo.value=a.validation.site_secret,Go.value=a.validation.site_login,Mo.value=a.validation.setup_login,Yo.value=a.validation.oai_username,Xo.value=a.validation.oai_password,Fo.value=a.auto_updateSession,Qo.value=a.auto_updateTime,en.value=a.auto_updateNumber,ln.value=a.pandoraNext_outUrl,sn.value=ln.value+yo.value,an.value=a.oneAPi_outUrl,on.value=a.oneAPi_intoToken,Qn()},Qn=async()=>{"123456"==qo.value&&"root"==Do.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),co.value=!0,qo.value="",Do.value="")},et=()=>{const e=oo.value;0!==e.length?ho.value=!0:(0,g.z8)("未选择数据")},lt=async()=>{V.kN.service({fullscreen:!0});try{const e=oo.value,l=e.map((e=>e.name)),a={poolName:tn.value,intoOneApi:un.value,pandoraNextGpt4:rn.value,oneApi_pandoraUrl:sn.value,shareTokens:l,groupChecked:ao.value.toString(),priority:dn.value},o=await fetch(`${h}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(tn.value="",Xn(""),(0,g.z8)({type:"success",message:t.data}),tn.value="",un.value=!1,rn.value=!1,ao.value=["default","svip","vip"],dn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}ho.value=!1},at=e=>{let l=Hn.value.find((l=>l.poolName===e));null!=l&&(cn.value=l.poolToken,un.value=l.intoOneApi,rn.value=l.pandoraNextGpt4,sn.value=l.oneApi_pandoraUrl,dn.value=l.priority)},ot=async()=>{V.kN.service({fullscreen:!0});try{const e=oo.value,l=e.map((e=>e.name)),a={poolName:nn.value,poolToken:cn.value,intoOneApi:un.value,pandoraNextGpt4:rn.value,oneApi_pandoraUrl:sn.value,shareTokens:l,groupChecked:ao.value.toString(),priority:dn.value},o=await fetch(`${h}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(a)}),n=V.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Xn(""),(0,g.z8)({type:"success",message:t.data}),nn.value="",cn.value="",un.value=!1,rn.value=!1,ao.value=["default","svip","vip"],dn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}ko.value=!1},nt=(0,w.iH)("");(0,p.bv)((async()=>{const e=V.kN.service({fullscreen:!0});window.innerWidth<=700?to.replace("/iphone"):to.replace("/home"),Kn();const l=await k.Z.get(`${h}/api/getPandoraNext`,{headers:Ln}),a=l.data.data;null!=a&&(nt.value=a.current+"/"+a.total),En(Zn.value),Xn(Zn.value),Fn(Zn.value),e.close()}));const tt=({row:e})=>0==e.checkSession?"warning-row":"",ut=({row:e})=>0==e.checkPool?"warning-row":"",it=()=>{window.open(ln.value)},rt=()=>{var e=ln.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},st=()=>{var e=ln.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},dt=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},ct=(0,w.iH)("-1");let mt="";const pt=(e,l)=>{console.log("选择准备!")},vt=()=>{io.value=!0},wt=()=>{const e=V.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=jn.value&&($n.value=!1,qn.value=!1,Dn.value=!1),0==Bn.value&&(On.value=Sn.value+","+Cn.value,In.value=!1,$n.value=!1,qn.value=!1,Dn.value=!1);let o={name:Nn.value,token:On.value,username:Sn.value,userPassword:Cn.value,shared:$n.value,show_user_info:Dn.value,plus:qn.value,setPoolToken:Bn.value,useRefreshToken:In.value,password:jn.value,updateTime:a};fetch(`${h}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),Nn.value="",On.value="",Sn.value="",Cn.value="",$n.value=!1,Dn.value=!1,qn.value=!1,Bn.value=!1,In.value=!1,jn.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),jn.value="",Jn(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),io.value=!1},ht=(0,w.iH)(0),_t=(0,w.iH)(0),kt=async e=>{if(hn.value=e.name,gn.value=e.username,bn.value=e.userPassword,_n.value=e.token,kn.value=e.access_token,fn.value=e.share_token,yn.value=e.shared,Vn.value=e.show_user_info,Wn.value=e.plus,Tn.value=e.password,xn.value=e.setPoolToken,Un.value=e.useRefreshToken,Pn.value=e.checkSession,1!=xn.value)return void(ro.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${sn.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?ht.value=Number(o.usage["text-davinci-002-render-sha"]):ht.value=0,null!=o.usage["gpt-4"]?_t.value=Number(o.usage["gpt-4"]):_t.value=0),ro.value=!0};let ft=!1,gt=!1,bt="";const yt=(e,l)=>{hn.value=l.name,gn.value=l.username,bn.value=l.userPassword,_n.value=l.token,mt=l.token,yn.value=l.shared,Vn.value=l.show_user_info,Wn.value=l.plus,Tn.value=l.password,xn.value=l.setPoolToken,Un.value=l.useRefreshToken,ft=xn.value,gt=Un.value,bt=_n.value,Pn.value=l.checkSession,kn.value=l.access_token,fn.value=l.share_token,uo.value=!0},Vt=async e=>{0==e?so.value=!0:1==e?co.value=!0:2==e&&(mo.value=!0)},Wt=e=>{const l=V.kN.service({fullscreen:!0});null!=Lo.value&&"null"!=Lo.value||(Lo.value=""),0==No.value&&(So.value="",Co.value="");const a={enabled:No.value,cert_file:So.value,key_file:Co.value},o={provider:Ko.value,site_key:Eo.value,site_secret:Jo.value,site_login:Go.value,setup_login:Mo.value,oai_username:Yo.value,oai_password:Xo.value},n={proxy_api_prefix:yo.value,isolated_conv_title:Vo.value,bing:Wo.value,timeout:To.value,proxy_url:xo.value,public_share:Uo.value,site_password:Oo.value,setup_password:$o.value,loginUsername:Do.value,loginPassword:qo.value,license_id:Bo.value,disable_signup:Po.value,auto_conv_arkose:zo.value,proxy_file_service:Ho.value,custom_doh_host:Ao.value,isGetToken:Io.value,getTokenPassword:jo.value,containerName:Zo.value,autoToken_url:Ro.value,whitelist:Lo.value,validation:o,tls:a};fetch(`${h}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Kn(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?so.value=!1:1==e?co.value=!1:2==e&&(mo.value=!1)},Tt=()=>{const e=V.kN.service({fullscreen:!0});"/"!==ln.value.charAt(ln.value.length-1)&&(ln.value+="/");const l={auto_updateSession:Fo.value,auto_updateTime:Qo.value,auto_updateNumber:en.value,pandoraNext_outUrl:ln.value,oneAPi_outUrl:an.value,oneAPi_intoToken:on.value};fetch(`${h}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),wo.value=!1},xt=()=>{const e=V.kN.service({fullscreen:!0});let l="";if(mt!=_n.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==xn.value&&(yn.value=!1,Wn.value=!1,Vn.value=!1,Un.value=!1),!0===yn.value?Tn.value="":(Wn.value=!1,Vn.value=!1);let a="";a=ft!=xn.value&&bt==_n.value?0==xn.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==Un.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":gt!=Un.value&&bt==_n.value?1==Un.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:hn.value,token:_n.value,username:gn.value,userPassword:bn.value,shared:yn.value,show_user_info:Vn.value,plus:Wn.value,setPoolToken:xn.value,useRefreshToken:Un.value,checkSession:Pn.value,password:Tn.value,access_token:kn.value,share_token:fn.value};fetch(`${h}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),Jn("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),uo.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Ut=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/open`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Pt=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/close`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},zt=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/restart`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ht=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/reload`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},At=(0,w.iH)(""),Nt=(0,w.iH)(""),St=async()=>{const e=await k.Z.get(`${h}/api/getPandoraNext`,{headers:Ln}),l=e.data.data;if(null!=l){nt.value=l.current+"/"+l.total,At.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();Nt.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}vo.value=!0},Ct=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/updateAllToken`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?(Jn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Ot=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/updateAllPoolToken`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?(Xn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},$t=async()=>{const e=V.kN.service({fullscreen:!0}),l=await k.Z.get(`${h}/api/verifyAllPoolToken`,{headers:Ln}),a=l.data.data;null!=a&&""!=a?(Xn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Dt=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,Jn(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},qt=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Xn(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Bt=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),Jn(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},It=e=>{const l=V.kN.service({fullscreen:!0});fetch(`${h}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Xn(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},jt=(e,l)=>{const a=V.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${h}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(Xn(""),g.z8.success(e.data),a.close()):(Xn(""),g.z8.error(e.msg),a.close()),ho.value=!1})).catch((e=>{console.error("删除失败",e),Xn(""),a.close(),ho.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},Zt=(e,l)=>{const a=V.kN.service({fullscreen:!0});fetch(`${h}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Xn(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(Xn(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},Rt=(e,l)=>{const a=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${h}/api/deleteToken`,l,{headers:Ln}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${h}/api/updateAllPoolToken`,{headers:Ln}),o=e.data.data,Jn(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},Lt=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,y.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},Kt=()=>{localStorage.removeItem("jwtToken"),to.replace("/")},Et=()=>{po.value=!0},Jt=()=>{Yn(),_o.value=!0},Gt=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},Mt=e=>{const l=oo.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?et():"选中修改pool_token"==e&&(ko.value=!0);else{let e=0;const l=oo.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=V.kN.service({fullscreen:!0});fetch(`${h}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${Rn}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(Jn(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=V.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${h}/api/deleteTokenList`,a,{headers:Ln}).then((async l=>{await k.Z.get(`${h}/api/updateAllPoolToken`,{headers:Ln}),o=l.data.data,Jn(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},Yt=(0,w.iH)(null),Xt=async()=>{fo.value=!0;const e=await k.Z.get(`${h}/api/modelsUsage`,{headers:Ln});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(Yt.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=m.JO,h=(0,p.up)("el-menu-item"),_=(0,p.up)("el-sub-menu"),k=(0,p.up)("el-menu"),f=c.zx,g=(0,p.up)("el-page-header"),b=d.ol,y=(0,p.up)("el-table-column"),V=(0,p.up)("el-button"),T=(0,p.up)("el-tag"),oo=(0,p.up)("el-popover"),to=(0,p.up)("el-option"),Pn=(0,p.up)("el-select"),Rn=s.gN,Ln=r.rs,Kn=i.TS,Jn=u.l0,Gn=t.Vq,Mn=(0,p.up)("ChatLineRound"),Yn=(0,p.up)("el-icon"),Xn=(0,p.up)("el-statistic"),Fn=(0,p.up)("el-col"),Qn=(0,p.up)("el-row"),et=(0,p.up)("CopyDocument"),mt=(0,p.up)("h10"),ft=(0,p.up)("el-button-group"),gt=(0,p.up)("el-dialog"),bt=n.XZ,Ft=o.cO,Qt=(0,p.up)("el-form-item"),eu=(0,p.Q2)("loading");return(0,p.wg)(),(0,p.iD)(p.HY,null,[(0,p._)("div",x,[U,(0,p.Wm)(k,{"default-active":ct.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:pt,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"0"},{title:(0,p.w5)((()=>[(0,p._)("div",z,[(0,p._)("h2",null,(0,v.zw)(nt.value),1)]),(0,p.Wm)(a,{name:"replay",size:"20",onClick:St})])),default:(0,p.w5)((()=>[P])),_:1}),H,(0,p.Wm)(_,{index:"3"},{title:(0,p.w5)((()=>[(0,p.Uk)("列表")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"3-2",onClick:Et},{default:(0,p.w5)((()=>[(0,p.Uk)("PoolToken列表")])),_:1}),(0,p.Wm)(h,{index:"3-3",onClick:Ct},{default:(0,p.w5)((()=>[(0,p.Uk)("全部检查并生成")])),_:1}),(0,p.Wm)(h,{index:"3-1",onClick:Jt},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool登录日志")])),_:1}),(0,p.Wm)(h,{index:"3-5",onClick:Xt},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool用量统计")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"1"},{title:(0,p.w5)((()=>[(0,p.Uk)("设置")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"1-1",onClick:l[0]||(l[0]=e=>Vt(Qa))},{default:(0,p.w5)((()=>[(0,p.Uk)("PandoraNext设置")])),_:1}),(0,p.Wm)(h,{index:"1-2",onClick:l[1]||(l[1]=e=>Vt(eo))},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool设置")])),_:1}),(0,p.Wm)(h,{index:"1-3",onClick:l[2]||(l[2]=e=>Vt(lo))},{default:(0,p.w5)((()=>[(0,p.Uk)("验证码信息设置")])),_:1}),(0,p.Wm)(h,{index:"1-4",onClick:l[3]||(l[3]=e=>wo.value=!0)},{default:(0,p.w5)((()=>[(0,p.Uk)("定时&接口设置")])),_:1}),(0,p.Wm)(h,{index:"1-5",onClick:dt},{default:(0,p.w5)((()=>[(0,p.Uk)("tokensTool使用手册")])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2"},{title:(0,p.w5)((()=>[(0,p.Uk)("状态")])),default:(0,p.w5)((()=>[(0,p.Wm)(_,{index:"2-1"},{title:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"状态",1)])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"2-1-1",onClick:Ut},{default:(0,p.w5)((()=>[(0,p.Uk)("开启"+(0,v.zw)(Zo.value),1)])),_:1}),(0,p.Wm)(h,{index:"2-1-2",onClick:Pt},{default:(0,p.w5)((()=>[(0,p.Uk)("暂停"+(0,v.zw)(Zo.value),1)])),_:1}),(0,p.Wm)(h,{index:"2-1-3",onClick:zt},{default:(0,p.w5)((()=>[(0,p.Uk)("重启"+(0,v.zw)(Zo.value),1)])),_:1}),(0,p.Wm)(h,{index:"2-1-4",onClick:Ht},{default:(0,p.w5)((()=>[(0,p.Uk)("重载"+(0,v.zw)(Zo.value),1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-2"},{title:(0,p.w5)((()=>[(0,p.Uk)("跳转Web服务")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"2-2-1",onClick:it},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"主页",1)])),_:1}),(0,p.Wm)(h,{index:"2-2-2",onClick:rt},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"共享页",1)])),_:1}),(0,p.Wm)(h,{index:"2-2-3",onClick:st},{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Zo.value)+"修改页",1)])),_:1})])),_:1}),(0,p.Wm)(_,{index:"2-3"},{title:(0,p.w5)((()=>[(0,p.Uk)("获取token地址")])),default:(0,p.w5)((()=>[(0,p.Wm)(h,{index:"2-3-1"},{default:(0,p.w5)((()=>[A])),_:1}),(0,p.Wm)(h,{index:"2-3-2"},{default:(0,p.w5)((()=>[N])),_:1}),(0,p.Wm)(h,{index:"2-3-3"},{default:(0,p.w5)((()=>[S])),_:1})])),_:1}),(0,p.Wm)(h,{index:"2-4",onClick:Kt},{default:(0,p.w5)((()=>[(0,p.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,p._)("div",C,[(0,p.Wm)(g,{icon:null,title:" "},{content:(0,p.w5)((()=>[O])),extra:(0,p.w5)((()=>[(0,p._)("div",{class:"addToken",onClick:vt},[(0,p.Wm)(f,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,p._)("div",$,[(0,p._)("div",D,[(0,p._)("div",q,[(0,p.Wm)(b,{modelValue:Zn.value,"onUpdate:modelValue":l[4]||(l[4]=e=>Zn.value=e),shape:"round",placeholder:"请输入搜索token名称或类型",onSearch:En},null,8,["modelValue"])]),(0,p._)("div",B,[(0,p.wy)(((0,p.wg)(),(0,p.j4)((0,w.SU)(W.eI),{data:zn.value,style:{width:"100%"},onSelectionChange:no,class:"tokenTable","default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":tt},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{type:"selection",width:"45"}),(0,p.Wm)(y,{label:"名称",width:"160",prop:"setPoolToken",sortable:""},{default:(0,p.w5)((e=>[(0,p._)("div",I,[(0,p._)("div",null,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[(0,p._)("h5",null,(0,v.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024)]),(0,p._)("span",j,(0,v.zw)(e.row.name),1)])])),_:1}),(0,p.Wm)(y,{prop:"updateTime",sortable:"",label:"有效时间",width:"117"},{default:(0,p.w5)((e=>[(0,p.Wm)(oo,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,p.w5)((()=>[(0,p._)("div",null,"注册时间:"+(0,v.zw)(e.row.updateTime),1)])),reference:(0,p.w5)((()=>[(0,p._)("span",Z,[(0,p.Wm)(T,null,{default:(0,p.w5)((()=>[(0,p.Uk)((0,v.zw)(Lt(e.row)),1)])),_:2},1024)])])),_:2},1024)])),_:1}),(0,p.Wm)(y,{label:"操作方法",width:"370"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>yt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("编辑")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>kt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("查看")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>Rt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>Dt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"warning",onClick:l=>Bt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[eu,e.loading]])]),(0,p._)("div",R,[(0,p.Wm)(Pn,{modelValue:go.value,"onUpdate:modelValue":l[5]||(l[5]=e=>go.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作"},{default:(0,p.w5)((()=>[((0,p.wg)(),(0,p.iD)(p.HY,null,(0,p.Ko)(bo,(e=>(0,p.Wm)(to,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,p.Wm)(V,{class:"my-button",onClick:l[6]||(l[6]=e=>Mt(go.value))},{default:(0,p.w5)((()=>[L])),_:1})])])]),K]),(0,p.Wm)(Gn,{show:uo.value,"onUpdate:show":l[17]||(l[17]=e=>uo.value=e),title:"修改token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",E,[(0,p.Wm)(Jn,{onSubmit:l[16]||(l[16]=e=>xt())},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[J,(0,p.Wm)(Rn,{modelValue:gn.value,"onUpdate:modelValue":l[7]||(l[7]=e=>gn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱","input-align":"center",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),G,(0,p.Wm)(Rn,{modelValue:bn.value,"onUpdate:modelValue":l[8]||(l[8]=e=>bn.value=e),name:"OpenAi密码","input-align":"center",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),M,(0,p.Wm)(Rn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:xn.value,"onUpdate:modelValue":l[9]||(l[9]=e=>xn.value=e)},null,8,["modelValue"])])),_:1}),1==xn.value?((0,p.wg)(),(0,p.iD)("div",Y,[X,(0,p.Wm)(Rn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Un.value,"onUpdate:modelValue":l[10]||(l[10]=e=>Un.value=e)},null,8,["modelValue"])])),_:1}),F,(0,p.Wm)(Rn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:yn.value,"onUpdate:modelValue":l[11]||(l[11]=e=>yn.value=e)},null,8,["modelValue"])])),_:1}),1==yn.value?((0,p.wg)(),(0,p.iD)("div",Q,[ee,(0,p.Wm)(Rn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[12]||(l[12]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),le,(0,p.Wm)(Rn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[13]||(l[13]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),0==yn.value||0==xn.value?((0,p.wg)(),(0,p.iD)("div",ae,[oe,(0,p.Wm)(Rn,{rows:"2",type:"textarea",autoSize:"",modelValue:Tn.value,"onUpdate:modelValue":l[14]||(l[14]=e=>Tn.value=e),name:"Token的密码","input-align":"center",label:"Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:wn}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),ne,(0,p.Wm)(Rn,{modelValue:_n.value,"onUpdate:modelValue":l[15]||(l[15]=e=>_n.value=e),label:"Token的值",type:"textarea","input-align":"center",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:50},"show-word-limit":""},null,8,["modelValue"]),te])),_:1}),(0,p._)("div",ue,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),ie])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:io.value,"onUpdate:show":l[29]||(l[29]=e=>io.value=e),title:"添加token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",re,[(0,p.Wm)(Jn,{onSubmit:l[28]||(l[28]=e=>wt())},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[se,(0,p.Wm)(Rn,{modelValue:Nn.value,"onUpdate:modelValue":l[18]||(l[18]=e=>Nn.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),de,(0,p.Wm)(Rn,{modelValue:Sn.value,"onUpdate:modelValue":l[19]||(l[19]=e=>Sn.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名",rules:[{required:!0,message:"请填写OpenAi用户名"}]},null,8,["modelValue"]),ce,(0,p.Wm)(Rn,{modelValue:Cn.value,"onUpdate:modelValue":l[20]||(l[20]=e=>Cn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),me,(0,p.Wm)(Rn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Bn.value,"onUpdate:modelValue":l[21]||(l[21]=e=>Bn.value=e)},null,8,["modelValue"])])),_:1}),1==Bn.value?((0,p.wg)(),(0,p.iD)("div",pe,[ve,(0,p.Wm)(Rn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:In.value,"onUpdate:modelValue":l[22]||(l[22]=e=>In.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0),1==Bn.value?((0,p.wg)(),(0,p.iD)("div",we,[he,(0,p.Wm)(Rn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:$n.value,"onUpdate:modelValue":l[23]||(l[23]=e=>$n.value=e)},null,8,["modelValue"])])),_:1}),1==$n.value?((0,p.wg)(),(0,p.iD)("div",_e,[ke,(0,p.Wm)(Rn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Dn.value,"onUpdate:modelValue":l[24]||(l[24]=e=>Dn.value=e)},null,8,["modelValue"])])),_:1}),fe,(0,p.Wm)(Rn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:qn.value,"onUpdate:modelValue":l[25]||(l[25]=e=>qn.value=e)},null,8,["modelValue"])])),_:1})])):(0,p.kq)("",!0)])):(0,p.kq)("",!0),""==$n.value?((0,p.wg)(),(0,p.iD)("div",ge,[be,(0,p.Wm)(Rn,{rows:"3",type:"textarea",autoSize:"",modelValue:jn.value,"onUpdate:modelValue":l[26]||(l[26]=e=>jn.value=e),name:"Token的密码",label:"Token的密码","input-align":"center",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)",rules:[{validator:wn}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),1==Bn.value?((0,p.wg)(),(0,p.iD)("div",ye,[Ve,(0,p.Wm)(Rn,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:On.value,"onUpdate:modelValue":l[27]||(l[27]=e=>On.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,p.kq)("",!0),We])),_:1}),(0,p._)("div",Te,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),xe])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:ro.value,"onUpdate:show":l[49]||(l[49]=e=>ro.value=e),title:"token信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Ue,[(0,p.Wm)(Jn,null,{default:(0,p.w5)((()=>[1==xn.value?((0,p.wg)(),(0,p.iD)("div",Pe,[(0,p._)("div",ze,[(0,p.Wm)(Qn,null,{default:(0,p.w5)((()=>[(0,p._)("div",He,[(0,p.Wm)(Fn,null,{default:(0,p.w5)((()=>[(0,p.Wm)(Xn,{title:"GPT3.5",value:ht.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(Yn,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(Mn)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ae,[(0,p.Wm)(Fn,null,{default:(0,p.w5)((()=>[(0,p.Wm)(Xn,{title:"总计",value:ht.value+_t.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(Yn,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(Mn)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,p._)("div",Ne,[(0,p.Wm)(Fn,null,{default:(0,p.w5)((()=>[(0,p.Wm)(Xn,{title:"GPT4.0",value:_t.value},{suffix:(0,p.w5)((()=>[(0,p.Wm)(Yn,{style:{"vertical-align":"-0.125em"}},{default:(0,p.w5)((()=>[(0,p.Wm)(Mn)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,p.kq)("",!0),(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[Se,(0,p.Wm)(Rn,{modelValue:hn.value,"onUpdate:modelValue":l[30]||(l[30]=e=>hn.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[31]||(l[31]=e=>Gt(hn.value))},null,8,["modelValue"]),Ce,(0,p.Wm)(Rn,{modelValue:Tn.value,"onUpdate:modelValue":l[32]||(l[32]=e=>Tn.value=e),type:"temPassword",name:"Token的密码",label:"Token的密码",placeholder:"Token的密码","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[33]||(l[33]=e=>Gt(Tn.value))},null,8,["modelValue"]),Oe,(0,p.Wm)(Rn,{modelValue:gn.value,"onUpdate:modelValue":l[34]||(l[34]=e=>gn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>Gt(gn.value))},null,8,["modelValue"]),$e,(0,p.Wm)(Rn,{modelValue:bn.value,"onUpdate:modelValue":l[36]||(l[36]=e=>bn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o","input-align":"center",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>Gt(bn.value))},null,8,["modelValue"]),De,(0,p.Wm)(Rn,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:yn.value,"onUpdate:modelValue":l[38]||(l[38]=e=>yn.value=e)},null,8,["modelValue"])])),_:1}),qe,(0,p.Wm)(Rn,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[39]||(l[39]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),Be,(0,p.Wm)(Rn,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[40]||(l[40]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,p.Wm)(Rn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:xn.value,"onUpdate:modelValue":l[41]||(l[41]=e=>xn.value=e)},null,8,["modelValue"])])),_:1}),je,(0,p.Wm)(Rn,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{disabled:"","active-color":"#0ea27e",modelValue:Un.value,"onUpdate:modelValue":l[42]||(l[42]=e=>Un.value=e)},null,8,["modelValue"])])),_:1}),Ze,(0,p.Wm)(Rn,{modelValue:_n.value,"onUpdate:modelValue":l[43]||(l[43]=e=>_n.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","input-align":"center","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[44]||(l[44]=e=>Gt(_n.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),1==xn.value?((0,p.wg)(),(0,p.iD)("div",Re,[Le,(0,p.Wm)(Rn,{modelValue:kn.value,"onUpdate:modelValue":l[45]||(l[45]=e=>kn.value=e),label:"access_token",type:"textarea",maxlength:"5000","input-align":"center",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[46]||(l[46]=e=>Gt(kn.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"]),Ke,(0,p.Wm)(Rn,{modelValue:fn.value,"onUpdate:modelValue":l[47]||(l[47]=e=>fn.value=e),label:"share_token",type:"textarea",maxlength:"200","input-align":"center",placeholder:"请填写OpenAi的share_token","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>Gt(fn.value)),autosize:{maxHeight:100,minHeight:50}},null,8,["modelValue"])])):(0,p.kq)("",!0)])),_:1}),Ee])),_:1})])])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:so.value,"onUpdate:show":l[64]||(l[64]=e=>so.value=e),title:"PandoraNext设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Je,[(0,p.Wm)(Jn,{onSubmit:l[63]||(l[63]=e=>Wt(Qa))},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[Ge,(0,p.Wm)(Rn,{modelValue:Vo.value,"onUpdate:modelValue":l[50]||(l[50]=e=>Vo.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Me,(0,p.Wm)(Rn,{modelValue:Wo.value,"onUpdate:modelValue":l[51]||(l[51]=e=>Wo.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Ye,(0,p.Wm)(Rn,{modelValue:Ao.value,"onUpdate:modelValue":l[52]||(l[52]=e=>Ao.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Xe,(0,p.Wm)(Rn,{modelValue:To.value,"onUpdate:modelValue":l[53]||(l[53]=e=>To.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),Fe,(0,p.Wm)(Rn,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Uo.value,"onUpdate:modelValue":l[54]||(l[54]=e=>Uo.value=e)},null,8,["modelValue"])])),_:1}),Qe,(0,p.Wm)(Rn,{name:"switch",label:"是否配置证书"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:No.value,"onUpdate:modelValue":l[55]||(l[55]=e=>No.value=e)},null,8,["modelValue"])])),_:1}),1==No.value?((0,p.wg)(),(0,p.iD)("div",el,[ll,(0,p.Wm)(Rn,{modelValue:So.value,"onUpdate:modelValue":l[56]||(l[56]=e=>So.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),al,(0,p.Wm)(Rn,{modelValue:Co.value,"onUpdate:modelValue":l[57]||(l[57]=e=>Co.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,p.kq)("",!0),ol,(0,p.Wm)(Rn,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Po.value,"onUpdate:modelValue":l[58]||(l[58]=e=>Po.value=e)},null,8,["modelValue"])])),_:1}),nl,(0,p.Wm)(Rn,{name:"switch",label:"是否自动打码"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:zo.value,"onUpdate:modelValue":l[59]||(l[59]=e=>zo.value=e)},null,8,["modelValue"])])),_:1}),tl,(0,p.Wm)(Rn,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Ho.value,"onUpdate:modelValue":l[60]||(l[60]=e=>Ho.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,p.Wm)(Rn,{modelValue:xo.value,"onUpdate:modelValue":l[61]||(l[61]=e=>xo.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),il,(0,p.Wm)(Rn,{modelValue:Lo.value,"onUpdate:modelValue":l[62]||(l[62]=e=>Lo.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),rl])),_:1}),(0,p._)("div",sl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),dl])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:co.value,"onUpdate:show":l[76]||(l[76]=e=>co.value=e),title:"tokensTool设置信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",cl,[(0,p.Wm)(Jn,{onSubmit:l[75]||(l[75]=e=>Wt(eo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[ml,(0,p.Wm)(Rn,{modelValue:Do.value,"onUpdate:modelValue":l[65]||(l[65]=e=>Do.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),pl,(0,p.Wm)(Rn,{modelValue:qo.value,"onUpdate:modelValue":l[66]||(l[66]=e=>qo.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"]),vl,(0,p.Wm)(Rn,{modelValue:yo.value,"onUpdate:modelValue":l[67]||(l[67]=e=>yo.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"]),wl,(0,p.Wm)(Rn,{modelValue:Ro.value,"onUpdate:modelValue":l[68]||(l[68]=e=>Ro.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),hl,(0,p.Wm)(Rn,{modelValue:$o.value,"onUpdate:modelValue":l[69]||(l[69]=e=>$o.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"]),_l,(0,p.Wm)(Rn,{modelValue:Oo.value,"onUpdate:modelValue":l[70]||(l[70]=e=>Oo.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:pn}]},null,8,["modelValue","rules"]),kl,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:Bo.value,"onUpdate:modelValue":l[71]||(l[71]=e=>Bo.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),fl,(0,p.Wm)(Rn,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Io.value,"onUpdate:modelValue":l[72]||(l[72]=e=>Io.value=e)},null,8,["modelValue"])])),_:1}),1==Io.value?((0,p.wg)(),(0,p.iD)("div",gl,[bl,(0,p.Wm)(Rn,{modelValue:jo.value,"onUpdate:modelValue":l[73]||(l[73]=e=>jo.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:mn}]},null,8,["modelValue","rules"])])):(0,p.kq)("",!0),yl,(0,p.Wm)(Rn,{modelValue:Zo.value,"onUpdate:modelValue":l[74]||(l[74]=e=>Zo.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Vl])),_:1}),(0,p._)("div",Wl,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Tl])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:mo.value,"onUpdate:show":l[85]||(l[85]=e=>mo.value=e),title:"PandoraNext验证信息",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",xl,[(0,p.Wm)(Jn,{onSubmit:l[84]||(l[84]=e=>Wt(lo))},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[Ul,(0,p.Wm)(Rn,{modelValue:Ko.value,"onUpdate:modelValue":l[77]||(l[77]=e=>Ko.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Pl,(0,p.Wm)(Rn,{modelValue:Eo.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Eo.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),zl,(0,p.Wm)(Rn,{modelValue:Jo.value,"onUpdate:modelValue":l[79]||(l[79]=e=>Jo.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),Hl,(0,p.Wm)(Rn,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Go.value,"onUpdate:modelValue":l[80]||(l[80]=e=>Go.value=e)},null,8,["modelValue"])])),_:1}),Al,(0,p.Wm)(Rn,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Mo.value,"onUpdate:modelValue":l[81]||(l[81]=e=>Mo.value=e)},null,8,["modelValue"])])),_:1}),Nl,(0,p.Wm)(Rn,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Yo.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Yo.value=e)},null,8,["modelValue"])])),_:1}),Sl,(0,p.Wm)(Rn,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Xo.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Xo.value=e)},null,8,["modelValue"])])),_:1}),Cl])),_:1}),(0,p._)("div",Ol,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),$l])),_:1},8,["show"]),(0,p.Wm)(gt,{modelValue:po.value,"onUpdate:modelValue":l[87]||(l[87]=e=>po.value=e),title:"pool_token列表","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Dl,[(0,p.Wm)(Yn,{onClick:l[86]||(l[86]=e=>Gt(ln.value+yo.value+"/v1/chat/completions"))},{default:(0,p.w5)((()=>[(0,p.Wm)(et)])),_:1}),(0,p.Wm)(mt,{style:{"white-space":"nowrap",overflow:"hidden","text-overflow":"ellipsis"}},{default:(0,p.w5)((()=>[(0,p.Uk)(" API地址:"+(0,v.zw)(ln.value)+(0,v.zw)(yo.value)+"/v1/chat/completions ",1)])),_:1})]),(0,p._)("div",ql,[(0,p.Wm)((0,w.SU)(W.eI),{"row-class-name":ut,data:Hn.value},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{prop:"intoOneApi",label:"pool_token名称",sortable:"","min-width":"180","default-sort":{prop:"poolTime",prop:"intoOneApi"},class:"poolTokenDialog"},{default:(0,p.w5)((e=>[(0,p._)("div",Bl,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,p.wg)(),(0,p.iD)("div",Il,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[jl])),_:1})])):1==e.row.intoOneApi?((0,p.wg)(),(0,p.iD)("div",Zl,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Rl])),_:1})])):((0,p.wg)(),(0,p.iD)("div",Ll,[(0,p.Wm)(V,{size:"small",color:"#f4fffd",circle:""},{default:(0,p.w5)((()=>[Kl])),_:1})])),(0,p._)("span",El,(0,v.zw)(e.row.poolName),1)])])),_:1}),(0,p.Wm)(y,{label:"pool_token值","min-width":"265"},{default:(0,p.w5)((e=>[(0,p._)("div",Jl,[(0,p.Wm)(Yn,{onClick:l=>Gt(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(et)])),_:2},1032,["onClick"]),(0,p._)("span",Gl,(0,v.zw)(e.row.poolToken),1)])])),_:1}),(0,p.Wm)(y,{label:"使用token名集合","min-width":"275"},{default:(0,p.w5)((e=>[(0,p._)("div",Ml,[(0,p._)("span",Yl,(0,v.zw)(e.row.shareTokens),1)])])),_:1}),(0,p.Wm)(y,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"180"}),(0,p.Wm)(y,{label:"操作方法","min-width":"285"},{default:(0,p.w5)((e=>[(0,p.Wm)(V,{size:"small",onClick:l=>Zt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("检验")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"danger",onClick:l=>jt(e.$index,e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("删除")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"success",onClick:l=>qt(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("刷新")])),_:2},1032,["onClick"]),(0,p.Wm)(V,{size:"small",type:"primary",onClick:l=>It(e.row)},{default:(0,p.w5)((()=>[(0,p.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])]),(0,p._)("div",Xl,[(0,p.Wm)(ft,{class:"pool-button"},{default:(0,p.w5)((()=>[(0,p.Wm)(V,{onClick:Ot},{default:(0,p.w5)((()=>[Fl])),_:1}),(0,p.Wm)(V,{onClick:$t},{default:(0,p.w5)((()=>[Ql])),_:1})])),_:1})]),ea])),_:1},8,["modelValue"]),(0,p.Wm)(gt,{modelValue:vo.value,"onUpdate:modelValue":l[91]||(l[91]=e=>vo.value=e),title:"PandoraNext余额","align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",la,[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[aa,(0,p.Wm)(Rn,{modelValue:nt.value,"onUpdate:modelValue":l[88]||(l[88]=e=>nt.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),oa,(0,p.Wm)(Rn,{modelValue:At.value,"onUpdate:modelValue":l[89]||(l[89]=e=>At.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),na,(0,p.Wm)(Rn,{modelValue:Nt.value,"onUpdate:modelValue":l[90]||(l[90]=e=>Nt.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),ta])),_:1})])])),_:1},8,["modelValue"]),(0,p.Wm)(Gn,{show:wo.value,"onUpdate:show":l[99]||(l[99]=e=>wo.value=e),title:"定时刷新&PandoraNext网址","align-center":"",width:"90vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",ua,[(0,p.Wm)(Jn,{onSubmit:l[98]||(l[98]=e=>Tt())},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[ia,(0,p.Wm)(Rn,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:Fo.value,"onUpdate:modelValue":l[92]||(l[92]=e=>Fo.value=e)},null,8,["modelValue"])])),_:1}),1==Fo.value?((0,p.wg)(),(0,p.iD)("div",ra,[sa,(0,p.Wm)(Rn,{modelValue:Qo.value,"onUpdate:modelValue":l[93]||(l[93]=e=>Qo.value=e),name:"自动刷新session的间隔天数",label:"自动刷新session的间隔天数","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),da,(0,p.Wm)(Rn,{modelValue:en.value,"onUpdate:modelValue":l[94]||(l[94]=e=>en.value=e),name:"自动刷新session的个数",label:"自动刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"])])):(0,p.kq)("",!0),ca,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:ln.value,"onUpdate:modelValue":l[95]||(l[95]=e=>ln.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),ma,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:an.value,"onUpdate:modelValue":l[96]||(l[96]=e=>an.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),pa,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:on.value,"onUpdate:modelValue":l[97]||(l[97]=e=>on.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),va])),_:1}),(0,p._)("div",wa,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),ha])),_:1},8,["show"]),(0,p.Wm)(Gn,{show:ho.value,"onUpdate:show":l[106]||(l[106]=e=>ho.value=e),title:"添加poolToken信息",width:"90vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",_a,[(0,p.Wm)(Jn,{onSubmit:lt},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[(0,p.Wm)(Rn,{modelValue:tn.value,"onUpdate:modelValue":l[100]||(l[100]=e=>tn.value=e),name:"pool_token名",label:"pool_token名","input-align":"right",placeholder:"3到10个字符",rules:[{validator:vn}]},null,8,["modelValue","rules"]),ka,(0,p.Wm)(Rn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:un.value,"onUpdate:modelValue":l[101]||(l[101]=e=>un.value=e)},null,8,["modelValue"])])),_:1}),1==un.value?((0,p.wg)(),(0,p.iD)("div",fa,[ga,(0,p.Wm)(Rn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:rn.value,"onUpdate:modelValue":l[102]||(l[102]=e=>rn.value=e)},null,8,["modelValue"])])),_:1}),ba,(0,p.Wm)(Rn,{modelValue:dn.value,"onUpdate:modelValue":l[103]||(l[103]=e=>dn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ya,(0,p.Wm)(Rn,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(Ft,{modelValue:ao.value,"onUpdate:modelValue":l[104]||(l[104]=e=>ao.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Va,[(0,p.Wm)(bt,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",Wa,[(0,p.Wm)(bt,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(bt,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ta,(0,p.Wm)(Rn,{rows:"2",autosize:"",type:"textarea",modelValue:sn.value,"onUpdate:modelValue":l[105]||(l[105]=e=>sn.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),xa])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Ua,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Pa])),_:1},8,["show"]),(0,p.Wm)(gt,{modelValue:_o.value,"onUpdate:modelValue":l[107]||(l[107]=e=>_o.value=e),title:"tokensTool登录日志","align-center":"",width:"90%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",za,[(0,p.Wm)((0,w.SU)(W.eI),{"row-class-name":ut,data:An.value},{default:(0,p.w5)((()=>[(0,p.Wm)(y,{prop:"ipAddress",label:"登录地区","min-width":"160"},{default:(0,p.w5)((e=>[(0,p._)("div",Ha,[(0,p._)("span",Aa,(0,v.zw)(e.row.ipAddress),1)])])),_:1}),(0,p.Wm)(y,{label:"登录IP","min-width":"155"},{default:(0,p.w5)((e=>[(0,p._)("div",Na,[(0,p.Wm)(Yn,{onClick:l=>Gt(e.row.poolToken)},{default:(0,p.w5)((()=>[(0,p.Wm)(et)])),_:2},1032,["onClick"]),(0,p._)("span",Sa,(0,v.zw)(e.row.requestIp),1)])])),_:1}),(0,p.Wm)(y,{label:"成功/失败","min-width":"105"},{default:(0,p.w5)((e=>[(0,p._)("div",Ca,[(0,p._)("span",Oa,(0,v.zw)(e.row.inRequestNumber)+"/"+(0,v.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,p.Wm)(y,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),$a])),_:1},8,["modelValue"]),(0,p.Wm)(Gn,{show:ko.value,"onUpdate:show":l[115]||(l[115]=e=>ko.value=e),title:"添加poolToken信息",width:"95vw","align-center":"","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",Da,[(0,p.Wm)(Jn,{onSubmit:ot},{default:(0,p.w5)((()=>[(0,p.Wm)(Kn,{inset:""},{default:(0,p.w5)((()=>[qa,(0,p._)("div",Ba,[(0,p.Wm)(Qt,{label:"poolToken名"},{default:(0,p.w5)((()=>[(0,p.Wm)(Pn,{modelValue:nn.value,"onUpdate:modelValue":l[108]||(l[108]=e=>nn.value=e),filterable:"",clearable:"",placeholder:"选择要修改的pool名",onChange:at,class:"selectPool_token"},{default:(0,p.w5)((()=>[((0,p.wg)(!0),(0,p.iD)(p.HY,null,(0,p.Ko)(Hn.value,(e=>((0,p.wg)(),(0,p.j4)(to,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Ia,(0,p.Wm)(Rn,{modelValue:cn.value,"onUpdate:modelValue":l[109]||(l[109]=e=>cn.value=e),type:"textarea",autoSize:"",name:"pool_token的值",label:"pool_token的值",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),ja,(0,p.Wm)(Rn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:un.value,"onUpdate:modelValue":l[110]||(l[110]=e=>un.value=e)},null,8,["modelValue"])])),_:1}),Za,1==un.value?((0,p.wg)(),(0,p.iD)("div",Ra,[La,(0,p.Wm)(Rn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,p.w5)((()=>[(0,p.Wm)(Ln,{"active-color":"#0ea27e",modelValue:rn.value,"onUpdate:modelValue":l[111]||(l[111]=e=>rn.value=e)},null,8,["modelValue"])])),_:1}),Ka,(0,p.Wm)(Rn,{modelValue:dn.value,"onUpdate:modelValue":l[112]||(l[112]=e=>dn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ea,(0,p.Wm)(Rn,{name:"checkboxGroup",label:"在one-api的组别","input-align":"right"},{input:(0,p.w5)((()=>[(0,p.Wm)(Ft,{modelValue:ao.value,"onUpdate:modelValue":l[113]||(l[113]=e=>ao.value=e)},{default:(0,p.w5)((()=>[(0,p._)("div",Ja,[(0,p.Wm)(bt,{name:"default","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("default")])),_:1})]),(0,p._)("div",Ga,[(0,p.Wm)(bt,{name:"vip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("vip")])),_:1})]),(0,p.Wm)(bt,{name:"svip","checked-color":"#0ea27e"},{default:(0,p.w5)((()=>[(0,p.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ma,(0,p.Wm)(Rn,{type:"textarea",autoSize:"",modelValue:sn.value,"onUpdate:modelValue":l[114]||(l[114]=e=>sn.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Ya])):(0,p.kq)("",!0)])),_:1}),(0,p._)("div",Xa,[(0,p.Wm)(f,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,p.w5)((()=>[(0,p.Uk)(" 提交 ")])),_:1})])])),_:1})]),Fa])),_:1},8,["show"]),(0,p.Wm)(gt,{modelValue:fo.value,"onUpdate:modelValue":l[116]||(l[116]=e=>fo.value=e),"align-center":"",width:"90vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,p.w5)((()=>[(0,p._)("div",{ref_key:"chart",ref:Yt,style:{width:"auto",height:"350px"}},null,512)])),_:1},8,["modelValue"])],64)}}});const oo=ao;var no=oo}}]); -//# sourceMappingURL=77.cc45578a.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/77.cc45578a.js.map b/rearServer/target/classes/static/js/77.cc45578a.js.map deleted file mode 100644 index 42a3955..0000000 --- a/rearServer/target/classes/static/js/77.cc45578a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/77.cc45578a.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue","webpack://PandoraNext-TokensTool/./src/views/homeIphone.vue?1abb"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"img\", {\n style: {\n \"width\": \"25px\"\n },\n src: _imports_0\n}, null, -1);\nconst _hoisted_4 = {\n class: \"home-container\"\n};\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.2 \")], -1);\nconst _hoisted_11 = {\n class: \"under\"\n};\nconst _hoisted_12 = {\n class: \"search\"\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"0px 0px -20px 0px\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"width\": \"88vw\",\n \"height\": \"63vh\",\n \"transform\": \"translateX(0vw)\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_17 = {\n style: {\n \"margin-left\": \"15px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_18 = {\n style: {\n \"margin\": \"13px\",\n \"transform\": \"translateX(7px)\"\n }\n};\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_22 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = {\n key: 0\n};\nconst _hoisted_26 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 0\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_31 = {\n key: 1\n};\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = {\n key: 0\n};\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 1\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 0\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_49 = {\n key: 2\n};\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 3\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_54 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_57 = {\n key: 0\n};\nconst _hoisted_58 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_59 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_60 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 15px 10px 15px\"\n }\n};\nconst _hoisted_62 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_63 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = {\n key: 0\n};\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = {\n key: 0\n};\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = {\n key: 0\n};\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_121 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(102.5% + 40px)\"\n }\n};\nconst _hoisted_122 = {\n style: {\n \"margin-left\": \"10px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_123 = {\n key: 0\n};\nconst _hoisted_124 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_125 = {\n key: 1\n};\nconst _hoisted_126 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_127 = {\n key: 2\n};\nconst _hoisted_128 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_129 = {\n style: {\n \"margin-left\": \"20px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_130 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_132 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_133 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_134 = {\n style: {\n \"margin\": \"10px 0px 10px 0px\"\n }\n};\nconst _hoisted_135 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部刷新\", -1);\nconst _hoisted_136 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查\", -1);\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_138 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_139 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_144 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_145 = {\n key: 0\n};\nconst _hoisted_146 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_151 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_152 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_153 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_154 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = {\n key: 0\n};\nconst _hoisted_157 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_158 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_159 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_160 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_161 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_162 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_163 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_164 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_165 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_166 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translate(calc(-2.5% - 20px), 0vh)\",\n \"width\": \"calc(100% + 2.5% + 40px)\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_168 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_169 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_170 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_171 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_172 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_175 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_176 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = {\n key: 0\n};\nconst _hoisted_181 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_182 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_183 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_184 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_185 = {\n style: {\n \"margin-bottom\": \"5px\"\n }\n};\nconst _hoisted_186 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_187 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_188 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_189 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIphone',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleSelection = ref([]);\n const toggleSelection = rows => {\n multipleTableRef.value.clearSelection();\n };\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n //页头图片 image\n const image = png;\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"0\"\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\",\n onClick: getPandoraNext\n })]),\n default: _withCtx(() => [_hoisted_3]),\n _: 1\n }), _hoisted_5, _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"列表\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-2\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"PoolToken列表\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"全部检查并生成\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-5\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"1-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-4\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"1-5\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用手册\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"状态\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"2-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-2-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-2-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"2-3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"2-3-1\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-2\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-3-3\"\n }, {\n default: _withCtx(() => [_hoisted_8]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"2-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createElementVNode(\"div\", _hoisted_13, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = $event => value.value = $event),\n shape: \"round\",\n placeholder: \"请输入搜索token名称或类型\",\n onSearch: onSearch\n }, null, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_14, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n class: \"tokenTable\",\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n width: \"160\",\n prop: \"setPoolToken\",\n sortable: \"\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_15, [_createElementVNode(\"div\", null, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024)]), _createElementVNode(\"span\", _hoisted_16, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n width: \"117\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createElementVNode(\"span\", _hoisted_17, [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)])]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"370\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_18, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"my-button\",\n onClick: _cache[6] || (_cache[6] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_19]),\n _: 1\n })])])]), _hoisted_20]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[17] || (_cache[17] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_21, [_createVNode(_component_van_form, {\n onSubmit: _cache[16] || (_cache[16] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_22, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n \"input-align\": \"center\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n \"input-align\": \"center\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [_hoisted_26, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_30, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [_hoisted_32, _createVNode(_component_van_field, {\n rows: \"2\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => temPassword.value = $event),\n name: \"Token的密码\",\n \"input-align\": \"center\",\n label: \"Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_33, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n \"input-align\": \"center\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 50\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_34]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_35, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_36]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[29] || (_cache[29] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_form, {\n onSubmit: _cache[28] || (_cache[28] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_38, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_39, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => addUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n rules: [{\n required: true,\n message: '请填写OpenAi用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_40, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[20] || (_cache[20] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[21] || (_cache[21] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [_hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_48, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_49, [_hoisted_50, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n autoSize: \"\",\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addPassword.value = $event),\n name: \"Token的密码\",\n label: \"Token的密码\",\n \"input-align\": \"center\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_53]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_54, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_55]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[49] || (_cache[49] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_57, [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_59, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_62, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[31] || (_cache[31] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_63, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[32] || (_cache[32] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"Token的密码\",\n label: \"Token的密码\",\n placeholder: \"Token的密码\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[33] || (_cache[33] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_64, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n \"input-align\": \"center\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_67, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[39] || (_cache[39] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_68, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[41] || (_cache[41] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"input-align\": \"center\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[44] || (_cache[44] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_72, [_hoisted_73, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[46] || (_cache[46] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"]), _hoisted_74, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n \"input-align\": \"center\",\n placeholder: \"请填写OpenAi的share_token\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 50\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_75]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[64] || (_cache[64] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_76, [_createVNode(_component_van_form, {\n onSubmit: _cache[63] || (_cache[63] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_77, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[50] || (_cache[50] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_78, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_79, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[52] || (_cache[52] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[53] || (_cache[53] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_82, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_83, [_hoisted_84, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_85, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_86, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_87, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_90, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_91]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_92, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_93]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[76] || (_cache[76] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_form, {\n onSubmit: _cache[75] || (_cache[75] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_95, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_96, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_97, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[67] || (_cache[67] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[68] || (_cache[68] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_101, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_102, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_103, [_hoisted_104, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_105, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_106]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_107, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_108]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[85] || (_cache[85] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_form, {\n onSubmit: _cache[84] || (_cache[84] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_110, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_111, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_112, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[79] || (_cache[79] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[80] || (_cache[80] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_114, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_118, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_119]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_el_icon, {\n onClick: _cache[86] || (_cache[86] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, {\n style: {\n \"white-space\": \"nowrap\",\n \"overflow\": \"hidden\",\n \"text-overflow\": \"ellipsis\"\n }\n }, {\n default: _withCtx(() => [_createTextVNode(\" API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions \", 1)]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_121, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: poolData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"intoOneApi\",\n label: \"pool_token名称\",\n sortable: \"\",\n \"min-width\": \"180\",\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_122, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_123, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_124]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_125, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_126]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_127, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_128]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_129, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"265\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_130, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_131, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"275\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_132, [_createElementVNode(\"span\", _hoisted_133, _toDisplayString(scope.row.shareTokens), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"180\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"285\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])]), _createElementVNode(\"div\", _hoisted_134, [_createVNode(_component_el_button_group, {\n class: \"pool-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_135]),\n _: 1\n }), _createVNode(_component_el_button, {\n onClick: verifyAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_136]),\n _: 1\n })]),\n _: 1\n })]), _hoisted_137]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_138, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_139, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[88] || (_cache[88] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_140, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[89] || (_cache[89] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_141, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[90] || (_cache[90] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_142]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_8.value,\n \"onUpdate:show\": _cache[99] || (_cache[99] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_143, [_createVNode(_component_van_form, {\n onSubmit: _cache[98] || (_cache[98] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_144, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[92] || (_cache[92] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_145, [_hoisted_146, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => auto_updateTime.value = $event),\n name: \"自动刷新session的间隔天数\",\n label: \"自动刷新session的间隔天数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_147, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[94] || (_cache[94] = $event => auto_updateNumber.value = $event),\n name: \"自动刷新session的个数\",\n label: \"自动刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_148, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_149, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_150, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_151]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_152, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_153]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_9.value,\n \"onUpdate:show\": _cache[106] || (_cache[106] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n width: \"90vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_154, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[100] || (_cache[100] = $event => poolNameValue.value = $event),\n name: \"pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"3到10个字符\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_155, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[101] || (_cache[101] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_156, [_hoisted_157, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[102] || (_cache[102] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_158, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_159, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_160, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_161, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_162, _createVNode(_component_van_field, {\n rows: \"2\",\n autosize: \"\",\n type: \"textarea\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_163])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_164, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_165]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"90%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_166, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"160\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_167, [_createElementVNode(\"span\", _hoisted_168, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"155\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_169, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_170, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_171, [_createElementVNode(\"span\", _hoisted_172, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_173]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_van_dialog, {\n show: show_11.value,\n \"onUpdate:show\": _cache[115] || (_cache[115] = $event => show_11.value = $event),\n title: \"添加poolToken信息\",\n width: \"95vw\",\n \"align-center\": \"\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_174, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_175, _createElementVNode(\"div\", _hoisted_176, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[108] || (_cache[108] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择要修改的pool名\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_177, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => temPool_token.value = $event),\n type: \"textarea\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_178, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_179, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_180, [_hoisted_181, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_182, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_183, _createVNode(_component_van_field, {\n name: \"checkboxGroup\",\n label: \"在one-api的组别\",\n \"input-align\": \"right\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => groupChecked.value = $event)\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_184, [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_185, [_createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n })]), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_186, _createVNode(_component_van_field, {\n type: \"textarea\",\n autoSize: \"\",\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_187])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_188, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_189]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"90vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"350px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIphone.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIphone.vue?vue&type=style&index=0&id=f33f0c8a&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","style","src","_hoisted_4","_hoisted_5","_hoisted_6","href","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","key","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","_hoisted_185","_hoisted_186","_hoisted_187","_hoisted_188","_hoisted_189","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleSelection","handleSelectionChange","val","value","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","buttonValue","options","label","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","innerHeight","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","getPool","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","getSetting","tls","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","service","fullscreen","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","loadingInstance","json","msg","close","handlePoolNameChange","selectedItem","find","requirePoolToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","updateAllPoolToken","verifyAllPoolToken","reNew","reNewMsg","ok","Error","reNewPool","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","logout","removeItem","getPoolToken","getLogin","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_van_icon","_component_el_menu_item","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_button_group","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","size","onClick","$event","icon","extra","square","color","modelValue","shape","placeholder","onSelectionChange","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","clearable","filterable","onSubmit","inset","rules","required","rows","autoSize","validator","maxlength","autosize","maxHeight","minHeight","round","block","suffix","readonly","onClickLeftIcon","disabled","property","input","onChange","ref_key","ref","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/static/js/805.c5ddb037.js b/rearServer/target/classes/static/js/805.c5ddb037.js deleted file mode 100644 index 02f8cff..0000000 --- a/rearServer/target/classes/static/js/805.c5ddb037.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self["webpackChunkPandoraNext_TokensTool"]=self["webpackChunkPandoraNext_TokensTool"]||[]).push([[805],{8805:function(e,l,a){a.r(l),a.d(l,{default:function(){return Qa}});var o=a(299),n=(a(8845),a(6773)),t=(a(487),a(2876)),u=(a(492),a(5185)),i=(a(3349),a(5267)),r=(a(1645),a(7630)),s=(a(7034),a(3164)),d=(a(6335),a(157)),m=(a(1897),a(6907)),c=(a(4746),a(294)),v=(a(6870),a(6252)),p=a(3577),w=a(2262),h=a(1094),_=a(2201),k=a(6154),f=(a(451),a(844)),g=a(1348),b=a(9288),V=a(2534),y=a(3028),W=a(4708),T=a(1893);const x={class:"content"},U=(0,v._)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no"},null,-1),P={class:"home-container"},z=(0,v._)("div",{class:"flex-grow"},null,-1),A=(0,v._)("a",{href:"https://ai.fakeopen.com/auth"},"PandoraNext地址",-1),H=(0,v._)("a",{href:"https://chat.openai.com/api/auth/session"},"OpenAI官网",-1),N=(0,v._)("a",{href:"https://github.com/Yanyutin753/PandoraNext-TokensTool"},"TokensTool地址",-1),S={class:"under"},C={style:{display:"block",transform:"translate(5vw, 2.5vh)"}},O=(0,v._)("div",{class:"flex items-center"},[(0,v._)("span",{class:"font-h4"},"PandoraNext-TokensTool "),(0,v._)("span",{class:"font-h4-tag"},"v0.6.2 ")],-1),$={class:"search"},q={style:{display:"flex",margin:"10px 35px -8px 35px"}},D={style:{display:"flex",transform:"translateX(4vw)",width:"70vw",height:"61vh"}},B={style:{display:"flex","align-items":"center"}},I={style:{"margin-left":"18px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},j={style:{margin:"15px 0px 15px 0px"}},Z=(0,v._)("h1",null,"批量操作",-1),L=(0,v._)("h1",null,"全部检查并生成",-1),R=(0,v._)("br",null,null,-1),E=(0,v._)("br",null,null,-1),K=(0,v._)("br",null,null,-1),J={style:{display:"block"}},G=(0,v._)("br",null,null,-1),M=(0,v._)("br",null,null,-1),Y=(0,v._)("br",null,null,-1),F={key:0},X=(0,v._)("br",null,null,-1),Q={key:1},ee=(0,v._)("br",null,null,-1),le={key:0},ae=(0,v._)("br",null,null,-1),oe=(0,v._)("br",null,null,-1),ne={key:2},te=(0,v._)("br",null,null,-1),ue=(0,v._)("br",null,null,-1),ie=(0,v._)("br",null,null,-1),re={style:{margin:"5.2px"}},se=(0,v._)("br",null,null,-1),de={style:{display:"block"}},me=(0,v._)("br",null,null,-1),ce=(0,v._)("br",null,null,-1),ve=(0,v._)("br",null,null,-1),pe=(0,v._)("br",null,null,-1),we={key:0},he=(0,v._)("br",null,null,-1),_e={key:1},ke=(0,v._)("br",null,null,-1),fe={key:0},ge=(0,v._)("br",null,null,-1),be=(0,v._)("br",null,null,-1),Ve={key:2},ye=(0,v._)("br",null,null,-1),We={key:3},Te=(0,v._)("br",null,null,-1),xe=(0,v._)("br",null,null,-1),Ue={style:{margin:"5.2px"}},Pe=(0,v._)("br",null,null,-1),ze={style:{display:"block"}},Ae={key:0},He={style:{display:"flex","justify-content":"center","align-items":"center"}},Ne={style:{margin:"10px 75px 10px 75px"}},Se={style:{margin:"10px 75px 10px 75px"}},Ce={style:{margin:"10px 75px 10px 75px"}},Oe=(0,v._)("br",null,null,-1),$e=(0,v._)("br",null,null,-1),qe=(0,v._)("br",null,null,-1),De=(0,v._)("br",null,null,-1),Be=(0,v._)("br",null,null,-1),Ie=(0,v._)("br",null,null,-1),je=(0,v._)("br",null,null,-1),Ze=(0,v._)("br",null,null,-1),Le=(0,v._)("br",null,null,-1),Re=(0,v._)("br",null,null,-1),Ee={key:0},Ke=(0,v._)("br",null,null,-1),Je=(0,v._)("br",null,null,-1),Ge=(0,v._)("br",null,null,-1),Me={style:{display:"block"}},Ye=(0,v._)("br",null,null,-1),Fe=(0,v._)("br",null,null,-1),Xe=(0,v._)("br",null,null,-1),Qe=(0,v._)("br",null,null,-1),el=(0,v._)("br",null,null,-1),ll=(0,v._)("br",null,null,-1),al={key:0},ol=(0,v._)("br",null,null,-1),nl=(0,v._)("br",null,null,-1),tl=(0,v._)("br",null,null,-1),ul=(0,v._)("br",null,null,-1),il=(0,v._)("br",null,null,-1),rl=(0,v._)("br",null,null,-1),sl=(0,v._)("br",null,null,-1),dl=(0,v._)("br",null,null,-1),ml={style:{margin:"5.2px"}},cl=(0,v._)("br",null,null,-1),vl={style:{display:"block"}},pl=(0,v._)("br",null,null,-1),wl=(0,v._)("br",null,null,-1),hl=(0,v._)("br",null,null,-1),_l=(0,v._)("br",null,null,-1),kl=(0,v._)("br",null,null,-1),fl=(0,v._)("br",null,null,-1),gl=(0,v._)("br",null,null,-1),bl=(0,v._)("br",null,null,-1),Vl={key:0},yl=(0,v._)("br",null,null,-1),Wl=(0,v._)("br",null,null,-1),Tl=(0,v._)("br",null,null,-1),xl={style:{margin:"5.2px"}},Ul=(0,v._)("br",null,null,-1),Pl={style:{display:"block"}},zl=(0,v._)("br",null,null,-1),Al=(0,v._)("br",null,null,-1),Hl=(0,v._)("br",null,null,-1),Nl=(0,v._)("br",null,null,-1),Sl=(0,v._)("br",null,null,-1),Cl=(0,v._)("br",null,null,-1),Ol=(0,v._)("br",null,null,-1),$l=(0,v._)("br",null,null,-1),ql={style:{margin:"5.2px"}},Dl=(0,v._)("br",null,null,-1),Bl={style:{transform:"translate(0vw, -2vh)"}},Il={style:{"margin-left":"15px",display:"flex","align-items":"center"}},jl={key:0},Zl=(0,v._)("h5",null,"oneApi4",-1),Ll={key:1},Rl=(0,v._)("h5",null,"oneApi3",-1),El={key:2},Kl=(0,v._)("h5",null,"Json",-1),Jl={style:{"margin-left":"25px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Gl={style:{display:"flex","align-items":"center",overflow:"auto"}},Ml={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Yl={style:{display:"flex","align-items":"center",overflow:"auto"}},Fl={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Xl={style:{margin:"10px 0px 10px 0px"}},Ql=(0,v._)("h1",null,"全部刷新",-1),ea=(0,v._)("h1",null,"全部检查",-1),la=(0,v._)("br",null,null,-1),aa={style:{display:"block"}},oa=(0,v._)("br",null,null,-1),na=(0,v._)("br",null,null,-1),ta=(0,v._)("br",null,null,-1),ua=(0,v._)("br",null,null,-1),ia={style:{display:"block"}},ra=(0,v._)("br",null,null,-1),sa={key:0},da=(0,v._)("br",null,null,-1),ma=(0,v._)("br",null,null,-1),ca=(0,v._)("br",null,null,-1),va=(0,v._)("br",null,null,-1),pa=(0,v._)("br",null,null,-1),wa=(0,v._)("br",null,null,-1),ha={style:{margin:"5.2px"}},_a={style:{display:"block"}},ka=(0,v._)("br",null,null,-1),fa=(0,v._)("br",null,null,-1),ga={key:0},ba=(0,v._)("br",null,null,-1),Va=(0,v._)("br",null,null,-1),ya=(0,v._)("br",null,null,-1),Wa=(0,v._)("br",null,null,-1),Ta=(0,v._)("br",null,null,-1),xa={style:{margin:"5.2px"}},Ua={style:{display:"flex"}},Pa={style:{display:"flex","align-items":"center"}},za={style:{"margin-left":"0px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Aa={style:{display:"flex","align-items":"center",overflow:"auto"}},Ha={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Na={style:{display:"flex","align-items":"center",overflow:"auto"}},Sa={style:{"margin-left":"10px","text-overflow":"ellipsis",overflow:"hidden","white-space":"nowrap"}},Ca=(0,v._)("br",null,null,-1),Oa={style:{display:"block"}},$a=(0,v._)("br",null,null,-1),qa={style:{transform:"translateX(17px)"}},Da=(0,v._)("br",null,null,-1),Ba=(0,v._)("br",null,null,-1),Ia=(0,v._)("br",null,null,-1),ja={key:0},Za=(0,v._)("br",null,null,-1),La=(0,v._)("br",null,null,-1),Ra=(0,v._)("br",null,null,-1),Ea=(0,v._)("br",null,null,-1),Ka=(0,v._)("br",null,null,-1),Ja={style:{margin:"5.2px"}},Ga=0,Ma=1,Ya=2;var Fa=(0,v.aZ)({__name:"homeIndex",setup(e){const l=window.location.pathname,a=l.split("/");let Fa="";a.length>=3&&(Fa="/"+a[1]);const Xa=(0,w.iH)(["default","svip","vip"]),Qa=(0,w.iH)(),eo=(0,w.iH)([]),lo=e=>{eo.value=e},ao=(0,w.iH)("ALL"),oo=(0,_.tv)(),no=(0,w.iH)(!1),to=(0,w.iH)(!1),uo=(0,w.iH)(!1),io=(0,w.iH)(!1),ro=(0,w.iH)(!1),so=(0,w.iH)(!1),mo=(0,w.iH)(!1),co=(0,w.iH)(!1),vo=(0,w.iH)(!1),po=(0,w.iH)(!1),wo=(0,w.iH)(!1),ho=(0,w.iH)(!1),_o=(0,w.iH)(!1),ko=(0,w.iH)(""),fo=[{buttonValue:"选中删除Token",label:"选中删除Token"},{buttonValue:"选中刷新Token",label:"选中刷新Token"},{buttonValue:"选中合成pool_token",label:"选中合成pool_token"},{buttonValue:"选中修改pool_token",label:"选中修改pool_token"}],go=(0,w.iH)(""),bo=(0,w.iH)("*"),Vo=(0,w.iH)(""),yo=(0,w.iH)(""),Wo=(0,w.iH)(""),To=(0,w.iH)(!1),xo=(0,w.iH)(!1),Uo=(0,w.iH)(!1),Po=(0,w.iH)(!1),zo=(0,w.iH)(""),Ao=(0,w.iH)(!1),Ho=(0,w.iH)(""),No=(0,w.iH)(""),So=(0,w.iH)(""),Co=(0,w.iH)(""),Oo=(0,w.iH)(""),$o=(0,w.iH)(""),qo=(0,w.iH)(""),Do=(0,w.iH)(!1),Bo=(0,w.iH)(""),Io=(0,w.iH)("PandoraNext"),jo=(0,w.iH)("default"),Zo=(0,w.iH)(""),Lo=(0,w.iH)(""),Ro=(0,w.iH)(""),Eo=(0,w.iH)(""),Ko=(0,w.iH)(!1),Jo=(0,w.iH)(!1),Go=(0,w.iH)(!1),Mo=(0,w.iH)(!1),Yo=(0,w.iH)(!1),Fo=(0,w.iH)(5),Xo=(0,w.iH)(1),Qo=(0,w.iH)(""),en=(0,w.iH)(""),ln=(0,w.iH)(""),an=(0,w.iH)(""),on=((0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(""),(0,w.iH)(!0),(0,w.iH)("")),nn=(0,w.iH)(!1),tn=(0,w.iH)(!1),un=(0,w.iH)(Qo.value+go.value),rn=(0,w.iH)(0),sn=(0,w.iH)(""),dn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!!l.test(e)||"此项至少要包含8位且必须包含数字和字母"},mn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(!l.test(e)&&""!=e)||"此项至少要包含8位且必须包含数字和字母"},cn=e=>{const l=/^[\u4e00-\u9fa5a-zA-Z0-9]{3,10}$/;return!!l.test(e)||"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字"},vn=e=>{const l=/^(?=.*\d)(?=.*[a-zA-Z]).{8,}$/;return!(1!=qn.value&&1!=Wn.value&&!l.test(e))||"此项至少要包含8位且必须包含数字和字母"},pn=(0,w.iH)(""),wn=(0,w.iH)(""),hn=(0,w.iH)(""),_n=(0,w.iH)(""),kn=(0,w.iH)(""),fn=(0,w.iH)(""),gn=(0,w.iH)(!1),bn=(0,w.iH)(!1),Vn=(0,w.iH)(!1),yn=(0,w.iH)(""),Wn=(0,w.iH)(!1),Tn=(0,w.iH)(!1),xn=(0,w.iH)(!0),Un=(0,w.iH)([]),Pn=(0,w.iH)([]),zn=(0,w.iH)([]),An=(0,w.iH)(""),Hn=(0,w.iH)(""),Nn=(0,w.iH)(""),Sn=(0,w.iH)(""),Cn=(0,w.iH)(!1),On=(0,w.iH)(!1),$n=(0,w.iH)(!1),qn=(0,w.iH)(!1),Dn=(0,w.iH)(!1),Bn=(0,w.iH)(""),In=((0,w.iH)(.085*window.innerHeight),(0,w.iH)("")),jn=localStorage.getItem("jwtToken");jn||oo.replace("/");const Zn={Authorization:`Bearer ${jn}`},Ln=async()=>{k.Z.post(`${Fa}/api/loginToken?token=`+jn).then((e=>{if(0==e.data.code)return console.error(e.data.data),void oo.replace("/")})).catch((e=>{console.error("请求loginToken接口失败",e),oo.replace("/")}))},Rn=e=>{"Web"==e?Jn(""):"all"==e?En(""):e.includes("API")?Kn(""):En(e)},En=async e=>{const l=await k.Z.get(`${Fa}/api/selectToken?name=${e}`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession})));Un.value=e}},Kn=async e=>{const l=await k.Z.get(`${Fa}/api/selectToken?name=${e}`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!0===e.setPoolToken));Un.value=l}},Jn=async e=>{const l=await k.Z.get(`${Fa}/api/selectToken?name=${e}`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({name:e.name,username:e.username,userPassword:e.userPassword,token:e.token,access_token:e.access_token,share_token:e.share_token,shared:e.shared,show_user_info:e.show_user_info,password:e.password,plus:e.plus,setPoolToken:e.setPoolToken,useRefreshToken:e.useRefreshToken,updateTime:e.updateTime,checkSession:e.checkSession}))),l=e.filter((e=>!1===e.setPoolToken));Un.value=l}},Gn=async()=>{const e=await k.Z.get(`${Fa}/api/selectLogin`,{headers:Zn}),l=e.data.data;if(Array.isArray(l)){const e=l.map((e=>({ipAddress:e.ipAddress,requestIp:e.requestIp,outRequestNumber:e.outRequestNumber,inRequestNumber:e.inRequestNumber,lastLoginTime:e.lastLoginTime})));zn.value=e}},Mn=async e=>{const l=await k.Z.get(`${Fa}/api/selectPoolToken?name=`,{headers:Zn}),a=l.data.data;if(Array.isArray(a)){const e=a.map((e=>({poolName:e.poolName,poolTime:e.poolTime,poolToken:e.poolToken,shareTokens:e.shareTokens,checkPool:e.checkPool,intoOneApi:e.intoOneApi,pandoraNextGpt4:e.pandoraNextGpt4,oneApi_pandoraUrl:e.oneApi_pandoraUrl,groupChecked:e.groupChecked,priority:e.priority})));Pn.value=e}},Yn=async e=>{const l=await k.Z.get(`${Fa}/api/selectSetting`,{headers:Zn}),a=l.data.data;go.value=a.proxy_api_prefix,bo.value=a.isolated_conv_title,Vo.value=a.bing,yo.value=a.timeout,Wo.value=a.proxy_url,To.value=a.public_share,xo.value=a.disable_signup,Uo.value=a.auto_conv_arkose,Po.value=a.proxy_file_service,zo.value=a.custom_doh_host,Ao.value=a.tls.enabled,Ho.value=a.tls.cert_file,No.value=a.tls.key_file,So.value=a.site_password,Co.value=a.setup_password,null==a.whitelist?Zo.value="null":Zo.value=a.whitelist,Oo.value=a.loginUsername,$o.value=a.loginPassword,qo.value=a.license_id,Do.value=a.isGetToken,Bo.value=a.getTokenPassword,Io.value=a.containerName,jo.value=a.autoToken_url,Lo.value=a.validation.provider,Ro.value=a.validation.site_key,Eo.value=a.validation.site_secret,Ko.value=a.validation.site_login,Jo.value=a.validation.setup_login,Go.value=a.validation.oai_username,Mo.value=a.validation.oai_password,Yo.value=a.auto_updateSession,Fo.value=a.auto_updateTime,Xo.value=a.auto_updateNumber,Qo.value=a.pandoraNext_outUrl,un.value=Qo.value+go.value,en.value=a.oneAPi_outUrl,ln.value=a.oneAPi_intoToken,Fn()},Fn=async()=>{"123456"==$o.value&&"root"==Oo.value&&(f.T.alert("请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!","温馨提醒",{confirmButtonText:"确定",callback:e=>{(0,g.z8)({type:"info",message:"如果不知道怎么填的话,可以看tokensTool的文档站!"})}}),ro.value=!0,$o.value="",Oo.value="")},Xn=()=>{const e=eo.value;0!==e.length?po.value=!0:(0,g.z8)("未选择数据")},Qn=async()=>{y.kN.service({fullscreen:!0});try{const e=eo.value,l=e.map((e=>e.name)),a={poolName:on.value,intoOneApi:nn.value,pandoraNextGpt4:tn.value,oneApi_pandoraUrl:un.value,shareTokens:l,groupChecked:Xa.value.toString(),priority:rn.value},o=await fetch(`${Fa}/api/addPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(on.value="",Mn(""),(0,g.z8)({type:"success",message:t.data}),on.value="",nn.value=!1,tn.value=!1,Xa.value=["default","svip","vip"],rn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消生成pool_token"})}po.value=!1},et=e=>{let l=Pn.value.find((l=>l.poolName===e));null!=l&&(sn.value=l.poolToken,nn.value=l.intoOneApi,tn.value=l.pandoraNextGpt4,un.value=l.oneApi_pandoraUrl,rn.value=l.priority)},lt=async()=>{y.kN.service({fullscreen:!0});try{const e=eo.value,l=e.map((e=>e.name)),a={poolName:an.value,poolToken:sn.value,intoOneApi:nn.value,pandoraNextGpt4:tn.value,oneApi_pandoraUrl:un.value,shareTokens:l,groupChecked:Xa.value.toString(),priority:rn.value},o=await fetch(`${Fa}/api/requirePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(a)}),n=y.kN.service({fullscreen:!0}),t=await o.json();1===t.code?(Mn(""),(0,g.z8)({type:"success",message:t.data}),an.value="",sn.value="",nn.value=!1,tn.value=!1,Xa.value=["default","svip","vip"],rn.value=0):(0,g.z8)({type:"info",message:t.msg}),n.close()}catch(e){(0,g.z8)({type:"info",message:"取消修改pool_token"})}ho.value=!1},at=(0,w.iH)("");(0,v.bv)((async()=>{const e=y.kN.service({fullscreen:!0});window.innerWidth<=700?oo.replace("/iphone"):oo.replace("/home"),Ln();const l=await k.Z.get(`${Fa}/api/getPandoraNext`,{headers:Zn}),a=l.data.data;null!=a&&(at.value=a.current+"/"+a.total),Rn(In.value),Mn(In.value),Yn(In.value),e.close()}));const ot=({row:e})=>0==e.checkSession?"warning-row":"",nt=({row:e})=>0==e.checkPool?"warning-row":"",tt=()=>{window.open(Qo.value)},ut=()=>{var e=Qo.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"shared.html")},it=()=>{var e=Qo.value;"/"!==e.charAt(e.length-1)&&(e+="/"),window.open(e+"setup")},rt=()=>{window.open("https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f")},st=(0,w.iH)("-1");let dt="";const mt=(e,l)=>{console.log("选择准备!")},ct=()=>{to.value=!0},vt=()=>{const e=y.kN.service({fullscreen:!0}),l=new Date,a=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${l.getDate().toString().padStart(2,"0")} ${l.getHours().toString().padStart(2,"0")}:${l.getMinutes().toString().padStart(2,"0")}:${l.getSeconds().toString().padStart(2,"0")}`;""!=Bn.value&&(Cn.value=!1,$n.value=!1,On.value=!1),0==qn.value&&(Sn.value=Hn.value+","+Nn.value,Dn.value=!1,Cn.value=!1,$n.value=!1,On.value=!1);let o={name:An.value,token:Sn.value,username:Hn.value,userPassword:Nn.value,shared:Cn.value,show_user_info:On.value,plus:$n.value,setPoolToken:qn.value,useRefreshToken:Dn.value,password:Bn.value,updateTime:a};fetch(`${Fa}/api/addToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(o)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success("添加成功!"),An.value="",Sn.value="",Hn.value="",Nn.value="",Cn.value=!1,On.value=!1,$n.value=!1,qn.value=!1,Dn.value=!1,Bn.value="",""==o.token&&(o.token=l.data,g.z8.success("已为您自动装填token!"))):g.z8.error(l.msg),Bn.value="",En(""),e.close()})).catch((l=>{g.z8.error("获取账号出现问题,请检查刷新网址是否正确!"),e.close()})),to.value=!1},pt=(0,w.iH)(0),wt=(0,w.iH)(0),ht=async e=>{if(pn.value=e.name,kn.value=e.username,fn.value=e.userPassword,wn.value=e.token,hn.value=e.access_token,_n.value=e.share_token,gn.value=e.shared,bn.value=e.show_user_info,Vn.value=e.plus,yn.value=e.password,Wn.value=e.setPoolToken,Tn.value=e.useRefreshToken,xn.value=e.checkSession,1!=Wn.value)return void(uo.value=!0);const l={Authorization:`Bearer ${e.access_token}`},a=await k.Z.get(`${un.value}/api/token/info/${e.share_token}`,{headers:l}),o=a.data;null!=o&&""!=o&&(null!=o.usage["text-davinci-002-render-sha"]?pt.value=Number(o.usage["text-davinci-002-render-sha"]):pt.value=0,null!=o.usage["gpt-4"]?wt.value=Number(o.usage["gpt-4"]):wt.value=0),uo.value=!0};let _t=!1,kt=!1,ft="";const gt=(e,l)=>{pn.value=l.name,kn.value=l.username,fn.value=l.userPassword,wn.value=l.token,dt=l.token,gn.value=l.shared,bn.value=l.show_user_info,Vn.value=l.plus,yn.value=l.password,Wn.value=l.setPoolToken,Tn.value=l.useRefreshToken,_t=Wn.value,kt=Tn.value,ft=wn.value,xn.value=l.checkSession,hn.value=l.access_token,_n.value=l.share_token,no.value=!0},bt=async e=>{0==e?io.value=!0:1==e?ro.value=!0:2==e&&(so.value=!0)},Vt=e=>{const l=y.kN.service({fullscreen:!0});null!=Zo.value&&"null"!=Zo.value||(Zo.value=""),0==Ao.value&&(Ho.value="",No.value="");const a={enabled:Ao.value,cert_file:Ho.value,key_file:No.value},o={provider:Lo.value,site_key:Ro.value,site_secret:Eo.value,site_login:Ko.value,setup_login:Jo.value,oai_username:Go.value,oai_password:Mo.value},n={proxy_api_prefix:go.value,isolated_conv_title:bo.value,bing:Vo.value,timeout:yo.value,proxy_url:Wo.value,public_share:To.value,site_password:So.value,setup_password:Co.value,loginUsername:Oo.value,loginPassword:$o.value,license_id:qo.value,disable_signup:xo.value,auto_conv_arkose:Uo.value,proxy_file_service:Po.value,custom_doh_host:zo.value,isGetToken:Do.value,getTokenPassword:Bo.value,containerName:Io.value,autoToken_url:jo.value,whitelist:Zo.value,validation:o,tls:a};fetch(`${Fa}/api/requireSetting`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{1==e.code?g.z8.success(e.data):g.z8.error(e.msg),Ln(),l.close()})).catch((e=>{l.close(),console.error("请求requireSetting接口失败",e),g.z8.error("修改失败!")})),0==e?io.value=!1:1==e?ro.value=!1:2==e&&(so.value=!1)},yt=()=>{const e=y.kN.service({fullscreen:!0});"/"!==Qo.value.charAt(Qo.value.length-1)&&(Qo.value+="/");const l={auto_updateSession:Yo.value,auto_updateTime:Fo.value,auto_updateNumber:Xo.value,pandoraNext_outUrl:Qo.value,oneAPi_outUrl:en.value,oneAPi_intoToken:ln.value};fetch(`${Fa}/api/controllerTask`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?g.z8.success(l.data):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求controllerTask接口失败",l),g.z8.error("修改失败!")})),vo.value=!1},Wt=()=>{const e=y.kN.service({fullscreen:!0});let l="";if(dt!=wn.value){const e=new Date;l=`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`}0==Wn.value&&(gn.value=!1,Vn.value=!1,bn.value=!1,Tn.value=!1),!0===gn.value?yn.value="":(Vn.value=!1,bn.value=!1);let a="";a=_t!=Wn.value&&ft==wn.value?0==Wn.value?"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!":1==Tn.value?"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":kt!=Tn.value&&ft==wn.value?1==Tn.value?"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!":"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!":"修改将要提交,您确定修改好了吗?",f.T.confirm(a,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l={name:pn.value,token:wn.value,username:kn.value,userPassword:fn.value,shared:gn.value,show_user_info:bn.value,plus:Vn.value,setPoolToken:Wn.value,useRefreshToken:Tn.value,checkSession:xn.value,password:yn.value,access_token:hn.value,share_token:_n.value};fetch(`${Fa}/api/requiredToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>e.json())).then((l=>{1==l.code?(g.z8.success(l.data),En("")):g.z8.error(l.msg),e.close()})).catch((l=>{e.close(),console.error("请求requireToken接口失败",l),g.z8.error("修改失败!")})),no.value=!1})).catch((()=>{e.close(),(0,g.z8)({type:"info",message:"编辑取消!"})}))},Tt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/open`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},xt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/close`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Ut=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/restart`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},Pt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/reload`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"}):g.z8.error(l.data.msg),e.close()},zt=(0,w.iH)(""),At=(0,w.iH)(""),Ht=async()=>{const e=await k.Z.get(`${Fa}/api/getPandoraNext`,{headers:Zn}),l=e.data.data;if(null!=l){at.value=l.current+"/"+l.total,zt.value=l.ip;var a=new Date;const e=new Date(a.getTime()+1e3*l.ttl);var o=e.getFullYear(),n=e.getMonth()+1,t=e.getDate(),u=e.getHours(),i=e.getMinutes(),r=e.getSeconds();At.value=o+"-"+n+"-"+t+" "+u+":"+i+":"+r}co.value=!0},Nt=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/updateAllToken`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?(En(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},St=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/updateAllPoolToken`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?(Mn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Ct=async()=>{const e=y.kN.service({fullscreen:!0}),l=await k.Z.get(`${Fa}/api/verifyAllPoolToken`,{headers:Zn}),a=l.data.data;null!=a&&""!=a?(Mn(""),f.T.alert(a,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.data.msg),e.close()},Ot=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法刷新");let l="您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!";e.useRefreshToken&&(l="您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!"),f.T.confirm(l,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/updateSessionToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((a=>{null!=a&&""!=a&&(null!=a.data?(e.token=a.data,En(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(a.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))},$t=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/refreshSimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Mn(""),f.T.alert("刷新成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},qt=e=>{if(0==e.setPoolToken)return void g.z8.error("未开启API模式,无法生成");const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/updateToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?f.T.alert("生成shareToken成功!","温馨提醒",{confirmButtonText:"OK"}):g.z8.error(e.msg)),En(""),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Dt=e=>{const l=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/changePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(e)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Mn(""),f.T.alert("更换pool_token成功!","温馨提醒",{confirmButtonText:"OK"})):g.z8.error(e.msg)),l.close()})).catch((e=>{l.close(),console.error("Error:",e)}))},Bt=(e,l)=>{const a=y.kN.service({fullscreen:!0});f.T.confirm("您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{fetch(`${Fa}/api/deletePoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e.data?(Mn(""),g.z8.success(e.data),a.close()):(Mn(""),g.z8.error(e.msg),a.close()),po.value=!1})).catch((e=>{console.error("删除失败",e),Mn(""),a.close(),po.value=!1}))})).catch((()=>{a.close(),(0,g.z8)({type:"info",message:"删除取消!"})}))},It=(e,l)=>{const a=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/verifySimplyPoolToken`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(l)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((e=>{null!=e&&""!=e&&(null!=e.data?(Mn(""),f.T.alert(e.data,"温馨提醒",{confirmButtonText:"OK"})):(Mn(""),g.z8.error(e.msg))),a.close()})).catch((e=>{a.close(),console.error("Error:",e)}))},jt=(e,l)=>{const a=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Fa}/api/deleteToken`,l,{headers:Zn}).then((async e=>{1==l.setPoolToken&&await k.Z.get(`${Fa}/api/updateAllPoolToken`,{headers:Zn}),o=e.data.data,En(""),(0,g.z8)({type:"success",message:o}),a.close()})).catch((e=>{a.close(),console.error("删除失败",e)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),a.close()}))},Zt=e=>{if(!e)return"";var l=new Date;const a=(0,b.Z)(e.updateTime),o=(0,V.Z)(l,a);return e.token.length>=2e3?o>=80?"已经过去了至少80天":Math.ceil(80-o)+"天":e.token.length<200&&!e.token.includes("fk-")?"永久":o>=10?"已经过去了至少10天":Math.ceil(10-o)+"天"},Lt=e=>e.substring(0,30)+"...",Rt=()=>{localStorage.removeItem("jwtToken"),oo.replace("/")},Et=()=>{mo.value=!0},Kt=()=>{Gn(),wo.value=!0},Jt=()=>{window.open("https://github.com/Yanyutin753/PandoraNext-TokensTool")},Gt=e=>{const l=document.createElement("textarea");l.value=e,document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l),(0,g.z8)({type:"success",message:"复制成功!"})},Mt=e=>{const l=eo.value,a=l.map((e=>e));if(0!==l.length)if("选中删除Token"!=e)if("选中刷新Token"!=e)"选中合成pool_token"==e?Xn():"选中修改pool_token"==e&&(ho.value=!0);else{let e=0;const l=eo.value,a=l.map((e=>e));a.forEach(((l,a)=>{l.setPoolToken&&(l.useRefreshToken?e+=1e3:e+=100)}));const o="您确定要花"+e+"积分刷新这"+l.length+"个Token吗,请您要仔细认真考虑哦!";f.T.confirm(o,"温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{const e=y.kN.service({fullscreen:!0});fetch(`${Fa}/api/updateSessionTokenList`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${jn}`},body:JSON.stringify(a)}).then((e=>{if(!e.ok)throw new Error("Network response was not ok");return e.json()})).then((l=>{null!=l&&""!=l&&(null!=l.data?(En(""),f.T.alert(l.data,"温馨提醒",{confirmButtonText:"OK"})):g.z8.error(l.msg)),e.close()})).catch((l=>{e.close(),console.error("Error:",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"刷新取消!"})}))}else{const e=y.kN.service({fullscreen:!0});let o="";f.T.confirm("您确定要删除这"+l.length+"个Token吗,删除之后就找不到咯","温馨提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((()=>{k.Z.put(`${Fa}/api/deleteTokenList`,a,{headers:Zn}).then((async l=>{await k.Z.get(`${Fa}/api/updateAllPoolToken`,{headers:Zn}),o=l.data.data,En(""),(0,g.z8)({type:"success",message:o}),e.close()})).catch((l=>{e.close(),console.error("删除失败",l)}))})).catch((()=>{(0,g.z8)({type:"info",message:"删除取消!"}),e.close()}))}else(0,g.z8)("未选择数据")},Yt=(0,w.iH)(null),Ft=async()=>{_o.value=!0;const e=await k.Z.get(`${Fa}/api/modelsUsage`,{headers:Zn});let l=e.data.data.map((e=>e.usage)),a=e.data.data.map((e=>e.model));const o=T.S1(Yt.value),n={title:{text:"tokensTool接口对话统计"},tooltip:{},legend:{data:a},xAxis:{data:a},yAxis:{},series:[{name:"对话数量",type:"bar",data:l}]};o.setOption(n)};return(e,l)=>{const a=(0,v.up)("el-menu-item"),_=c.JO,k=(0,v.up)("el-sub-menu"),f=(0,v.up)("el-menu"),g=m.zx,b=(0,v.up)("el-page-header"),V=(0,v.up)("el-radio-button"),y=(0,v.up)("el-radio-group"),T=d.ol,Fa=(0,v.up)("el-table-column"),eo=(0,v.up)("el-button"),oo=(0,v.up)("el-tag"),xn=(0,v.up)("el-popover"),jn=(0,v.up)("el-option"),Zn=(0,v.up)("el-select"),Ln=(0,v.up)("el-button-group"),Gn=s.gN,Mn=r.rs,Yn=i.TS,Fn=u.l0,Xn=t.Vq,dt=(0,v.up)("ChatLineRound"),_t=(0,v.up)("el-icon"),kt=(0,v.up)("el-statistic"),ft=(0,v.up)("el-col"),Xt=(0,v.up)("el-row"),Qt=(0,v.up)("CopyDocument"),eu=(0,v.up)("h10"),lu=(0,v.up)("el-dialog"),au=n.XZ,ou=o.cO,nu=(0,v.up)("el-form-item"),tu=(0,v.Q2)("loading");return(0,v.wg)(),(0,v.iD)(v.HY,null,[(0,v._)("div",x,[U,(0,v.Wm)(f,{"default-active":st.value,class:"el-menu-demo",mode:"horizontal",ellipsis:!1,onSelect:mt,"active-text-color":"#0ea27e","text-color":"#0ea27e"},{default:(0,v.w5)((()=>[(0,v.Wm)(a,null,{default:(0,v.w5)((()=>[(0,v._)("img",{style:{width:"40px"},src:h,alt:"Element logo",onClick:Jt})])),_:1}),(0,v.Wm)(a,{onClick:Ht},{title:(0,v.w5)((()=>[(0,v._)("div",P,[(0,v._)("h2",null,(0,p.zw)(at.value),1)]),(0,v.Wm)(_,{name:"replay",size:"20"})])),_:1}),z,(0,v.Wm)(a,{index:"1",onClick:Et},{default:(0,v.w5)((()=>[(0,v.Uk)("PoolToken列表")])),_:1}),(0,v.Wm)(k,{index:"3"},{title:(0,v.w5)((()=>[(0,v.Uk)("跳转Web服务")])),default:(0,v.w5)((()=>[(0,v.Wm)(k,{index:"3-1"},{title:(0,v.w5)((()=>[(0,v.Uk)("跳转PandoraWeb服务")])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"3-1-1",onClick:tt},{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"主页",1)])),_:1}),(0,v.Wm)(a,{index:"3-1-2",onClick:ut},{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"共享页",1)])),_:1}),(0,v.Wm)(a,{index:"3-1-3",onClick:it},{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"修改页",1)])),_:1})])),_:1}),(0,v.Wm)(k,{index:"3-2"},{title:(0,v.w5)((()=>[(0,v.Uk)("获取token地址")])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"3-2-1"},{default:(0,v.w5)((()=>[A])),_:1}),(0,v.Wm)(a,{index:"3-2-2"},{default:(0,v.w5)((()=>[H])),_:1}),(0,v.Wm)(a,{index:"3-2-3"},{default:(0,v.w5)((()=>[N])),_:1})])),_:1}),(0,v.Wm)(a,{index:"3-3",onClick:rt},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool使用说明")])),_:1})])),_:1}),(0,v.Wm)(k,{index:"5"},{title:(0,v.w5)((()=>[(0,v.Uk)("系统设置")])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"5-1",onClick:l[0]||(l[0]=e=>bt(Ga))},{default:(0,v.w5)((()=>[(0,v.Uk)("PandoraNext设置")])),_:1}),(0,v.Wm)(a,{index:"5-2",onClick:l[1]||(l[1]=e=>bt(Ma))},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool设置")])),_:1}),(0,v.Wm)(a,{index:"5-3",onClick:l[2]||(l[2]=e=>bt(Ya))},{default:(0,v.w5)((()=>[(0,v.Uk)("验证码信息设置")])),_:1}),(0,v.Wm)(a,{index:"5-3",onClick:l[3]||(l[3]=e=>vo.value=!0)},{default:(0,v.w5)((()=>[(0,v.Uk)("定时&接口设置")])),_:1})])),_:1}),(0,v.Wm)(k,{index:"6"},{title:(0,v.w5)((()=>[(0,v.Uk)("系统功能")])),default:(0,v.w5)((()=>[(0,v.Wm)(k,{index:"6-1"},{title:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Io.value)+"状态",1)])),default:(0,v.w5)((()=>[(0,v.Wm)(a,{index:"6-1-1",onClick:Tt},{default:(0,v.w5)((()=>[(0,v.Uk)("开启"+(0,p.zw)(Io.value),1)])),_:1}),(0,v.Wm)(a,{index:"6-1-2",onClick:xt},{default:(0,v.w5)((()=>[(0,v.Uk)("暂停"+(0,p.zw)(Io.value),1)])),_:1}),(0,v.Wm)(a,{index:"6-1-3",onClick:Ut},{default:(0,v.w5)((()=>[(0,v.Uk)("重启"+(0,p.zw)(Io.value),1)])),_:1}),(0,v.Wm)(a,{index:"6-1-4",onClick:Pt},{default:(0,v.w5)((()=>[(0,v.Uk)("重载"+(0,p.zw)(Io.value),1)])),_:1})])),_:1}),(0,v.Wm)(a,{index:"6-2",onClick:Kt},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool登录日志")])),_:1}),(0,v.Wm)(a,{index:"6-3",onClick:Ft},{default:(0,v.w5)((()=>[(0,v.Uk)("tokensTool用量统计")])),_:1}),(0,v.Wm)(a,{index:"6-4",onClick:Rt},{default:(0,v.w5)((()=>[(0,v.Uk)("退出登录")])),_:1})])),_:1})])),_:1},8,["default-active"]),(0,v._)("div",S,[(0,v._)("div",C,[(0,v.Wm)(b,{icon:null,title:" "},{content:(0,v.w5)((()=>[O])),extra:(0,v.w5)((()=>[(0,v._)("div",{class:"addToken",onClick:ct},[(0,v.Wm)(g,{square:"",icon:"add-o",color:"#0ea27e",class:"addTokenButton"})])])),_:1})]),(0,v._)("div",$,[(0,v._)("div",q,[(0,v.Wm)(T,{modelValue:In.value,"onUpdate:modelValue":l[8]||(l[8]=e=>In.value=e),"show-action":"",shape:"round",placeholder:"请输入搜索token名称和类型",onSearch:Rn},{action:(0,v.w5)((()=>[(0,v.Wm)(y,{modelValue:ao.value,"onUpdate:modelValue":l[7]||(l[7]=e=>ao.value=e),label:"size control"},{default:(0,v.w5)((()=>[(0,v.Wm)(V,{type:"success",plain:"",label:"WEB",onClick:l[4]||(l[4]=e=>Jn(In.value))},{default:(0,v.w5)((()=>[(0,v.Uk)("WEB")])),_:1}),(0,v.Wm)(V,{type:"success",plain:"",label:"ALL",onClick:l[5]||(l[5]=e=>En(In.value))},{default:(0,v.w5)((()=>[(0,v.Uk)("ALL")])),_:1}),(0,v.Wm)(V,{type:"success",plain:"",label:"API",onClick:l[6]||(l[6]=e=>Kn(In.value))},{default:(0,v.w5)((()=>[(0,v.Uk)("API")])),_:1})])),_:1},8,["modelValue"])])),_:1},8,["modelValue"])]),(0,v._)("div",D,[(0,v.wy)(((0,v.wg)(),(0,v.j4)((0,w.SU)(W.eI),{data:Un.value,style:{width:"100%"},onSelectionChange:lo,ref_key:"multipleTableRef",ref:Qa,"default-sort":{prop:"updateTime",prop:"setPoolToken"},"row-class-name":ot},{default:(0,v.w5)((()=>[(0,v.Wm)(Fa,{type:"selection",width:"45"}),(0,v.Wm)(Fa,{label:"名称",prop:"setPoolToken",sortable:"","min-width":"136"},{default:(0,v.w5)((e=>[(0,v._)("div",B,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[(0,v._)("h5",null,(0,p.zw)(e.row.setPoolToken?e.row.useRefreshToken?"refAPI":"sesAPI":"Web"),1)])),_:2},1024),(0,v._)("span",I,(0,p.zw)(e.row.name),1)])])),_:1}),(0,v.Wm)(Fa,{label:"账号信息","min-width":"200"},{default:(0,v.w5)((e=>[(0,v.Wm)(xn,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,v.w5)((()=>[(0,v._)("div",null,"账号: "+(0,p.zw)(e.row.username),1),(0,v._)("div",null,"密码: "+(0,p.zw)(e.row.userPassword),1)])),reference:(0,v.w5)((()=>[(0,v.Wm)(oo,null,{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(e.row.username),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,v.Wm)(Fa,{label:"Token值","min-width":"270"},{default:(0,v.w5)((e=>[(0,v.Wm)(xn,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,v.w5)((()=>[(0,v._)("div",null,"token: "+(0,p.zw)(Lt(e.row.token)),1)])),reference:(0,v.w5)((()=>[(0,v.Wm)(oo,null,{default:(0,v.w5)((()=>[(0,v.Uk)((0,p.zw)(Lt(e.row.token)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,v.Wm)(Fa,{prop:"updateTime",sortable:"",label:"有效时间","min-width":"167"},{default:(0,v.w5)((e=>[(0,v.Wm)(xn,{effect:"light",trigger:"hover",placement:"top",width:"auto"},{default:(0,v.w5)((()=>[(0,v._)("div",null,"注册时间:"+(0,p.zw)(e.row.updateTime),1)])),reference:(0,v.w5)((()=>[(0,v.Wm)(oo,null,{default:(0,v.w5)((()=>[(0,v.Uk)("距离过期还有:"+(0,p.zw)(Zt(e.row)),1)])),_:2},1024)])),_:2},1024)])),_:1}),(0,v.Wm)(Fa,{label:"操作方法",width:"335"},{default:(0,v.w5)((e=>[(0,v.Wm)(eo,{size:"small",onClick:l=>gt(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("编辑")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"primary",onClick:l=>ht(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("查看")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"danger",onClick:l=>jt(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("删除")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"success",onClick:l=>Ot(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("刷新")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"warning",onClick:l=>qt(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("生成")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"])),[[tu,e.loading]])]),(0,v._)("div",j,[(0,v.Wm)(Zn,{modelValue:ko.value,"onUpdate:modelValue":l[9]||(l[9]=e=>ko.value=e),clearable:"",filterable:"",placeholder:"请选择批量操作",class:"ml-4"},{default:(0,v.w5)((()=>[((0,v.wg)(),(0,v.iD)(v.HY,null,(0,v.Ko)(fo,(e=>(0,v.Wm)(jn,{key:e.buttonValue,label:e.label,value:e.buttonValue},null,8,["label","value"]))),64))])),_:1},8,["modelValue"]),(0,v.Wm)(eo,{class:"ml-4",onClick:l[10]||(l[10]=e=>Mt(ko.value))},{default:(0,v.w5)((()=>[Z])),_:1}),(0,v.Wm)(Ln,{class:"my-button"},{default:(0,v.w5)((()=>[(0,v.Wm)(eo,{onClick:Nt},{default:(0,v.w5)((()=>[L])),_:1})])),_:1})])]),R,E,K])]),(0,v.Wm)(Xn,{show:no.value,"onUpdate:show":l[21]||(l[21]=e=>no.value=e),title:"修改token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",J,[(0,v.Wm)(Fn,{onSubmit:l[20]||(l[20]=e=>Wt())},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[G,(0,v.Wm)(Gn,{modelValue:kn.value,"onUpdate:modelValue":l[11]||(l[11]=e=>kn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),M,(0,v.Wm)(Gn,{modelValue:fn.value,"onUpdate:modelValue":l[12]||(l[12]=e=>fn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),Y,(0,v.Wm)(Gn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[13]||(l[13]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),1==Wn.value?((0,v.wg)(),(0,v.iD)("div",F,[X,(0,v.Wm)(Gn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Tn.value,"onUpdate:modelValue":l[14]||(l[14]=e=>Tn.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0),1==Wn.value?((0,v.wg)(),(0,v.iD)("div",Q,[ee,(0,v.Wm)(Gn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:gn.value,"onUpdate:modelValue":l[15]||(l[15]=e=>gn.value=e)},null,8,["modelValue"])])),_:1}),1==gn.value?((0,v.wg)(),(0,v.iD)("div",le,[ae,(0,v.Wm)(Gn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:bn.value,"onUpdate:modelValue":l[16]||(l[16]=e=>bn.value=e)},null,8,["modelValue"])])),_:1}),oe,(0,v.Wm)(Gn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[17]||(l[17]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0)])):(0,v.kq)("",!0),0==gn.value||0==Wn.value?((0,v.wg)(),(0,v.iD)("div",ne,[te,(0,v.Wm)(Gn,{modelValue:yn.value,"onUpdate:modelValue":l[18]||(l[18]=e=>yn.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:vn}]},null,8,["modelValue","rules"])])):(0,v.kq)("",!0),ue,(0,v.Wm)(Gn,{modelValue:wn.value,"onUpdate:modelValue":l[19]||(l[19]=e=>wn.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(选填),session或refresh_token",autosize:{maxHeight:100,minHeight:20},"show-word-limit":""},null,8,["modelValue"]),ie])),_:1}),(0,v._)("div",re,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),se])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:to.value,"onUpdate:show":l[33]||(l[33]=e=>to.value=e),title:"添加token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"addTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",de,[(0,v.Wm)(Fn,{onSubmit:l[32]||(l[32]=e=>vt())},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[me,(0,v.Wm)(Gn,{modelValue:An.value,"onUpdate:modelValue":l[22]||(l[22]=e=>An.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名",rules:[{required:!0,message:"请填写Token用户名"}]},null,8,["modelValue"]),ce,(0,v.Wm)(Gn,{modelValue:Hn.value,"onUpdate:modelValue":l[23]||(l[23]=e=>Hn.value=e),name:"OpenAi邮箱",label:"OpenAi邮箱",placeholder:"OpenAi邮箱",rules:[{required:!0,message:"请填写OpenAi邮箱"}]},null,8,["modelValue"]),ve,(0,v.Wm)(Gn,{modelValue:Nn.value,"onUpdate:modelValue":l[24]||(l[24]=e=>Nn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码",rules:[{required:!0,message:"请填写OpenAi密码"}]},null,8,["modelValue"]),pe,(0,v.Wm)(Gn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:qn.value,"onUpdate:modelValue":l[25]||(l[25]=e=>qn.value=e)},null,8,["modelValue"])])),_:1}),1==qn.value?((0,v.wg)(),(0,v.iD)("div",we,[he,(0,v.Wm)(Gn,{name:"switch",label:"是否使用refreshToken"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Dn.value,"onUpdate:modelValue":l[26]||(l[26]=e=>Dn.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0),1==qn.value?((0,v.wg)(),(0,v.iD)("div",_e,[ke,(0,v.Wm)(Gn,{name:"switch",label:"是否出现分享页面"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Cn.value,"onUpdate:modelValue":l[27]||(l[27]=e=>Cn.value=e)},null,8,["modelValue"])])),_:1}),1==Cn.value?((0,v.wg)(),(0,v.iD)("div",fe,[ge,(0,v.Wm)(Gn,{name:"switch",label:"是否分享账号信息"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:On.value,"onUpdate:modelValue":l[28]||(l[28]=e=>On.value=e)},null,8,["modelValue"])])),_:1}),be,(0,v.Wm)(Gn,{name:"switch",label:"是否显示金光"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:$n.value,"onUpdate:modelValue":l[29]||(l[29]=e=>$n.value=e)},null,8,["modelValue"])])),_:1})])):(0,v.kq)("",!0)])):(0,v.kq)("",!0),""==Cn.value?((0,v.wg)(),(0,v.iD)("div",Ve,[ye,(0,v.Wm)(Gn,{modelValue:Bn.value,"onUpdate:modelValue":l[30]||(l[30]=e=>Bn.value=e),name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人!",rules:[{validator:vn}]},null,8,["modelValue","rules"])])):(0,v.kq)("",!0),1==qn.value?((0,v.wg)(),(0,v.iD)("div",We,[Te,(0,v.Wm)(Gn,{rows:"3",type:"textarea",maxlength:"5000","show-word-limit":"",modelValue:Sn.value,"onUpdate:modelValue":l[31]||(l[31]=e=>Sn.value=e),name:"Token的值",label:"Token的值",placeholder:"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token"},null,8,["modelValue"])])):(0,v.kq)("",!0),xe])),_:1}),(0,v._)("div",Ue,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),Pe])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:uo.value,"onUpdate:show":l[53]||(l[53]=e=>uo.value=e),title:"token信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"showDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",ze,[(0,v.Wm)(Fn,null,{default:(0,v.w5)((()=>[1==Wn.value?((0,v.wg)(),(0,v.iD)("div",Ae,[(0,v._)("div",He,[(0,v.Wm)(Xt,null,{default:(0,v.w5)((()=>[(0,v._)("div",Ne,[(0,v.Wm)(ft,null,{default:(0,v.w5)((()=>[(0,v.Wm)(kt,{title:"GPT3.5",value:pt.value},{suffix:(0,v.w5)((()=>[(0,v.Wm)(_t,{style:{"vertical-align":"-0.125em"}},{default:(0,v.w5)((()=>[(0,v.Wm)(dt)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,v._)("div",Se,[(0,v.Wm)(ft,null,{default:(0,v.w5)((()=>[(0,v.Wm)(kt,{title:"总计",value:pt.value+wt.value},{suffix:(0,v.w5)((()=>[(0,v.Wm)(_t,{style:{"vertical-align":"-0.125em"}},{default:(0,v.w5)((()=>[(0,v.Wm)(dt)])),_:1})])),_:1},8,["value"])])),_:1})]),(0,v._)("div",Ce,[(0,v.Wm)(ft,null,{default:(0,v.w5)((()=>[(0,v.Wm)(kt,{title:"GPT4.0",value:wt.value},{suffix:(0,v.w5)((()=>[(0,v.Wm)(_t,{style:{"vertical-align":"-0.125em"}},{default:(0,v.w5)((()=>[(0,v.Wm)(dt)])),_:1})])),_:1},8,["value"])])),_:1})])])),_:1})])])):(0,v.kq)("",!0),(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[Oe,(0,v.Wm)(Gn,{modelValue:pn.value,"onUpdate:modelValue":l[34]||(l[34]=e=>pn.value=e),name:"Token用户名",label:"Token用户名",placeholder:"Token用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[35]||(l[35]=e=>Gt(pn.value))},null,8,["modelValue"]),$e,(0,v.Wm)(Gn,{modelValue:yn.value,"onUpdate:modelValue":l[36]||(l[36]=e=>yn.value=e),type:"temPassword",name:"进入Token的密码",label:"进入Token的密码",placeholder:"填了将不会分享给他人(如不填则输入Token名即可进入)!","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[37]||(l[37]=e=>Gt(yn.value))},null,8,["modelValue"]),qe,(0,v.Wm)(Gn,{modelValue:kn.value,"onUpdate:modelValue":l[38]||(l[38]=e=>kn.value=e),name:"OpenAi用户名",label:"OpenAi用户名",placeholder:"OpenAi用户名","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[39]||(l[39]=e=>Gt(kn.value))},null,8,["modelValue"]),De,(0,v.Wm)(Gn,{modelValue:fn.value,"onUpdate:modelValue":l[40]||(l[40]=e=>fn.value=e),name:"OpenAi密码",label:"OpenAi密码",placeholder:"OpenAi密码","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[41]||(l[41]=e=>Gt(fn.value))},null,8,["modelValue"]),Be,(0,v.Wm)(Gn,{name:"temShared",readonly:!0,label:"是否出现分享页面"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:gn.value,"onUpdate:modelValue":l[42]||(l[42]=e=>gn.value=e)},null,8,["modelValue"])])),_:1}),Ie,(0,v.Wm)(Gn,{readonly:!0,name:"temShow_user_info",label:"是否分享账号信息"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:bn.value,"onUpdate:modelValue":l[43]||(l[43]=e=>bn.value=e)},null,8,["modelValue"])])),_:1}),je,(0,v.Wm)(Gn,{readonly:!0,name:"temPlus",label:"是否显示金光"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:Vn.value,"onUpdate:modelValue":l[44]||(l[44]=e=>Vn.value=e)},null,8,["modelValue"])])),_:1}),Ze,(0,v.Wm)(Gn,{name:"switch",label:"是否开启API模式"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:Wn.value,"onUpdate:modelValue":l[45]||(l[45]=e=>Wn.value=e)},null,8,["modelValue"])])),_:1}),Le,(0,v.Wm)(Gn,{name:"switch",label:"是否使用refresh_token"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{disabled:"","active-color":"#0ea27e",modelValue:Tn.value,"onUpdate:modelValue":l[46]||(l[46]=e=>Tn.value=e)},null,8,["modelValue"])])),_:1}),Re,(0,v.Wm)(Gn,{modelValue:wn.value,"onUpdate:modelValue":l[47]||(l[47]=e=>wn.value=e),label:"Token的值",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的Token(session或refresh_token)","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[48]||(l[48]=e=>Gt(wn.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),1==Wn.value?((0,v.wg)(),(0,v.iD)("div",Ee,[Ke,(0,v.Wm)(Gn,{modelValue:hn.value,"onUpdate:modelValue":l[49]||(l[49]=e=>hn.value=e),label:"access_token",type:"textarea",maxlength:"5000",placeholder:"请填写OpenAi的access_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[50]||(l[50]=e=>Gt(hn.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"]),Je,(0,v.Wm)(Gn,{modelValue:_n.value,"onUpdate:modelValue":l[51]||(l[51]=e=>_n.value=e),label:"share_token",type:"textarea",maxlength:"200",placeholder:"请填写OpenAi的share_token","show-word-limit":"","left-icon":"description-o",readonly:!0,onClickLeftIcon:l[52]||(l[52]=e=>Gt(_n.value)),autosize:{maxHeight:100,minHeight:20}},null,8,["modelValue"])])):(0,v.kq)("",!0)])),_:1}),Ge])),_:1})])])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:io.value,"onUpdate:show":l[68]||(l[68]=e=>io.value=e),title:"PandoraNext设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requirePandora"},{default:(0,v.w5)((()=>[(0,v._)("div",Me,[(0,v.Wm)(Fn,{onSubmit:l[67]||(l[67]=e=>Vt(Ga))},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[Ye,(0,v.Wm)(Gn,{modelValue:bo.value,"onUpdate:modelValue":l[54]||(l[54]=e=>bo.value=e),name:"对话标题",label:"对话标题",placeholder:"隔离对话设置标题"},null,8,["modelValue"]),Fe,(0,v.Wm)(Gn,{modelValue:Vo.value,"onUpdate:modelValue":l[55]||(l[55]=e=>Vo.value=e),name:"绑定IP和端口",label:"绑定IP和端口",placeholder:"绑定IP和端口(选填)"},null,8,["modelValue"]),Xe,(0,v.Wm)(Gn,{modelValue:zo.value,"onUpdate:modelValue":l[56]||(l[56]=e=>zo.value=e),name:"DoH主机名",label:"DoH主机名",placeholder:"配置自定义的DoH主机名(选填)"},null,8,["modelValue"]),Qe,(0,v.Wm)(Gn,{modelValue:yo.value,"onUpdate:modelValue":l[57]||(l[57]=e=>yo.value=e),name:"请求超时时间",label:"请求超时时间",placeholder:"请求超时时间(选填)"},null,8,["modelValue"]),el,(0,v.Wm)(Gn,{name:"switch",label:"是否分享对话(选填)"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:To.value,"onUpdate:modelValue":l[58]||(l[58]=e=>To.value=e)},null,8,["modelValue"])])),_:1}),ll,(0,v.Wm)(Gn,{name:"switch",label:"是否配置证书"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Ao.value,"onUpdate:modelValue":l[59]||(l[59]=e=>Ao.value=e)},null,8,["modelValue"])])),_:1}),1==Ao.value?((0,v.wg)(),(0,v.iD)("div",al,[ol,(0,v.Wm)(Gn,{modelValue:Ho.value,"onUpdate:modelValue":l[60]||(l[60]=e=>Ho.value=e),name:"证书文件",label:"证书文件",placeholder:"证书文件"},null,8,["modelValue"]),nl,(0,v.Wm)(Gn,{modelValue:No.value,"onUpdate:modelValue":l[61]||(l[61]=e=>No.value=e),name:"密钥文件",label:"密钥文件",placeholder:"密钥文件"},null,8,["modelValue"])])):(0,v.kq)("",!0),tl,(0,v.Wm)(Gn,{name:"switch",label:"是否禁用注册"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:xo.value,"onUpdate:modelValue":l[62]||(l[62]=e=>xo.value=e)},null,8,["modelValue"])])),_:1}),ul,(0,v.Wm)(Gn,{name:"switch",label:"是否自动打码"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Uo.value,"onUpdate:modelValue":l[63]||(l[63]=e=>Uo.value=e)},null,8,["modelValue"])])),_:1}),il,(0,v.Wm)(Gn,{name:"switch",label:"使用文件代理服务"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Po.value,"onUpdate:modelValue":l[64]||(l[64]=e=>Po.value=e)},null,8,["modelValue"])])),_:1}),rl,(0,v.Wm)(Gn,{modelValue:Wo.value,"onUpdate:modelValue":l[65]||(l[65]=e=>Wo.value=e),name:"代理服务URL",label:"代理服务URL",placeholder:"代理服务URL(选填)"},null,8,["modelValue"]),sl,(0,v.Wm)(Gn,{modelValue:Zo.value,"onUpdate:modelValue":l[66]||(l[66]=e=>Zo.value=e),name:"白名单",label:"白名单",placeholder:"[]限制所有账号(默认为null)"},null,8,["modelValue"]),dl])),_:1}),(0,v._)("div",ml,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),cl])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:ro.value,"onUpdate:show":l[80]||(l[80]=e=>ro.value=e),title:"tokensTool设置信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"requireSettingDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",vl,[(0,v.Wm)(Fn,{onSubmit:l[79]||(l[79]=e=>Vt(Ma))},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[pl,(0,v.Wm)(Gn,{modelValue:Oo.value,"onUpdate:modelValue":l[69]||(l[69]=e=>Oo.value=e),name:"登录用户名",label:"登录用户名",placeholder:"tokensTool用户名"},null,8,["modelValue"]),wl,(0,v.Wm)(Gn,{modelValue:$o.value,"onUpdate:modelValue":l[70]||(l[70]=e=>$o.value=e),name:"登录密码",label:"登录密码",placeholder:"不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"]),hl,(0,v.Wm)(Gn,{modelValue:go.value,"onUpdate:modelValue":l[71]||(l[71]=e=>go.value=e),name:"proxy接口前缀",label:"proxy接口前缀",placeholder:"proxy模式接口后缀,不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"]),_l,(0,v.Wm)(Gn,{modelValue:jo.value,"onUpdate:modelValue":l[72]||(l[72]=e=>jo.value=e),name:"proxy模式URL",label:"proxy模式URL",placeholder:"http(s)://(ip:port或者域名)/后缀,同公网服务器填default"},null,8,["modelValue"]),kl,(0,v.Wm)(Gn,{modelValue:Co.value,"onUpdate:modelValue":l[73]||(l[73]=e=>Co.value=e),name:"重载服务密码",label:"重载服务密码",placeholder:"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"]),fl,(0,v.Wm)(Gn,{modelValue:So.value,"onUpdate:modelValue":l[74]||(l[74]=e=>So.value=e),name:"访问密码",label:"访问密码",placeholder:"PandoraNext访问密码,建议开启访问密码",rules:[{validator:mn}]},null,8,["modelValue","rules"]),gl,(0,v.Wm)(Gn,{modelValue:qo.value,"onUpdate:modelValue":l[75]||(l[75]=e=>qo.value=e),name:"验证licenseId",label:"验证licenseId",placeholder:"验证licenseId(github上拿到的license_id)"},null,8,["modelValue"]),bl,(0,v.Wm)(Gn,{name:"switch",label:"tokensTool接口"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Do.value,"onUpdate:modelValue":l[76]||(l[76]=e=>Do.value=e)},null,8,["modelValue"])])),_:1}),1==Do.value?((0,v.wg)(),(0,v.iD)("div",Vl,[yl,(0,v.Wm)(Gn,{modelValue:Bo.value,"onUpdate:modelValue":l[77]||(l[77]=e=>Bo.value=e),name:"接口密码",label:"接口密码",placeholder:"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母",rules:[{validator:dn}]},null,8,["modelValue","rules"])])):(0,v.kq)("",!0),Wl,(0,v.Wm)(Gn,{modelValue:Io.value,"onUpdate:modelValue":l[78]||(l[78]=e=>Io.value=e),name:"监管容器名",label:"监管容器名",placeholder:"监管运行的容器名或文件名,默认为PandoraNext",rules:[{required:!0,message:"请填写监管的容器名"}]},null,8,["modelValue"]),Tl])),_:1}),(0,v._)("div",xl,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),Ul])),_:1},8,["show"]),(0,v.Wm)(Xn,{show:so.value,"onUpdate:show":l[89]||(l[89]=e=>so.value=e),title:"PandoraNext验证信息",width:"50vw","close-on-click-overlay":!0,"show-cancel-button":!1,"show-confirm-button":!1,class:"verify"},{default:(0,v.w5)((()=>[(0,v._)("div",Pl,[(0,v.Wm)(Fn,{onSubmit:l[88]||(l[88]=e=>Vt(Ya))},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[zl,(0,v.Wm)(Gn,{modelValue:Lo.value,"onUpdate:modelValue":l[81]||(l[81]=e=>Lo.value=e),name:"验证码提供商",label:"验证码提供商",placeholder:"验证码提供商"},null,8,["modelValue"]),Al,(0,v.Wm)(Gn,{modelValue:Ro.value,"onUpdate:modelValue":l[82]||(l[82]=e=>Ro.value=e),name:"验证码网站参数",label:"验证码网站参数",placeholder:"验证码网站参数"},null,8,["modelValue"]),Hl,(0,v.Wm)(Gn,{modelValue:Eo.value,"onUpdate:modelValue":l[83]||(l[83]=e=>Eo.value=e),name:"验证码API Key",label:"验证码API Key",placeholder:"验证码API Key"},null,8,["modelValue"]),Nl,(0,v.Wm)(Gn,{name:"switch",label:"是否全站密码登录页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Ko.value,"onUpdate:modelValue":l[84]||(l[84]=e=>Ko.value=e)},null,8,["modelValue"])])),_:1}),Sl,(0,v.Wm)(Gn,{name:"switch",label:"是否在设置登录页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Jo.value,"onUpdate:modelValue":l[85]||(l[85]=e=>Jo.value=e)},null,8,["modelValue"])])),_:1}),Cl,(0,v.Wm)(Gn,{name:"switch",label:"是否在输入用户名页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Go.value,"onUpdate:modelValue":l[86]||(l[86]=e=>Go.value=e)},null,8,["modelValue"])])),_:1}),Ol,(0,v.Wm)(Gn,{name:"switch",label:"是否在输入密码页面显示"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Mo.value,"onUpdate:modelValue":l[87]||(l[87]=e=>Mo.value=e)},null,8,["modelValue"])])),_:1}),$l])),_:1}),(0,v._)("div",ql,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})]),Dl])),_:1},8,["show"]),(0,v.Wm)(lu,{modelValue:mo.value,"onUpdate:modelValue":l[91]||(l[91]=e=>mo.value=e),title:"pool_token列表","align-center":"",width:"78%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",Bl,[(0,v.Wm)(_t,{onClick:l[90]||(l[90]=e=>Gt(Qo.value+go.value+"/v1/chat/completions"))},{default:(0,v.w5)((()=>[(0,v.Wm)(Qt)])),_:1}),(0,v.Wm)(eu,null,{default:(0,v.w5)((()=>[(0,v.Uk)("API地址:"+(0,p.zw)(Qo.value)+(0,p.zw)(go.value)+"/v1/chat/completions",1)])),_:1})]),(0,v.Wm)((0,w.SU)(W.eI),{data:Pn.value,"default-sort":{prop:"poolTime",prop:"intoOneApi"},"row-class-name":nt},{default:(0,v.w5)((()=>[(0,v.Wm)(Fa,{label:"pool_token名称",prop:"intoOneApi",sortable:"",width:"180"},{default:(0,v.w5)((e=>[(0,v._)("div",Il,[1==e.row.intoOneApi&&1==e.row.pandoraNextGpt4?((0,v.wg)(),(0,v.iD)("div",jl,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[Zl])),_:1})])):1==e.row.intoOneApi?((0,v.wg)(),(0,v.iD)("div",Ll,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[Rl])),_:1})])):((0,v.wg)(),(0,v.iD)("div",El,[(0,v.Wm)(eo,{size:"small",color:"#f4fffd",circle:""},{default:(0,v.w5)((()=>[Kl])),_:1})])),(0,v._)("span",Jl,(0,p.zw)(e.row.poolName),1)])])),_:1}),(0,v.Wm)(Fa,{label:"pool_token值","min-width":"365"},{default:(0,v.w5)((e=>[(0,v._)("div",Gl,[(0,v.Wm)(_t,{onClick:l=>Gt(e.row.poolToken)},{default:(0,v.w5)((()=>[(0,v.Wm)(Qt)])),_:2},1032,["onClick"]),(0,v._)("span",Ml,(0,p.zw)(e.row.poolToken),1)])])),_:1}),(0,v.Wm)(Fa,{label:"使用token名集合","min-width":"255"},{default:(0,v.w5)((e=>[(0,v._)("div",Yl,[(0,v._)("span",Fl,(0,p.zw)(e.row.shareTokens),1)])])),_:1}),(0,v.Wm)(Fa,{property:"poolTime",label:"更新时间",prop:"poolTime",sortable:"","min-width":"170"}),(0,v.Wm)(Fa,{label:"操作方法","min-width":"315"},{default:(0,v.w5)((e=>[(0,v.Wm)(eo,{size:"small",onClick:l=>It(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("检验")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"danger",onClick:l=>Bt(e.$index,e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("删除")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"success",onClick:l=>$t(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("刷新")])),_:2},1032,["onClick"]),(0,v.Wm)(eo,{size:"small",type:"primary",onClick:l=>Dt(e.row)},{default:(0,v.w5)((()=>[(0,v.Uk)("更换")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),(0,v._)("div",Xl,[(0,v.Wm)(Ln,{class:"pool-button"},{default:(0,v.w5)((()=>[(0,v.Wm)(eo,{onClick:St},{default:(0,v.w5)((()=>[Ql])),_:1}),(0,v.Wm)(eo,{onClick:Ct},{default:(0,v.w5)((()=>[ea])),_:1})])),_:1})]),la])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:co.value,"onUpdate:modelValue":l[95]||(l[95]=e=>co.value=e),title:"PandoraNext余额","align-center":"",width:"auto","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",aa,[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[oa,(0,v.Wm)(Gn,{modelValue:at.value,"onUpdate:modelValue":l[92]||(l[92]=e=>at.value=e),name:"PandoraNext用量",label:"PandoraNext用量",placeholder:"PandoraNext用量"},null,8,["modelValue"]),na,(0,v.Wm)(Gn,{modelValue:zt.value,"onUpdate:modelValue":l[93]||(l[93]=e=>zt.value=e),name:"绑定IP",label:"绑定IP",placeholder:"绑定IP"},null,8,["modelValue"]),ta,(0,v.Wm)(Gn,{modelValue:At.value,"onUpdate:modelValue":l[94]||(l[94]=e=>At.value=e),name:"重置时间",label:"重置时间",placeholder:"重置时间"},null,8,["modelValue"]),ua])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:vo.value,"onUpdate:modelValue":l[103]||(l[103]=e=>vo.value=e),title:"定时刷新&PandoraNext网址","align-center":"","max-width":"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",ia,[(0,v.Wm)(Fn,{onSubmit:l[102]||(l[102]=e=>yt())},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[ra,(0,v.Wm)(Gn,{name:"switch",label:"是否自动刷新session_token"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:Yo.value,"onUpdate:modelValue":l[96]||(l[96]=e=>Yo.value=e)},null,8,["modelValue"])])),_:1}),1==Yo.value?((0,v.wg)(),(0,v.iD)("div",sa,[da,(0,v.Wm)(Gn,{modelValue:Fo.value,"onUpdate:modelValue":l[97]||(l[97]=e=>Fo.value=e),name:"刷新session的时间",label:"刷新session的时间","input-align":"right",placeholder:"自动刷新session的时间 (天为单位)"},null,8,["modelValue"]),ma,(0,v.Wm)(Gn,{modelValue:Xo.value,"onUpdate:modelValue":l[98]||(l[98]=e=>Xo.value=e),name:"刷新session的个数",label:"刷新session的个数","input-align":"right",placeholder:"自动刷新session的个数 (个)"},null,8,["modelValue"]),ca])):(0,v.kq)("",!0),(0,v.Wm)(Gn,{modelValue:Qo.value,"onUpdate:modelValue":l[99]||(l[99]=e=>Qo.value=e),name:"PandoraNext的公网访问地址",label:"PandoraNext的公网访问地址","input-align":"right",placeholder:"PandoraNext的公网访问地址"},null,8,["modelValue"]),va,(0,v.Wm)(Gn,{modelValue:en.value,"onUpdate:modelValue":l[100]||(l[100]=e=>en.value=e),name:"oneApi的公网访问地址",label:"oneApi的公网访问地址","input-align":"right",placeholder:"oneApi的公网访问地址"},null,8,["modelValue"]),pa,(0,v.Wm)(Gn,{modelValue:ln.value,"onUpdate:modelValue":l[101]||(l[101]=e=>ln.value=e),name:"oneApi的系统令牌",label:"oneApi的系统令牌","input-align":"right",placeholder:"oneApi的系统令牌"},null,8,["modelValue"]),wa])),_:1}),(0,v._)("div",ha,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:po.value,"onUpdate:modelValue":l[110]||(l[110]=e=>po.value=e),title:"添加poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",_a,[(0,v.Wm)(Fn,{onSubmit:Qn},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[ka,(0,v.Wm)(Gn,{modelValue:on.value,"onUpdate:modelValue":l[104]||(l[104]=e=>on.value=e),name:"为pool_token名",label:"pool_token名","input-align":"right",placeholder:"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字",rules:[{validator:cn}]},null,8,["modelValue","rules"]),fa,(0,v.Wm)(Gn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:nn.value,"onUpdate:modelValue":l[105]||(l[105]=e=>nn.value=e)},null,8,["modelValue"])])),_:1}),1==nn.value?((0,v.wg)(),(0,v.iD)("div",ga,[ba,(0,v.Wm)(Gn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:tn.value,"onUpdate:modelValue":l[106]||(l[106]=e=>tn.value=e)},null,8,["modelValue"])])),_:1}),Va,(0,v.Wm)(Gn,{modelValue:rn.value,"onUpdate:modelValue":l[107]||(l[107]=e=>rn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)"},null,8,["modelValue"]),ya,(0,v.Wm)(Gn,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,v.w5)((()=>[(0,v.Wm)(ou,{modelValue:Xa.value,"onUpdate:modelValue":l[108]||(l[108]=e=>Xa.value=e),direction:"horizontal"},{default:(0,v.w5)((()=>[(0,v.Wm)(au,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("default")])),_:1}),(0,v.Wm)(au,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("vip")])),_:1}),(0,v.Wm)(au,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Wa,(0,v.Wm)(Gn,{modelValue:un.value,"onUpdate:modelValue":l[109]||(l[109]=e=>un.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址"},null,8,["modelValue"]),Ta])):(0,v.kq)("",!0)])),_:1}),(0,v._)("div",xa,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:wo.value,"onUpdate:modelValue":l[111]||(l[111]=e=>wo.value=e),title:"tokensTool登录日志","align-center":"",width:"50%","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",Ua,[(0,v.Wm)((0,w.SU)(W.eI),{"row-class-name":nt,data:zn.value},{default:(0,v.w5)((()=>[(0,v.Wm)(Fa,{prop:"ipAddress",label:"登录地区","min-width":"180"},{default:(0,v.w5)((e=>[(0,v._)("div",Pa,[(0,v._)("span",za,(0,p.zw)(e.row.ipAddress),1)])])),_:1}),(0,v.Wm)(Fa,{label:"登录IP","min-width":"145"},{default:(0,v.w5)((e=>[(0,v._)("div",Aa,[(0,v.Wm)(_t,{onClick:l=>Gt(e.row.poolToken)},{default:(0,v.w5)((()=>[(0,v.Wm)(Qt)])),_:2},1032,["onClick"]),(0,v._)("span",Ha,(0,p.zw)(e.row.requestIp),1)])])),_:1}),(0,v.Wm)(Fa,{label:"成功/失败","min-width":"105"},{default:(0,v.w5)((e=>[(0,v._)("div",Na,[(0,v._)("span",Sa,(0,p.zw)(e.row.inRequestNumber)+"/"+(0,p.zw)(e.row.outRequestNumber),1)])])),_:1}),(0,v.Wm)(Fa,{property:"lastLoginTime",label:"登录时间",prop:"lastLoginTime","min-width":"180"})])),_:1},8,["data"])]),Ca])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:ho.value,"onUpdate:modelValue":l[119]||(l[119]=e=>ho.value=e),title:"修改poolToken信息","align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",Oa,[(0,v.Wm)(Fn,{onSubmit:lt},{default:(0,v.w5)((()=>[(0,v.Wm)(Yn,{inset:""},{default:(0,v.w5)((()=>[$a,(0,v._)("div",qa,[(0,v.Wm)(nu,{label:"poolToken名"},{default:(0,v.w5)((()=>[(0,v.Wm)(Zn,{modelValue:an.value,"onUpdate:modelValue":l[112]||(l[112]=e=>an.value=e),filterable:"",clearable:"",placeholder:"选择你想要的修改的pool_token名称",onChange:et,class:"selectPool_token"},{default:(0,v.w5)((()=>[((0,v.wg)(!0),(0,v.iD)(v.HY,null,(0,v.Ko)(Pn.value,(e=>((0,v.wg)(),(0,v.j4)(jn,{key:e.poolName,label:e.poolName,value:e.poolName,"data-item":e},null,8,["label","value","data-item"])))),128))])),_:1},8,["modelValue"])])),_:1})]),Da,(0,v.Wm)(Gn,{modelValue:sn.value,"onUpdate:modelValue":l[113]||(l[113]=e=>sn.value=e),type:"textarea",maxlength:"100",autoSize:"",name:"pool_token的值",label:"pool_token的值","input-align":"right",placeholder:"pool_token的值(不改则不变)"},null,8,["modelValue"]),Ba,(0,v.Wm)(Gn,{name:"switch",label:"是否上传到oneApi"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:nn.value,"onUpdate:modelValue":l[114]||(l[114]=e=>nn.value=e)},null,8,["modelValue"])])),_:1}),Ia,1==nn.value?((0,v.wg)(),(0,v.iD)("div",ja,[Za,(0,v.Wm)(Gn,{name:"switch",label:"是否启用GPT4模型"},{"right-icon":(0,v.w5)((()=>[(0,v.Wm)(Mn,{"active-color":"#0ea27e",modelValue:tn.value,"onUpdate:modelValue":l[115]||(l[115]=e=>tn.value=e)},null,8,["modelValue"])])),_:1}),La,(0,v.Wm)(Gn,{modelValue:rn.value,"onUpdate:modelValue":l[116]||(l[116]=e=>rn.value=e),name:"渠道优先级",label:"渠道优先级","input-align":"right",placeholder:"渠道优先级(默认为0)",rules:[{required:!0,message:"请填写渠道优先级(默认为0)"}]},null,8,["modelValue"]),Ra,(0,v.Wm)(Gn,{"input-align":"right",name:"checkboxGroup",label:"在one-api的组别"},{input:(0,v.w5)((()=>[(0,v.Wm)(ou,{modelValue:Xa.value,"onUpdate:modelValue":l[117]||(l[117]=e=>Xa.value=e),direction:"horizontal"},{default:(0,v.w5)((()=>[(0,v.Wm)(au,{name:"default","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("default")])),_:1}),(0,v.Wm)(au,{name:"vip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("vip")])),_:1}),(0,v.Wm)(au,{name:"svip","checked-color":"#0ea27e",shape:"square"},{default:(0,v.w5)((()=>[(0,v.Uk)("svip")])),_:1})])),_:1},8,["modelValue"])])),_:1}),Ea,(0,v.Wm)(Gn,{modelValue:un.value,"onUpdate:modelValue":l[118]||(l[118]=e=>un.value=e),name:"自定义PandoraNext地址",label:"自定义PandoraNext地址","input-align":"right",placeholder:"自定义PandoraNext地址",rules:[{required:!0,message:"请填写自定义PandoraNext地址"}]},null,8,["modelValue"]),Ka])):(0,v.kq)("",!0)])),_:1}),(0,v._)("div",Ja,[(0,v.Wm)(g,{round:"",block:"",color:"#0ea27e","native-type":"submit"},{default:(0,v.w5)((()=>[(0,v.Uk)(" 提交 ")])),_:1})])])),_:1})])])),_:1},8,["modelValue"]),(0,v.Wm)(lu,{modelValue:_o.value,"onUpdate:modelValue":l[120]||(l[120]=e=>_o.value=e),"align-center":"",width:"50vw","close-on-click-modal":!1,class:"poolTokenDialog"},{default:(0,v.w5)((()=>[(0,v._)("div",{ref_key:"chart",ref:Yt,style:{width:"auto",height:"300px"}},null,512)])),_:1},8,["modelValue"])],64)}}});const Xa=Fa;var Qa=Xa}}]); -//# sourceMappingURL=805.c5ddb037.js.map \ No newline at end of file diff --git a/rearServer/target/classes/static/js/805.c5ddb037.js.map b/rearServer/target/classes/static/js/805.c5ddb037.js.map deleted file mode 100644 index 3b129ea..0000000 --- a/rearServer/target/classes/static/js/805.c5ddb037.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/805.c5ddb037.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue","webpack://PandoraNext-TokensTool/./src/views/homeIndex.vue?32ba"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, unref as _unref, resolveDirective as _resolveDirective, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport _imports_0 from '../asserts/openAi.jpg';\nconst _hoisted_1 = {\n class: \"content\"\n};\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,user-scalable=no\"\n}, null, -1);\nconst _hoisted_3 = {\n class: \"home-container\"\n};\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex-grow\"\n}, null, -1);\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://ai.fakeopen.com/auth\"\n}, \"PandoraNext地址\", -1);\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://chat.openai.com/api/auth/session\"\n}, \"OpenAI官网\", -1);\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://github.com/Yanyutin753/PandoraNext-TokensTool\"\n}, \"TokensTool地址\", -1);\nconst _hoisted_8 = {\n class: \"under\"\n};\nconst _hoisted_9 = {\n style: {\n \"display\": \"block\",\n \"transform\": \"translate(5vw, 2.5vh)\"\n }\n};\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"flex items-center\"\n}, [/*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4\"\n}, \"PandoraNext-TokensTool \"), /*#__PURE__*/_createElementVNode(\"span\", {\n class: \"font-h4-tag\"\n}, \"v0.6.2 \")], -1);\nconst _hoisted_11 = {\n class: \"search\"\n};\nconst _hoisted_12 = {\n style: {\n \"display\": \"flex\",\n \"margin\": \"10px 35px -8px 35px\"\n }\n};\nconst _hoisted_13 = {\n style: {\n \"display\": \"flex\",\n \"transform\": \"translateX(4vw)\",\n \"width\": \"70vw\",\n \"height\": \"61vh\"\n }\n};\nconst _hoisted_14 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_15 = {\n style: {\n \"margin-left\": \"18px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_16 = {\n style: {\n \"margin\": \"15px 0px 15px 0px\"\n }\n};\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"批量操作\", -1);\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查并生成\", -1);\nconst _hoisted_19 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_20 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_21 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_22 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_24 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_25 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_26 = {\n key: 0\n};\nconst _hoisted_27 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_28 = {\n key: 1\n};\nconst _hoisted_29 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_30 = {\n key: 0\n};\nconst _hoisted_31 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_32 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_33 = {\n key: 2\n};\nconst _hoisted_34 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_35 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_36 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_37 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_38 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_39 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_40 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_41 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_42 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_43 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_44 = {\n key: 0\n};\nconst _hoisted_45 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_46 = {\n key: 1\n};\nconst _hoisted_47 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_48 = {\n key: 0\n};\nconst _hoisted_49 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_50 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_51 = {\n key: 2\n};\nconst _hoisted_52 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_53 = {\n key: 3\n};\nconst _hoisted_54 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_55 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_56 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_57 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_58 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_59 = {\n key: 0\n};\nconst _hoisted_60 = {\n style: {\n \"display\": \"flex\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_61 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_62 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_63 = {\n style: {\n \"margin\": \"10px 75px 10px 75px\"\n }\n};\nconst _hoisted_64 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_65 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_66 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_67 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_68 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_69 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_70 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_71 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_72 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_73 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_74 = {\n key: 0\n};\nconst _hoisted_75 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_76 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_77 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_78 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_79 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_80 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_81 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_82 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_83 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_84 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_85 = {\n key: 0\n};\nconst _hoisted_86 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_87 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_88 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_89 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_90 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_91 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_92 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_93 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_94 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_95 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_96 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_97 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_98 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_99 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_100 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_101 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_102 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_103 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_104 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_105 = {\n key: 0\n};\nconst _hoisted_106 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_107 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_108 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_109 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_110 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_111 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_112 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_113 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_114 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_115 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_116 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_117 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_118 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_119 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_120 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_121 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_122 = {\n style: {\n \"transform\": \"translate(0vw, -2vh)\"\n }\n};\nconst _hoisted_123 = {\n style: {\n \"margin-left\": \"15px\",\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_124 = {\n key: 0\n};\nconst _hoisted_125 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi4\", -1);\nconst _hoisted_126 = {\n key: 1\n};\nconst _hoisted_127 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"oneApi3\", -1);\nconst _hoisted_128 = {\n key: 2\n};\nconst _hoisted_129 = /*#__PURE__*/_createElementVNode(\"h5\", null, \"Json\", -1);\nconst _hoisted_130 = {\n style: {\n \"margin-left\": \"25px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_131 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_132 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_133 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_134 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_135 = {\n style: {\n \"margin\": \"10px 0px 10px 0px\"\n }\n};\nconst _hoisted_136 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部刷新\", -1);\nconst _hoisted_137 = /*#__PURE__*/_createElementVNode(\"h1\", null, \"全部检查\", -1);\nconst _hoisted_138 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_139 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_140 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_141 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_142 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_143 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_144 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_145 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_146 = {\n key: 0\n};\nconst _hoisted_147 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_148 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_149 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_150 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_151 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_152 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_153 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_154 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_155 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_156 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_157 = {\n key: 0\n};\nconst _hoisted_158 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_159 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_160 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_161 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_162 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_163 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nconst _hoisted_164 = {\n style: {\n \"display\": \"flex\"\n }\n};\nconst _hoisted_165 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\"\n }\n};\nconst _hoisted_166 = {\n style: {\n \"margin-left\": \"0px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_167 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_168 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_169 = {\n style: {\n \"display\": \"flex\",\n \"align-items\": \"center\",\n \"overflow\": \"auto\"\n }\n};\nconst _hoisted_170 = {\n style: {\n \"margin-left\": \"10px\",\n \"text-overflow\": \"ellipsis\",\n \"overflow\": \"hidden\",\n \"white-space\": \"nowrap\"\n }\n};\nconst _hoisted_171 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_172 = {\n style: {\n \"display\": \"block\"\n }\n};\nconst _hoisted_173 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_174 = {\n style: {\n \"transform\": \"translateX(17px)\"\n }\n};\nconst _hoisted_175 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_176 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_177 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_178 = {\n key: 0\n};\nconst _hoisted_179 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_180 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_181 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_182 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_183 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1);\nconst _hoisted_184 = {\n style: {\n \"margin\": \"5.2px\"\n }\n};\nimport { ref, onMounted } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport axios from \"axios\";\nimport png from \"../asserts/chatGpt.jpg\";\nimport { ElMessage, ElMessageBox } from \"element-plus\";\nimport { differenceInDays, parseISO } from \"date-fns\";\nimport { ElLoading } from \"element-plus\";\nimport { ElTable } from \"element-plus\";\nimport * as echarts from \"echarts\";\nconst pandoraNext = 0;\n//tokensTool 为 0\nconst tokensTool = 1;\n//验证信息\nconst validation = 2;\n/**\r\n * 修改系统设置信息\r\n */\nexport default /*#__PURE__*/_defineComponent({\n __name: 'homeIndex',\n setup(__props) {\n // 导入类\n const path = window.location.pathname; // 假设是 \"/api/getData\"\n const parts = path.split(\"/\"); // 分割路径,得到 [\"\", \"api\", \"getData\"]\n let prefix = \"\"; // 默认值为 \"\"\n if (parts.length >= 3) {\n prefix = \"/\" + parts[1]; // 如果parts长度大于或等于3,获取第一个部分\n }\n\n const groupChecked = ref([\"default\", \"svip\", \"vip\"]);\n const multipleTableRef = ref();\n const multipleSelection = ref([]);\n const toggleSelection = rows => {\n multipleTableRef.value.clearSelection();\n };\n const handleSelectionChange = val => {\n multipleSelection.value = val;\n };\n const size = ref(\"ALL\");\n //pandoraNext 为 0\n const router = useRouter();\n /**\r\n * \r\n * \r\n * \r\n *\r\n */\n const show = ref(false);\n const show_1 = ref(false);\n const show_2 = ref(false);\n const show_3 = ref(false);\n const show_4 = ref(false);\n const show_5 = ref(false);\n const show_6 = ref(false);\n const show_7 = ref(false);\n const show_8 = ref(false);\n const show_9 = ref(false);\n const show_10 = ref(false);\n const show_11 = ref(false);\n const show_12 = ref(false);\n //页头图片 image\n const image = png;\n /**\r\n * 定义User类接口\r\n */\n const buttonValue = ref(\"\");\n const options = [{\n buttonValue: \"选中删除Token\",\n label: \"选中删除Token\"\n }, {\n buttonValue: \"选中刷新Token\",\n label: \"选中刷新Token\"\n }, {\n buttonValue: \"选中合成pool_token\",\n label: \"选中合成pool_token\"\n }, {\n buttonValue: \"选中修改pool_token\",\n label: \"选中修改pool_token\"\n }];\n /**\r\n * 定义Pool类接口\r\n */\n const proxy_api_prefix = ref(\"\");\n const isolated_conv_title = ref(\"*\");\n const bing = ref(\"\");\n const timeout = ref(\"\");\n const proxy_url = ref(\"\");\n const public_share = ref(false);\n //0.4.9.2\n const disable_signup = ref(false);\n const auto_conv_arkose = ref(false);\n const proxy_file_service = ref(false);\n const custom_doh_host = ref(\"\");\n const enabled = ref(false);\n const cert_file = ref(\"\");\n const key_file = ref(\"\");\n const site_password = ref(\"\");\n const setup_password = ref(\"\");\n const loginUsername = ref(\"\");\n const loginPassword = ref(\"\");\n const license_id = ref(\"\");\n //0.4.8.2\n const isGetToken = ref(false);\n const getTokenPassword = ref(\"\");\n const containerName = ref(\"PandoraNext\");\n const autoToken_url = ref(\"default\");\n const whitelist = ref(\"\");\n const provider = ref(\"\");\n const site_key = ref(\"\");\n const site_secret = ref(\"\");\n const site_login = ref(false);\n const setup_login = ref(false);\n const oai_username = ref(false);\n const oai_password = ref(false);\n //0.4.9.3\n const auto_updateSession = ref(false);\n const auto_updateTime = ref(5);\n const auto_updateNumber = ref(1);\n const pandoraNext_outUrl = ref(\"\");\n const oneAPi_outUrl = ref(\"\");\n const oneAPi_intoToken = ref(\"\");\n // 0.4.8\n const poolName = ref(\"\");\n const shareTokens = ref(\"\");\n const poolToken = ref(\"\");\n const poolTime = ref(\"\");\n const checkPool = ref(true);\n // 0.5.0\n //上传oneApi\n const poolNameValue = ref(\"\");\n const intoOneApi = ref(false);\n const pandoraNextGpt4 = ref(false);\n const oneApi_pandoraUrl = ref(pandoraNext_outUrl.value + proxy_api_prefix.value);\n const priority = ref(0);\n const temPool_token = ref(\"\");\n // 自定义校验函数,直接返回错误提示\n const customValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const sitePasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (regex.test(value) || value == \"\") {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n const poolNameValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^[\\u4e00-\\u9fa5a-zA-Z0-9]{3,10}$/;\n if (regex.test(value)) {\n return true;\n } else {\n return \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\";\n }\n };\n const addPasswordValidator = value => {\n // 至少8位,包含数字和字母\n const regex = /^(?=.*\\d)(?=.*[a-zA-Z]).{8,}$/;\n if (addSetPoolToken.value == true || setPoolToken.value == true || regex.test(value)) {\n return true;\n } else {\n return \"此项至少要包含8位且必须包含数字和字母\";\n }\n };\n /**\r\n * 查看或者修改token信息参数\r\n */\n const temName = ref(\"\");\n const temToken = ref(\"\");\n const temAccessToken = ref(\"\");\n const temShareToken = ref(\"\");\n const temUsername = ref(\"\");\n const temUserPassword = ref(\"\");\n const temShared = ref(false);\n const temShow_user_info = ref(false);\n const temPlus = ref(false);\n const temPassword = ref(\"\");\n const setPoolToken = ref(false);\n const useRefreshToken = ref(false);\n const temCheckSession = ref(true);\n const tableData = ref([]);\n // 0.4.8\n const poolData = ref([]);\n // 0.5.9\n const loginData = ref([]);\n /**\r\n * 添加用户信息参数\r\n */\n const addName = ref(\"\");\n const addUsername = ref(\"\");\n const addUserPassword = ref(\"\");\n const addTokenValue = ref(\"\");\n const addShared = ref(false);\n const addShow_user_info = ref(false);\n const addPlus = ref(false);\n const addSetPoolToken = ref(false);\n const addUseRefreshToken = ref(false);\n const addPassword = ref(\"\");\n //Pandora的icon大小\n const iconSize = ref(window.innerHeight * 0.085);\n //搜索值\n const value = ref(\"\");\n /**\r\n * 用jwt令牌验证身份\r\n * 未通过者返回到/\r\n */\n const token = localStorage.getItem(\"jwtToken\"); // 从localStorage获取JWT令牌\n if (!token) {\n router.replace(`/`);\n }\n const headers = {\n Authorization: `Bearer ${token}`\n };\n /**\r\n * 用jwt令牌验证身份函数\r\n */\n const fetchLoginToken = async () => {\n axios.post(`${prefix}/api/loginToken?token=` + token).then(response => {\n if (response.data.code == 0) {\n console.error(response.data.data);\n router.replace(`/`);\n return;\n }\n }).catch(error => {\n console.error(\"请求loginToken接口失败\", error);\n router.replace(`/`);\n });\n };\n const onSearch = value => {\n if (value == \"Web\") {\n getWebToken(\"\");\n } else if (value == \"all\") {\n getToken(\"\");\n } else if (value.includes(\"API\")) {\n getAPIToken(\"\");\n } else {\n getToken(value);\n }\n };\n /**\r\n * 获取数据操作,并把数据返回到tableData\r\n * 用于展示\r\n */\n const getToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 将用户数据添加到tableData\n tableData.value = resUsers;\n }\n };\n const getAPIToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === true);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n const getWebToken = async value => {\n const response = await axios.get(`${prefix}/api/selectToken?name=${value}`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resUsers = data_token.map(item => ({\n name: item.name,\n username: item.username,\n userPassword: item.userPassword,\n token: item.token,\n access_token: item.access_token,\n share_token: item.share_token,\n shared: item.shared,\n show_user_info: item.show_user_info,\n password: item.password,\n plus: item.plus,\n setPoolToken: item.setPoolToken,\n useRefreshToken: item.useRefreshToken,\n updateTime: item.updateTime,\n checkSession: item.checkSession\n }));\n // 使用 filter 方法筛选出 setPoolToken 等于 true 的用户\n const filteredUsers = resUsers.filter(user => user.setPoolToken === false);\n // 将筛选后的用户数据添加到 tableData\n tableData.value = filteredUsers;\n }\n };\n /**\r\n * 获取数据操作\r\n * 用于日志数据展示\r\n */\n const getLoginData = async () => {\n const response = await axios.get(`${prefix}/api/selectLogin`, {\n headers\n });\n const data_token = response.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(data_token)) {\n const resLogins = data_token.map(item => ({\n ipAddress: item.ipAddress,\n requestIp: item.requestIp,\n outRequestNumber: item.outRequestNumber,\n inRequestNumber: item.inRequestNumber,\n lastLoginTime: item.lastLoginTime\n }));\n // 将用户数据添加到tableData\n loginData.value = resLogins;\n }\n };\n const getPool = async value => {\n const responsePool = await axios.get(`${prefix}/api/selectPoolToken?name=`, {\n headers\n });\n const pool_token = responsePool.data.data;\n // 如果服务器返回的数据是一个数组,您可以遍历数据并将每个对象转化为User类型\n if (Array.isArray(pool_token)) {\n const resPools = pool_token.map(item => ({\n poolName: item.poolName,\n poolTime: item.poolTime,\n poolToken: item.poolToken,\n shareTokens: item.shareTokens,\n checkPool: item.checkPool,\n intoOneApi: item.intoOneApi,\n pandoraNextGpt4: item.pandoraNextGpt4,\n oneApi_pandoraUrl: item.oneApi_pandoraUrl,\n groupChecked: item.groupChecked,\n priority: item.priority\n }));\n // 将用户数据添加到poolData\n poolData.value = resPools;\n }\n };\n const getSetting = async value => {\n const response = await axios.get(`${prefix}/api/selectSetting`, {\n headers\n });\n const data = response.data.data;\n proxy_api_prefix.value = data.proxy_api_prefix;\n isolated_conv_title.value = data.isolated_conv_title;\n bing.value = data.bing;\n timeout.value = data.timeout;\n proxy_url.value = data.proxy_url;\n public_share.value = data.public_share;\n //0.4.9.2\n disable_signup.value = data.disable_signup;\n auto_conv_arkose.value = data.auto_conv_arkose;\n proxy_file_service.value = data.proxy_file_service;\n custom_doh_host.value = data.custom_doh_host;\n enabled.value = data.tls.enabled;\n cert_file.value = data.tls.cert_file;\n key_file.value = data.tls.key_file;\n site_password.value = data.site_password;\n setup_password.value = data.setup_password;\n if (data.whitelist == null) {\n whitelist.value = \"null\";\n } else whitelist.value = data.whitelist;\n loginUsername.value = data.loginUsername;\n loginPassword.value = data.loginPassword;\n license_id.value = data.license_id;\n //0.4.8.2\n isGetToken.value = data.isGetToken;\n getTokenPassword.value = data.getTokenPassword;\n containerName.value = data.containerName;\n autoToken_url.value = data.autoToken_url;\n provider.value = data.validation.provider;\n site_key.value = data.validation.site_key;\n site_secret.value = data.validation.site_secret;\n site_login.value = data.validation.site_login;\n setup_login.value = data.validation.setup_login;\n oai_username.value = data.validation.oai_username;\n oai_password.value = data.validation.oai_password;\n //0.4.9.3\n auto_updateSession.value = data.auto_updateSession;\n auto_updateTime.value = data.auto_updateTime;\n auto_updateNumber.value = data.auto_updateNumber;\n pandoraNext_outUrl.value = data.pandoraNext_outUrl;\n oneApi_pandoraUrl.value = pandoraNext_outUrl.value + proxy_api_prefix.value;\n //0.5.0\n oneAPi_outUrl.value = data.oneAPi_outUrl;\n oneAPi_intoToken.value = data.oneAPi_intoToken;\n fetchDataAndFillForm();\n };\n const fetchDataAndFillForm = async () => {\n if (loginPassword.value == \"123456\" && loginUsername.value == \"root\") {\n ElMessageBox.alert(\"请先修改默认的初始账号和密码,并填写相应的信息,具体可参考网站文档!\", \"温馨提醒\", {\n confirmButtonText: \"确定\",\n callback: action => {\n ElMessage({\n type: \"info\",\n message: `如果不知道怎么填的话,可以看tokensTool的文档站!`\n });\n }\n });\n show_4.value = true;\n loginPassword.value = \"\";\n loginUsername.value = \"\";\n }\n };\n const getSelectedData = () => {\n const selectedData = multipleSelection.value;\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n } else {\n show_9.value = true;\n }\n };\n const addSelectPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolNameValue.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/addPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n poolNameValue.value = \"\";\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolNameValue.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消生成pool_token\"\n });\n }\n show_9.value = false;\n };\n const handlePoolNameChange = poolNameValue => {\n let selectedItem = poolData.value.find(item => item.poolName === poolNameValue);\n if (selectedItem != null) {\n temPool_token.value = selectedItem.poolToken;\n intoOneApi.value = selectedItem.intoOneApi;\n pandoraNextGpt4.value = selectedItem.pandoraNextGpt4;\n oneApi_pandoraUrl.value = selectedItem.oneApi_pandoraUrl;\n priority.value = selectedItem.priority;\n }\n };\n const requirePoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n try {\n const selectedData = multipleSelection.value;\n const names = selectedData.map(userData => userData.name);\n const addPoolToken = {\n poolName: poolName.value,\n poolToken: temPool_token.value,\n intoOneApi: intoOneApi.value,\n pandoraNextGpt4: pandoraNextGpt4.value,\n oneApi_pandoraUrl: oneApi_pandoraUrl.value,\n shareTokens: names,\n groupChecked: groupChecked.value.toString(),\n priority: priority.value\n };\n const response = await fetch(`${prefix}/api/requirePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(addPoolToken)\n });\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const data = await response.json();\n if (data.code === 1) {\n getPool(\"\");\n ElMessage({\n type: \"success\",\n message: data.data\n });\n poolName.value = \"\";\n temPool_token.value = \"\";\n intoOneApi.value = false;\n pandoraNextGpt4.value = false;\n groupChecked.value = [\"default\", \"svip\", \"vip\"];\n priority.value = 0;\n } else {\n ElMessage({\n type: \"info\",\n message: data.msg\n });\n }\n loadingInstance.close();\n } catch (error) {\n ElMessage({\n type: \"info\",\n message: \"取消修改pool_token\"\n });\n }\n show_11.value = false;\n };\n const pandoraUsage = ref(\"\");\n // 在组件加载完成后自动触发数据加载和填充\n onMounted(async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (window.innerWidth <= 700) {\n router.replace(`/iphone`);\n } else {\n router.replace(`/home`);\n }\n fetchLoginToken();\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n }\n onSearch(value.value);\n getPool(value.value);\n getSetting(value.value);\n loadingInstance.close();\n });\n //用来警告session过期\n const tableRowClassName = ({\n row\n }) => {\n if (row.checkSession == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n const poolRowClassName = ({\n row\n }) => {\n if (row.checkPool == false) {\n return \"warning-row\";\n }\n return \"\";\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const redirectToExternalLink = () => {\n window.open(pandoraNext_outUrl.value);\n };\n /**\r\n * 跳转到PandoraNext分享页\r\n */\n const redirectPandoraNextShare = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"shared.html\");\n };\n /**\r\n * 跳转到PandoraNext\r\n */\n const requirePandoraNextLink = () => {\n var url = pandoraNext_outUrl.value;\n // 检查最后一个字符是否是 /\n if (url.charAt(url.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n url += \"/\";\n }\n window.open(url + \"setup\");\n };\n /**\r\n * 跳转到tokensTool使用说明\r\n */\n const requireTokensToolLink = () => {\n window.open(\"https://apifox.com/apidoc/shared-40345b46-9c9c-45cc-b494-6a6a387a978f\");\n };\n /**\r\n * 用于用户信息设置\r\n */\n const activeIndex = ref(\"-1\");\n let temRequireToken = \"\";\n const handleSelect = (key, keyPath) => {\n console.log(\"选择准备!\");\n };\n /**\r\n * 添加token开启函数\r\n * 类user\r\n */\n const addToken = () => {\n show_1.value = true;\n };\n /**\r\n * 添加token函数\r\n * 类user\r\n */\n const onAddToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const now = new Date();\n const formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n if (addPassword.value != \"\") {\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n if (addSetPoolToken.value == false) {\n addTokenValue.value = addUsername.value + \",\" + addUserPassword.value;\n addUseRefreshToken.value = false;\n addShared.value = false;\n addPlus.value = false;\n addShow_user_info.value = false;\n }\n let api = {\n name: addName.value,\n token: addTokenValue.value,\n username: addUsername.value,\n userPassword: addUserPassword.value,\n shared: addShared.value,\n show_user_info: addShow_user_info.value,\n plus: addPlus.value,\n setPoolToken: addSetPoolToken.value,\n useRefreshToken: addUseRefreshToken.value,\n password: addPassword.value,\n updateTime: formattedTime\n };\n fetch(`${prefix}/api/addToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n }).then(response => response.json()) // 将 .json() 放在正确的位置\n .then(data => {\n if (data.code == 1) {\n ElMessage.success(\"添加成功!\");\n addName.value = \"\";\n addTokenValue.value = \"\";\n addUsername.value = \"\";\n addUserPassword.value = \"\";\n addShared.value = false;\n addShow_user_info.value = false;\n addPlus.value = false;\n addSetPoolToken.value = false;\n addUseRefreshToken.value = false;\n addPassword.value = \"\";\n if (api.token == \"\") {\n api.token = data.data;\n ElMessage.success(\"已为您自动装填token!\");\n }\n } else {\n ElMessage.error(data.msg);\n }\n addPassword.value = \"\";\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n ElMessage.error(\"获取账号出现问题,请检查刷新网址是否正确!\");\n loadingInstance.close();\n });\n show_1.value = false;\n };\n const gpt3Usage = ref(0);\n const gpt4Usage = ref(0);\n /**\r\n * 展示token函数\r\n * 类user\r\n */\n const showData = async row => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n temToken.value = row.token;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n temCheckSession.value = row.checkSession;\n if (setPoolToken.value != true) {\n show_2.value = true;\n return;\n }\n const usageHeader = {\n Authorization: `Bearer ${row.access_token}`\n };\n const response = await axios.get(`${oneApi_pandoraUrl.value}/api/token/info/${row.share_token}`, {\n headers: usageHeader\n });\n const data = response.data;\n if (data != null && data != \"\") {\n if (data.usage[\"text-davinci-002-render-sha\"] != null) {\n gpt3Usage.value = Number(data.usage[\"text-davinci-002-render-sha\"]);\n } else {\n gpt3Usage.value = 0;\n }\n if (data.usage[\"gpt-4\"] != null) {\n gpt4Usage.value = Number(data.usage[\"gpt-4\"]);\n } else {\n gpt4Usage.value = 0;\n }\n }\n show_2.value = true;\n };\n let previousSetpoolToken = false;\n let previousUseRefreshToken = false;\n let previousToken = \"\";\n //编辑准备\n const handleEdit = (index, row) => {\n temName.value = row.name;\n temUsername.value = row.username;\n temUserPassword.value = row.userPassword;\n //用来判断token是否更改\n temToken.value = row.token;\n temRequireToken = row.token;\n temShared.value = row.shared;\n temShow_user_info.value = row.show_user_info;\n temPlus.value = row.plus;\n temPassword.value = row.password;\n setPoolToken.value = row.setPoolToken;\n useRefreshToken.value = row.useRefreshToken;\n previousSetpoolToken = setPoolToken.value;\n previousUseRefreshToken = useRefreshToken.value;\n previousToken = temToken.value;\n temCheckSession.value = row.checkSession;\n temAccessToken.value = row.access_token;\n temShareToken.value = row.share_token;\n show.value = true;\n };\n /**\r\n * 修改系统设置函数\r\n */\n const onRequireSetting = async value => {\n if (value == 0) {\n show_3.value = true;\n } else if (value == 1) {\n show_4.value = true;\n } else if (value == 2) {\n show_5.value = true;\n }\n };\n const RequireSetting = value => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n if (whitelist.value == null || whitelist.value == \"null\") {\n whitelist.value = \"\";\n }\n if (enabled.value == false) {\n cert_file.value = \"\";\n key_file.value = \"\";\n }\n const tls = {\n enabled: enabled.value,\n cert_file: cert_file.value,\n key_file: key_file.value\n };\n const validation = {\n provider: provider.value,\n site_key: site_key.value,\n site_secret: site_secret.value,\n site_login: site_login.value,\n setup_login: setup_login.value,\n oai_username: oai_username.value,\n oai_password: oai_password.value\n };\n const setting = {\n proxy_api_prefix: proxy_api_prefix.value,\n isolated_conv_title: isolated_conv_title.value,\n bing: bing.value,\n timeout: timeout.value,\n proxy_url: proxy_url.value,\n public_share: public_share.value,\n site_password: site_password.value,\n setup_password: setup_password.value,\n loginUsername: loginUsername.value,\n loginPassword: loginPassword.value,\n license_id: license_id.value,\n //0.4.9.2\n disable_signup: disable_signup.value,\n auto_conv_arkose: auto_conv_arkose.value,\n proxy_file_service: proxy_file_service.value,\n custom_doh_host: custom_doh_host.value,\n //0.4.8.2\n isGetToken: isGetToken.value,\n getTokenPassword: getTokenPassword.value,\n containerName: containerName.value,\n autoToken_url: autoToken_url.value,\n whitelist: whitelist.value,\n validation: validation,\n tls: tls\n };\n fetch(`${prefix}/api/requireSetting`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n fetchLoginToken();\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireSetting接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n if (value == 0) {\n show_3.value = false;\n } else if (value == 1) {\n show_4.value = false;\n } else if (value == 2) {\n show_5.value = false;\n }\n };\n const RequireAutoUpdate = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n // 检查最后一个字符是否是 /\n if (pandoraNext_outUrl.value.charAt(pandoraNext_outUrl.value.length - 1) !== \"/\") {\n // 如果不是,则在末尾添加 /\n pandoraNext_outUrl.value += \"/\";\n }\n const setting = {\n auto_updateSession: auto_updateSession.value,\n auto_updateTime: auto_updateTime.value,\n auto_updateNumber: auto_updateNumber.value,\n pandoraNext_outUrl: pandoraNext_outUrl.value,\n oneAPi_outUrl: oneAPi_outUrl.value,\n oneAPi_intoToken: oneAPi_intoToken.value\n };\n fetch(`${prefix}/api/controllerTask`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(setting)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求controllerTask接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show_8.value = false;\n };\n /**\r\n * 修改token函数\r\n * 类user\r\n */\n const RequireToken = () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let formattedTime = \"\";\n if (temRequireToken != temToken.value) {\n const now = new Date();\n formattedTime = `${now.getFullYear()}-${(now.getMonth() + 1).toString().padStart(2, \"0\")}-${now.getDate().toString().padStart(2, \"0\")} ${now.getHours().toString().padStart(2, \"0\")}:${now.getMinutes().toString().padStart(2, \"0\")}:${now.getSeconds().toString().padStart(2, \"0\")}`;\n }\n if (setPoolToken.value == false) {\n temShared.value = false;\n temPlus.value = false;\n temShow_user_info.value = false;\n useRefreshToken.value = false;\n }\n if (temShared.value === true) {\n temPassword.value = \"\";\n } else {\n temPlus.value = false;\n temShow_user_info.value = false;\n }\n let msg = \"\";\n if (previousSetpoolToken != setPoolToken.value && previousToken == temToken.value) {\n if (setPoolToken.value == false) {\n msg = \"您确定要关闭API模型开启web模式,您将无法生成任何的token,但不消耗额度!\";\n } else {\n if (useRefreshToken.value == true) {\n msg = \"您确定要开启API模式,并使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要开启API模式,并使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n }\n } else if (previousUseRefreshToken != useRefreshToken.value && previousToken == temToken.value) {\n if (useRefreshToken.value == true) {\n msg = \"您确定要切换使用refresh_token(有效期很久),这将会扣除1000额度,请谨慎考虑!\";\n } else {\n msg = \"您确定要切换使用session_token(有效期三个月),这将会扣除100额度,请谨慎考虑!\";\n }\n } else {\n msg = \"修改将要提交,您确定修改好了吗?\";\n }\n ElMessageBox.confirm(msg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const api = {\n name: temName.value,\n token: temToken.value,\n username: temUsername.value,\n userPassword: temUserPassword.value,\n shared: temShared.value,\n show_user_info: temShow_user_info.value,\n plus: temPlus.value,\n setPoolToken: setPoolToken.value,\n useRefreshToken: useRefreshToken.value,\n checkSession: temCheckSession.value,\n password: temPassword.value,\n access_token: temAccessToken.value,\n share_token: temShareToken.value\n };\n fetch(`${prefix}/api/requiredToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(api)\n })\n // 将 .json() 放在正确的位置\n .then(response => response.json()).then(data => {\n if (data.code == 1) {\n ElMessage.success(data.data);\n getToken(\"\");\n } else {\n ElMessage.error(data.msg);\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"请求requireToken接口失败\", error);\n ElMessage.error(\"修改失败!\");\n });\n show.value = false;\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"编辑取消!\"\n });\n return;\n });\n };\n /**\r\n * 开启pandora函数\r\n */\n const openPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/open`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 暂停pandora函数\r\n */\n const closePandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/close`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重启pandora函数\r\n */\n const AgainPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/restart`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 重载pandora函数\r\n */\n const reloadPandora = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/reload`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 查询pandoraNext余额函数\r\n */\n const pandoraIp = ref(\"\");\n const pandoraTime = ref(\"\");\n const getPandoraNext = async () => {\n const response = await axios.get(`${prefix}/api/getPandoraNext`, {\n headers\n });\n const data = response.data.data;\n if (data != null) {\n pandoraUsage.value = data.current + \"/\" + data.total;\n pandoraIp.value = data.ip;\n var currentTime = new Date();\n const futureTime = new Date(currentTime.getTime() + data.ttl * 1000);\n var year = futureTime.getFullYear();\n var month = futureTime.getMonth() + 1; // 月份是从0开始的,所以要加1\n var day = futureTime.getDate();\n var hours = futureTime.getHours();\n var minutes = futureTime.getMinutes();\n var seconds = futureTime.getSeconds();\n pandoraTime.value = year + \"-\" + month + \"-\" + day + \" \" + hours + \":\" + minutes + \":\" + seconds;\n }\n show_7.value = true;\n };\n /**\r\n * 一键全生成\r\n */\n const updateAllShareToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getToken(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全刷新pool_token\r\n */\n const updateAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 一键全检查pool_token\r\n */\n const verifyAllPoolToken = async () => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n const response = await axios.get(`${prefix}/api/verifyAllPoolToken`, {\n headers\n });\n const data = response.data.data;\n if (data != null && data != \"\") {\n getPool(\"\");\n ElMessageBox.alert(data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(response.data.msg);\n }\n loadingInstance.close();\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNew = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法刷新\");\n return;\n }\n let reNewMsg = \"您确定要刷新session_token吗,刷新session_token消耗100额度,请您要仔细认真考虑哦!\";\n if (row.useRefreshToken) {\n reNewMsg = \"您确定要刷新refresh_token吗,刷新refresh_token消耗1000额度,请您要仔细认真考虑哦!\";\n }\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n row.token = data.data;\n getToken(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n };\n /**\r\n * 刷新Token函数\r\n */\n const reNewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/refreshSimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"刷新成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 生成token操作\r\n */\n const review = row => {\n if (row.setPoolToken == false) {\n ElMessage.error(\"未开启API模式,无法生成\");\n return;\n }\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n ElMessageBox.alert(\"生成shareToken成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n getToken(\"\");\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 更新token操作\r\n */\n const reviewPool = row => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/changePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(\"更换pool_token成功!\", \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const deletePoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Pool_Token吗,删除之后就找不到咯,请您要仔细认真考虑哦!\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n fetch(`${prefix}/api/deletePoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data.data != null) {\n getPool(\"\");\n ElMessage.success(data.data);\n loadingInstance.close();\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n loadingInstance.close();\n }\n show_9.value = false;\n }).catch(error => {\n // 处理完成失败的逻辑\n console.error(\"删除失败\", error);\n getPool(\"\");\n loadingInstance.close();\n show_9.value = false;\n });\n }).catch(() => {\n loadingInstance.close();\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n });\n };\n /**\r\n * 删除PoolToken函数\r\n * 参数 Pool\r\n */\n const verifySimplyPoolToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/verifySimplyPoolToken`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(row)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getPool(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n getPool(\"\");\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n };\n /**\r\n * 删除Token函数\r\n * 参数 user\r\n */\n const deleteToken = (index, row) => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这个Token吗,删除之后就找不到咯,记得点击全部刷新poolToken\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteToken`, row, {\n headers\n }).then(async response => {\n if (row.setPoolToken == true) {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n }\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n };\n /**\r\n * 获取token的过期时间\r\n */\n const formatDate = value => {\n if (!value) return \"\";\n var nowDay = new Date();\n const timeDay = parseISO(value.updateTime);\n const daysDiff = differenceInDays(nowDay, timeDay);\n if (value.token.length >= 2000) {\n return daysDiff >= 80 ? \"已经过去了至少80天\" : Math.ceil(80 - daysDiff) + \"天\";\n } else if (value.token.length < 200 && !value.token.includes(\"fk-\")) {\n return \"永久\";\n } else {\n return daysDiff >= 10 ? \"已经过去了至少10天\" : Math.ceil(10 - daysDiff) + \"天\";\n }\n };\n /**\r\n * 更改Token显示操作\r\n */\n const dataToken = value => {\n return value.substring(0, 30) + \"...\";\n };\n /**\r\n * 退出登录操作\r\n */\n const logout = () => {\n // 删除本地存储的 token\n localStorage.removeItem(\"jwtToken\");\n // 使用 Vue Router 进行页面跳转到登录页面\n router.replace(`/`);\n };\n const getPoolToken = () => {\n show_6.value = true;\n };\n const getLogin = () => {\n getLoginData();\n show_10.value = true;\n };\n const redirectToGitHub = () => {\n window.open(\"https://github.com/Yanyutin753/PandoraNext-TokensTool\");\n };\n const copyToken = value => {\n const textarea = document.createElement(\"textarea\");\n // 设置 textarea 的值为要复制的文本\n textarea.value = value;\n // 将 textarea 添加到 DOM 中\n document.body.appendChild(textarea);\n // 选中 textarea 中的文本\n textarea.select();\n // 执行复制操作\n document.execCommand(\"copy\");\n // 从 DOM 中移除 textarea 元素\n document.body.removeChild(textarea);\n ElMessage({\n type: \"success\",\n message: \"复制成功!\"\n });\n };\n const selectChoice = buttonValue => {\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n if (selectedData.length === 0) {\n ElMessage(\"未选择数据\");\n return;\n }\n if (buttonValue == \"选中删除Token\") {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n let msg = \"\";\n ElMessageBox.confirm(\"您确定要删除这\" + selectedData.length + \"个Token吗,删除之后就找不到咯\", \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n axios.put(`${prefix}/api/deleteTokenList`, userData, {\n headers\n }).then(async response => {\n await axios.get(`${prefix}/api/updateAllPoolToken`, {\n headers\n });\n msg = response.data.data;\n getToken(\"\");\n ElMessage({\n type: \"success\",\n message: msg\n });\n loadingInstance.close();\n }).catch(error => {\n // 处理完成失败的逻辑\n loadingInstance.close();\n console.error(\"删除失败\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"删除取消!\"\n });\n loadingInstance.close();\n });\n return;\n } else if (buttonValue == \"选中刷新Token\") {\n let count = 0;\n const selectedData = multipleSelection.value;\n const userData = selectedData.map(userData => userData);\n userData.forEach((item, index) => {\n if (item.setPoolToken) {\n if (item.useRefreshToken) {\n count += 1000;\n } else {\n count += 100;\n }\n }\n });\n const reNewMsg = \"您确定要花\" + count + \"积分刷新这\" + selectedData.length + \"个Token吗,请您要仔细认真考虑哦!\";\n ElMessageBox.confirm(reNewMsg, \"温馨提示\", {\n confirmButtonText: \"确定\",\n cancelButtonText: \"取消\",\n type: \"warning\"\n }).then(() => {\n const loadingInstance = ElLoading.service({\n fullscreen: true\n });\n fetch(`${prefix}/api/updateSessionTokenList`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n // 确保 token 变量已定义\n Authorization: `Bearer ${token}`\n },\n body: JSON.stringify(userData)\n }).then(response => {\n if (!response.ok) {\n throw new Error(\"Network response was not ok\");\n }\n return response.json();\n }).then(data => {\n if (data != null && data != \"\") {\n if (data.data != null) {\n getToken(\"\");\n ElMessageBox.alert(data.data, \"温馨提醒\", {\n confirmButtonText: \"OK\"\n });\n } else {\n ElMessage.error(data.msg);\n }\n }\n loadingInstance.close();\n }).catch(error => {\n loadingInstance.close();\n console.error(\"Error:\", error);\n });\n }).catch(() => {\n ElMessage({\n type: \"info\",\n message: \"刷新取消!\"\n });\n });\n return;\n } else if (buttonValue == \"选中合成pool_token\") {\n getSelectedData();\n } else if (buttonValue == \"选中修改pool_token\") {\n show_11.value = true;\n }\n };\n const chart = ref(null);\n const getUsage = async () => {\n show_12.value = true;\n const response = await axios.get(`${prefix}/api/modelsUsage`, {\n headers\n });\n let usageData = response.data.data.map(item => item.usage);\n let modelData = response.data.data.map(item => item.model);\n const myChart = echarts.init(chart.value);\n const option = {\n title: {\n text: \"tokensTool接口对话统计\"\n },\n tooltip: {},\n legend: {\n data: modelData\n },\n xAxis: {\n data: modelData\n },\n yAxis: {},\n series: [{\n name: \"对话数量\",\n type: \"bar\",\n data: usageData // 使用从 API 获取的数据\n }]\n };\n\n myChart.setOption(option);\n };\n return (_ctx, _cache) => {\n const _component_el_menu_item = _resolveComponent(\"el-menu-item\");\n const _component_van_icon = _resolveComponent(\"van-icon\");\n const _component_el_sub_menu = _resolveComponent(\"el-sub-menu\");\n const _component_el_menu = _resolveComponent(\"el-menu\");\n const _component_van_button = _resolveComponent(\"van-button\");\n const _component_el_page_header = _resolveComponent(\"el-page-header\");\n const _component_el_radio_button = _resolveComponent(\"el-radio-button\");\n const _component_el_radio_group = _resolveComponent(\"el-radio-group\");\n const _component_van_search = _resolveComponent(\"van-search\");\n const _component_el_table_column = _resolveComponent(\"el-table-column\");\n const _component_el_button = _resolveComponent(\"el-button\");\n const _component_el_tag = _resolveComponent(\"el-tag\");\n const _component_el_popover = _resolveComponent(\"el-popover\");\n const _component_el_option = _resolveComponent(\"el-option\");\n const _component_el_select = _resolveComponent(\"el-select\");\n const _component_el_button_group = _resolveComponent(\"el-button-group\");\n const _component_van_field = _resolveComponent(\"van-field\");\n const _component_van_switch = _resolveComponent(\"van-switch\");\n const _component_van_cell_group = _resolveComponent(\"van-cell-group\");\n const _component_van_form = _resolveComponent(\"van-form\");\n const _component_van_dialog = _resolveComponent(\"van-dialog\");\n const _component_ChatLineRound = _resolveComponent(\"ChatLineRound\");\n const _component_el_icon = _resolveComponent(\"el-icon\");\n const _component_el_statistic = _resolveComponent(\"el-statistic\");\n const _component_el_col = _resolveComponent(\"el-col\");\n const _component_el_row = _resolveComponent(\"el-row\");\n const _component_CopyDocument = _resolveComponent(\"CopyDocument\");\n const _component_h10 = _resolveComponent(\"h10\");\n const _component_el_dialog = _resolveComponent(\"el-dialog\");\n const _component_van_checkbox = _resolveComponent(\"van-checkbox\");\n const _component_van_checkbox_group = _resolveComponent(\"van-checkbox-group\");\n const _component_el_form_item = _resolveComponent(\"el-form-item\");\n const _directive_loading = _resolveDirective(\"loading\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_hoisted_2, _createVNode(_component_el_menu, {\n \"default-active\": activeIndex.value,\n class: \"el-menu-demo\",\n mode: \"horizontal\",\n ellipsis: false,\n onSelect: handleSelect,\n \"active-text-color\": \"#0ea27e\",\n \"text-color\": \"#0ea27e\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_menu_item, null, {\n default: _withCtx(() => [_createElementVNode(\"img\", {\n style: {\n \"width\": \"40px\"\n },\n src: _imports_0,\n alt: \"Element logo\",\n onClick: redirectToGitHub\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n onClick: getPandoraNext\n }, {\n title: _withCtx(() => [_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"h2\", null, _toDisplayString(pandoraUsage.value), 1)]), _createVNode(_component_van_icon, {\n name: \"replay\",\n size: \"20\"\n })]),\n _: 1\n }), _hoisted_4, _createVNode(_component_el_menu_item, {\n index: \"1\",\n onClick: getPoolToken\n }, {\n default: _withCtx(() => [_createTextVNode(\"PoolToken列表\")]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转Web服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"3-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"跳转PandoraWeb服务\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-1-1\",\n onClick: redirectToExternalLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"主页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-2\",\n onClick: redirectPandoraNextShare\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"共享页\", 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-1-3\",\n onClick: requirePandoraNextLink\n }, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"修改页\", 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"3-2\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"获取token地址\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"3-2-1\"\n }, {\n default: _withCtx(() => [_hoisted_5]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-2\"\n }, {\n default: _withCtx(() => [_hoisted_6]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-2-3\"\n }, {\n default: _withCtx(() => [_hoisted_7]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"3-3\",\n onClick: requireTokensToolLink\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool使用说明\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"5\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统设置\")]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"5-1\",\n onClick: _cache[0] || (_cache[0] = $event => onRequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createTextVNode(\"PandoraNext设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-2\",\n onClick: _cache[1] || (_cache[1] = $event => onRequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[2] || (_cache[2] = $event => onRequireSetting(validation))\n }, {\n default: _withCtx(() => [_createTextVNode(\"验证码信息设置\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"5-3\",\n onClick: _cache[3] || (_cache[3] = $event => show_8.value = true)\n }, {\n default: _withCtx(() => [_createTextVNode(\"定时&接口设置\")]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_sub_menu, {\n index: \"6\"\n }, {\n title: _withCtx(() => [_createTextVNode(\"系统功能\")]),\n default: _withCtx(() => [_createVNode(_component_el_sub_menu, {\n index: \"6-1\"\n }, {\n title: _withCtx(() => [_createTextVNode(_toDisplayString(containerName.value) + \"状态\", 1)]),\n default: _withCtx(() => [_createVNode(_component_el_menu_item, {\n index: \"6-1-1\",\n onClick: openPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"开启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-2\",\n onClick: closePandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"暂停\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-3\",\n onClick: AgainPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重启\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-1-4\",\n onClick: reloadPandora\n }, {\n default: _withCtx(() => [_createTextVNode(\"重载\" + _toDisplayString(containerName.value), 1)]),\n _: 1\n })]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-2\",\n onClick: getLogin\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool登录日志\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-3\",\n onClick: getUsage\n }, {\n default: _withCtx(() => [_createTextVNode(\"tokensTool用量统计\")]),\n _: 1\n }), _createVNode(_component_el_menu_item, {\n index: \"6-4\",\n onClick: logout\n }, {\n default: _withCtx(() => [_createTextVNode(\"退出登录\")]),\n _: 1\n })]),\n _: 1\n })]),\n _: 1\n }, 8, [\"default-active\"]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"div\", _hoisted_9, [_createVNode(_component_el_page_header, {\n icon: null,\n title: \" \"\n }, {\n content: _withCtx(() => [_hoisted_10]),\n extra: _withCtx(() => [_createElementVNode(\"div\", {\n class: \"addToken\",\n onClick: addToken\n }, [_createVNode(_component_van_button, {\n square: \"\",\n icon: \"add-o\",\n color: \"#0ea27e\",\n class: \"addTokenButton\"\n })])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createVNode(_component_van_search, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = $event => value.value = $event),\n \"show-action\": \"\",\n shape: \"round\",\n placeholder: \"请输入搜索token名称和类型\",\n onSearch: onSearch\n }, {\n action: _withCtx(() => [_createVNode(_component_el_radio_group, {\n modelValue: size.value,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = $event => size.value = $event),\n label: \"size control\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"WEB\",\n onClick: _cache[4] || (_cache[4] = $event => getWebToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"WEB\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"ALL\",\n onClick: _cache[5] || (_cache[5] = $event => getToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"ALL\")]),\n _: 1\n }), _createVNode(_component_el_radio_button, {\n type: \"success\",\n plain: \"\",\n label: \"API\",\n onClick: _cache[6] || (_cache[6] = $event => getAPIToken(value.value))\n }, {\n default: _withCtx(() => [_createTextVNode(\"API\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }, 8, [\"modelValue\"])]), _createElementVNode(\"div\", _hoisted_13, [_withDirectives((_openBlock(), _createBlock(_unref(ElTable), {\n data: tableData.value,\n style: {\n \"width\": \"100%\"\n },\n onSelectionChange: handleSelectionChange,\n ref_key: \"multipleTableRef\",\n ref: multipleTableRef,\n \"default-sort\": {\n prop: 'updateTime',\n prop: 'setPoolToken'\n },\n \"row-class-name\": tableRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n type: \"selection\",\n width: \"45\"\n }), _createVNode(_component_el_table_column, {\n label: \"名称\",\n prop: \"setPoolToken\",\n sortable: \"\",\n \"min-width\": \"136\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_14, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"h5\", null, _toDisplayString(scope.row.setPoolToken ? scope.row.useRefreshToken ? \"refAPI\" : \"sesAPI\" : \"Web\"), 1)]),\n _: 2\n }, 1024), _createElementVNode(\"span\", _hoisted_15, _toDisplayString(scope.row.name), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"账号信息\",\n \"min-width\": \"200\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"账号: \" + _toDisplayString(scope.row.username), 1), _createElementVNode(\"div\", null, \"密码: \" + _toDisplayString(scope.row.userPassword), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(scope.row.username), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"Token值\",\n \"min-width\": \"270\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"token: \" + _toDisplayString(dataToken(scope.row.token)), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(_toDisplayString(dataToken(scope.row.token)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n prop: \"updateTime\",\n sortable: \"\",\n label: \"有效时间\",\n \"min-width\": \"167\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_popover, {\n effect: \"light\",\n trigger: \"hover\",\n placement: \"top\",\n width: \"auto\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", null, \"注册时间:\" + _toDisplayString(scope.row.updateTime), 1)]),\n reference: _withCtx(() => [_createVNode(_component_el_tag, null, {\n default: _withCtx(() => [_createTextVNode(\"距离过期还有:\" + _toDisplayString(formatDate(scope.row)), 1)]),\n _: 2\n }, 1024)]),\n _: 2\n }, 1024)]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n width: \"335\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => handleEdit(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"编辑\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => showData(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"查看\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deleteToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNew(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"warning\",\n onClick: $event => review(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"生成\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"])), [[_directive_loading, _ctx.loading]])]), _createElementVNode(\"div\", _hoisted_16, [_createVNode(_component_el_select, {\n modelValue: buttonValue.value,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = $event => buttonValue.value = $event),\n clearable: \"\",\n filterable: \"\",\n placeholder: \"请选择批量操作\",\n class: \"ml-4\"\n }, {\n default: _withCtx(() => [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(options, item => {\n return _createVNode(_component_el_option, {\n key: item.buttonValue,\n label: item.label,\n value: item.buttonValue\n }, null, 8, [\"label\", \"value\"]);\n }), 64))]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_button, {\n class: \"ml-4\",\n onClick: _cache[10] || (_cache[10] = $event => selectChoice(buttonValue.value))\n }, {\n default: _withCtx(() => [_hoisted_17]),\n _: 1\n }), _createVNode(_component_el_button_group, {\n class: \"my-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllShareToken\n }, {\n default: _withCtx(() => [_hoisted_18]),\n _: 1\n })]),\n _: 1\n })])]), _hoisted_19, _hoisted_20, _hoisted_21])]), _createVNode(_component_van_dialog, {\n show: show.value,\n \"onUpdate:show\": _cache[21] || (_cache[21] = $event => show.value = $event),\n title: \"修改token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_22, [_createVNode(_component_van_form, {\n onSubmit: _cache[20] || (_cache[20] = $event => RequireToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_23, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = $event => temUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_24, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[12] || (_cache[12] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_25, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[13] || (_cache[13] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [_hoisted_27, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[14] || (_cache[14] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_28, [_hoisted_29, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), temShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [_hoisted_31, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_32, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), temShared.value == false || setPoolToken.value == false ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [_hoisted_34, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = $event => temPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_35, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[19] || (_cache[19] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(选填),session或refresh_token\",\n autosize: {\n maxHeight: 100,\n minHeight: 20\n },\n \"show-word-limit\": \"\"\n }, null, 8, [\"modelValue\"]), _hoisted_36]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_37, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_38]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_1.value,\n \"onUpdate:show\": _cache[33] || (_cache[33] = $event => show_1.value = $event),\n title: \"添加token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"addTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_39, [_createVNode(_component_van_form, {\n onSubmit: _cache[32] || (_cache[32] = $event => onAddToken())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_40, _createVNode(_component_van_field, {\n modelValue: addName.value,\n \"onUpdate:modelValue\": _cache[22] || (_cache[22] = $event => addName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n rules: [{\n required: true,\n message: '请填写Token用户名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_41, _createVNode(_component_van_field, {\n modelValue: addUsername.value,\n \"onUpdate:modelValue\": _cache[23] || (_cache[23] = $event => addUsername.value = $event),\n name: \"OpenAi邮箱\",\n label: \"OpenAi邮箱\",\n placeholder: \"OpenAi邮箱\",\n rules: [{\n required: true,\n message: '请填写OpenAi邮箱'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_42, _createVNode(_component_van_field, {\n modelValue: addUserPassword.value,\n \"onUpdate:modelValue\": _cache[24] || (_cache[24] = $event => addUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n rules: [{\n required: true,\n message: '请填写OpenAi密码'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_43, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addSetPoolToken.value,\n \"onUpdate:modelValue\": _cache[25] || (_cache[25] = $event => addSetPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [_hoisted_45, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refreshToken\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addUseRefreshToken.value,\n \"onUpdate:modelValue\": _cache[26] || (_cache[26] = $event => addUseRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [_hoisted_47, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShared.value,\n \"onUpdate:modelValue\": _cache[27] || (_cache[27] = $event => addShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), addShared.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [_hoisted_49, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addShow_user_info.value,\n \"onUpdate:modelValue\": _cache[28] || (_cache[28] = $event => addShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_50, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: addPlus.value,\n \"onUpdate:modelValue\": _cache[29] || (_cache[29] = $event => addPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n })])) : _createCommentVNode(\"\", true)])) : _createCommentVNode(\"\", true), addShared.value == '' ? (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [_hoisted_52, _createVNode(_component_van_field, {\n modelValue: addPassword.value,\n \"onUpdate:modelValue\": _cache[30] || (_cache[30] = $event => addPassword.value = $event),\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人!\",\n rules: [{\n validator: addPasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), addSetPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [_hoisted_54, _createVNode(_component_van_field, {\n rows: \"3\",\n type: \"textarea\",\n maxlength: \"5000\",\n \"show-word-limit\": \"\",\n modelValue: addTokenValue.value,\n \"onUpdate:modelValue\": _cache[31] || (_cache[31] = $event => addTokenValue.value = $event),\n name: \"Token的值\",\n label: \"Token的值\",\n placeholder: \"选填(可不填,不填则使用账号密码),目前只支持session_token或refresh_token\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_55]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_56, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_57]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_2.value,\n \"onUpdate:show\": _cache[53] || (_cache[53] = $event => show_2.value = $event),\n title: \"token信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"showDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_58, [_createVNode(_component_van_form, null, {\n default: _withCtx(() => [setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [_createElementVNode(\"div\", _hoisted_60, [_createVNode(_component_el_row, null, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_61, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT3.5\",\n value: gpt3Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_62, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"总计\",\n value: gpt3Usage.value + gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })]), _createElementVNode(\"div\", _hoisted_63, [_createVNode(_component_el_col, null, {\n default: _withCtx(() => [_createVNode(_component_el_statistic, {\n title: \"GPT4.0\",\n value: gpt4Usage.value\n }, {\n suffix: _withCtx(() => [_createVNode(_component_el_icon, {\n style: {\n \"vertical-align\": \"-0.125em\"\n }\n }, {\n default: _withCtx(() => [_createVNode(_component_ChatLineRound)]),\n _: 1\n })]),\n _: 1\n }, 8, [\"value\"])]),\n _: 1\n })])]),\n _: 1\n })])])) : _createCommentVNode(\"\", true), _createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_64, _createVNode(_component_van_field, {\n modelValue: temName.value,\n \"onUpdate:modelValue\": _cache[34] || (_cache[34] = $event => temName.value = $event),\n name: \"Token用户名\",\n label: \"Token用户名\",\n placeholder: \"Token用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[35] || (_cache[35] = $event => copyToken(temName.value))\n }, null, 8, [\"modelValue\"]), _hoisted_65, _createVNode(_component_van_field, {\n modelValue: temPassword.value,\n \"onUpdate:modelValue\": _cache[36] || (_cache[36] = $event => temPassword.value = $event),\n type: \"temPassword\",\n name: \"进入Token的密码\",\n label: \"进入Token的密码\",\n placeholder: \"填了将不会分享给他人(如不填则输入Token名即可进入)!\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[37] || (_cache[37] = $event => copyToken(temPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_66, _createVNode(_component_van_field, {\n modelValue: temUsername.value,\n \"onUpdate:modelValue\": _cache[38] || (_cache[38] = $event => temUsername.value = $event),\n name: \"OpenAi用户名\",\n label: \"OpenAi用户名\",\n placeholder: \"OpenAi用户名\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[39] || (_cache[39] = $event => copyToken(temUsername.value))\n }, null, 8, [\"modelValue\"]), _hoisted_67, _createVNode(_component_van_field, {\n modelValue: temUserPassword.value,\n \"onUpdate:modelValue\": _cache[40] || (_cache[40] = $event => temUserPassword.value = $event),\n name: \"OpenAi密码\",\n label: \"OpenAi密码\",\n placeholder: \"OpenAi密码\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[41] || (_cache[41] = $event => copyToken(temUserPassword.value))\n }, null, 8, [\"modelValue\"]), _hoisted_68, _createVNode(_component_van_field, {\n name: \"temShared\",\n readonly: true,\n label: \"是否出现分享页面\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShared.value,\n \"onUpdate:modelValue\": _cache[42] || (_cache[42] = $event => temShared.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_69, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temShow_user_info\",\n label: \"是否分享账号信息\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temShow_user_info.value,\n \"onUpdate:modelValue\": _cache[43] || (_cache[43] = $event => temShow_user_info.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_70, _createVNode(_component_van_field, {\n readonly: true,\n name: \"temPlus\",\n label: \"是否显示金光\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: temPlus.value,\n \"onUpdate:modelValue\": _cache[44] || (_cache[44] = $event => temPlus.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_71, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否开启API模式\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: setPoolToken.value,\n \"onUpdate:modelValue\": _cache[45] || (_cache[45] = $event => setPoolToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_72, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否使用refresh_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n disabled: \"\",\n \"active-color\": \"#0ea27e\",\n modelValue: useRefreshToken.value,\n \"onUpdate:modelValue\": _cache[46] || (_cache[46] = $event => useRefreshToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_73, _createVNode(_component_van_field, {\n modelValue: temToken.value,\n \"onUpdate:modelValue\": _cache[47] || (_cache[47] = $event => temToken.value = $event),\n label: \"Token的值\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的Token(session或refresh_token)\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[48] || (_cache[48] = $event => copyToken(temToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), setPoolToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_74, [_hoisted_75, _createVNode(_component_van_field, {\n modelValue: temAccessToken.value,\n \"onUpdate:modelValue\": _cache[49] || (_cache[49] = $event => temAccessToken.value = $event),\n label: \"access_token\",\n type: \"textarea\",\n maxlength: \"5000\",\n placeholder: \"请填写OpenAi的access_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[50] || (_cache[50] = $event => copyToken(temAccessToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"]), _hoisted_76, _createVNode(_component_van_field, {\n modelValue: temShareToken.value,\n \"onUpdate:modelValue\": _cache[51] || (_cache[51] = $event => temShareToken.value = $event),\n label: \"share_token\",\n type: \"textarea\",\n maxlength: \"200\",\n placeholder: \"请填写OpenAi的share_token\",\n \"show-word-limit\": \"\",\n \"left-icon\": \"description-o\",\n readonly: true,\n onClickLeftIcon: _cache[52] || (_cache[52] = $event => copyToken(temShareToken.value)),\n autosize: {\n maxHeight: 100,\n minHeight: 20\n }\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _hoisted_77]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_3.value,\n \"onUpdate:show\": _cache[68] || (_cache[68] = $event => show_3.value = $event),\n title: \"PandoraNext设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requirePandora\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_78, [_createVNode(_component_van_form, {\n onSubmit: _cache[67] || (_cache[67] = $event => RequireSetting(pandoraNext))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_79, _createVNode(_component_van_field, {\n modelValue: isolated_conv_title.value,\n \"onUpdate:modelValue\": _cache[54] || (_cache[54] = $event => isolated_conv_title.value = $event),\n name: \"对话标题\",\n label: \"对话标题\",\n placeholder: \"隔离对话设置标题\"\n }, null, 8, [\"modelValue\"]), _hoisted_80, _createVNode(_component_van_field, {\n modelValue: bing.value,\n \"onUpdate:modelValue\": _cache[55] || (_cache[55] = $event => bing.value = $event),\n name: \"绑定IP和端口\",\n label: \"绑定IP和端口\",\n placeholder: \"绑定IP和端口(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_81, _createVNode(_component_van_field, {\n modelValue: custom_doh_host.value,\n \"onUpdate:modelValue\": _cache[56] || (_cache[56] = $event => custom_doh_host.value = $event),\n name: \"DoH主机名\",\n label: \"DoH主机名\",\n placeholder: \"配置自定义的DoH主机名(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_82, _createVNode(_component_van_field, {\n modelValue: timeout.value,\n \"onUpdate:modelValue\": _cache[57] || (_cache[57] = $event => timeout.value = $event),\n name: \"请求超时时间\",\n label: \"请求超时时间\",\n placeholder: \"请求超时时间(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_83, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否分享对话(选填)\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: public_share.value,\n \"onUpdate:modelValue\": _cache[58] || (_cache[58] = $event => public_share.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_84, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否配置证书\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: enabled.value,\n \"onUpdate:modelValue\": _cache[59] || (_cache[59] = $event => enabled.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), enabled.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_85, [_hoisted_86, _createVNode(_component_van_field, {\n modelValue: cert_file.value,\n \"onUpdate:modelValue\": _cache[60] || (_cache[60] = $event => cert_file.value = $event),\n name: \"证书文件\",\n label: \"证书文件\",\n placeholder: \"证书文件\"\n }, null, 8, [\"modelValue\"]), _hoisted_87, _createVNode(_component_van_field, {\n modelValue: key_file.value,\n \"onUpdate:modelValue\": _cache[61] || (_cache[61] = $event => key_file.value = $event),\n name: \"密钥文件\",\n label: \"密钥文件\",\n placeholder: \"密钥文件\"\n }, null, 8, [\"modelValue\"])])) : _createCommentVNode(\"\", true), _hoisted_88, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否禁用注册\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: disable_signup.value,\n \"onUpdate:modelValue\": _cache[62] || (_cache[62] = $event => disable_signup.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_89, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动打码\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_conv_arkose.value,\n \"onUpdate:modelValue\": _cache[63] || (_cache[63] = $event => auto_conv_arkose.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_90, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"使用文件代理服务\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: proxy_file_service.value,\n \"onUpdate:modelValue\": _cache[64] || (_cache[64] = $event => proxy_file_service.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_91, _createVNode(_component_van_field, {\n modelValue: proxy_url.value,\n \"onUpdate:modelValue\": _cache[65] || (_cache[65] = $event => proxy_url.value = $event),\n name: \"代理服务URL\",\n label: \"代理服务URL\",\n placeholder: \"代理服务URL(选填)\"\n }, null, 8, [\"modelValue\"]), _hoisted_92, _createVNode(_component_van_field, {\n modelValue: whitelist.value,\n \"onUpdate:modelValue\": _cache[66] || (_cache[66] = $event => whitelist.value = $event),\n name: \"白名单\",\n label: \"白名单\",\n placeholder: \"[]限制所有账号(默认为null)\"\n }, null, 8, [\"modelValue\"]), _hoisted_93]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_94, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_95]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_4.value,\n \"onUpdate:show\": _cache[80] || (_cache[80] = $event => show_4.value = $event),\n title: \"tokensTool设置信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"requireSettingDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_96, [_createVNode(_component_van_form, {\n onSubmit: _cache[79] || (_cache[79] = $event => RequireSetting(tokensTool))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_97, _createVNode(_component_van_field, {\n modelValue: loginUsername.value,\n \"onUpdate:modelValue\": _cache[69] || (_cache[69] = $event => loginUsername.value = $event),\n name: \"登录用户名\",\n label: \"登录用户名\",\n placeholder: \"tokensTool用户名\"\n }, null, 8, [\"modelValue\"]), _hoisted_98, _createVNode(_component_van_field, {\n modelValue: loginPassword.value,\n \"onUpdate:modelValue\": _cache[70] || (_cache[70] = $event => loginPassword.value = $event),\n name: \"登录密码\",\n label: \"登录密码\",\n placeholder: \"不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_99, _createVNode(_component_van_field, {\n modelValue: proxy_api_prefix.value,\n \"onUpdate:modelValue\": _cache[71] || (_cache[71] = $event => proxy_api_prefix.value = $event),\n name: \"proxy接口前缀\",\n label: \"proxy接口前缀\",\n placeholder: \"proxy模式接口后缀,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_100, _createVNode(_component_van_field, {\n modelValue: autoToken_url.value,\n \"onUpdate:modelValue\": _cache[72] || (_cache[72] = $event => autoToken_url.value = $event),\n name: \"proxy模式URL\",\n label: \"proxy模式URL\",\n placeholder: \"http(s)://(ip:port或者域名)/后缀,同公网服务器填default\"\n }, null, 8, [\"modelValue\"]), _hoisted_101, _createVNode(_component_van_field, {\n modelValue: setup_password.value,\n \"onUpdate:modelValue\": _cache[73] || (_cache[73] = $event => setup_password.value = $event),\n name: \"重载服务密码\",\n label: \"重载服务密码\",\n placeholder: \"PandoraNext重载服务密码,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_102, _createVNode(_component_van_field, {\n modelValue: site_password.value,\n \"onUpdate:modelValue\": _cache[74] || (_cache[74] = $event => site_password.value = $event),\n name: \"访问密码\",\n label: \"访问密码\",\n placeholder: \"PandoraNext访问密码,建议开启访问密码\",\n rules: [{\n validator: sitePasswordValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_103, _createVNode(_component_van_field, {\n modelValue: license_id.value,\n \"onUpdate:modelValue\": _cache[75] || (_cache[75] = $event => license_id.value = $event),\n name: \"验证licenseId\",\n label: \"验证licenseId\",\n placeholder: \"验证licenseId(github上拿到的license_id)\"\n }, null, 8, [\"modelValue\"]), _hoisted_104, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"tokensTool接口\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: isGetToken.value,\n \"onUpdate:modelValue\": _cache[76] || (_cache[76] = $event => isGetToken.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), isGetToken.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_105, [_hoisted_106, _createVNode(_component_van_field, {\n modelValue: getTokenPassword.value,\n \"onUpdate:modelValue\": _cache[77] || (_cache[77] = $event => getTokenPassword.value = $event),\n name: \"接口密码\",\n label: \"接口密码\",\n placeholder: \"tokensTool接口密码,用于获取tokens,不少于8位,且同时包含数字和字母\",\n rules: [{\n validator: customValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"])])) : _createCommentVNode(\"\", true), _hoisted_107, _createVNode(_component_van_field, {\n modelValue: containerName.value,\n \"onUpdate:modelValue\": _cache[78] || (_cache[78] = $event => containerName.value = $event),\n name: \"监管容器名\",\n label: \"监管容器名\",\n placeholder: \"监管运行的容器名或文件名,默认为PandoraNext\",\n rules: [{\n required: true,\n message: '请填写监管的容器名'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_108]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_109, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_110]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_van_dialog, {\n show: show_5.value,\n \"onUpdate:show\": _cache[89] || (_cache[89] = $event => show_5.value = $event),\n title: \"PandoraNext验证信息\",\n width: \"50vw\",\n \"close-on-click-overlay\": true,\n \"show-cancel-button\": false,\n \"show-confirm-button\": false,\n class: \"verify\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_111, [_createVNode(_component_van_form, {\n onSubmit: _cache[88] || (_cache[88] = $event => RequireSetting(validation))\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_112, _createVNode(_component_van_field, {\n modelValue: provider.value,\n \"onUpdate:modelValue\": _cache[81] || (_cache[81] = $event => provider.value = $event),\n name: \"验证码提供商\",\n label: \"验证码提供商\",\n placeholder: \"验证码提供商\"\n }, null, 8, [\"modelValue\"]), _hoisted_113, _createVNode(_component_van_field, {\n modelValue: site_key.value,\n \"onUpdate:modelValue\": _cache[82] || (_cache[82] = $event => site_key.value = $event),\n name: \"验证码网站参数\",\n label: \"验证码网站参数\",\n placeholder: \"验证码网站参数\"\n }, null, 8, [\"modelValue\"]), _hoisted_114, _createVNode(_component_van_field, {\n modelValue: site_secret.value,\n \"onUpdate:modelValue\": _cache[83] || (_cache[83] = $event => site_secret.value = $event),\n name: \"验证码API Key\",\n label: \"验证码API Key\",\n placeholder: \"验证码API Key\"\n }, null, 8, [\"modelValue\"]), _hoisted_115, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否全站密码登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: site_login.value,\n \"onUpdate:modelValue\": _cache[84] || (_cache[84] = $event => site_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_116, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在设置登录页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: setup_login.value,\n \"onUpdate:modelValue\": _cache[85] || (_cache[85] = $event => setup_login.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_117, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入用户名页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_username.value,\n \"onUpdate:modelValue\": _cache[86] || (_cache[86] = $event => oai_username.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_118, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否在输入密码页面显示\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: oai_password.value,\n \"onUpdate:modelValue\": _cache[87] || (_cache[87] = $event => oai_password.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_119]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_120, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })]), _hoisted_121]),\n _: 1\n }, 8, [\"show\"]), _createVNode(_component_el_dialog, {\n modelValue: show_6.value,\n \"onUpdate:modelValue\": _cache[91] || (_cache[91] = $event => show_6.value = $event),\n title: \"pool_token列表\",\n \"align-center\": \"\",\n width: \"78%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_122, [_createVNode(_component_el_icon, {\n onClick: _cache[90] || (_cache[90] = $event => copyToken(pandoraNext_outUrl.value + proxy_api_prefix.value + '/v1/chat/completions'))\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 1\n }), _createVNode(_component_h10, null, {\n default: _withCtx(() => [_createTextVNode(\"API地址:\" + _toDisplayString(pandoraNext_outUrl.value) + _toDisplayString(proxy_api_prefix.value) + \"/v1/chat/completions\", 1)]),\n _: 1\n })]), _createVNode(_unref(ElTable), {\n data: poolData.value,\n \"default-sort\": {\n prop: 'poolTime',\n prop: 'intoOneApi'\n },\n \"row-class-name\": poolRowClassName\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n label: \"pool_token名称\",\n prop: \"intoOneApi\",\n sortable: \"\",\n width: \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_123, [scope.row.intoOneApi == true && scope.row.pandoraNextGpt4 == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_124, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_125]),\n _: 1\n })])) : scope.row.intoOneApi == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_126, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_127]),\n _: 1\n })])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_128, [_createVNode(_component_el_button, {\n size: \"small\",\n color: \"#f4fffd\",\n circle: \"\"\n }, {\n default: _withCtx(() => [_hoisted_129]),\n _: 1\n })])), _createElementVNode(\"span\", _hoisted_130, _toDisplayString(scope.row.poolName), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"pool_token值\",\n \"min-width\": \"365\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_131, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_132, _toDisplayString(scope.row.poolToken), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"使用token名集合\",\n \"min-width\": \"255\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_133, [_createElementVNode(\"span\", _hoisted_134, _toDisplayString(scope.row.shareTokens), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"poolTime\",\n label: \"更新时间\",\n prop: \"poolTime\",\n sortable: \"\",\n \"min-width\": \"170\"\n }), _createVNode(_component_el_table_column, {\n label: \"操作方法\",\n \"min-width\": \"315\"\n }, {\n default: _withCtx(scope => [_createVNode(_component_el_button, {\n size: \"small\",\n onClick: $event => verifySimplyPoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"检验\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"danger\",\n onClick: $event => deletePoolToken(scope.$index, scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"删除\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"success\",\n onClick: $event => reNewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"刷新\")]),\n _: 2\n }, 1032, [\"onClick\"]), _createVNode(_component_el_button, {\n size: \"small\",\n type: \"primary\",\n onClick: $event => reviewPool(scope.row)\n }, {\n default: _withCtx(() => [_createTextVNode(\"更换\")]),\n _: 2\n }, 1032, [\"onClick\"])]),\n _: 1\n })]),\n _: 1\n }, 8, [\"data\"]), _createElementVNode(\"div\", _hoisted_135, [_createVNode(_component_el_button_group, {\n class: \"pool-button\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_button, {\n onClick: updateAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_136]),\n _: 1\n }), _createVNode(_component_el_button, {\n onClick: verifyAllPoolToken\n }, {\n default: _withCtx(() => [_hoisted_137]),\n _: 1\n })]),\n _: 1\n })]), _hoisted_138]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_7.value,\n \"onUpdate:modelValue\": _cache[95] || (_cache[95] = $event => show_7.value = $event),\n title: \"PandoraNext余额\",\n \"align-center\": \"\",\n width: \"auto\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_139, [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_140, _createVNode(_component_van_field, {\n modelValue: pandoraUsage.value,\n \"onUpdate:modelValue\": _cache[92] || (_cache[92] = $event => pandoraUsage.value = $event),\n name: \"PandoraNext用量\",\n label: \"PandoraNext用量\",\n placeholder: \"PandoraNext用量\"\n }, null, 8, [\"modelValue\"]), _hoisted_141, _createVNode(_component_van_field, {\n modelValue: pandoraIp.value,\n \"onUpdate:modelValue\": _cache[93] || (_cache[93] = $event => pandoraIp.value = $event),\n name: \"绑定IP\",\n label: \"绑定IP\",\n placeholder: \"绑定IP\"\n }, null, 8, [\"modelValue\"]), _hoisted_142, _createVNode(_component_van_field, {\n modelValue: pandoraTime.value,\n \"onUpdate:modelValue\": _cache[94] || (_cache[94] = $event => pandoraTime.value = $event),\n name: \"重置时间\",\n label: \"重置时间\",\n placeholder: \"重置时间\"\n }, null, 8, [\"modelValue\"]), _hoisted_143]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_8.value,\n \"onUpdate:modelValue\": _cache[103] || (_cache[103] = $event => show_8.value = $event),\n title: \"定时刷新&PandoraNext网址\",\n \"align-center\": \"\",\n \"max-width\": \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_144, [_createVNode(_component_van_form, {\n onSubmit: _cache[102] || (_cache[102] = $event => RequireAutoUpdate())\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_145, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否自动刷新session_token\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: auto_updateSession.value,\n \"onUpdate:modelValue\": _cache[96] || (_cache[96] = $event => auto_updateSession.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), auto_updateSession.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_146, [_hoisted_147, _createVNode(_component_van_field, {\n modelValue: auto_updateTime.value,\n \"onUpdate:modelValue\": _cache[97] || (_cache[97] = $event => auto_updateTime.value = $event),\n name: \"刷新session的时间\",\n label: \"刷新session的时间\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的时间 (天为单位)\"\n }, null, 8, [\"modelValue\"]), _hoisted_148, _createVNode(_component_van_field, {\n modelValue: auto_updateNumber.value,\n \"onUpdate:modelValue\": _cache[98] || (_cache[98] = $event => auto_updateNumber.value = $event),\n name: \"刷新session的个数\",\n label: \"刷新session的个数\",\n \"input-align\": \"right\",\n placeholder: \"自动刷新session的个数 (个)\"\n }, null, 8, [\"modelValue\"]), _hoisted_149])) : _createCommentVNode(\"\", true), _createVNode(_component_van_field, {\n modelValue: pandoraNext_outUrl.value,\n \"onUpdate:modelValue\": _cache[99] || (_cache[99] = $event => pandoraNext_outUrl.value = $event),\n name: \"PandoraNext的公网访问地址\",\n label: \"PandoraNext的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"PandoraNext的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_150, _createVNode(_component_van_field, {\n modelValue: oneAPi_outUrl.value,\n \"onUpdate:modelValue\": _cache[100] || (_cache[100] = $event => oneAPi_outUrl.value = $event),\n name: \"oneApi的公网访问地址\",\n label: \"oneApi的公网访问地址\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的公网访问地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_151, _createVNode(_component_van_field, {\n modelValue: oneAPi_intoToken.value,\n \"onUpdate:modelValue\": _cache[101] || (_cache[101] = $event => oneAPi_intoToken.value = $event),\n name: \"oneApi的系统令牌\",\n label: \"oneApi的系统令牌\",\n \"input-align\": \"right\",\n placeholder: \"oneApi的系统令牌\"\n }, null, 8, [\"modelValue\"]), _hoisted_152]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_153, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_9.value,\n \"onUpdate:modelValue\": _cache[110] || (_cache[110] = $event => show_9.value = $event),\n title: \"添加poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_154, [_createVNode(_component_van_form, {\n onSubmit: addSelectPoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_155, _createVNode(_component_van_field, {\n modelValue: poolNameValue.value,\n \"onUpdate:modelValue\": _cache[104] || (_cache[104] = $event => poolNameValue.value = $event),\n name: \"为pool_token名\",\n label: \"pool_token名\",\n \"input-align\": \"right\",\n placeholder: \"此项不少于3个字符且不超过10个字符,可以包括汉字、字母和数字\",\n rules: [{\n validator: poolNameValidator\n }]\n }, null, 8, [\"modelValue\", \"rules\"]), _hoisted_156, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[105] || (_cache[105] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_157, [_hoisted_158, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[106] || (_cache[106] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_159, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[107] || (_cache[107] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\"\n }, null, 8, [\"modelValue\"]), _hoisted_160, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[108] || (_cache[108] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_161, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[109] || (_cache[109] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\"\n }, null, 8, [\"modelValue\"]), _hoisted_162])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_163, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_10.value,\n \"onUpdate:modelValue\": _cache[111] || (_cache[111] = $event => show_10.value = $event),\n title: \"tokensTool登录日志\",\n \"align-center\": \"\",\n width: \"50%\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_164, [_createVNode(_unref(ElTable), {\n \"row-class-name\": poolRowClassName,\n data: loginData.value\n }, {\n default: _withCtx(() => [_createVNode(_component_el_table_column, {\n prop: \"ipAddress\",\n label: \"登录地区\",\n \"min-width\": \"180\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_165, [_createElementVNode(\"span\", _hoisted_166, _toDisplayString(scope.row.ipAddress), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"登录IP\",\n \"min-width\": \"145\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_167, [_createVNode(_component_el_icon, {\n onClick: $event => copyToken(scope.row.poolToken)\n }, {\n default: _withCtx(() => [_createVNode(_component_CopyDocument)]),\n _: 2\n }, 1032, [\"onClick\"]), _createElementVNode(\"span\", _hoisted_168, _toDisplayString(scope.row.requestIp), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n label: \"成功/失败\",\n \"min-width\": \"105\"\n }, {\n default: _withCtx(scope => [_createElementVNode(\"div\", _hoisted_169, [_createElementVNode(\"span\", _hoisted_170, _toDisplayString(scope.row.inRequestNumber) + \"/\" + _toDisplayString(scope.row.outRequestNumber), 1)])]),\n _: 1\n }), _createVNode(_component_el_table_column, {\n property: \"lastLoginTime\",\n label: \"登录时间\",\n prop: \"lastLoginTime\",\n \"min-width\": \"180\"\n })]),\n _: 1\n }, 8, [\"data\"])]), _hoisted_171]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_11.value,\n \"onUpdate:modelValue\": _cache[119] || (_cache[119] = $event => show_11.value = $event),\n title: \"修改poolToken信息\",\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_172, [_createVNode(_component_van_form, {\n onSubmit: requirePoolToken\n }, {\n default: _withCtx(() => [_createVNode(_component_van_cell_group, {\n inset: \"\"\n }, {\n default: _withCtx(() => [_hoisted_173, _createElementVNode(\"div\", _hoisted_174, [_createVNode(_component_el_form_item, {\n label: \"poolToken名\"\n }, {\n default: _withCtx(() => [_createVNode(_component_el_select, {\n modelValue: poolName.value,\n \"onUpdate:modelValue\": _cache[112] || (_cache[112] = $event => poolName.value = $event),\n filterable: \"\",\n clearable: \"\",\n placeholder: \"选择你想要的修改的pool_token名称\",\n onChange: handlePoolNameChange,\n class: \"selectPool_token\"\n }, {\n default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(poolData.value, item => {\n return _openBlock(), _createBlock(_component_el_option, {\n key: item.poolName,\n label: item.poolName,\n value: item.poolName,\n \"data-item\": item\n }, null, 8, [\"label\", \"value\", \"data-item\"]);\n }), 128))]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n })]), _hoisted_175, _createVNode(_component_van_field, {\n modelValue: temPool_token.value,\n \"onUpdate:modelValue\": _cache[113] || (_cache[113] = $event => temPool_token.value = $event),\n type: \"textarea\",\n maxlength: \"100\",\n autoSize: \"\",\n name: \"pool_token的值\",\n label: \"pool_token的值\",\n \"input-align\": \"right\",\n placeholder: \"pool_token的值(不改则不变)\"\n }, null, 8, [\"modelValue\"]), _hoisted_176, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否上传到oneApi\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: intoOneApi.value,\n \"onUpdate:modelValue\": _cache[114] || (_cache[114] = $event => intoOneApi.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_177, intoOneApi.value == true ? (_openBlock(), _createElementBlock(\"div\", _hoisted_178, [_hoisted_179, _createVNode(_component_van_field, {\n name: \"switch\",\n label: \"是否启用GPT4模型\"\n }, {\n \"right-icon\": _withCtx(() => [_createVNode(_component_van_switch, {\n \"active-color\": \"#0ea27e\",\n modelValue: pandoraNextGpt4.value,\n \"onUpdate:modelValue\": _cache[115] || (_cache[115] = $event => pandoraNextGpt4.value = $event)\n }, null, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_180, _createVNode(_component_van_field, {\n modelValue: priority.value,\n \"onUpdate:modelValue\": _cache[116] || (_cache[116] = $event => priority.value = $event),\n name: \"渠道优先级\",\n label: \"渠道优先级\",\n \"input-align\": \"right\",\n placeholder: \"渠道优先级(默认为0)\",\n rules: [{\n required: true,\n message: '请填写渠道优先级(默认为0)'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_181, _createVNode(_component_van_field, {\n \"input-align\": \"right\",\n name: \"checkboxGroup\",\n label: \"在one-api的组别\"\n }, {\n input: _withCtx(() => [_createVNode(_component_van_checkbox_group, {\n modelValue: groupChecked.value,\n \"onUpdate:modelValue\": _cache[117] || (_cache[117] = $event => groupChecked.value = $event),\n direction: \"horizontal\"\n }, {\n default: _withCtx(() => [_createVNode(_component_van_checkbox, {\n name: \"default\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"default\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"vip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"vip\")]),\n _: 1\n }), _createVNode(_component_van_checkbox, {\n name: \"svip\",\n \"checked-color\": \"#0ea27e\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [_createTextVNode(\"svip\")]),\n _: 1\n })]),\n _: 1\n }, 8, [\"modelValue\"])]),\n _: 1\n }), _hoisted_182, _createVNode(_component_van_field, {\n modelValue: oneApi_pandoraUrl.value,\n \"onUpdate:modelValue\": _cache[118] || (_cache[118] = $event => oneApi_pandoraUrl.value = $event),\n name: \"自定义PandoraNext地址\",\n label: \"自定义PandoraNext地址\",\n \"input-align\": \"right\",\n placeholder: \"自定义PandoraNext地址\",\n rules: [{\n required: true,\n message: '请填写自定义PandoraNext地址'\n }]\n }, null, 8, [\"modelValue\"]), _hoisted_183])) : _createCommentVNode(\"\", true)]),\n _: 1\n }), _createElementVNode(\"div\", _hoisted_184, [_createVNode(_component_van_button, {\n round: \"\",\n block: \"\",\n color: \"#0ea27e\",\n \"native-type\": \"submit\"\n }, {\n default: _withCtx(() => [_createTextVNode(\" 提交 \")]),\n _: 1\n })])]),\n _: 1\n })])]),\n _: 1\n }, 8, [\"modelValue\"]), _createVNode(_component_el_dialog, {\n modelValue: show_12.value,\n \"onUpdate:modelValue\": _cache[120] || (_cache[120] = $event => show_12.value = $event),\n \"align-center\": \"\",\n width: \"50vw\",\n \"close-on-click-modal\": false,\n class: \"poolTokenDialog\"\n }, {\n default: _withCtx(() => [_createElementVNode(\"div\", {\n ref_key: \"chart\",\n ref: chart,\n style: {\n \"width\": \"auto\",\n \"height\": \"300px\"\n }\n }, null, 512)]),\n _: 1\n }, 8, [\"modelValue\"])], 64);\n };\n }\n});","/* unplugin-vue-components disabled */import script from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./homeIndex.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./homeIndex.vue?vue&type=style&index=0&id=a978225c&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_hoisted_1","class","_hoisted_2","_","name","content","_hoisted_3","_hoisted_4","_hoisted_5","href","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","style","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","key","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_hoisted_92","_hoisted_93","_hoisted_94","_hoisted_95","_hoisted_96","_hoisted_97","_hoisted_98","_hoisted_99","_hoisted_100","_hoisted_101","_hoisted_102","_hoisted_103","_hoisted_104","_hoisted_105","_hoisted_106","_hoisted_107","_hoisted_108","_hoisted_109","_hoisted_110","_hoisted_111","_hoisted_112","_hoisted_113","_hoisted_114","_hoisted_115","_hoisted_116","_hoisted_117","_hoisted_118","_hoisted_119","_hoisted_120","_hoisted_121","_hoisted_122","_hoisted_123","_hoisted_124","_hoisted_125","_hoisted_126","_hoisted_127","_hoisted_128","_hoisted_129","_hoisted_130","_hoisted_131","_hoisted_132","_hoisted_133","_hoisted_134","_hoisted_135","_hoisted_136","_hoisted_137","_hoisted_138","_hoisted_139","_hoisted_140","_hoisted_141","_hoisted_142","_hoisted_143","_hoisted_144","_hoisted_145","_hoisted_146","_hoisted_147","_hoisted_148","_hoisted_149","_hoisted_150","_hoisted_151","_hoisted_152","_hoisted_153","_hoisted_154","_hoisted_155","_hoisted_156","_hoisted_157","_hoisted_158","_hoisted_159","_hoisted_160","_hoisted_161","_hoisted_162","_hoisted_163","_hoisted_164","_hoisted_165","_hoisted_166","_hoisted_167","_hoisted_168","_hoisted_169","_hoisted_170","_hoisted_171","_hoisted_172","_hoisted_173","_hoisted_174","_hoisted_175","_hoisted_176","_hoisted_177","_hoisted_178","_hoisted_179","_hoisted_180","_hoisted_181","_hoisted_182","_hoisted_183","_hoisted_184","pandoraNext","tokensTool","validation","__name","setup","__props","path","window","location","pathname","parts","split","prefix","length","groupChecked","multipleTableRef","multipleSelection","handleSelectionChange","val","value","size","router","show","show_1","show_2","show_3","show_4","show_5","show_6","show_7","show_8","show_9","show_10","show_11","show_12","buttonValue","options","label","proxy_api_prefix","isolated_conv_title","bing","timeout","proxy_url","public_share","disable_signup","auto_conv_arkose","proxy_file_service","custom_doh_host","enabled","cert_file","key_file","site_password","setup_password","loginUsername","loginPassword","license_id","isGetToken","getTokenPassword","containerName","autoToken_url","whitelist","provider","site_key","site_secret","site_login","setup_login","oai_username","oai_password","auto_updateSession","auto_updateTime","auto_updateNumber","pandoraNext_outUrl","oneAPi_outUrl","oneAPi_intoToken","poolName","poolNameValue","intoOneApi","pandoraNextGpt4","oneApi_pandoraUrl","priority","temPool_token","customValidator","regex","test","sitePasswordValidator","poolNameValidator","addPasswordValidator","addSetPoolToken","setPoolToken","temName","temToken","temAccessToken","temShareToken","temUsername","temUserPassword","temShared","temShow_user_info","temPlus","temPassword","useRefreshToken","temCheckSession","tableData","poolData","loginData","addName","addUsername","addUserPassword","addTokenValue","addShared","addShow_user_info","addPlus","addUseRefreshToken","addPassword","innerHeight","token","localStorage","getItem","replace","headers","Authorization","fetchLoginToken","async","axios","post","then","response","data","code","console","error","catch","onSearch","getWebToken","getToken","includes","getAPIToken","get","data_token","Array","isArray","resUsers","map","item","username","userPassword","access_token","share_token","shared","show_user_info","password","plus","updateTime","checkSession","filteredUsers","filter","user","getLoginData","resLogins","ipAddress","requestIp","outRequestNumber","inRequestNumber","lastLoginTime","getPool","responsePool","pool_token","resPools","poolTime","poolToken","shareTokens","checkPool","getSetting","tls","fetchDataAndFillForm","alert","confirmButtonText","callback","action","type","message","getSelectedData","selectedData","addSelectPoolToken","service","fullscreen","names","userData","addPoolToken","toString","fetch","method","body","JSON","stringify","loadingInstance","json","msg","close","handlePoolNameChange","selectedItem","find","requirePoolToken","pandoraUsage","innerWidth","current","total","tableRowClassName","row","poolRowClassName","redirectToExternalLink","open","redirectPandoraNextShare","url","charAt","requirePandoraNextLink","requireTokensToolLink","activeIndex","temRequireToken","handleSelect","keyPath","log","addToken","onAddToken","now","Date","formattedTime","getFullYear","getMonth","padStart","getDate","getHours","getMinutes","getSeconds","api","success","gpt3Usage","gpt4Usage","showData","usageHeader","usage","Number","previousSetpoolToken","previousUseRefreshToken","previousToken","handleEdit","index","onRequireSetting","RequireSetting","setting","RequireAutoUpdate","RequireToken","confirm","cancelButtonText","openPandora","closePandora","AgainPandora","reloadPandora","pandoraIp","pandoraTime","getPandoraNext","ip","currentTime","futureTime","getTime","ttl","year","month","day","hours","minutes","seconds","updateAllShareToken","updateAllPoolToken","verifyAllPoolToken","reNew","reNewMsg","ok","Error","reNewPool","review","reviewPool","deletePoolToken","verifySimplyPoolToken","deleteToken","put","formatDate","nowDay","timeDay","parseISO","daysDiff","differenceInDays","Math","ceil","dataToken","substring","logout","removeItem","getPoolToken","getLogin","redirectToGitHub","copyToken","textarea","document","createElement","appendChild","select","execCommand","removeChild","selectChoice","count","forEach","chart","getUsage","usageData","modelData","model","myChart","echarts","option","title","text","tooltip","legend","xAxis","yAxis","series","setOption","_ctx","_cache","_component_el_menu_item","_component_van_icon","_component_el_sub_menu","_component_el_menu","_component_van_button","_component_el_page_header","_component_el_radio_button","_component_el_radio_group","_component_van_search","_component_el_table_column","_component_el_button","_component_el_tag","_component_el_popover","_component_el_option","_component_el_select","_component_el_button_group","_component_van_field","_component_van_switch","_component_van_cell_group","_component_van_form","_component_van_dialog","_component_ChatLineRound","_component_el_icon","_component_el_statistic","_component_el_col","_component_el_row","_component_CopyDocument","_component_h10","_component_el_dialog","_component_van_checkbox","_component_van_checkbox_group","_component_el_form_item","_directive_loading","mode","ellipsis","onSelect","default","src","alt","onClick","$event","icon","extra","square","color","modelValue","shape","placeholder","plain","onSelectionChange","ref_key","ref","prop","width","sortable","scope","circle","effect","trigger","placement","reference","$index","loading","clearable","filterable","onSubmit","inset","rules","required","validator","maxlength","autosize","maxHeight","minHeight","round","block","rows","suffix","readonly","onClickLeftIcon","disabled","property","input","direction","onChange","autoSize","__exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/classes/static/js/app.9c1ffebb.js b/rearServer/target/classes/static/js/app.9c1ffebb.js deleted file mode 100644 index ff2d866..0000000 --- a/rearServer/target/classes/static/js/app.9c1ffebb.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(){"use strict";var e={2386:function(e,t,n){n(6284);var o=n(5943),r=(n(262),n(1387)),u=(n(9908),n(1332)),i=(n(8528),n(2779)),s=(n(1746),n(2994)),a=(n(4205),n(5695)),c=(n(7055),n(1819)),l=(n(8845),n(299)),f=(n(487),n(6773)),d=(n(9517),n(5616)),p=(n(4618),n(8498)),m=(n(1763),n(1817)),v=(n(656),n(4326)),h=(n(8001),n(5601)),P=(n(492),n(2876)),b=(n(1897),n(157)),g=(n(4150),n(2495)),Z=(n(9042),n(3383)),y=(n(8825),n(1116)),k=(n(1645),n(5267)),T=(n(6335),n(3164)),w=(n(3349),n(5185)),O=(n(4746),n(6907)),N=(n(9846),n(4188)),x=(n(9840),n(6233)),j=(n(103),n(1206)),C=(n(2824),n(3801)),A=(n(3300),n(8521)),E=(n(6615),n(2406)),S=(n(4164),n(121)),_=(n(8399),n(5420)),L=n(9963),B=n(2403),F=(n(4415),n(6252));const D={id:"app"};function q(e,t,n,o,r,u){const i=(0,F.up)("router-view");return(0,F.wg)(),(0,F.iD)("div",D,[(0,F.Wm)(i)])}var z=(0,F.aZ)({setup(){const e=(e,t)=>{let n;return function(...o){const r=self;n&&clearTimeout(n),n=setTimeout((()=>{e.apply(r,o)}),t)}},t=window.ResizeObserver;window.ResizeObserver=class extends t{constructor(t){t=e(t,20),super(t)}}}}),M=n(3744);const R=(0,M.Z)(z,[["render",q]]);var W=R,H=(n(5110),n(2201));const I=[{path:"/",component:()=>Promise.all([n.e(331),n.e(137)]).then(n.bind(n,6137)),meta:{title:"Welcome to PandoraNext-TokensTool",keepAlive:!0}},{path:"/home",component:()=>Promise.all([n.e(331),n.e(244),n.e(805)]).then(n.bind(n,8805)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}},{path:"/iphone",component:()=>Promise.all([n.e(331),n.e(244),n.e(77)]).then(n.bind(n,1077)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}}],K=(0,H.p7)({history:(0,H.r5)(),routes:I});K.beforeEach(((e,t,n)=>{e.meta.title?document.title=`${e.meta.title}`:document.title="PandoraNext-TokensTool",n()}));var U=K,$=n(5781);const G=(0,L.ri)(W);G.use(B.Z),G.use(_.ZP),G.use(S.ZP),G.use(E.ZP),G.use(U),G.use(A.ZP),G.use(C.ZP),G.use(j.ZP),G.use(x.Z),G.use(N.ZP),G.use(O.ZP),G.use(w.ZP),G.use(T.ZP),G.use(k.ZP),G.use(y.ZP),G.use(Z.ZP),G.use(g.ZP),G.use(b.ZP),G.use(P.ZP),G.use(h.ZP),G.use(v.ZP),G.use(m.ZP),G.use(p.ZP),G.use(d.ZP),G.use(f.ZP),G.use(l.ZP),G.use(c.ZP),G.use(a.ZP),G.use(s.ZP),G.use(i.ZP),G.use(u.ZP),G.use(r.ZP),G.use(o.ZP);for(const[J,Q]of Object.entries($))G.component(J,Q);G.mount("#app")}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var u=t[o]={exports:{}};return e[o].call(u.exports,u,u.exports,n),u.exports}n.m=e,function(){var e=[];n.O=function(t,o,r,u){if(!o){var i=1/0;for(l=0;l=u)&&Object.keys(n.O).every((function(e){return n.O[e](o[a])}))?o.splice(a--,1):(s=!1,u0&&e[l-1][2]>u;l--)e[l]=e[l-1];e[l]=[o,r,u]}}(),function(){n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,o){return n.f[o](e,t),t}),[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{77:"cc45578a",137:"9bfe0990",244:"498b6edf",331:"05857446",805:"c5ddb037"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{77:"e1dcaa98",137:"c621660d",805:"d100b2eb"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="PandoraNext-TokensTool:";n.l=function(o,r,u,i){if(e[o])e[o].push(r);else{var s,a;if(void 0!==u)for(var c=document.getElementsByTagName("script"),l=0;l{let n;return function(...o){const r=self;n&&clearTimeout(n),n=setTimeout((()=>{e.apply(r,o)}),t)}},t=window.ResizeObserver;window.ResizeObserver=class extends t{constructor(t){t=e(t,20),super(t)}}}}),M=n(3744);const R=(0,M.Z)(z,[["render",q]]);var W=R,H=(n(5110),n(2201));const I=[{path:"/",component:()=>Promise.all([n.e(154),n.e(608)]).then(n.bind(n,4476)),meta:{title:"Welcome to PandoraNext-TokensTool",keepAlive:!0}},{path:"/home",component:()=>Promise.all([n.e(154),n.e(244),n.e(402)]).then(n.bind(n,4402)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}},{path:"/iphone",component:()=>Promise.all([n.e(154),n.e(244),n.e(581)]).then(n.bind(n,581)),meta:{title:"PandoraNext-TokensTool",keepAlive:!0}}],K=(0,H.p7)({history:(0,H.r5)(),routes:I});K.beforeEach(((e,t,n)=>{e.meta.title?document.title=`${e.meta.title}`:document.title="PandoraNext-TokensTool",n()}));var U=K,$=n(5781);const G=(0,L.ri)(W);G.use(B.Z),G.use(_.ZP),G.use(S.ZP),G.use(E.ZP),G.use(U),G.use(A.ZP),G.use(C.ZP),G.use(j.ZP),G.use(x.Z),G.use(N.ZP),G.use(O.ZP),G.use(w.ZP),G.use(T.ZP),G.use(k.ZP),G.use(y.ZP),G.use(Z.ZP),G.use(g.ZP),G.use(b.ZP),G.use(P.ZP),G.use(h.ZP),G.use(v.ZP),G.use(m.ZP),G.use(p.ZP),G.use(d.ZP),G.use(l.ZP),G.use(f.ZP),G.use(c.ZP),G.use(s.ZP),G.use(a.ZP),G.use(i.ZP),G.use(u.ZP),G.use(r.ZP),G.use(o.ZP);for(const[J,Q]of Object.entries($))G.component(J,Q);G.mount("#app")}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var u=t[o]={exports:{}};return e[o].call(u.exports,u,u.exports,n),u.exports}n.m=e,function(){var e=[];n.O=function(t,o,r,u){if(!o){var i=1/0;for(f=0;f=u)&&Object.keys(n.O).every((function(e){return n.O[e](o[s])}))?o.splice(s--,1):(a=!1,u0&&e[f-1][2]>u;f--)e[f]=e[f-1];e[f]=[o,r,u]}}(),function(){n.d=function(e,t){for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})}}(),function(){n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,o){return n.f[o](e,t),t}),[]))}}(),function(){n.u=function(e){return"js/"+e+"."+{154:"a30ad9b8",244:"498b6edf",402:"fa30b347",581:"b12fce75",608:"2335e494"}[e]+".js"}}(),function(){n.miniCssF=function(e){return"css/"+e+"."+{402:"9939f745",581:"090b8644",608:"06ad8fdd"}[e]+".css"}}(),function(){n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){var e={},t="PandoraNext-TokensTool:";n.l=function(o,r,u,i){if(e[o])e[o].push(r);else{var a,s;if(void 0!==u)for(var c=document.getElementsByTagName("script"),f=0;f {\n let tid;\n return function (...args) {\n const ctx = self;\n tid && clearTimeout(tid);\n tid = setTimeout(() => {\n callback.apply(ctx, args);\n }, delay);\n };\n };\n const _ = window.ResizeObserver;\n window.ResizeObserver = class ResizeObserver extends _ {\n constructor(callback) {\n callback = debounce(callback, 20);\n super(callback);\n }\n };\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./App.vue?vue&type=template&id=1a8491d9&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from 'vue-router';\r\n\r\n\r\nconst routes = [\r\n { path: '/', component: () => import('@/views/loginIndex.vue'), meta: { title: 'Welcome to PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/home', component: () => import('@/views/homeIndex.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/iphone', component: () => import('@/views/homeIphone.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(),\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // 检查是否存在to.meta.title,如果存在则设置页面标题为to.meta.title,否则使用默认标题\r\n if (to.meta.title) {\r\n document.title = `${to.meta.title}`; // 使用字符串模板将其转换为字符串\r\n } else {\r\n document.title = 'PandoraNext-TokensTool';\r\n }\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import { createApp } from 'vue';\nimport ElementPlus from 'element-plus'\nimport 'element-plus/dist/index.css'\nimport App from './App.vue';\nimport 'vant/lib/index.css';\n//转向用的\nimport router from './router';\n//标签栏\nimport { Tabbar, TabbarItem } from 'vant';\n//加载图片懒模式\nimport { Swipe, SwipeItem } from 'vant';\nimport { NavBar } from 'vant';\nimport { ContactList } from 'vant';\nimport { AddressEdit } from 'vant';\nimport { FloatingBubble } from 'vant';\nimport { Button } from 'vant';\nimport { Form, Field, CellGroup } from 'vant';\nimport { Uploader } from 'vant';\nimport { Loading } from 'vant';\nimport { Search } from 'vant';\nimport { NoticeBar } from 'vant';\nimport { Dialog } from 'vant';\nimport { BackTop } from 'vant';\nimport { TextEllipsis } from 'vant';\nimport { Slider } from 'vant';\nimport { Toast } from 'vant';\nimport { Notify } from 'vant';\nimport { Checkbox, CheckboxGroup } from 'vant';\nimport { Grid, GridItem } from 'vant';\nimport {\n Skeleton,\n SkeletonTitle,\n SkeletonImage,\n SkeletonAvatar,\n SkeletonParagraph,\n} from 'vant';\nimport * as ElementPlusIconsVue from '@element-plus/icons-vue'\n\n//滑动单元格\n\nconst app = createApp(App)\napp.use(ElementPlus)\napp.use(AddressEdit);\n//滑动单元格\n//积分和代办栏\napp.use(ContactList);\n// 主题栏\napp.use(NavBar);\napp.use(router);//转向用的\n//标签栏\napp.use(Tabbar);\napp.use(TabbarItem);\n//加载图片懒模式\napp.use(Swipe);\n\napp.use(SwipeItem);\n\napp.use(FloatingBubble);\napp.use(Button);\n\napp.use(Form);\napp.use(Field);\napp.use(CellGroup);\n\n// 加载\napp.use(Loading)\n\n// 下载\napp.use(Uploader);\n\n// 通知栏\napp.use(NoticeBar);\n\n// 搜索\napp.use(Search);\n\n// 弹框\napp.use(Dialog);\n\napp.use(BackTop);\n\napp.use(TextEllipsis);\n\napp.use(Slider);\n\napp.use(Toast);\n\napp.use(Notify);\n\napp.use(Checkbox);\n\napp.use(CheckboxGroup);\n\napp.use(Grid);\n\napp.use(GridItem);\n\napp.use(Skeleton);\napp.use(SkeletonTitle);\napp.use(SkeletonImage);\napp.use(SkeletonAvatar);\napp.use(SkeletonParagraph);\n\nfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\n app.component(key, component)\n}\napp.mount('#app');","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"77\":\"cc45578a\",\"137\":\"9bfe0990\",\"244\":\"498b6edf\",\"331\":\"05857446\",\"805\":\"c5ddb037\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"77\":\"e1dcaa98\",\"137\":\"c621660d\",\"805\":\"d100b2eb\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"PandoraNext-TokensTool:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"77\":1,\"137\":1,\"805\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPandoraNext_TokensTool\"] = self[\"webpackChunkPandoraNext_TokensTool\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2386); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","id","render","_ctx","_cache","$props","$setup","$data","$options","_component_router_view","setup","debounce","callback","delay","tid","args","ctx","self","clearTimeout","setTimeout","apply","_","window","ResizeObserver","constructor","super","__exports__","routes","path","component","meta","title","keepAlive","router","createRouter","history","createWebHashHistory","beforeEach","to","from","next","document","app","createApp","App","use","ElementPlus","_AddressEdit","_ContactList","_NavBar","_Tabbar","_TabbarItem","_Swipe","_SwipeItem","_FloatingBubble","_Button","_Form","_Field","_CellGroup","_Loading","_Uploader","_NoticeBar","_Search","_Dialog","_BackTop","_TextEllipsis","_Slider","_Toast","_Notify","_Checkbox","_CheckboxGroup","_Grid","_GridItem","_Skeleton","_SkeletonTitle","_SkeletonImage","_SkeletonAvatar","_SkeletonParagraph","key","Object","entries","ElementPlusIconsVue","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","every","splice","r","d","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","push","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","bind","type","target","head","appendChild","Symbol","toStringTag","value","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.a73ba34e.js","mappings":"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","sources":["webpack://PandoraNext-TokensTool/./src/App.vue?6124","webpack://PandoraNext-TokensTool/./src/App.vue","webpack://PandoraNext-TokensTool/./src/App.vue?b1e7","webpack://PandoraNext-TokensTool/./src/router/index.ts","webpack://PandoraNext-TokensTool/./src/main.ts","webpack://PandoraNext-TokensTool/webpack/bootstrap","webpack://PandoraNext-TokensTool/webpack/runtime/chunk loaded","webpack://PandoraNext-TokensTool/webpack/runtime/define property getters","webpack://PandoraNext-TokensTool/webpack/runtime/ensure chunk","webpack://PandoraNext-TokensTool/webpack/runtime/get javascript chunk filename","webpack://PandoraNext-TokensTool/webpack/runtime/get mini-css chunk filename","webpack://PandoraNext-TokensTool/webpack/runtime/global","webpack://PandoraNext-TokensTool/webpack/runtime/hasOwnProperty shorthand","webpack://PandoraNext-TokensTool/webpack/runtime/load script","webpack://PandoraNext-TokensTool/webpack/runtime/make namespace object","webpack://PandoraNext-TokensTool/webpack/runtime/publicPath","webpack://PandoraNext-TokensTool/webpack/runtime/css loading","webpack://PandoraNext-TokensTool/webpack/runtime/jsonp chunk loading","webpack://PandoraNext-TokensTool/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = {\n id: \"app\"\n};\nexport function render(_ctx, _cache, $props, $setup, $data, $options) {\n const _component_router_view = _resolveComponent(\"router-view\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_router_view)]);\n}","import { defineComponent } from \"vue\";\nexport default defineComponent({\n setup() {\n const debounce = (callback, delay) => {\n let tid;\n return function (...args) {\n const ctx = self;\n tid && clearTimeout(tid);\n tid = setTimeout(() => {\n callback.apply(ctx, args);\n }, delay);\n };\n };\n const _ = window.ResizeObserver;\n window.ResizeObserver = class ResizeObserver extends _ {\n constructor(callback) {\n callback = debounce(callback, 20);\n super(callback);\n }\n };\n }\n});","/* unplugin-vue-components disabled */import { render } from \"./App.vue?vue&type=template&id=1a8491d9&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createRouter, createWebHashHistory } from 'vue-router';\r\n\r\n\r\nconst routes = [\r\n { path: '/', component: () => import('@/views/loginIndex.vue'), meta: { title: 'Welcome to PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/home', component: () => import('@/views/homeIndex.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n { path: '/iphone', component: () => import('@/views/homeIphone.vue'), meta: { title: 'PandoraNext-TokensTool',keepAlive: true }},\r\n];\r\n\r\nconst router = createRouter({\r\n history: createWebHashHistory(),\r\n routes\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // 检查是否存在to.meta.title,如果存在则设置页面标题为to.meta.title,否则使用默认标题\r\n if (to.meta.title) {\r\n document.title = `${to.meta.title}`; // 使用字符串模板将其转换为字符串\r\n } else {\r\n document.title = 'PandoraNext-TokensTool';\r\n }\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import { createApp } from 'vue';\nimport ElementPlus from 'element-plus'\nimport 'element-plus/dist/index.css'\nimport App from './App.vue';\nimport 'vant/lib/index.css';\n//转向用的\nimport router from './router';\n//标签栏\nimport { Tabbar, TabbarItem } from 'vant';\n//加载图片懒模式\nimport { Swipe, SwipeItem } from 'vant';\nimport { NavBar } from 'vant';\nimport { ContactList } from 'vant';\nimport { AddressEdit } from 'vant';\nimport { FloatingBubble } from 'vant';\nimport { Button } from 'vant';\nimport { Form, Field, CellGroup } from 'vant';\nimport { Uploader } from 'vant';\nimport { Loading } from 'vant';\nimport { Search } from 'vant';\nimport { NoticeBar } from 'vant';\nimport { Dialog } from 'vant';\nimport { BackTop } from 'vant';\nimport { TextEllipsis } from 'vant';\nimport { Slider } from 'vant';\nimport { Toast } from 'vant';\nimport { Notify } from 'vant';\nimport { Checkbox, CheckboxGroup } from 'vant';\nimport { Grid, GridItem } from 'vant';\nimport {\n Skeleton,\n SkeletonTitle,\n SkeletonImage,\n SkeletonAvatar,\n SkeletonParagraph,\n} from 'vant';\nimport * as ElementPlusIconsVue from '@element-plus/icons-vue'\n\n//滑动单元格\n\nconst app = createApp(App)\napp.use(ElementPlus)\napp.use(AddressEdit);\n//滑动单元格\n//积分和代办栏\napp.use(ContactList);\n// 主题栏\napp.use(NavBar);\napp.use(router);//转向用的\n//标签栏\napp.use(Tabbar);\napp.use(TabbarItem);\n//加载图片懒模式\napp.use(Swipe);\n\napp.use(SwipeItem);\n\napp.use(FloatingBubble);\napp.use(Button);\n\napp.use(Form);\napp.use(Field);\napp.use(CellGroup);\n\n// 加载\napp.use(Loading)\n\n// 下载\napp.use(Uploader);\n\n// 通知栏\napp.use(NoticeBar);\n\n// 搜索\napp.use(Search);\n\n// 弹框\napp.use(Dialog);\n\napp.use(BackTop);\n\napp.use(TextEllipsis);\n\napp.use(Slider);\n\napp.use(Toast);\n\napp.use(Notify);\n\napp.use(Checkbox);\n\napp.use(CheckboxGroup);\n\napp.use(Grid);\n\napp.use(GridItem);\n\napp.use(Skeleton);\napp.use(SkeletonTitle);\napp.use(SkeletonImage);\napp.use(SkeletonAvatar);\napp.use(SkeletonParagraph);\n\nfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\n app.component(key, component)\n}\napp.mount('#app');","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"154\":\"a30ad9b8\",\"244\":\"498b6edf\",\"402\":\"fa30b347\",\"581\":\"b12fce75\",\"608\":\"2335e494\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"402\":\"9939f745\",\"581\":\"090b8644\",\"608\":\"06ad8fdd\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"PandoraNext-TokensTool:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"402\":1,\"581\":1,\"608\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPandoraNext_TokensTool\"] = self[\"webpackChunkPandoraNext_TokensTool\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2386); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["_hoisted_1","id","render","_ctx","_cache","$props","$setup","$data","$options","_component_router_view","setup","debounce","callback","delay","tid","args","ctx","self","clearTimeout","setTimeout","apply","_","window","ResizeObserver","constructor","super","__exports__","routes","path","component","meta","title","keepAlive","router","createRouter","history","createWebHashHistory","beforeEach","to","from","next","document","app","createApp","App","use","ElementPlus","_AddressEdit","_ContactList","_NavBar","_Tabbar","_TabbarItem","_Swipe","_SwipeItem","_FloatingBubble","_Button","_Form","_Field","_CellGroup","_Loading","_Uploader","_NoticeBar","_Search","_Dialog","_BackTop","_TextEllipsis","_Slider","_Toast","_Notify","_Checkbox","_CheckboxGroup","_Grid","_GridItem","_Skeleton","_SkeletonTitle","_SkeletonImage","_SkeletonAvatar","_SkeletonParagraph","key","Object","entries","ElementPlusIconsVue","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","keys","every","splice","r","d","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","this","Function","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","push","script","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","doneFns","parentNode","removeChild","forEach","bind","type","target","head","appendChild","Symbol","toStringTag","value","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","name","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index 6be1a6e..dfe4df6 100644 --- a/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -14,6 +14,7 @@ com\tokensTool\pandoraNext\pojo\tls.class com\tokensTool\pandoraNext\service\impl\loginServiceImpl.class com\tokensTool\pandoraNext\aop\LogAspect.class com\tokensTool\pandoraNext\pojo\token.class +com\tokensTool\pandoraNext\service\shareService.class com\tokensTool\pandoraNext\chat\Model.class com\tokensTool\pandoraNext\pojo\validation.class com\tokensTool\pandoraNext\chat\Conversation$ConversationBuilder.class @@ -22,6 +23,7 @@ com\tokensTool\pandoraNext\chat\ContentChoice.class com\tokensTool\pandoraNext\chat\ContentCompletion.class com\tokensTool\pandoraNext\interceptor\LoginCheckInterceptor.class com\tokensTool\pandoraNext\controller\poolController.class +com\tokensTool\pandoraNext\service\impl\shareServiceImpl.class com\tokensTool\pandoraNext\controller\autoTokenController.class com\tokensTool\pandoraNext\config\WebConfig.class com\tokensTool\pandoraNext\service\impl\apiServiceImpl.class @@ -48,4 +50,6 @@ com\tokensTool\pandoraNext\controller\taskController.class com\tokensTool\pandoraNext\chat\Conversation.class com\tokensTool\pandoraNext\service\poolService.class com\tokensTool\pandoraNext\util\JwtUtils.class +com\tokensTool\pandoraNext\controller\shareController.class com\tokensTool\pandoraNext\controller\loginColltroller.class +com\tokensTool\pandoraNext\pojo\shareToken.class diff --git a/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index e40de87..7abbfe7 100644 --- a/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/rearServer/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -2,6 +2,7 @@ F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensToo F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\service\systemService.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\chat\ContentCompletion.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\service\poolService.java +F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\controller\shareController.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\chat\ModelResult.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\Result.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\service\impl\systemServiceImpl.java @@ -13,6 +14,7 @@ F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensToo F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\util\JwtUtils.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\aop\LogAspect.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\PandoraLimit.java +F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\shareToken.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\chat\Choice.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\config\CorsConfig.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\validation.java @@ -32,9 +34,11 @@ F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensToo F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\token.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\service\impl\apiServiceImpl.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\poolToken.java +F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\service\impl\shareServiceImpl.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\controller\chatController.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\pojo\systemSetting.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\controller\systemColltroller.java +F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\service\shareService.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\chat\ContentChoice.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\util\MyTaskUtils.java F:\vue\fakeApiTool\PandoraNext-TokensTool\rearServer\src\main\java\com\tokensTool\pandoraNext\chat\ChatCompletionResult.java diff --git a/rearServer/target/pandoraNext-0.6.2-SNAPSHOT.jar b/rearServer/target/pandoraNext-0.6.3-SNAPSHOT.jar similarity index 99% rename from rearServer/target/pandoraNext-0.6.2-SNAPSHOT.jar rename to rearServer/target/pandoraNext-0.6.3-SNAPSHOT.jar index ca83066..51149ab 100644 Binary files a/rearServer/target/pandoraNext-0.6.2-SNAPSHOT.jar and b/rearServer/target/pandoraNext-0.6.3-SNAPSHOT.jar differ diff --git a/simplyDeploy/pandoraNext-0.6.2-SNAPSHOT.jar b/simplyDeploy/pandoraNext-0.6.3-SNAPSHOT.jar similarity index 99% rename from simplyDeploy/pandoraNext-0.6.2-SNAPSHOT.jar rename to simplyDeploy/pandoraNext-0.6.3-SNAPSHOT.jar index ca83066..51149ab 100644 Binary files a/simplyDeploy/pandoraNext-0.6.2-SNAPSHOT.jar and b/simplyDeploy/pandoraNext-0.6.3-SNAPSHOT.jar differ