【新增】在翻译文件中添加多吉云AccessKey和SecretKey的相关翻译,更新阿里云ESA的配置接口,优化CA管理功能,增强表单验证逻辑,提升用户体验。
This commit is contained in:
@@ -5,8 +5,8 @@
|
||||
<link rel="icon" href="./favicon.ico" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>AllinSSL</title>
|
||||
<script type="module" crossorigin src="./static/js/main-1hvBaRBq.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./static/css/style-DheXHEEu.css">
|
||||
<script type="module" crossorigin src="./static/js/main-thcxfg9X.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./static/css/style-mmW5PsI5.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
File diff suppressed because one or more lines are too long
1
build/static/css/style-mmW5PsI5.css
Normal file
1
build/static/css/style-mmW5PsI5.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{u as t}from"./index-D8gPQypV.js";import{d as s,c as e}from"./main-1hvBaRBq.js";import"./useStore-CwtMfADJ.js";import"./index-Dqr-yrfj.js";import"./access-CP5jwCxg.js";import"./index-ho-ygheC.js";import"./throttle-pRoLBB-q.js";import"./index-JPx0dibF.js";import"./data-BwFlQLCu.js";import"./index-DwpZTRQL.js";import"./business-D-vb9IBC.js";import"./index-DH4HpLFQ.js";const o=s({name:"CAManageForm",props:{isEdit:{type:Boolean,default:!1},editId:{type:String,default:""}},setup(s){const{CAForm:o}=t(s);return()=>e(o,{labelPlacement:"top"},null)}});export{o as default};
|
||||
1
build/static/js/CAManageForm-mImECkf1.js
Normal file
1
build/static/js/CAManageForm-mImECkf1.js
Normal file
@@ -0,0 +1 @@
|
||||
import{u as t}from"./index-Dyfc6bM_.js";import{d as s,c as e}from"./main-thcxfg9X.js";import"./useStore-DVX3-8Ff.js";import"./index-BsOnqgcH.js";import"./access-BUuUnTSu.js";import"./index-B5TNz8PD.js";import"./index-T5IvGubh.js";import"./throttle-CP7_Hnch.js";import"./data-Di-Orkvg.js";import"./index-CQqPnXBD.js";import"./business-B3585fkI.js";import"./index-BTvqzqFK.js";const o=s({name:"CAManageForm",props:{isEdit:{type:Boolean,default:!1},editId:{type:String,default:""}},setup(s){const{CAForm:o}=t(s);return()=>e(o,{labelPlacement:"top"},null)}});export{o as default};
|
||||
@@ -1 +1 @@
|
||||
import{d as a,Y as l,Z as n,_ as r}from"./main-1hvBaRBq.js";const t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 20 20"},o=a({name:"Certificate20Regular",render:function(a,o){return n(),l("svg",t,o[0]||(o[0]=[r("g",{fill:"none"},[r("path",{d:"M2 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3.146a4.508 4.508 0 0 0-1-.678V5a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h7.258c.076.113.157.223.242.329V15H4a2 2 0 0 1-2-2V5zm16.5 6.5c0 .954-.381 1.818-1 2.45V18a.5.5 0 0 1-.8.4l-1.4-1.05a.5.5 0 0 0-.6 0l-1.4 1.05a.5.5 0 0 1-.8-.4v-4.05a3.5 3.5 0 1 1 6-2.45zM15 15c-.537 0-1.045-.12-1.5-.337v2.087l1.243-.746a.5.5 0 0 1 .514 0l1.243.746v-2.087A3.486 3.486 0 0 1 15 15zm0-1a2.5 2.5 0 1 0 0-5a2.5 2.5 0 0 0 0 5zM5 6.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm.5 4.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z",fill:"currentColor"})],-1)]))}}),h={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},w=a({name:"CloudMonitoring",render:function(a,t){return n(),l("svg",h,t[0]||(t[0]=[r("path",{d:"M28 16v6H4V6h7V4H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8v4H8v2h16v-2h-4v-4h8a2 2 0 0 0 2-2v-6zM18 28h-4v-4h4z",fill:"currentColor"},null,-1),r("path",{d:"M18 18h-.01a1 1 0 0 1-.951-.725L15.246 11H11V9h5a1 1 0 0 1 .962.725l1.074 3.76l3.009-9.78A1.014 1.014 0 0 1 22 3a.98.98 0 0 1 .949.684L24.72 9H30v2h-6a1 1 0 0 1-.949-.684l-1.013-3.04l-3.082 10.018A1 1 0 0 1 18 18z",fill:"currentColor"},null,-1)]))}}),v={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},e=a({name:"Flow",render:function(a,t){return n(),l("svg",v,t[0]||(t[0]=[r("path",{d:"M27 22.14V17a2 2 0 0 0-2-2h-8V9.86a4 4 0 1 0-2 0V15H7a2 2 0 0 0-2 2v5.14a4 4 0 1 0 2 0V17h18v5.14a4 4 0 1 0 2 0zM8 26a2 2 0 1 1-2-2a2 2 0 0 1 2 2zm6-20a2 2 0 1 1 2 2a2 2 0 0 1-2-2zm12 22a2 2 0 1 1 2-2a2 2 0 0 1-2 2z",fill:"currentColor"},null,-1)]))}});export{o as C,e as F,w as a};
|
||||
import{d as a,Y as l,Z as n,_ as r}from"./main-thcxfg9X.js";const t={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 20 20"},o=a({name:"Certificate20Regular",render:function(a,o){return n(),l("svg",t,o[0]||(o[0]=[r("g",{fill:"none"},[r("path",{d:"M2 5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v3.146a4.508 4.508 0 0 0-1-.678V5a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h7.258c.076.113.157.223.242.329V15H4a2 2 0 0 1-2-2V5zm16.5 6.5c0 .954-.381 1.818-1 2.45V18a.5.5 0 0 1-.8.4l-1.4-1.05a.5.5 0 0 0-.6 0l-1.4 1.05a.5.5 0 0 1-.8-.4v-4.05a3.5 3.5 0 1 1 6-2.45zM15 15c-.537 0-1.045-.12-1.5-.337v2.087l1.243-.746a.5.5 0 0 1 .514 0l1.243.746v-2.087A3.486 3.486 0 0 1 15 15zm0-1a2.5 2.5 0 1 0 0-5a2.5 2.5 0 0 0 0 5zM5 6.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm.5 4.5a.5.5 0 0 0 0 1h4a.5.5 0 0 0 0-1h-4z",fill:"currentColor"})],-1)]))}}),h={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},w=a({name:"CloudMonitoring",render:function(a,t){return n(),l("svg",h,t[0]||(t[0]=[r("path",{d:"M28 16v6H4V6h7V4H4a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h8v4H8v2h16v-2h-4v-4h8a2 2 0 0 0 2-2v-6zM18 28h-4v-4h4z",fill:"currentColor"},null,-1),r("path",{d:"M18 18h-.01a1 1 0 0 1-.951-.725L15.246 11H11V9h5a1 1 0 0 1 .962.725l1.074 3.76l3.009-9.78A1.014 1.014 0 0 1 22 3a.98.98 0 0 1 .949.684L24.72 9H30v2h-6a1 1 0 0 1-.949-.684l-1.013-3.04l-3.082 10.018A1 1 0 0 1 18 18z",fill:"currentColor"},null,-1)]))}}),v={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},e=a({name:"Flow",render:function(a,t){return n(),l("svg",v,t[0]||(t[0]=[r("path",{d:"M27 22.14V17a2 2 0 0 0-2-2h-8V9.86a4 4 0 1 0-2 0V15H7a2 2 0 0 0-2 2v5.14a4 4 0 1 0 2 0V17h18v5.14a4 4 0 1 0 2 0zM8 26a2 2 0 1 1-2-2a2 2 0 0 1 2 2zm6-20a2 2 0 1 1 2 2a2 2 0 0 1-2-2zm12 22a2 2 0 1 1 2-2a2 2 0 0 1-2 2z",fill:"currentColor"},null,-1)]))}});export{o as C,e as F,w as a};
|
||||
@@ -1 +1 @@
|
||||
import{d as c,Y as n,Z as r,_ as t}from"./main-1hvBaRBq.js";const o={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 1024 1024"},s=c({name:"LockOutlined",render:function(c,s){return r(),n("svg",o,s[0]||(s[0]=[t("path",{d:"M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z",fill:"currentColor"},null,-1)]))}});export{s as L};
|
||||
import{d as c,Y as n,Z as r,_ as t}from"./main-thcxfg9X.js";const o={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 1024 1024"},s=c({name:"LockOutlined",render:function(c,s){return r(),n("svg",o,s[0]||(s[0]=[t("path",{d:"M832 464h-68V240c0-70.7-57.3-128-128-128H388c-70.7 0-128 57.3-128 128v224h-68c-17.7 0-32 14.3-32 32v384c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V496c0-17.7-14.3-32-32-32zM332 240c0-30.9 25.1-56 56-56h248c30.9 0 56 25.1 56 56v224H332V240zm460 600H232V536h560v304zM484 701v53c0 4.4 3.6 8 8 8h40c4.4 0 8-3.6 8-8v-53a48.01 48.01 0 1 0-56 0z",fill:"currentColor"},null,-1)]))}});export{s as L};
|
||||
@@ -1 +1 @@
|
||||
import{d as c,Y as a,Z as n,_ as o}from"./main-1hvBaRBq.js";const r={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t=c({name:"LogoGithub",render:function(c,t){return n(),a("svg",r,t[0]||(t[0]=[o("path",{d:"M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.56 17.56 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4c0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5c-10.2-26.5-24.9-33.6-24.9-33.6c-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8c11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7c-49.7-5.8-102-25.5-102-113.5c0-25.1 8.7-45.6 23-61.6c-2.3-5.8-10-29.2 2.2-60.8a18.64 18.64 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.21 208.21 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.64 18.64 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8c14.3 16.1 23 36.6 23 61.6c0 88.2-52.4 107.6-102.3 113.3c8 7.1 15.2 21.1 15.2 42.5c0 30.7-.3 55.5-.3 63c0 5.4 3.1 11.5 11.4 11.5a19.35 19.35 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7C480 134.9 379.7 32 256 32z",fill:"currentColor"},null,-1)]))}});export{t as L};
|
||||
import{d as c,Y as a,Z as n,_ as o}from"./main-thcxfg9X.js";const r={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},t=c({name:"LogoGithub",render:function(c,t){return n(),a("svg",r,t[0]||(t[0]=[o("path",{d:"M256 32C132.3 32 32 134.9 32 261.7c0 101.5 64.2 187.5 153.2 217.9a17.56 17.56 0 0 0 3.8.4c8.3 0 11.5-6.1 11.5-11.4c0-5.5-.2-19.9-.3-39.1a102.4 102.4 0 0 1-22.6 2.7c-43.1 0-52.9-33.5-52.9-33.5c-10.2-26.5-24.9-33.6-24.9-33.6c-19.5-13.7-.1-14.1 1.4-14.1h.1c22.5 2 34.3 23.8 34.3 23.8c11.2 19.6 26.2 25.1 39.6 25.1a63 63 0 0 0 25.6-6c2-14.8 7.8-24.9 14.2-30.7c-49.7-5.8-102-25.5-102-113.5c0-25.1 8.7-45.6 23-61.6c-2.3-5.8-10-29.2 2.2-60.8a18.64 18.64 0 0 1 5-.5c8.1 0 26.4 3.1 56.6 24.1a208.21 208.21 0 0 1 112.2 0c30.2-21 48.5-24.1 56.6-24.1a18.64 18.64 0 0 1 5 .5c12.2 31.6 4.5 55 2.2 60.8c14.3 16.1 23 36.6 23 61.6c0 88.2-52.4 107.6-102.3 113.3c8 7.1 15.2 21.1 15.2 42.5c0 30.7-.3 55.5-.3 63c0 5.4 3.1 11.5 11.4 11.5a19.35 19.35 0 0 0 4-.4C415.9 449.2 480 363.1 480 261.7C480 134.9 379.7 32 256 32z",fill:"currentColor"},null,-1)]))}});export{t as L};
|
||||
File diff suppressed because one or more lines are too long
1
build/static/js/access-BUuUnTSu.js
Normal file
1
build/static/js/access-BUuUnTSu.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c}from"./index-BsOnqgcH.js";const s=s=>c("/v1/access/get_list",s),a=s=>c("/v1/access/add_access",s),e=s=>c("/v1/access/upd_access",s),t=s=>c("/v1/access/del_access",s),_=s=>c("/v1/access/get_all",s),v=s=>c("/v1/acme_account/get_list",s),o=s=>c("/v1/acme_account/add_account",s),u=s=>c("/v1/acme_account/upd_account",s),d=s=>c("/v1/acme_account/del_account",s),n=s=>c("/v1/access/test_access",s),g=s=>c("/v1/access/get_sites",s),i=()=>c("/v1/access/get_plugins");export{a,i as b,v as c,t as d,o as e,u as f,s as g,d as h,g as i,_ as j,n as t,e as u};
|
||||
@@ -1 +0,0 @@
|
||||
import{c as s}from"./index-Dqr-yrfj.js";const c=c=>s("/v1/access/get_list",c),a=c=>s("/v1/access/add_access",c),e=c=>s("/v1/access/upd_access",c),t=c=>s("/v1/access/del_access",c),_=c=>s("/v1/access/get_all",c),v=c=>s("/v1/acme_account/get_list",c),o=c=>s("/v1/acme_account/add_account",c),u=c=>s("/v1/acme_account/upd_account",c),d=c=>s("/v1/acme_account/del_account",c),n=c=>s("/v1/access/get_all_eab",c),l=c=>s("/v1/access/test_access",c),g=c=>s("/v1/access/get_sites",c),i=()=>s("/v1/access/get_plugins");export{a,i as b,v as c,t as d,o as e,u as f,c as g,d as h,n as i,g as j,_ as k,l as t,e as u};
|
||||
File diff suppressed because one or more lines are too long
1
build/static/js/arDZ-zrf5emX_.js
Normal file
1
build/static/js/arDZ-zrf5emX_.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{c as t}from"./index-Dqr-yrfj.js";const e=e=>t("/v1/cert/get_list",e),r=e=>t("/v1/cert/upload_cert",e),c=e=>t("/v1/cert/del_cert",e);export{c as d,e as g,r as u};
|
||||
import{c as t}from"./index-BsOnqgcH.js";const e=e=>t("/v1/cert/get_list",e),r=e=>t("/v1/cert/upload_cert",e),c=e=>t("/v1/cert/del_cert",e);export{c as d,e as g,r as u};
|
||||
@@ -1 +0,0 @@
|
||||
import{$ as e}from"./main-1hvBaRBq.js";const t={mail:{name:e("t_68_1745289354676"),type:"mail"},workwx:{name:e("t_33_1746773350932"),type:"workwx"},dingtalk:{name:e("t_32_1746773348993"),type:"dingtalk"},feishu:{name:e("t_34_1746773350153"),type:"feishu"},webhook:{name:"WebHook",type:"webhook"}},n={zerossl:{name:"ZeroSSL",type:"zerossl"},google:{name:"Google",type:"google"},sslcom:{name:"SSL.COM",type:"sslcom"},buypass:{name:"Buypass",type:"buypass"},letsencrypt:{name:"Let's Encrypt",type:"letsencrypt"},custom:{name:"自定义",type:"custom"}},o={localhost:{name:e("t_4_1744958838951"),icon:"ssh",type:["host"],notApi:!1,hostRelated:{default:{name:e("t_4_1744958838951")}},sort:1},ssh:{name:"SSH",icon:"ssh",type:["host"],hostRelated:{default:{name:"SSH"}},sort:2},btpanel:{name:e("t_10_1745735765165"),icon:"btpanel",hostRelated:{default:{name:e("t_10_1745735765165")},site:{name:e("t_1_1747886307276")},dockersite:{name:e("t_0_1747994891459")},singlesite:{name:e("t_1_1747886307276")+"\r\n(Win/Linux 9.4前)"}},type:["host"],sort:3},btwaf:{name:e("t_3_1747886302848"),icon:"btwaf",hostRelated:{site:{name:e("t_4_1747886303229")}},type:["host"],sort:4},"1panel":{name:"1Panel",icon:"1panel",hostRelated:{default:{name:"1Panel"},site:{name:e("t_2_1747886302053")}},type:["host"],sort:5},aliyun:{name:e("t_2_1747019616224"),icon:"aliyun",type:["host","dns"],hostRelated:{cdn:{name:e("t_16_1745735766712")},oss:{name:e("t_2_1746697487164")},waf:{name:e("t_10_1744958860078")}},sort:6},tencentcloud:{name:e("t_3_1747019616129"),icon:"tencentcloud",type:["host","dns"],hostRelated:{cdn:{name:e("t_14_1745735766121")},cos:{name:e("t_15_1745735768976")},waf:{name:e("t_9_1744958840634")},teo:{name:e("t_5_1747886301427")}},sort:7},huaweicloud:{name:e("t_9_1747886301128"),icon:"huaweicloud",type:["host","dns"],hostRelated:{cdn:{name:e("t_9_1747886301128")+"CDN"}},sort:10},baidu:{name:e("t_10_1747886300958"),icon:"baidu",type:["host","dns"],hostRelated:{cdn:{name:"百度云CDN"}},sort:11},volcengine:{name:e("t_13_1747886301689"),icon:"volcengine",type:["host","dns"],hostRelated:{cdn:{name:e("t_13_1747886301689")+"CDN"},dcdn:{name:e("t_13_1747886301689")+"DCDN"}},sort:13},safeline:{name:e("t_11_1747886301986"),icon:"safeline",type:["host"],hostRelated:{panel:{name:e("t_1_1747298114192")},site:{name:e("t_12_1747886302725")}},sort:8},qiniu:{name:e("t_6_1747886301844"),icon:"qiniu",type:["host"],hostRelated:{cdn:{name:e("t_7_1747886302395")},oss:{name:e("t_8_1747886304014")}},sort:9},cloudflare:{name:"Cloudflare",icon:"cloudflare",type:["dns"],sort:12},westcn:{name:e("t_14_1747886301884"),icon:"westcn",type:["dns"],sort:14},godaddy:{name:"GoDaddy",icon:"godaddy",type:["dns"],sort:15},namecheap:{name:"Namecheap",icon:"namecheap",type:["dns"],sort:16},ns1:{name:"NS1",icon:"ns1",type:["dns"],sort:17},cloudns:{name:"ClouDNS",icon:"cloudns",type:["dns"],sort:18},aws:{name:"AWS",icon:"aws",type:["dns"],sort:19},azure:{name:"Azure",icon:"azure",type:["dns"],sort:20},namesilo:{name:"Namesilo",icon:"namesilo",type:["dns"],sort:21},namedotcom:{name:"Name.com",icon:"namedotcom",type:["dns"],sort:22},bunny:{name:"Bunny",icon:"bunny",type:["dns"],sort:23},gcore:{name:"Gcore",icon:"gcore",type:["dns"],sort:24},jdcloud:{name:"京东云",icon:"jdcloud",type:["dns"],sort:25},doge:{name:e("t_0_1750129254226"),icon:"doge",type:["host"],hostRelated:{cdn:{name:e("t_0_1750129254226")+"CDN"}},sort:26},plugin:{name:"插件",icon:"plugin",type:["host"],hostRelated:{default:{name:"插件"}},sort:27}};export{o as A,n as C,t as M};
|
||||
1
build/static/js/data-Di-Orkvg.js
Normal file
1
build/static/js/data-Di-Orkvg.js
Normal file
@@ -0,0 +1 @@
|
||||
import{$ as e}from"./main-thcxfg9X.js";const t={mail:{name:e("t_68_1745289354676"),type:"mail"},workwx:{name:e("t_33_1746773350932"),type:"workwx"},dingtalk:{name:e("t_32_1746773348993"),type:"dingtalk"},feishu:{name:e("t_34_1746773350153"),type:"feishu"},webhook:{name:"WebHook",type:"webhook"}},n={zerossl:{name:"ZeroSSL",type:"zerossl"},google:{name:"Google",type:"google"},sslcom:{name:"SSL.COM",type:"sslcom"},buypass:{name:"Buypass",type:"buypass"},letsencrypt:{name:"Let's Encrypt",type:"letsencrypt"},custom:{name:"自定义",type:"custom"}},o={localhost:{name:e("t_4_1744958838951"),icon:"ssh",type:["host"],notApi:!1,hostRelated:{default:{name:e("t_4_1744958838951")}},sort:1},ssh:{name:"SSH",icon:"ssh",type:["host"],hostRelated:{default:{name:"SSH"}},sort:2},btpanel:{name:e("t_10_1745735765165"),icon:"btpanel",hostRelated:{default:{name:e("t_10_1745735765165")},site:{name:e("t_1_1747886307276")},dockersite:{name:e("t_0_1747994891459")},singlesite:{name:e("t_1_1747886307276")+"\r\n(Win/Linux 9.4前)"}},type:["host"],sort:3},btwaf:{name:e("t_3_1747886302848"),icon:"btwaf",hostRelated:{site:{name:e("t_4_1747886303229")}},type:["host"],sort:4},"1panel":{name:"1Panel",icon:"1panel",hostRelated:{default:{name:"1Panel"},site:{name:e("t_2_1747886302053")}},type:["host"],sort:5},aliyun:{name:e("t_2_1747019616224"),icon:"aliyun",type:["host","dns"],hostRelated:{cdn:{name:e("t_16_1745735766712")},oss:{name:e("t_2_1746697487164")},waf:{name:e("t_10_1744958860078")},esa:{name:"阿里云ESA"}},sort:6},tencentcloud:{name:e("t_3_1747019616129"),icon:"tencentcloud",type:["host","dns"],hostRelated:{cdn:{name:e("t_14_1745735766121")},cos:{name:e("t_15_1745735768976")},waf:{name:e("t_9_1744958840634")},teo:{name:e("t_5_1747886301427")}},sort:7},huaweicloud:{name:e("t_9_1747886301128"),icon:"huaweicloud",type:["host","dns"],hostRelated:{cdn:{name:e("t_9_1747886301128")+"CDN"}},sort:10},baidu:{name:e("t_10_1747886300958"),icon:"baidu",type:["host","dns"],hostRelated:{cdn:{name:"百度云CDN"}},sort:11},volcengine:{name:e("t_13_1747886301689"),icon:"volcengine",type:["host","dns"],hostRelated:{cdn:{name:e("t_13_1747886301689")+"CDN"},dcdn:{name:e("t_13_1747886301689")+"DCDN"}},sort:13},safeline:{name:e("t_11_1747886301986"),icon:"safeline",type:["host"],hostRelated:{panel:{name:e("t_1_1747298114192")},site:{name:e("t_12_1747886302725")}},sort:8},qiniu:{name:e("t_6_1747886301844"),icon:"qiniu",type:["host"],hostRelated:{cdn:{name:e("t_7_1747886302395")},oss:{name:e("t_8_1747886304014")}},sort:9},cloudflare:{name:"Cloudflare",icon:"cloudflare",type:["dns"],sort:12},westcn:{name:e("t_14_1747886301884"),icon:"westcn",type:["dns"],sort:14},godaddy:{name:"GoDaddy",icon:"godaddy",type:["dns"],sort:15},namecheap:{name:"Namecheap",icon:"namecheap",type:["dns"],sort:16},ns1:{name:"NS1",icon:"ns1",type:["dns"],sort:17},cloudns:{name:"ClouDNS",icon:"cloudns",type:["dns"],sort:18},aws:{name:"AWS",icon:"aws",type:["dns"],sort:19},azure:{name:"Azure",icon:"azure",type:["dns"],sort:20},namesilo:{name:"Namesilo",icon:"namesilo",type:["dns"],sort:21},namedotcom:{name:"Name.com",icon:"namedotcom",type:["dns"],sort:22},bunny:{name:"Bunny",icon:"bunny",type:["dns"],sort:23},gcore:{name:"Gcore",icon:"gcore",type:["dns"],sort:24},jdcloud:{name:"京东云",icon:"jdcloud",type:["dns"],sort:25},doge:{name:e("t_0_1750129254226"),icon:"doge",type:["host"],hostRelated:{cdn:{name:e("t_0_1750129254226")+"CDN"}},sort:26},plugin:{name:"插件",icon:"plugin",type:["host"],hostRelated:{default:{name:"插件"}},sort:27}};export{o as A,n as C,t as M};
|
||||
1
build/static/js/esAR-C9A7f7Yc.js
Normal file
1
build/static/js/esAR-C9A7f7Yc.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
build/static/js/frFR-D2Lunez0.js
Normal file
1
build/static/js/frFR-D2Lunez0.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
build/static/js/index-6TjMWwXK.js
Normal file
1
build/static/js/index-6TjMWwXK.js
Normal file
@@ -0,0 +1 @@
|
||||
var t;import{S as e}from"./index-CQqPnXBD.js";import{A as o,M as a}from"./data-Di-Orkvg.js";import{k as n,d as s,c as i,N as l}from"./main-thcxfg9X.js";const r={},p={},c=new Set;for(const d in o)if(Object.prototype.hasOwnProperty.call(o,d)){const e=o[d];if(r[d]=e.name,p[d]=e.icon,null==e?void 0:e.hostRelated)for(const o in e.hostRelated)if(Object.prototype.hasOwnProperty.call(e.hostRelated,o)){const a=e.hostRelated[o],n=`${d}-${o}`;n&&(r[n]=(null==(t=null==a?void 0:a.name)?void 0:t.toString())??"",p[n]=e.icon)}}for(const d in a)if(Object.prototype.hasOwnProperty.call(a,d)){const t=a[d];r[d]=t.name,p[d]=t.type,c.add(d)}o.btwaf&&(p.btwaf="btpanel");const u=s({name:"AuthApiTypeIcon",props:{icon:{type:String,required:!0},type:{type:String,default:"default"},text:{type:Boolean,default:!0}},setup(t){const{iconPath:o,typeName:a}=function(t){return{iconPath:n((()=>(c.has(t.icon)?"notify-":"resources-")+(p[t.icon]||"default"))),typeName:n((()=>r[t.icon]||t.icon))}}(t);return()=>i(l,{type:t.type,size:"small",class:"w-auto text-ellipsis overflow-hidden whitespace-normal p-[.6rem] h-auto"},{default:()=>[i(e,{icon:o.value,size:"1.2rem",class:"mr-[0.4rem]"},null),i("span",null,[t.text&&i("span",{class:"text-[12px]"},[a.value])])]})}});export{u as T};
|
||||
1
build/static/js/index-6a_rrlmT.js
Normal file
1
build/static/js/index-6a_rrlmT.js
Normal file
File diff suppressed because one or more lines are too long
1
build/static/js/index-B5TNz8PD.js
Normal file
1
build/static/js/index-B5TNz8PD.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as e,Y as a,Z as l,_ as t,aJ as s,r,k as n,x as i,aK as o,aL as c,c as u,a3 as d,q as m,aa as p,$ as h,b as v,B as x}from"./main-thcxfg9X.js";const f={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},y=e({name:"Search",render:function(e,s){return l(),a("svg",f,s[0]||(s[0]=[t("path",{d:"M456.69 421.39L362.6 327.3a173.81 173.81 0 0 0 34.84-104.58C397.44 126.38 319.06 48 222.72 48S48 126.38 48 222.72s78.38 174.72 174.72 174.72A173.81 173.81 0 0 0 327.3 362.6l94.09 94.09a25 25 0 0 0 35.3-35.3zM97.92 222.72a124.8 124.8 0 1 1 124.8 124.8a124.95 124.95 0 0 1-124.8-124.8z",fill:"currentColor"},null,-1)]))}});function b(e={}){const{onSearch:a,value:l="",placeholder:t="请输入搜索内容",clearDelay:p=100,size:h="large",clearable:v=!0,className:x="min-w-[300px]",disabled:f=!1,trim:b=!0,immediate:g=!1,debounceDelay:w=300}=e,k=s(l)?l:r(l),_=n((()=>(b?k.value.trim():k.value).length>0)),C=(e=!1)=>{if(a){const l=b?k.value.trim():k.value;a(l,e)}},S=o((()=>{C()}),w);g&&a&&i(k,(()=>{S()}));const z=e=>{"Enter"===e.key&&C()},B=()=>{k.value="",c((()=>{C(!0)}),p)},q=()=>{C(!0)};return{value:k,hasSearchValue:_,handleKeydown:z,handleClear:B,handleSearchClick:q,search:C,debouncedSearch:S,clear:()=>{k.value=""},setValue:e=>{k.value=e},SearchComponent:(e={})=>{const a={value:k.value,"onUpdate:value":e=>{k.value=e},onKeydown:z,onClear:B,placeholder:t,clearable:v,size:h,disabled:f,class:x,...e};return u(m,a,{suffix:()=>u("div",{class:"flex items-center cursor-pointer",onClick:q},[u(d,{component:y,class:"text-[var(--text-color-3)] w-[1.6rem] font-bold"},null)])})}}}const g=e({name:"TableEmptyState",props:{addButtonText:{type:String,required:!0},onAddClick:{type:Function,required:!0}},setup:e=>()=>u("div",{class:"flex justify-center items-center h-full"},[u(p,{class:"px-[4rem]"},{default:()=>[h("t_1_1747754231838"),u(x,{text:!0,type:"primary",size:"small",onClick:e.onAddClick},{default:()=>[e.addButtonText]}),v(","),h("t_2_1747754234999"),u(x,{text:!0,tag:"a",target:"_blank",type:"primary",href:"https://github.com/allinssl/allinssl/issues"},{default:()=>[v("Issues")]}),v(","),h("t_3_1747754232000"),u(x,{text:!0,tag:"a",target:"_blank",type:"primary",href:"https://github.com/allinssl/allinssl"},{default:()=>[v("Star")]}),v(","),h("t_4_1747754235407")]})])});export{g as E,b as u};
|
||||
1
build/static/js/index-BTvqzqFK.js
Normal file
1
build/static/js/index-BTvqzqFK.js
Normal file
@@ -0,0 +1 @@
|
||||
import{bS as e,bX as t,aJ as n,bV as a,bU as i,A as o,x as r,bY as s,aF as u,bT as c,o as l,V as f,J as m,r as p,bZ as v}from"./main-thcxfg9X.js";function b(e){return!!s()&&(u(e),!0)}const d=new WeakMap,w=(...e)=>{var t;const n=e[0],r=null==(t=a())?void 0:t.proxy;if(null==r&&!i())throw new Error("injectLocal must be called in setup");return r&&d.has(r)&&n in d.get(r)?d.get(r)[n]:o(...e)},g="undefined"!=typeof window&&"undefined"!=typeof document;"undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope);const h=Object.prototype.toString,y=e=>"[object Object]"===h.call(e),F=()=>{};function j(e,t){return function(...n){return new Promise(((a,i)=>{Promise.resolve(e((()=>t.apply(this,n)),{fn:t,thisArg:this,args:n})).then(a).catch(i)}))}}const A=e=>e();function S(e=A,n={}){const{initialState:a="active"}=n,i=function(...e){if(1!==e.length)return m(...e);const n=e[0];return"function"==typeof n?t(v((()=>({get:n,set:F})))):p(n)}("active"===a);return{isActive:t(i),pause:function(){i.value=!1},resume:function(){i.value=!0},eventFilter:(...t)=>{i.value&&e(...t)}}}function T(e){return e.endsWith("rem")?16*Number.parseFloat(e):Number.parseFloat(e)}function k(e){return Array.isArray(e)?e:[e]}function x(e,t=200,a=!1,i=!0,o=!1){return j(function(...e){let t,a,i,o,r,s,u=0,l=!0,f=F;n(e[0])||"object"!=typeof e[0]?[i,o=!0,r=!0,s=!1]=e:({delay:i,trailing:o=!0,leading:r=!0,rejectOnCancel:s=!1}=e[0]);const m=()=>{t&&(clearTimeout(t),t=void 0,f(),f=F)};return e=>{const n=c(i),p=Date.now()-u,v=()=>a=e();return m(),n<=0?(u=Date.now(),v()):(p>n&&(r||!l)?(u=Date.now(),v()):o&&(a=new Promise(((e,a)=>{f=s?a:e,t=setTimeout((()=>{u=Date.now(),l=!0,e(v()),m()}),Math.max(0,n-p))}))),r||t||(t=setTimeout((()=>l=!0),n)),l=!1,a)}}(t,a,i,o),e)}function D(e,t,n={}){const{eventFilter:a,initialState:i="active",...o}=n,{eventFilter:s,pause:u,resume:c,isActive:l}=S(a,{initialState:i}),f=function(e,t,n={}){const{eventFilter:a=A,...i}=n;return r(e,j(a,t),i)}(e,t,{...o,eventFilter:s});return{stop:f,pause:u,resume:c,isActive:l}}function P(e,t=!0,n){a()?l(e,n):t?e():f(e)}function W(n,a,i={}){const{immediate:o=!0,immediateCallback:r=!1}=i,s=e(!1);let u=null;function l(){u&&(clearTimeout(u),u=null)}function f(){s.value=!1,l()}function m(...e){r&&n(),l(),s.value=!0,u=setTimeout((()=>{s.value=!1,u=null,n(...e)}),c(a))}return o&&(s.value=!0,g&&m()),b(f),{isPending:t(s),start:m,stop:f}}function O(e,t,n){return r(e,t,{...n,immediate:!0})}export{W as a,g as b,b as c,y as d,D as e,P as f,w as i,T as p,k as t,x as u,O as w};
|
||||
@@ -1 +1 @@
|
||||
import{p as e,i as t,b as n,t as a,w as r,c as o,d as l,e as s,f as i}from"./index-DH4HpLFQ.js";import{bO as u,aw as f,bP as c,k as d,bQ as v,o as g,bR as p,bS as w,r as m,x as y,V as h}from"./main-1hvBaRBq.js";const b=n?window:void 0;function S(...e){const t=[],n=()=>{t.forEach((e=>e())),t.length=0},s=d((()=>{const t=a(c(e[0])).filter((e=>null!=e));return t.every((e=>"string"!=typeof e))?t:void 0})),i=r((()=>{var t,n;return[null!=(n=null==(t=s.value)?void 0:t.map((e=>function(e){var t;const n=c(e);return null!=(t=null==n?void 0:n.$el)?t:n}(e))))?n:[b].filter((e=>null!=e)),a(c(s.value?e[1]:e[0])),a(w(s.value?e[2]:e[1])),c(s.value?e[3]:e[2])]}),(([e,a,r,o])=>{if(n(),!(null==e?void 0:e.length)||!(null==a?void 0:a.length)||!(null==r?void 0:r.length))return;const s=l(o)?{...o}:o;t.push(...e.flatMap((e=>a.flatMap((t=>r.map((n=>((e,t,n,a)=>(e.addEventListener(t,n,a),()=>e.removeEventListener(t,n,a)))(e,t,n,s))))))))}),{flush:"post"});return o(n),()=>{i(),n()}}function N(e){const t=function(){const e=u(!1),t=p();return t&&g((()=>{e.value=!0}),t),e}();return d((()=>(t.value,Boolean(e()))))}const O=Symbol("vueuse-ssr-width");function M(){const e=v()?t(O,null):null;return"number"==typeof e?e:void 0}function E(t,n={}){const{window:a=b,ssrWidth:r=M()}=n,o=N((()=>a&&"matchMedia"in a&&"function"==typeof a.matchMedia)),l=u("number"==typeof r),s=u(),i=u(!1);return f((()=>{if(l.value){l.value=!o.value;const n=c(t).split(",");i.value=n.some((t=>{const n=t.includes("not all"),a=t.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),o=t.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let l=Boolean(a||o);return a&&l&&(l=r>=e(a[1])),o&&l&&(l=r<=e(o[1])),n?!l:l}))}else o.value&&(s.value=a.matchMedia(c(t)),i.value=s.value.matches)})),S(s,"change",(e=>{i.value=e.matches}),{passive:!0}),d((()=>i.value))}const j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},A="__vueuse_ssr_handlers__",I=J();function J(){return A in j||(j[A]=j[A]||{}),j[A]}const _={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},x="vueuse-storage";function D(e,t,n,a={}){var r;const{flush:o="pre",deep:l=!0,listenToStorageChanges:f=!0,writeDefaults:v=!0,mergeDefaults:g=!1,shallow:p,window:w=b,eventFilter:N,onError:O=e=>{},initOnMounted:M}=a,E=(p?u:m)("function"==typeof t?t():t),j=d((()=>c(e)));if(!n)try{n=function(e,t){return I[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=b)?void 0:e.localStorage}))()}catch(B){O(B)}if(!n)return E;const A=c(t),J=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e?"object":Number.isNaN(e)?"any":"number"}(A),D=null!=(r=a.serializer)?r:_[J],{pause:V,resume:k}=s(E,(()=>function(e){try{const t=n.getItem(j.value);if(null==e)z(t,null),n.removeItem(j.value);else{const a=D.write(e);t!==a&&(n.setItem(j.value,a),z(t,a))}}catch(B){O(B)}}(E.value)),{flush:o,deep:l,eventFilter:N});function z(e,t){if(w){const a={key:j.value,oldValue:e,newValue:t,storageArea:n};w.dispatchEvent(n instanceof Storage?new StorageEvent("storage",a):new CustomEvent(x,{detail:a}))}}function F(e){if(!e||e.storageArea===n)if(e&&null==e.key)E.value=A;else if(!e||e.key===j.value){V();try{(null==e?void 0:e.newValue)!==D.write(E.value)&&(E.value=function(e){const t=e?e.newValue:n.getItem(j.value);if(null==t)return v&&null!=A&&n.setItem(j.value,D.write(A)),A;if(!e&&g){const e=D.read(t);return"function"==typeof g?g(e,A):"object"!==J||Array.isArray(e)?e:{...A,...e}}return"string"!=typeof t?t:D.read(t)}(e))}catch(B){O(B)}finally{e?h(k):k()}}}function T(e){F(e.detail)}return y(j,(()=>F()),{flush:o}),w&&f&&i((()=>{n instanceof Storage?S(w,"storage",F,{passive:!0}):S(w,x,T),M&&F()})),M||F(),E}function V(e,t,n={}){const{window:a=b}=n;return D(e,t,null==a?void 0:a.localStorage,n)}function k(e,t,n={}){const{window:a=b}=n;return D(e,t,null==a?void 0:a.sessionStorage,n)}export{V as a,k as b,E as u};
|
||||
import{p as e,i as t,b as n,t as a,w as r,c as o,d as l,e as s,f as i}from"./index-BTvqzqFK.js";import{bS as u,av as f,bT as c,k as d,bU as v,o as g,bV as p,bW as w,r as m,x as y,V as h}from"./main-thcxfg9X.js";const b=n?window:void 0;function S(...e){const t=[],n=()=>{t.forEach((e=>e())),t.length=0},s=d((()=>{const t=a(c(e[0])).filter((e=>null!=e));return t.every((e=>"string"!=typeof e))?t:void 0})),i=r((()=>{var t,n;return[null!=(n=null==(t=s.value)?void 0:t.map((e=>function(e){var t;const n=c(e);return null!=(t=null==n?void 0:n.$el)?t:n}(e))))?n:[b].filter((e=>null!=e)),a(c(s.value?e[1]:e[0])),a(w(s.value?e[2]:e[1])),c(s.value?e[3]:e[2])]}),(([e,a,r,o])=>{if(n(),!(null==e?void 0:e.length)||!(null==a?void 0:a.length)||!(null==r?void 0:r.length))return;const s=l(o)?{...o}:o;t.push(...e.flatMap((e=>a.flatMap((t=>r.map((n=>((e,t,n,a)=>(e.addEventListener(t,n,a),()=>e.removeEventListener(t,n,a)))(e,t,n,s))))))))}),{flush:"post"});return o(n),()=>{i(),n()}}function N(e){const t=function(){const e=u(!1),t=p();return t&&g((()=>{e.value=!0}),t),e}();return d((()=>(t.value,Boolean(e()))))}const M=Symbol("vueuse-ssr-width");function O(){const e=v()?t(M,null):null;return"number"==typeof e?e:void 0}function A(t,n={}){const{window:a=b,ssrWidth:r=O()}=n,o=N((()=>a&&"matchMedia"in a&&"function"==typeof a.matchMedia)),l=u("number"==typeof r),s=u(),i=u(!1);return f((()=>{if(l.value){l.value=!o.value;const n=c(t).split(",");i.value=n.some((t=>{const n=t.includes("not all"),a=t.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),o=t.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let l=Boolean(a||o);return a&&l&&(l=r>=e(a[1])),o&&l&&(l=r<=e(o[1])),n?!l:l}))}else o.value&&(s.value=a.matchMedia(c(t)),i.value=s.value.matches)})),S(s,"change",(e=>{i.value=e.matches}),{passive:!0}),d((()=>i.value))}const E="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},j="__vueuse_ssr_handlers__",I=J();function J(){return j in E||(E[j]=E[j]||{}),E[j]}const V={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},_="vueuse-storage";function D(e,t,n,a={}){var r;const{flush:o="pre",deep:l=!0,listenToStorageChanges:f=!0,writeDefaults:v=!0,mergeDefaults:g=!1,shallow:p,window:w=b,eventFilter:N,onError:M=e=>{},initOnMounted:O}=a,A=(p?u:m)("function"==typeof t?t():t),E=d((()=>c(e)));if(!n)try{n=function(e,t){return I[e]||t}("getDefaultStorage",(()=>{var e;return null==(e=b)?void 0:e.localStorage}))()}catch(B){M(B)}if(!n)return A;const j=c(t),J=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e?"object":Number.isNaN(e)?"any":"number"}(j),D=null!=(r=a.serializer)?r:V[J],{pause:k,resume:x}=s(A,(()=>function(e){try{const t=n.getItem(E.value);if(null==e)T(t,null),n.removeItem(E.value);else{const a=D.write(e);t!==a&&(n.setItem(E.value,a),T(t,a))}}catch(B){M(B)}}(A.value)),{flush:o,deep:l,eventFilter:N});function T(e,t){if(w){const a={key:E.value,oldValue:e,newValue:t,storageArea:n};w.dispatchEvent(n instanceof Storage?new StorageEvent("storage",a):new CustomEvent(_,{detail:a}))}}function z(e){if(!e||e.storageArea===n)if(e&&null==e.key)A.value=j;else if(!e||e.key===E.value){k();try{(null==e?void 0:e.newValue)!==D.write(A.value)&&(A.value=function(e){const t=e?e.newValue:n.getItem(E.value);if(null==t)return v&&null!=j&&n.setItem(E.value,D.write(j)),j;if(!e&&g){const e=D.read(t);return"function"==typeof g?g(e,j):"object"!==J||Array.isArray(e)?e:{...j,...e}}return"string"!=typeof t?t:D.read(t)}(e))}catch(B){M(B)}finally{e?h(x):x()}}}function F(e){z(e.detail)}return y(E,(()=>z()),{flush:o}),w&&f&&i((()=>{n instanceof Storage?S(w,"storage",z,{passive:!0}):S(w,_,F),O&&z()})),O||z(),A}function k(e,t,n={}){const{window:a=b}=n;return D(e,t,null==a?void 0:a.localStorage,n)}function x(e,t,n={}){const{window:a=b}=n;return D(e,t,null==a?void 0:a.sessionStorage,n)}export{k as a,x as b,A as u};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{S as e}from"./index-DwpZTRQL.js";import{r as t,k as l,x as a,d as u,c as i,w as n,t as o,$ as s,m as r,b0 as d,bA as p,B as v,i as f}from"./main-1hvBaRBq.js";import{u as c}from"./useStore-k5jc-4LK.js";import{M as y}from"./data-BwFlQLCu.js";import{N as m,a as b}from"./business-D-vb9IBC.js";function h(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!f(e)}const g=u({name:"NotifyProviderSelect",props:{path:{type:String,default:""},value:{type:String,default:""},valueType:{type:String,default:"value",validator:e=>["value","type"].includes(e)},isAddMode:{type:Boolean,default:!1}},emits:{"update:value":e=>"object"==typeof e&&null!==e&&"label"in e&&"value"in e&&"type"in e},setup(u,{emit:f}){const{selectOptions:g,goToAddNotifyProvider:_,handleSelectUpdate:j,fetchNotifyProviderData:x}=function(e,u){const{fetchNotifyProvider:i,notifyProvider:n}=c(),o=t({label:"",value:"",type:""}),s=t([]),r=l((()=>Object.entries(y).map((([t,l])=>({label:l.name,value:"value"===e.valueType?t:l.type,type:l.type}))))),d=e=>{if(!e)return void(o.value={label:"",value:"",type:""});const t=s.value.find((t=>t.value===e));if(t)return void(o.value={...t});const l=r.value.find((t=>t.value===e));o.value=l?{...l}:{label:e,value:e,type:""}},p=()=>{i()};return a((()=>e.value),(e=>{0===s.value.length&&e&&p(),d(e)}),{immediate:!0}),a((()=>n.value),(t=>{t&&t.length>0?s.value=t.map((t=>({label:t.label,value:"value"===e.valueType?t.value:t.type,type:t.type}))):s.value=r.value,d(e.value)}),{immediate:!0,deep:!0}),n.value&&0!==n.value.length||(s.value=r.value,p()),{selectedOptionFull:o,selectOptions:s,goToAddNotifyProvider:()=>{window.open("/settings?tab=notification","_blank")},handleSelectUpdate:e=>{d(e),u("update:value",{...o.value})},fetchNotifyProviderData:p}}(u,f),S=({option:t})=>{let l;const a=t;return i("div",{class:"flex items-center"},[a.label?i(b,{align:"center",size:"small"},{default:()=>[i(e,{icon:`notify-${a.type||""}`,size:"1.6rem"},null),i(m,null,{default:()=>[a.label]})]}):i(m,{depth:"3"},h(l=s("t_0_1745887835267"))?l:{default:()=>[l]})])},N=t=>{const l=t;return i(b,{align:"center",size:"small"},{default:()=>[i(e,{icon:`notify-${l.type||""}`,size:"1.6rem"},null),i(m,null,{default:()=>[l.label]})]})},P=l((()=>g.value.map((e=>({...e})))));return()=>{let e,t;return i(n,{cols:24},{default:()=>[i(o,{span:u.isAddMode?13:24,label:s("t_1_1745887832941"),path:u.path},{default:()=>[i(r,{class:"flex-1 w-full",options:P.value,renderLabel:N,renderTag:S,filterable:!0,clearable:!0,placeholder:s("t_0_1745887835267"),value:u.value,onUpdateValue:j},{empty:()=>i("div",{class:"text-center py-4"},[i(m,{depth:"3",class:"text-[1.4rem]"},{default:()=>[0===g.value.length?s("t_0_1745887835267"):"暂无匹配的通知渠道"]})])})]}),u.isAddMode&&i(d,{span:11},{default:()=>[i("div",{class:"flex items-center h-full"},[i(p,{vertical:!0},null),i(v,{class:"mx-[8px]",onClick:_,ghost:!0},h(e=s("t_2_1745887834248"))?e:{default:()=>[e]}),i(v,{onClick:x,ghost:!0},h(t=s("t_0_1746497662220"))?t:{default:()=>[t]})])]})]})}}});export{g as N};
|
||||
import{S as e}from"./index-CQqPnXBD.js";import{r as t,k as l,x as a,d as u,c as i,w as n,t as o,$ as s,m as r,b3 as d,bD as p,B as v,i as f}from"./main-thcxfg9X.js";import{u as c}from"./useStore-BVollqBX.js";import{M as y}from"./data-Di-Orkvg.js";import{N as m,a as b}from"./business-B3585fkI.js";function h(e){return"function"==typeof e||"[object Object]"===Object.prototype.toString.call(e)&&!f(e)}const g=u({name:"NotifyProviderSelect",props:{path:{type:String,default:""},value:{type:String,default:""},valueType:{type:String,default:"value",validator:e=>["value","type"].includes(e)},isAddMode:{type:Boolean,default:!1}},emits:{"update:value":e=>"object"==typeof e&&null!==e&&"label"in e&&"value"in e&&"type"in e},setup(u,{emit:f}){const{selectOptions:g,goToAddNotifyProvider:_,handleSelectUpdate:j,fetchNotifyProviderData:x}=function(e,u){const{fetchNotifyProvider:i,notifyProvider:n}=c(),o=t({label:"",value:"",type:""}),s=t([]),r=l((()=>Object.entries(y).map((([t,l])=>({label:l.name,value:"value"===e.valueType?t:l.type,type:l.type}))))),d=e=>{if(!e)return void(o.value={label:"",value:"",type:""});const t=s.value.find((t=>t.value===e));if(t)return void(o.value={...t});const l=r.value.find((t=>t.value===e));o.value=l?{...l}:{label:e,value:e,type:""}},p=()=>{i()};return a((()=>e.value),(e=>{0===s.value.length&&e&&p(),d(e)}),{immediate:!0}),a((()=>n.value),(t=>{t&&t.length>0?s.value=t.map((t=>({label:t.label,value:"value"===e.valueType?t.value:t.type,type:t.type}))):s.value=r.value,d(e.value)}),{immediate:!0,deep:!0}),n.value&&0!==n.value.length||(s.value=r.value,p()),{selectedOptionFull:o,selectOptions:s,goToAddNotifyProvider:()=>{window.open("/settings?tab=notification","_blank")},handleSelectUpdate:e=>{d(e),u("update:value",{...o.value})},fetchNotifyProviderData:p}}(u,f),S=({option:t})=>{let l;const a=t;return i("div",{class:"flex items-center"},[a.label?i(b,{align:"center",size:"small"},{default:()=>[i(e,{icon:`notify-${a.type||""}`,size:"1.6rem"},null),i(m,null,{default:()=>[a.label]})]}):i(m,{depth:"3"},h(l=s("t_0_1745887835267"))?l:{default:()=>[l]})])},N=t=>{const l=t;return i(b,{align:"center",size:"small"},{default:()=>[i(e,{icon:`notify-${l.type||""}`,size:"1.6rem"},null),i(m,null,{default:()=>[l.label]})]})},P=l((()=>g.value.map((e=>({...e})))));return()=>{let e,t;return i(n,{cols:24},{default:()=>[i(o,{span:u.isAddMode?13:24,label:s("t_1_1745887832941"),path:u.path},{default:()=>[i(r,{class:"flex-1 w-full",options:P.value,renderLabel:N,renderTag:S,filterable:!0,clearable:!0,placeholder:s("t_0_1745887835267"),value:u.value,onUpdateValue:j},{empty:()=>i("div",{class:"text-center py-4"},[i(m,{depth:"3",class:"text-[1.4rem]"},{default:()=>[0===g.value.length?s("t_0_1745887835267"):"暂无匹配的通知渠道"]})])})]}),u.isAddMode&&i(d,{span:11},{default:()=>[i("div",{class:"flex items-center h-full"},[i(p,{vertical:!0},null),i(v,{class:"mx-[8px]",onClick:_,ghost:!0},h(e=s("t_2_1745887834248"))?e:{default:()=>[e]}),i(v,{onClick:x,ghost:!0},h(t=s("t_0_1746497662220"))?t:{default:()=>[t]})])]})]})}}});export{g as N};
|
||||
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{u as e}from"./useStore-k5jc-4LK.js";import{u as a,N as l}from"./index-Dqr-yrfj.js";import{r as t,x as u,o as s,aE as v,$ as d,d as o,c as r,w as n,t as i,m as p,B as y,i as c}from"./main-1hvBaRBq.js";import{S as f}from"./index-DwpZTRQL.js";import{N as m,a as b}from"./business-D-vb9IBC.js";const _=o({name:"DnsProviderSelect",props:{type:{type:String,required:!0},path:{type:String,required:!0},value:{type:String,required:!0},valueType:{type:String,default:"value"},isAddMode:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},customClass:{type:String,default:""}},emits:["update:value"],setup(o,{emit:_}){const g=function(l,o){const{handleError:r}=a(),{fetchDnsProvider:n,resetDnsProvider:i,dnsProvider:p}=e(),y=t({label:"",value:"",type:"",data:{}}),c=t([]),f=t(!1),m=t(""),b=()=>{var e,a,t,u,s;const v=p.value.find((e=>("value"===l.valueType?e.value:e.type)===y.value.value));v?(y.value={label:v.label,value:"value"===l.valueType?v.value:v.type,type:"value"===l.valueType?v.type:v.value,data:v},o("update:value",{...y.value})):""===y.value.value&&p.value.length>0&&(y.value={label:(null==(e=p.value[0])?void 0:e.label)||"",value:"value"===l.valueType?(null==(a=p.value[0])?void 0:a.value)||"":(null==(t=p.value[0])?void 0:t.type)||"",type:"value"===l.valueType?(null==(u=p.value[0])?void 0:u.type)||"":(null==(s=p.value[0])?void 0:s.value)||"",data:p.value[0]||{}},o("update:value",{...y.value}))},_=e=>{y.value.value=e,b()},g=async(e=l.type)=>{f.value=!0,m.value="";try{await n(e),l.value?(y.value.value=l.value,b()):b()}catch(a){m.value="string"==typeof a?a:d("t_0_1746760933542"),r(a)}finally{f.value=!1}};return u((()=>p.value),(e=>{var a;c.value=e.map((e=>({label:e.label,value:"value"===l.valueType?e.value:e.type,type:"value"===l.valueType?e.type:e.value,data:e})))||[],c.value.some((e=>e.value===y.value.value))?b():l.value&&c.value.some((e=>e.value===l.value))?(y.value.value=l.value,b()):""===y.value.value&&c.value.length>0&&(y.value.value=(null==(a=c.value[0])?void 0:a.value)||"",b())}),{deep:!0}),u((()=>l.value),(e=>{e!==y.value.value&&_(e)}),{immediate:!0}),u((()=>l.type),(e=>{g(e)})),s((async()=>{await g(l.type)})),v((()=>{i()})),{param:y,dnsProviderRef:c,isLoading:f,errorMessage:m,goToAddDnsProvider:()=>{window.open("/auth-api-manage","_blank")},handleUpdateValue:_,loadDnsProviders:g,handleFilter:(e,a)=>a.label.toLowerCase().includes(e.toLowerCase())}}(o,_),h=e=>r(b,{align:"center"},{default:()=>[r(f,{icon:`resources-${e.type}`,size:"2rem"},null),r(m,null,{default:()=>[e.label]})]});return()=>{let e;return r(l,{show:g.isLoading.value},{default:()=>[r(n,{cols:24,class:o.customClass},{default:()=>[r(i,{span:o.isAddMode?13:24,label:"dns"===o.type?d("t_3_1745735765112"):d("t_0_1746754500246"),path:o.path},{default:()=>[r(p,{class:"flex-1 w-full",filterable:!0,options:g.dnsProviderRef.value,renderLabel:h,renderTag:({option:e})=>(({option:e})=>r("div",{class:"flex items-center"},[e.label?h(e):r(m,{class:"text-[#aaa]"},{default:()=>["dns"===o.type?d("t_0_1747019621052"):d("t_0_1746858920894")]})]))({option:e}),filter:(e,a)=>g.handleFilter(e,a),placeholder:"dns"===o.type?d("t_3_1745490735059"):d("t_0_1746858920894"),value:g.param.value.value,onUpdateValue:g.handleUpdateValue,disabled:o.disabled},{empty:()=>r("span",{class:"text-[1.4rem]"},[g.errorMessage.value||("dns"===o.type?d("t_1_1746858922914"):d("t_2_1746858923964"))])})]}),o.isAddMode&&r(i,{span:11},{default:()=>{return[r(y,{class:"mx-[8px]",onClick:g.goToAddDnsProvider,disabled:o.disabled},{default:()=>["dns"===o.type?d("t_1_1746004861166"):d("t_3_1746858920060")]}),r(y,{onClick:()=>g.loadDnsProviders(o.type),loading:g.isLoading.value,disabled:o.disabled},(a=e=d("t_0_1746497662220"),"function"==typeof a||"[object Object]"===Object.prototype.toString.call(a)&&!c(a)?e:{default:()=>[e]}))];var a}})]})]})}}});export{_ as D};
|
||||
@@ -1 +1 @@
|
||||
import{d as e,k as i,c as r}from"./main-1hvBaRBq.js";const t=e({name:"SvgIcon",props:{icon:{type:String,required:!0},color:{type:String,default:""},size:{type:String,default:"1.8rem"}},setup(e){const t=i((()=>`#icon-${e.icon}`));return()=>r("svg",{class:"relative inline-block align-[-0.2rem]",style:{width:e.size,height:e.size},"aria-hidden":"true"},[r("use",{"xlink:href":t.value,fill:e.color},null)])}});export{t as S};
|
||||
import{d as e,k as i,c as r}from"./main-thcxfg9X.js";const t=e({name:"SvgIcon",props:{icon:{type:String,required:!0},color:{type:String,default:""},size:{type:String,default:"1.8rem"}},setup(e){const t=i((()=>`#icon-${e.icon}`));return()=>r("svg",{class:"relative inline-block align-[-0.2rem]",style:{width:e.size,height:e.size},"aria-hidden":"true"},[r("use",{"xlink:href":t.value,fill:e.color},null)])}});export{t as S};
|
||||
1
build/static/js/index-CeVVV0a7.js
Normal file
1
build/static/js/index-CeVVV0a7.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{d as e,u as t,a as o,c as r,b as s,$ as l,B as a,i as c}from"./main-1hvBaRBq.js";const m=(e=16,t)=>r("svg",{width:e,height:e,viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:t},[r("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.6 1c1.6.1 3.1.9 4.2 2 1.3 1.4 2 3.1 2 5.1 0 1.6-.6 3.1-1.6 4.4-1 1.2-2.4 2.1-4 2.4-1.6.3-3.2.1-4.6-.7-1.4-.8-2.5-2-3.1-3.5C.9 9.2.8 7.5 1.3 6c.5-1.6 1.4-2.9 2.8-3.8C5.4 1.3 7 .9 8.6 1zm.5 12.9c1.3-.3 2.5-1 3.4-2.1.8-1.1 1.3-2.4 1.2-3.8 0-1.6-.6-3.2-1.7-4.3-1-1-2.2-1.6-3.6-1.7-1.3-.1-2.7.2-3.8 1-1.1.8-1.9 1.9-2.3 3.3-.4 1.3-.4 2.7.2 4 .6 1.3 1.5 2.3 2.7 3 1.2.7 2.6.9 3.9.6zM7.9 7.5L10.3 5l.7.7-2.4 2.5 2.4 2.5-.7.7-2.4-2.5-2.4 2.5-.7-.7 2.4-2.5-2.4-2.5.7-.7 2.4 2.5z"},null)]),n=e({setup(){const e=t(),n=o(["baseColor","textColorBase","textColorSecondary","textColorDisabled"]);return()=>{let t;return r("div",{class:"flex flex-col items-center justify-center min-h-screen p-4",style:n.value},[r("div",{class:"text-center px-4 sm:px-8 max-w-[60rem] mx-auto"},[r("div",{class:"text-[4.5rem] sm:text-[6rem] md:text-[8rem] font-bold leading-none mb-2 sm:mb-4",style:{color:"var(--n-text-color-base)",textShadow:"2px 2px 8px rgba(0,0,0,0.25)"}},[s("404")]),r("div",{class:"flex items-center justify-center mb-4 sm:mb-8"},[m(60,"var(--n-text-color-base)")]),r("div",{class:"text-[1.2rem] sm:text-[1.5rem] md:text-[1.8rem] mb-4 sm:mb-8",style:{color:"var(--n-text-color-secondary)"}},[l("t_0_1744098811152")]),r(a,{style:{backgroundColor:"var(--n-text-color-base)",color:"var(--n-base-color)",border:"none"},onClick:()=>e.push("/")},(o=t=l("t_1_1744098801860"),"function"==typeof o||"[object Object]"===Object.prototype.toString.call(o)&&!c(o)?t:{default:()=>[t]})),r("div",{class:"mt-4 sm:mt-8 text-[1rem] sm:text-[1.1rem] md:text-[1.3rem]",style:{color:"var(--n-text-color-disabled)"}},[l("t_2_1744098804908")])])]);var o}}});export{n as default};
|
||||
import{d as e,u as t,a as o,c as r,b as s,$ as l,B as a,i as c}from"./main-thcxfg9X.js";const m=(e=16,t)=>r("svg",{width:e,height:e,viewBox:"0 0 16 16",xmlns:"http://www.w3.org/2000/svg",fill:t},[r("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M8.6 1c1.6.1 3.1.9 4.2 2 1.3 1.4 2 3.1 2 5.1 0 1.6-.6 3.1-1.6 4.4-1 1.2-2.4 2.1-4 2.4-1.6.3-3.2.1-4.6-.7-1.4-.8-2.5-2-3.1-3.5C.9 9.2.8 7.5 1.3 6c.5-1.6 1.4-2.9 2.8-3.8C5.4 1.3 7 .9 8.6 1zm.5 12.9c1.3-.3 2.5-1 3.4-2.1.8-1.1 1.3-2.4 1.2-3.8 0-1.6-.6-3.2-1.7-4.3-1-1-2.2-1.6-3.6-1.7-1.3-.1-2.7.2-3.8 1-1.1.8-1.9 1.9-2.3 3.3-.4 1.3-.4 2.7.2 4 .6 1.3 1.5 2.3 2.7 3 1.2.7 2.6.9 3.9.6zM7.9 7.5L10.3 5l.7.7-2.4 2.5 2.4 2.5-.7.7-2.4-2.5-2.4 2.5-.7-.7 2.4-2.5-2.4-2.5.7-.7 2.4 2.5z"},null)]),n=e({setup(){const e=t(),n=o(["baseColor","textColorBase","textColorSecondary","textColorDisabled"]);return()=>{let t;return r("div",{class:"flex flex-col items-center justify-center min-h-screen p-4",style:n.value},[r("div",{class:"text-center px-4 sm:px-8 max-w-[60rem] mx-auto"},[r("div",{class:"text-[4.5rem] sm:text-[6rem] md:text-[8rem] font-bold leading-none mb-2 sm:mb-4",style:{color:"var(--n-text-color-base)",textShadow:"2px 2px 8px rgba(0,0,0,0.25)"}},[s("404")]),r("div",{class:"flex items-center justify-center mb-4 sm:mb-8"},[m(60,"var(--n-text-color-base)")]),r("div",{class:"text-[1.2rem] sm:text-[1.5rem] md:text-[1.8rem] mb-4 sm:mb-8",style:{color:"var(--n-text-color-secondary)"}},[l("t_0_1744098811152")]),r(a,{style:{backgroundColor:"var(--n-text-color-base)",color:"var(--n-base-color)",border:"none"},onClick:()=>e.push("/")},(o=t=l("t_1_1744098801860"),"function"==typeof o||"[object Object]"===Object.prototype.toString.call(o)&&!c(o)?t:{default:()=>[t]})),r("div",{class:"mt-4 sm:mt-8 text-[1rem] sm:text-[1.1rem] md:text-[1.3rem]",style:{color:"var(--n-text-color-disabled)"}},[l("t_2_1744098804908")])])]);var o}}});export{n as default};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
build/static/js/index-D-_l_TxI.js
Normal file
1
build/static/js/index-D-_l_TxI.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
var t;import{S as e}from"./index-DwpZTRQL.js";import{A as o,M as a}from"./data-BwFlQLCu.js";import{k as n,d as s,c as r,N as i}from"./main-1hvBaRBq.js";const l={},p={},c=new Set;for(const d in o)if(Object.prototype.hasOwnProperty.call(o,d)){const e=o[d];if(l[d]=e.name,p[d]=e.icon,null==e?void 0:e.hostRelated)for(const o in e.hostRelated)if(Object.prototype.hasOwnProperty.call(e.hostRelated,o)){const a=e.hostRelated[o],n=`${d}-${o}`;n&&(l[n]=(null==(t=null==a?void 0:a.name)?void 0:t.toString())??"",p[n]=e.icon)}}for(const d in a)if(Object.prototype.hasOwnProperty.call(a,d)){const t=a[d];l[d]=t.name,p[d]=t.type,c.add(d)}o.btwaf&&(p.btwaf="btpanel");const u=s({name:"AuthApiTypeIcon",props:{icon:{type:String,required:!0},type:{type:String,default:"default"},text:{type:Boolean,default:!0}},setup(t){const{iconPath:o,typeName:a}=function(t){return{iconPath:n((()=>(c.has(t.icon)?"notify-":"resources-")+(p[t.icon]||"default"))),typeName:n((()=>l[t.icon]||t.icon))}}(t);return()=>r(i,{type:t.type,size:"small",class:"w-auto text-ellipsis overflow-hidden whitespace-normal p-[.6rem] h-auto"},{default:()=>[r(e,{icon:o.value,size:"1.2rem",class:"mr-[0.4rem]"},null),r("span",null,[t.text&&r("span",{class:"text-[12px]"},[a.value])])]})}});export{u as T};
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{bO as e,bT as t,bU as n,bP as a,bV as i,aG as o,bR as r,bQ as s,A as u,x as c,o as l,V as f,J as m,r as p,bW as v}from"./main-1hvBaRBq.js";function b(e){return!!i()&&(o(e),!0)}const d=new WeakMap,w=(...e)=>{var t;const n=e[0],a=null==(t=r())?void 0:t.proxy;if(null==a&&!s())throw new Error("injectLocal must be called in setup");return a&&d.has(a)&&n in d.get(a)?d.get(a)[n]:u(...e)},g="undefined"!=typeof window&&"undefined"!=typeof document;"undefined"!=typeof WorkerGlobalScope&&(globalThis,WorkerGlobalScope);const h=Object.prototype.toString,y=e=>"[object Object]"===h.call(e),j=()=>{};function A(e,t){return function(...n){return new Promise(((a,i)=>{Promise.resolve(e((()=>t.apply(this,n)),{fn:t,thisArg:this,args:n})).then(a).catch(i)}))}}const F=e=>e();function T(e=F,n={}){const{initialState:a="active"}=n,i=function(...e){if(1!==e.length)return m(...e);const n=e[0];return"function"==typeof n?t(v((()=>({get:n,set:j})))):p(n)}("active"===a);return{isActive:t(i),pause:function(){i.value=!1},resume:function(){i.value=!0},eventFilter:(...t)=>{i.value&&e(...t)}}}function S(e){return e.endsWith("rem")?16*Number.parseFloat(e):Number.parseFloat(e)}function P(e){return Array.isArray(e)?e:[e]}function W(e,t=200,i=!1,o=!0,r=!1){return A(function(...e){let t,i,o,r,s,u,c=0,l=!0,f=j;n(e[0])||"object"!=typeof e[0]?[o,r=!0,s=!0,u=!1]=e:({delay:o,trailing:r=!0,leading:s=!0,rejectOnCancel:u=!1}=e[0]);const m=()=>{t&&(clearTimeout(t),t=void 0,f(),f=j)};return e=>{const n=a(o),p=Date.now()-c,v=()=>i=e();return m(),n<=0?(c=Date.now(),v()):(p>n&&(s||!l)?(c=Date.now(),v()):r&&(i=new Promise(((e,a)=>{f=u?a:e,t=setTimeout((()=>{c=Date.now(),l=!0,e(v()),m()}),Math.max(0,n-p))}))),s||t||(t=setTimeout((()=>l=!0),n)),l=!1,i)}}(t,i,o,r),e)}function k(e,t,n={}){const{eventFilter:a,initialState:i="active",...o}=n,{eventFilter:r,pause:s,resume:u,isActive:l}=T(a,{initialState:i}),f=function(e,t,n={}){const{eventFilter:a=F,...i}=n;return c(e,A(a,t),i)}(e,t,{...o,eventFilter:r});return{stop:f,pause:s,resume:u,isActive:l}}function x(e,t=!0,n){r()?l(e,n):t?e():f(e)}function D(n,i,o={}){const{immediate:r=!0,immediateCallback:s=!1}=o,u=e(!1);let c=null;function l(){c&&(clearTimeout(c),c=null)}function f(){u.value=!1,l()}function m(...e){s&&n(),l(),u.value=!0,c=setTimeout((()=>{u.value=!1,c=null,n(...e)}),a(i))}return r&&(u.value=!0,g&&m()),b(f),{isPending:t(u),start:m,stop:f}}function O(e,t,n){return c(e,t,{...n,immediate:!0})}export{W as a,g as b,b as c,y as d,k as e,x as f,w as i,S as p,P as t,D as u,O as w};
|
||||
1
build/static/js/index-D_6owt43.js
Normal file
1
build/static/js/index-D_6owt43.js
Normal file
File diff suppressed because one or more lines are too long
1
build/static/js/index-Dyfc6bM_.js
Normal file
1
build/static/js/index-Dyfc6bM_.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{d as t,Y as a,Z as e,_ as s,c as l,aa as r,$ as n,b as i,B as p}from"./main-1hvBaRBq.js";const u={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},o=t({name:"Search",render:function(t,l){return e(),a("svg",u,l[0]||(l[0]=[s("path",{d:"M29 27.586l-7.552-7.552a11.018 11.018 0 1 0-1.414 1.414L27.586 29zM4 13a9 9 0 1 1 9 9a9.01 9.01 0 0 1-9-9z",fill:"currentColor"},null,-1)]))}}),d=t({name:"TableEmptyState",props:{addButtonText:{type:String,required:!0},onAddClick:{type:Function,required:!0}},setup:t=>()=>l("div",{class:"flex justify-center items-center h-full"},[l(r,{class:"px-[4rem]"},{default:()=>[n("t_1_1747754231838"),l(p,{text:!0,type:"primary",size:"small",onClick:t.onAddClick},{default:()=>[t.addButtonText]}),i(","),n("t_2_1747754234999"),l(p,{text:!0,tag:"a",target:"_blank",type:"primary",href:"https://github.com/allinssl/allinssl/issues"},{default:()=>[i("Issues")]}),i(","),n("t_3_1747754232000"),l(p,{text:!0,tag:"a",target:"_blank",type:"primary",href:"https://github.com/allinssl/allinssl"},{default:()=>[i("Star")]}),i(","),n("t_4_1747754235407")]})])});export{d as E,o as S};
|
||||
@@ -1 +1 @@
|
||||
import{d as e,c as s}from"./main-1hvBaRBq.js";const l=e({name:"BaseComponent",setup(e,{slots:l}){const t=l["header-left"]||l.headerLeft,f=l["header-right"]||l.headerRight,r=l.header,o=l["footer-left"]||l.footerLeft,a=l["footer-right"]||l.footerRight,i=l.footer;return()=>s("div",{class:"flex flex-col"},[r?s("div",{class:"flex justify-between flex-wrap w-full"},[r()]):(t||f)&&s("div",{class:"flex justify-between flex-wrap",style:{rowGap:"0.8rem"}},[s("div",{class:"flex flex-shrink-0"},[t&&t()]),s("div",{class:"flex flex-shrink-0"},[f&&f()])]),s("div",{class:`w-full content ${r||t||f?"mt-[1.2rem]":""} ${i||o||a?"mb-[1.2rem]":""}`},[l.content&&l.content()]),i?s("div",{class:"flex justify-between w-full"},[i()]):(o||a)&&s("div",{class:"flex justify-between"},[s("div",{class:"flex flex-shrink-0"},[o&&o()]),s("div",{class:"flex flex-shrink-0"},[a&&a()])]),l.popup&&l.popup()])}});export{l as B};
|
||||
import{d as e,c as s}from"./main-thcxfg9X.js";const l=e({name:"BaseComponent",setup(e,{slots:l}){const t=l["header-left"]||l.headerLeft,f=l["header-right"]||l.headerRight,r=l.header,o=l["footer-left"]||l.footerLeft,a=l["footer-right"]||l.footerRight,i=l.footer;return()=>s("div",{class:"flex flex-col"},[r?s("div",{class:"flex justify-between flex-wrap w-full"},[r()]):(t||f)&&s("div",{class:"flex justify-between flex-wrap",style:{rowGap:"0.8rem"}},[s("div",{class:"flex flex-shrink-0"},[t&&t()]),s("div",{class:"flex flex-shrink-0"},[f&&f()])]),s("div",{class:`w-full content ${r||t||f?"mt-[1.2rem]":""} ${i||o||a?"mb-[1.2rem]":""}`},[l.content&&l.content()]),i?s("div",{class:"flex justify-between w-full"},[i()]):(o||a)&&s("div",{class:"flex justify-between"},[s("div",{class:"flex flex-shrink-0"},[o&&o()]),s("div",{class:"flex flex-shrink-0"},[a&&a()])]),l.popup&&l.popup()])}});export{l as B};
|
||||
1
build/static/js/index-vMs_lazh.js
Normal file
1
build/static/js/index-vMs_lazh.js
Normal file
@@ -0,0 +1 @@
|
||||
import{u as e}from"./useStore-BVollqBX.js";import{u as a,N as l}from"./index-BsOnqgcH.js";import{r as t,x as u,o as v,aD as s,$ as d,d as r,c as o,w as n,t as i,m as p,B as y,i as c}from"./main-thcxfg9X.js";import{S as f}from"./index-CQqPnXBD.js";import{N as m,a as b}from"./business-B3585fkI.js";const _=r({name:"DnsProviderSelect",props:{type:{type:String,required:!0},path:{type:String,required:!0},value:{type:String,required:!0},valueType:{type:String,default:"value"},isAddMode:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},customClass:{type:String,default:""}},emits:["update:value"],setup(r,{emit:_}){const g=function(l,r){const{handleError:o}=a(),{fetchDnsProvider:n,resetDnsProvider:i,dnsProvider:p}=e(),y=t({label:"",value:"",type:"",data:{}}),c=t([]),f=t(!1),m=t(""),b=()=>{var e,a,t,u,v;const s=p.value.find((e=>("value"===l.valueType?e.value:e.type)===y.value.value));s?(y.value={label:s.label,value:"value"===l.valueType?s.value:s.type,type:"value"===l.valueType?s.type:s.value,data:s},r("update:value",{...y.value})):""===y.value.value&&p.value.length>0&&(y.value={label:(null==(e=p.value[0])?void 0:e.label)||"",value:"value"===l.valueType?(null==(a=p.value[0])?void 0:a.value)||"":(null==(t=p.value[0])?void 0:t.type)||"",type:"value"===l.valueType?(null==(u=p.value[0])?void 0:u.type)||"":(null==(v=p.value[0])?void 0:v.value)||"",data:p.value[0]||{}},r("update:value",{...y.value}))},_=e=>{y.value.value=e,b()},g=async(e=l.type)=>{f.value=!0,m.value="";try{await n(e),l.value?(y.value.value=l.value,b()):b()}catch(a){m.value="string"==typeof a?a:d("t_0_1746760933542"),o(a)}finally{f.value=!1}};return u((()=>p.value),(e=>{var a;c.value=e.map((e=>({label:e.label,value:"value"===l.valueType?e.value:e.type,type:"value"===l.valueType?e.type:e.value,data:e})))||[],c.value.some((e=>e.value===y.value.value))?b():l.value&&c.value.some((e=>e.value===l.value))?(y.value.value=l.value,b()):""===y.value.value&&c.value.length>0&&(y.value.value=(null==(a=c.value[0])?void 0:a.value)||"",b())}),{deep:!0}),u((()=>l.value),(e=>{e!==y.value.value&&_(e)}),{immediate:!0}),u((()=>l.type),(e=>{g(e)})),v((async()=>{await g(l.type)})),s((()=>{i()})),{param:y,dnsProviderRef:c,isLoading:f,errorMessage:m,goToAddDnsProvider:()=>{window.open("/auth-api-manage","_blank")},handleUpdateValue:_,loadDnsProviders:g,handleFilter:(e,a)=>a.label.toLowerCase().includes(e.toLowerCase())}}(r,_),h=e=>o(b,{align:"center"},{default:()=>[o(f,{icon:`resources-${e.type}`,size:"2rem"},null),o(m,null,{default:()=>[e.label]})]});return()=>{let e;return o(l,{show:g.isLoading.value},{default:()=>[o(n,{cols:24,class:r.customClass},{default:()=>[o(i,{span:r.isAddMode?13:24,label:"dns"===r.type?d("t_3_1745735765112"):d("t_0_1746754500246"),path:r.path},{default:()=>[o(p,{class:"flex-1 w-full",filterable:!0,options:g.dnsProviderRef.value,renderLabel:h,renderTag:({option:e})=>(({option:e})=>o(b,{align:"center"},{default:()=>[e.label?h(e):o(m,{class:"text-[#aaa]"},{default:()=>["dns"===r.type?d("t_0_1747019621052"):d("t_0_1746858920894")]})]}))({option:e}),filter:(e,a)=>g.handleFilter(e,a),placeholder:"dns"===r.type?d("t_3_1745490735059"):d("t_0_1746858920894"),value:g.param.value.value,onUpdateValue:g.handleUpdateValue,disabled:r.disabled},{empty:()=>o("span",{class:"text-[1.4rem]"},[g.errorMessage.value||("dns"===r.type?d("t_1_1746858922914"):d("t_2_1746858923964"))])})]}),r.isAddMode&&o(i,{span:11},{default:()=>{return[o(y,{class:"mx-[8px]",onClick:g.goToAddDnsProvider,disabled:r.disabled},{default:()=>["dns"===r.type?d("t_1_1746004861166"):d("t_3_1746858920060")]}),o(y,{onClick:()=>g.loadDnsProviders(r.type),loading:g.isLoading.value,disabled:r.disabled},(a=e=d("t_0_1746497662220"),"function"==typeof a||"[object Object]"===Object.prototype.toString.call(a)&&!c(a)?e:{default:()=>[e]}))];var a}})]})]})}}});export{_ as D};
|
||||
File diff suppressed because one or more lines are too long
1
build/static/js/jaJP-D1HVvELR.js
Normal file
1
build/static/js/jaJP-D1HVvELR.js
Normal file
File diff suppressed because one or more lines are too long
1
build/static/js/koKR-D6WkYALP.js
Normal file
1
build/static/js/koKR-D6WkYALP.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
51
build/static/js/main-thcxfg9X.js
Normal file
51
build/static/js/main-thcxfg9X.js
Normal file
File diff suppressed because one or more lines are too long
1
build/static/js/ptBR-Bt3eySrX.js
Normal file
1
build/static/js/ptBR-Bt3eySrX.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
||||
import{c as o,d as s}from"./index-Dqr-yrfj.js";const e=s=>o("/v1/login/sign",s),g=()=>s.get("/v1/login/get_code"),i=()=>o("/v1/login/sign-out",{}),v=s=>o("/v1/overview/get_overviews",s);export{g as a,v as g,e as l,i as s};
|
||||
1
build/static/js/public-DXkNXSC8.js
Normal file
1
build/static/js/public-DXkNXSC8.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c as s,d as o}from"./index-BsOnqgcH.js";const e=o=>s("/v1/login/sign",o),g=()=>o.get("/v1/login/get_code"),i=()=>s("/v1/login/sign-out",{}),v=o=>s("/v1/overview/get_overviews",o);export{g as a,v as g,e as l,i as s};
|
||||
1
build/static/js/ruRU-DPqjqcTB.js
Normal file
1
build/static/js/ruRU-DPqjqcTB.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
||||
import{c as t}from"./index-Dqr-yrfj.js";const e=e=>t("/v1/setting/get_setting",e),s=e=>t("/v1/setting/save_setting",e),r=e=>t("/v1/report/add_report",e),o=e=>t("/v1/report/upd_report",e),a=e=>t("/v1/report/del_report",e),p=e=>t("/v1/report/notify_test",e),i=e=>t("/v1/report/get_list",e),v=e=>t("/v1/setting/get_version",e);export{e as a,i as b,r as c,a as d,v as g,s,p as t,o as u};
|
||||
import{c as t}from"./index-BsOnqgcH.js";const e=e=>t("/v1/setting/get_setting",e),s=e=>t("/v1/setting/save_setting",e),r=e=>t("/v1/report/add_report",e),o=e=>t("/v1/report/upd_report",e),a=e=>t("/v1/report/del_report",e),p=e=>t("/v1/report/notify_test",e),i=e=>t("/v1/report/get_list",e),v=e=>t("/v1/setting/get_version",e);export{e as a,i as b,r as c,a as d,v as g,s,p as t,o as u};
|
||||
@@ -1 +1 @@
|
||||
import{c5 as t,c6 as n,c7 as i}from"./main-1hvBaRBq.js";var r=/\s/;var e=/^\s+/;function a(t){return t?t.slice(0,function(t){for(var n=t.length;n--&&r.test(t.charAt(n)););return n}(t)+1).replace(e,""):t}var o=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,f=/^0o[0-7]+$/i,c=parseInt;function v(i){if("number"==typeof i)return i;if(t(i))return NaN;if(n(i)){var r="function"==typeof i.valueOf?i.valueOf():i;i=n(r)?r+"":r}if("string"!=typeof i)return 0===i?i:+i;i=a(i);var e=u.test(i);return e||f.test(i)?c(i.slice(2),e?2:8):o.test(i)?NaN:+i}var s=function(){return i.Date.now()},l=Math.max,d=Math.min;function m(t,i,r){var e,a,o,u,f,c,m=0,p=!1,g=!1,h=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function x(n){var i=e,r=a;return e=a=void 0,m=n,u=t.apply(r,i)}function y(t){var n=t-c;return void 0===c||n>=i||n<0||g&&t-m>=o}function T(){var t=s();if(y(t))return w(t);f=setTimeout(T,function(t){var n=i-(t-c);return g?d(n,o-(t-m)):n}(t))}function w(t){return f=void 0,h&&e?x(t):(e=a=void 0,u)}function E(){var t=s(),n=y(t);if(e=arguments,a=this,c=t,n){if(void 0===f)return function(t){return m=t,f=setTimeout(T,i),p?x(t):u}(c);if(g)return clearTimeout(f),f=setTimeout(T,i),x(c)}return void 0===f&&(f=setTimeout(T,i)),u}return i=v(i)||0,n(r)&&(p=!!r.leading,o=(g="maxWait"in r)?l(v(r.maxWait)||0,i):o,h="trailing"in r?!!r.trailing:h),E.cancel=function(){void 0!==f&&clearTimeout(f),m=0,e=c=a=f=void 0},E.flush=function(){return void 0===f?u:w(s())},E}function p(t,i,r){var e=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return n(r)&&(e="leading"in r?!!r.leading:e,a="trailing"in r?!!r.trailing:a),m(t,i,{leading:e,maxWait:i,trailing:a})}export{p as t};
|
||||
import{c8 as t,c9 as n,ca as i}from"./main-thcxfg9X.js";var r=/\s/;var e=/^\s+/;function a(t){return t?t.slice(0,function(t){for(var n=t.length;n--&&r.test(t.charAt(n)););return n}(t)+1).replace(e,""):t}var o=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,f=/^0o[0-7]+$/i,c=parseInt;function v(i){if("number"==typeof i)return i;if(t(i))return NaN;if(n(i)){var r="function"==typeof i.valueOf?i.valueOf():i;i=n(r)?r+"":r}if("string"!=typeof i)return 0===i?i:+i;i=a(i);var e=u.test(i);return e||f.test(i)?c(i.slice(2),e?2:8):o.test(i)?NaN:+i}var s=function(){return i.Date.now()},l=Math.max,d=Math.min;function m(t,i,r){var e,a,o,u,f,c,m=0,p=!1,g=!1,h=!0;if("function"!=typeof t)throw new TypeError("Expected a function");function x(n){var i=e,r=a;return e=a=void 0,m=n,u=t.apply(r,i)}function y(t){var n=t-c;return void 0===c||n>=i||n<0||g&&t-m>=o}function T(){var t=s();if(y(t))return w(t);f=setTimeout(T,function(t){var n=i-(t-c);return g?d(n,o-(t-m)):n}(t))}function w(t){return f=void 0,h&&e?x(t):(e=a=void 0,u)}function E(){var t=s(),n=y(t);if(e=arguments,a=this,c=t,n){if(void 0===f)return function(t){return m=t,f=setTimeout(T,i),p?x(t):u}(c);if(g)return clearTimeout(f),f=setTimeout(T,i),x(c)}return void 0===f&&(f=setTimeout(T,i)),u}return i=v(i)||0,n(r)&&(p=!!r.leading,o=(g="maxWait"in r)?l(v(r.maxWait)||0,i):o,h="trailing"in r?!!r.trailing:h),E.cancel=function(){void 0!==f&&clearTimeout(f),m=0,e=c=a=f=void 0},E.flush=function(){return void 0===f?u:w(s())},E}function p(t,i,r){var e=!0,a=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return n(r)&&(e="leading"in r?!!r.leading:e,a="trailing"in r?!!r.trailing:a),m(t,i,{leading:e,maxWait:i,trailing:a})}export{p as t};
|
||||
@@ -1 +1 @@
|
||||
import{e,s as a,r as t,k as o,$ as l}from"./main-1hvBaRBq.js";import{a as s,b as n}from"./index-Dx_P7TL0.js";import{u as r}from"./index-Dqr-yrfj.js";import{b as i}from"./setting-u4pThbPF.js";import{k as u}from"./access-CP5jwCxg.js";const m=e("layout-store",(()=>{const{handleError:e}=r(),a=s("layout-collapsed",!1),m=t([]),c=t([]),v=n("menu-active","home"),d=o((()=>"home"!==v.value?"var(--n-content-padding)":"0")),p=s("locales-active","zhCN"),h=t({mail:{name:l("t_68_1745289354676")},dingtalk:{name:l("t_32_1746773348993")},wecom:{name:l("t_33_1746773350932")},feishu:{name:l("t_34_1746773350153")},webhook:{name:"WebHook"}});return{isCollapsed:a,notifyProvider:m,dnsProvider:c,menuActive:v,layoutPadding:d,locales:p,pushSourceType:h,toggleCollapse:()=>{a.value=!a.value},handleCollapse:()=>{a.value=!0},handleExpand:()=>{a.value=!1},updateMenuActive:e=>{"logout"!==e&&(v.value=e)},resetDataInfo:()=>{v.value="home",sessionStorage.removeItem("menu-active")},fetchNotifyProvider:async()=>{try{m.value=[];const{data:e}=await i({p:1,search:"",limit:1e3}).fetch();m.value=(null==e?void 0:e.map((e=>({label:e.name,value:e.id.toString(),type:e.type}))))||[]}catch(a){e(a)}},fetchDnsProvider:async(a="")=>{try{c.value=[];const{data:e}=await u({type:a}).fetch();c.value=(null==e?void 0:e.map((e=>({label:e.name,value:e.id.toString(),type:e.type,data:e}))))||[]}catch(t){c.value=[],e(t)}},resetDnsProvider:()=>{c.value=[]}}})),c=()=>{const e=m();return{...e,...a(e)}};export{c as u};
|
||||
import{e,s as a,r as t,k as o,$ as l}from"./main-thcxfg9X.js";import{a as s,b as n}from"./index-Be-TPJhZ.js";import{u as r}from"./index-BsOnqgcH.js";import{b as i}from"./setting-Cj7IBqyr.js";import{j as u}from"./access-BUuUnTSu.js";const m=e("layout-store",(()=>{const{handleError:e}=r(),a=s("layout-collapsed",!1),m=t([]),c=t([]),v=n("menu-active","home"),d=o((()=>"home"!==v.value?"var(--n-content-padding)":"0")),p=s("locales-active","zhCN"),h=t({mail:{name:l("t_68_1745289354676")},dingtalk:{name:l("t_32_1746773348993")},wecom:{name:l("t_33_1746773350932")},feishu:{name:l("t_34_1746773350153")},webhook:{name:"WebHook"}});return{isCollapsed:a,notifyProvider:m,dnsProvider:c,menuActive:v,layoutPadding:d,locales:p,pushSourceType:h,toggleCollapse:()=>{a.value=!a.value},handleCollapse:()=>{a.value=!0},handleExpand:()=>{a.value=!1},updateMenuActive:e=>{"logout"!==e&&(v.value=e)},resetDataInfo:()=>{v.value="home",sessionStorage.removeItem("menu-active")},fetchNotifyProvider:async()=>{try{m.value=[];const{data:e}=await i({p:1,search:"",limit:1e3}).fetch();m.value=(null==e?void 0:e.map((e=>({label:e.name,value:e.id.toString(),type:e.type}))))||[]}catch(a){e(a)}},fetchDnsProvider:async(a="")=>{try{c.value=[];const{data:e}=await u({type:a}).fetch();c.value=(null==e?void 0:e.map((e=>({label:e.name,value:e.id.toString(),type:e.type,data:e}))))||[]}catch(t){c.value=[],e(t)}},resetDnsProvider:()=>{c.value=[]}}})),c=()=>{const e=m();return{...e,...a(e)}};export{c as u};
|
||||
@@ -1 +1 @@
|
||||
import{c as e,u as a}from"./index-Dqr-yrfj.js";import{e as o,s as t,r as l,$ as r}from"./main-1hvBaRBq.js";const w=a=>e("/v1/workflow/get_list",a),s=a=>e("/v1/workflow/del_workflow",a),c=a=>e("/v1/workflow/get_workflow_history",a),f=a=>e("/v1/workflow/get_exec_log",a),n=a=>e("/v1/workflow/execute_workflow",a),d=a=>e("/v1/workflow/exec_type",a),i=a=>e("/v1/workflow/active",a),k=a=>e("/v1/workflow/stop",a),u=o("work-edit-view-store",(()=>{const{handleError:o}=a(),t=l(!1),w=l(!1),s=l({id:"",name:"",content:"",active:"1",exec_type:"manual"}),c=l("quick"),f=l({id:"",name:"",childNode:{id:"start-1",name:"开始",type:"start",config:{exec_type:"manual"},childNode:null}});return{isEdit:t,detectionRefresh:w,workflowData:s,workflowType:c,workDefalutNodeData:f,resetWorkflowData:()=>{s.value={id:"",name:"",content:"",active:"1",exec_type:"manual"},f.value={id:"",name:"",childNode:{id:"start-1",name:"开始",type:"start",config:{exec_type:"manual"},childNode:null}},c.value="quick",t.value=!1},addNewWorkflow:async a=>{try{const{message:o,fetch:t}=(a=>e("/v1/workflow/add_workflow",a))(a);o.value=!0,await t()}catch(t){o(t).default(r("t_10_1745457486451"))}},updateWorkflowData:async a=>{try{const{message:o,fetch:t}=e("/v1/workflow/upd_workflow",a);o.value=!0,await t()}catch(t){o(t).default(r("t_11_1745457488256"))}}}})),v=()=>{const e=u();return{...e,...t(e)}};export{c as a,n as b,f as c,s as d,i as e,v as f,w as g,k as s,d as u};
|
||||
import{c as e,u as a}from"./index-BsOnqgcH.js";import{e as o,s as t,r as l,$ as r}from"./main-thcxfg9X.js";const w=a=>e("/v1/workflow/get_list",a),s=a=>e("/v1/workflow/del_workflow",a),c=a=>e("/v1/workflow/get_workflow_history",a),f=a=>e("/v1/workflow/get_exec_log",a),n=a=>e("/v1/workflow/execute_workflow",a),d=a=>e("/v1/workflow/exec_type",a),i=a=>e("/v1/workflow/active",a),k=a=>e("/v1/workflow/stop",a),u=o("work-edit-view-store",(()=>{const{handleError:o}=a(),t=l(!1),w=l(!1),s=l({id:"",name:"",content:"",active:"1",exec_type:"manual"}),c=l("quick"),f=l({id:"",name:"",childNode:{id:"start-1",name:"开始",type:"start",config:{exec_type:"manual"},childNode:null}});return{isEdit:t,detectionRefresh:w,workflowData:s,workflowType:c,workDefalutNodeData:f,resetWorkflowData:()=>{s.value={id:"",name:"",content:"",active:"1",exec_type:"manual"},f.value={id:"",name:"",childNode:{id:"start-1",name:"开始",type:"start",config:{exec_type:"manual"},childNode:null}},c.value="quick",t.value=!1},addNewWorkflow:async a=>{try{const{message:o,fetch:t}=(a=>e("/v1/workflow/add_workflow",a))(a);o.value=!0,await t()}catch(t){o(t).default(r("t_10_1745457486451"))}},updateWorkflowData:async a=>{try{const{message:o,fetch:t}=e("/v1/workflow/upd_workflow",a);o.value=!0,await t()}catch(t){o(t).default(r("t_11_1745457488256"))}}}})),v=()=>{const e=u();return{...e,...t(e)}};export{c as a,n as b,f as c,s as d,i as e,v as f,w as g,k as s,d as u};
|
||||
1
build/static/js/zhTW-CxbBi2AR.js
Normal file
1
build/static/js/zhTW-CxbBi2AR.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -11217,5 +11217,73 @@
|
||||
"arDZ": "الرجاء إدخال المعلمات بتنسيق JSON، على سبيل المثال:"
|
||||
},
|
||||
"timestamp": "2025-06-18T01:38:26.776Z"
|
||||
},
|
||||
"请输入多吉云AccessKey": {
|
||||
"text": "请输入多吉云AccessKey",
|
||||
"key": "t_0_1750320239265",
|
||||
"translations": {
|
||||
"zhCN": "请输入多吉云AccessKey",
|
||||
"zhTW": "請輸入多吉雲AccessKey",
|
||||
"enUS": "Please enter DogeCloud AccessKey",
|
||||
"jaJP": "DogeCloudのAccessKeyを入力してください",
|
||||
"koKR": "DogeCloud AccessKey를 입력하세요",
|
||||
"ruRU": "Пожалуйста, введите DogeCloud AccessKey",
|
||||
"ptBR": "Por favor, insira o AccessKey do DogeCloud",
|
||||
"frFR": "Veuillez entrer la clé d'accès DogeCloud",
|
||||
"esAR": "Por favor ingrese la AccessKey de DogeCloud",
|
||||
"arDZ": "الرجاء إدخال مفتاح الوصول DogeCloud"
|
||||
},
|
||||
"timestamp": "2025-06-19T08:04:01.428Z"
|
||||
},
|
||||
"请输入多吉云SecretKey": {
|
||||
"text": "请输入多吉云SecretKey",
|
||||
"key": "t_1_1750320241427",
|
||||
"translations": {
|
||||
"zhCN": "请输入多吉云SecretKey",
|
||||
"zhTW": "請輸入多吉雲SecretKey",
|
||||
"enUS": "Please enter DogeCloud SecretKey",
|
||||
"jaJP": "ドージークラウドのSecretKeyを入力してください",
|
||||
"koKR": "도지클라우드 SecretKey를 입력하세요",
|
||||
"ruRU": "Пожалуйста, введите SecretKey DogeCloud",
|
||||
"ptBR": "Por favor, insira a SecretKey do DogeCloud",
|
||||
"frFR": "Veuillez entrer la SecretKey de DogeCloud",
|
||||
"esAR": "Por favor ingrese la SecretKey de DogeCloud",
|
||||
"arDZ": "الرجاء إدخال مفتاح SecretKey الخاص بـ DogeCloud"
|
||||
},
|
||||
"timestamp": "2025-06-19T08:04:01.428Z"
|
||||
},
|
||||
"跳过发送通知": {
|
||||
"text": "跳过发送通知",
|
||||
"key": "t_2_1750320237611",
|
||||
"translations": {
|
||||
"zhCN": "跳过发送通知",
|
||||
"zhTW": "跳過發送通知",
|
||||
"enUS": "Skip sending notification",
|
||||
"jaJP": "通知の送信をスキップ",
|
||||
"koKR": "알림 보내기 건너뛰기",
|
||||
"ruRU": "Пропустить отправку уведомления",
|
||||
"ptBR": "Pular envio de notificação",
|
||||
"frFR": "Ignorer l'envoi de notification",
|
||||
"esAR": "Omitir el envío de notificación",
|
||||
"arDZ": "تخطي إرسال الإشعار"
|
||||
},
|
||||
"timestamp": "2025-06-19T08:04:01.428Z"
|
||||
},
|
||||
"发送": {
|
||||
"text": "发送",
|
||||
"key": "t_3_1750320237991",
|
||||
"translations": {
|
||||
"zhCN": "发送",
|
||||
"zhTW": "發送",
|
||||
"enUS": "Send",
|
||||
"jaJP": "送信",
|
||||
"koKR": "보내기",
|
||||
"ruRU": "Отправить",
|
||||
"ptBR": "Enviar",
|
||||
"frFR": "Envoyer",
|
||||
"esAR": "Enviar",
|
||||
"arDZ": "إرسال"
|
||||
},
|
||||
"timestamp": "2025-06-19T08:04:01.428Z"
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ import { Transition, type Component as ComponentType, h } from 'vue'
|
||||
import { RouterView } from 'vue-router'
|
||||
import CustomProvider from '@baota/naive-ui/components/customProvider'
|
||||
|
||||
|
||||
export default defineComponent({
|
||||
name: 'App',
|
||||
setup() {
|
||||
|
||||
@@ -93,7 +93,7 @@ export default defineComponent<DnsProviderSelectProps>({
|
||||
*/
|
||||
const renderSingleSelectTag = ({ option }: { option: DnsProviderOption }): VNode => {
|
||||
return (
|
||||
<div class="flex items-center">
|
||||
<NFlex align="center">
|
||||
{option.label ? (
|
||||
renderLabel(option)
|
||||
) : (
|
||||
@@ -101,7 +101,7 @@ export default defineComponent<DnsProviderSelectProps>({
|
||||
{props.type === 'dns' ? $t('t_0_1747019621052') : $t('t_0_1746858920894')}
|
||||
</NText>
|
||||
)}
|
||||
</div>
|
||||
</NFlex>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -180,6 +180,7 @@ nodeOptions[NOTIFY] = () =>
|
||||
provider_id: '',
|
||||
subject: '',
|
||||
body: '',
|
||||
skip: false,
|
||||
},
|
||||
childNode: null,
|
||||
},
|
||||
|
||||
@@ -246,6 +246,7 @@ export interface DeployConfig<
|
||||
| 'aliyun-cdn'
|
||||
| 'aliyun-oss'
|
||||
| 'aliyun-waf'
|
||||
| 'aliyun-esa'
|
||||
| 'doge-cdn'
|
||||
| 'baidu-cdn'
|
||||
| 'qiniu-cdn'
|
||||
@@ -308,6 +309,11 @@ export interface DeployStorageConfig {
|
||||
bucket: string
|
||||
}
|
||||
|
||||
// 部署阿里云ESA
|
||||
export interface DeployAliyunESAConfig {
|
||||
site_id: string
|
||||
}
|
||||
|
||||
// 部署节点配置(雷池WAF)
|
||||
export interface DeploySafelineConfig {
|
||||
[key: string]: unknown
|
||||
@@ -340,6 +346,7 @@ export type DeployNodeConfig = DeployConfig<
|
||||
| DeployCDNConfig // 部署节点配置(腾讯云CDN/阿里云CDN)
|
||||
| DeployWAFConfig // 部署节点配置(阿里云WAF)
|
||||
| DeployStorageConfig // 部署节点配置(腾讯云COS/阿里云OSS)
|
||||
| DeployAliyunESAConfig // 部署节点配置(阿里云ESA)
|
||||
| DeploySafelineConfig // 部署节点配置(雷池WAF)
|
||||
| DeploySafelineSiteConfig // 部署节点配置(雷池WAF站点)
|
||||
| DeployBTPanelDockerSiteConfig // 部署节点配置(宝塔docker站点)
|
||||
@@ -358,6 +365,7 @@ interface NotifyNodeConfig {
|
||||
provider_id: string
|
||||
subject: string
|
||||
body: string
|
||||
skip: boolean // 当结果来源为跳过状态时,跳过/继续发送通知,true:跳过,false:继续
|
||||
}
|
||||
|
||||
// 定义上传节点配置类型
|
||||
|
||||
@@ -87,6 +87,7 @@ export const ApiProjectConfig: Record<string, ApiProjectType> = {
|
||||
cdn: { name: $t('t_16_1745735766712') },
|
||||
oss: { name: $t('t_2_1746697487164') },
|
||||
waf: { name: $t('t_10_1744958860078') },
|
||||
esa: { name: '阿里云ESA' },
|
||||
},
|
||||
sort: 6,
|
||||
},
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "تخطي",
|
||||
"t_0_1750320239265": "الرجاء إدخال مفتاح الوصول DogeCloud",
|
||||
"t_1_1750320241427": "الرجاء إدخال مفتاح SecretKey الخاص بـ DogeCloud",
|
||||
"t_2_1750320237611": "تخطي إرسال الإشعار",
|
||||
"t_3_1750320237991": "إرسال",
|
||||
"t_0_1744098811152": "تحذير: لقد دخلتم منطقة غير معروفة، الصفحة التي تحاول زيارتها غير موجودة، يرجى الضغط على الزر للعودة إلى الصفحة الرئيسية.",
|
||||
"t_1_1744098801860": "رجوع إلى الصفحة الرئيسية",
|
||||
"t_2_1744098804908": "نصيحة أمنية: إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمدير على الفور",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "دلو",
|
||||
"t_9_1747280810169": "نشر متكرر",
|
||||
"t_10_1747280816952": "عندما يكون الشهادة هي نفسها كما في النشر الأخير وكان النشر الأخير ناجحًا",
|
||||
"t_11_1747280809178": "تخطي",
|
||||
"t_12_1747280809893": "لا تتخطى",
|
||||
"t_13_1747280810369": "إعادة النشر",
|
||||
"t_14_1747280811231": "بحث نوع النشر",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "Skip",
|
||||
"t_0_1750320239265": "Please enter DogeCloud AccessKey",
|
||||
"t_1_1750320241427": "Please enter DogeCloud SecretKey",
|
||||
"t_2_1750320237611": "Skip sending notification",
|
||||
"t_3_1750320237991": "Send",
|
||||
"t_0_1744098811152": "Warning: You have entered an unknown area, the page you are visiting does not exist, please click the button to return to the homepage.",
|
||||
"t_1_1744098801860": "Return Home",
|
||||
"t_2_1744098804908": "Safety Tip: If you think this is an error, please contact the administrator immediately",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "Bucket",
|
||||
"t_9_1747280810169": "Repeated deployment",
|
||||
"t_10_1747280816952": "When the certificate is the same as the last deployment and the last deployment was successful",
|
||||
"t_11_1747280809178": "Skip",
|
||||
"t_12_1747280809893": "Do not skip",
|
||||
"t_13_1747280810369": "Re-deployment",
|
||||
"t_14_1747280811231": "Search deployment type",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "Saltar",
|
||||
"t_0_1750320239265": "Por favor ingrese la AccessKey de DogeCloud",
|
||||
"t_1_1750320241427": "Por favor ingrese la SecretKey de DogeCloud",
|
||||
"t_2_1750320237611": "Omitir el envío de notificación",
|
||||
"t_3_1750320237991": "Enviar",
|
||||
"t_0_1744098811152": "Advertencia: Ha ingresado a una zona desconocida, la página que intenta visitar no existe, por favor, haga clic en el botón para regresar a la página de inicio.",
|
||||
"t_1_1744098801860": "Volver al inicio",
|
||||
"t_2_1744098804908": "Consejo de seguridad: Si piensa que es un error, póngase en contacto con el administrador inmediatamente",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "Cubo",
|
||||
"t_9_1747280810169": "Implementación repetida",
|
||||
"t_10_1747280816952": "Cuando el certificado es el mismo que el último despliegue y el último despliegue fue exitoso",
|
||||
"t_11_1747280809178": "Saltar",
|
||||
"t_12_1747280809893": "No omitir",
|
||||
"t_13_1747280810369": "Redespliegue",
|
||||
"t_14_1747280811231": "Buscar tipo de implementación",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "Passer",
|
||||
"t_0_1750320239265": "Veuillez entrer la clé d'accès DogeCloud",
|
||||
"t_1_1750320241427": "Veuillez entrer la SecretKey de DogeCloud",
|
||||
"t_2_1750320237611": "Ignorer l'envoi de notification",
|
||||
"t_3_1750320237991": "Envoyer",
|
||||
"t_0_1744098811152": "Avertissement : Vous avez entré dans une zone inconnue, la page que vous visitez n'existe pas, veuillez cliquer sur le bouton pour revenir à la page d'accueil.",
|
||||
"t_1_1744098801860": "Retour à l'accueil",
|
||||
"t_2_1744098804908": "Avis de sécurité : Si vous pensez que c'est une erreur, veuillez contacter l'administrateur immédiatement",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "Seau",
|
||||
"t_9_1747280810169": "Déploiement répété",
|
||||
"t_10_1747280816952": "Lorsque le certificat est identique au dernier déploiement et que le dernier déploiement a réussi",
|
||||
"t_11_1747280809178": "Passer",
|
||||
"t_12_1747280809893": "Ne pas sauter",
|
||||
"t_13_1747280810369": "Redéploiement",
|
||||
"t_14_1747280811231": "Rechercher le type de déploiement",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "スキップ",
|
||||
"t_0_1750320239265": "DogeCloudのAccessKeyを入力してください",
|
||||
"t_1_1750320241427": "ドージークラウドのSecretKeyを入力してください",
|
||||
"t_2_1750320237611": "通知の送信をスキップ",
|
||||
"t_3_1750320237991": "送信",
|
||||
"t_0_1744098811152": "警告:未知のエリアに進入しました。アクセスしようとしたページは存在しません。ボタンをクリックしてホームページに戻ってください。",
|
||||
"t_1_1744098801860": "ホームに戻る",
|
||||
"t_2_1744098804908": "安全注意:これが誤りだと思われる場合は、すぐに管理者に連絡してください",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "バケット",
|
||||
"t_9_1747280810169": "重複デプロイ",
|
||||
"t_10_1747280816952": "前回の展開と同じ証明書で、前回の展開が成功した場合",
|
||||
"t_11_1747280809178": "スキップ",
|
||||
"t_12_1747280809893": "スキップしない",
|
||||
"t_13_1747280810369": "再展開",
|
||||
"t_14_1747280811231": "展開タイプを検索",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "건너뛰기",
|
||||
"t_0_1750320239265": "DogeCloud AccessKey를 입력하세요",
|
||||
"t_1_1750320241427": "도지클라우드 SecretKey를 입력하세요",
|
||||
"t_2_1750320237611": "알림 보내기 건너뛰기",
|
||||
"t_3_1750320237991": "보내기",
|
||||
"t_0_1744098811152": "경고: 알 수 없는 영역에 진입했습니다. 방문하려는 페이지가 존재하지 않습니다. 버튼을 클릭하여 홈페이지로 돌아가세요。",
|
||||
"t_1_1744098801860": "홈으로 돌아가기",
|
||||
"t_2_1744098804908": "안전 유의사항: 이가 오류라면 즉시 관리자에게 연락하십시오",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "버킷",
|
||||
"t_9_1747280810169": "반복 배포",
|
||||
"t_10_1747280816952": "이전 배포와 동일한 인증서이며 이전 배포가 성공한 경우",
|
||||
"t_11_1747280809178": "건너뛰기",
|
||||
"t_12_1747280809893": "건너뛰지 않음",
|
||||
"t_13_1747280810369": "재배치",
|
||||
"t_14_1747280811231": "배포 유형 검색",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "Pular",
|
||||
"t_0_1750320239265": "Por favor, insira o AccessKey do DogeCloud",
|
||||
"t_1_1750320241427": "Por favor, insira a SecretKey do DogeCloud",
|
||||
"t_2_1750320237611": "Pular envio de notificação",
|
||||
"t_3_1750320237991": "Enviar",
|
||||
"t_0_1744098811152": "Aviso: Você entrou em uma área desconhecida, a página que você está visitando não existe, por favor, clique no botão para voltar para a página inicial.",
|
||||
"t_1_1744098801860": "Voltar para a homepage",
|
||||
"t_2_1744098804908": "Dica de Segurança: Se você acha que isso é um erro, entre em contato com o administrador imediatamente",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "Balde",
|
||||
"t_9_1747280810169": "Implantações repetidas",
|
||||
"t_10_1747280816952": "Quando o certificado é o mesmo da última implantação e a última implantação foi bem-sucedida",
|
||||
"t_11_1747280809178": "Pular",
|
||||
"t_12_1747280809893": "Não pular",
|
||||
"t_13_1747280810369": "Reimplantação",
|
||||
"t_14_1747280811231": "Pesquisar tipo de implantação",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "Пропустить",
|
||||
"t_0_1750320239265": "Пожалуйста, введите DogeCloud AccessKey",
|
||||
"t_1_1750320241427": "Пожалуйста, введите SecretKey DogeCloud",
|
||||
"t_2_1750320237611": "Пропустить отправку уведомления",
|
||||
"t_3_1750320237991": "Отправить",
|
||||
"t_0_1744098811152": "Предупреждение: Вы вошли в неизвестную зону, посещаемая страница не существует, пожалуйста, нажмите кнопку, чтобы вернуться на главную страницу.",
|
||||
"t_1_1744098801860": "Вернуться на главную",
|
||||
"t_2_1744098804908": "Совет по безопасности: Если вы считаете, что это ошибка, немедленно свяжитесь с администратором",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "Ведро",
|
||||
"t_9_1747280810169": "Повторное развертывание",
|
||||
"t_10_1747280816952": "Когда сертификат совпадает с последним развертыванием и последнее развертывание было успешным",
|
||||
"t_11_1747280809178": "Пропустить",
|
||||
"t_12_1747280809893": "Не пропускать",
|
||||
"t_13_1747280810369": "Повторное развертывание",
|
||||
"t_14_1747280811231": "Поиск типа развертывания",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "跳过",
|
||||
"t_0_1750320239265": "请输入多吉云AccessKey",
|
||||
"t_1_1750320241427": "请输入多吉云SecretKey",
|
||||
"t_2_1750320237611": "跳过发送通知",
|
||||
"t_3_1750320237991": "发送",
|
||||
"t_0_1744098811152": "警告:您已进入未知区域,所访问的页面不存在,请点击按钮返回首页。",
|
||||
"t_1_1744098801860": "返回首页",
|
||||
"t_2_1744098804908": "安全提示:如果您认为这是个错误,请立即联系管理员",
|
||||
@@ -529,7 +534,6 @@
|
||||
"t_8_1747280809382": "存储桶",
|
||||
"t_9_1747280810169": "重复部署",
|
||||
"t_10_1747280816952": "当与上次部署的证书相同且上次部署成功时",
|
||||
"t_11_1747280809178": "跳过",
|
||||
"t_12_1747280809893": "不跳过",
|
||||
"t_13_1747280810369": "重新部署",
|
||||
"t_14_1747280811231": "搜索部署类型",
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
{
|
||||
"t_11_1747280809178": "跳過",
|
||||
"t_0_1750320239265": "請輸入多吉雲AccessKey",
|
||||
"t_1_1750320241427": "請輸入多吉雲SecretKey",
|
||||
"t_2_1750320237611": "跳過發送通知",
|
||||
"t_3_1750320237991": "發送",
|
||||
"t_0_1744098811152": "警告:您已進入未知區域,所訪問的頁面不存在,請點擊按鈕返回首頁。",
|
||||
"t_1_1744098801860": "返回首頁",
|
||||
"t_2_1744098804908": "安全提示:如果您認為這是個錯誤,請立即聯繫管理員",
|
||||
@@ -528,7 +533,6 @@
|
||||
"t_8_1747280809382": "儲存桶",
|
||||
"t_9_1747280810169": "重複部署",
|
||||
"t_10_1747280816952": "當與上次部署的證書相同且上次部署成功時",
|
||||
"t_11_1747280809178": "跳過",
|
||||
"t_12_1747280809893": "不跳過",
|
||||
"t_13_1747280810369": "重新部署",
|
||||
"t_14_1747280811231": "搜尋部署類型",
|
||||
|
||||
@@ -268,8 +268,8 @@ export interface JdcloudAccessConfig {
|
||||
* 多吉云授权配置
|
||||
*/
|
||||
export interface DogeAccessConfig {
|
||||
access_key_id: string
|
||||
access_key_secret: string
|
||||
access_key: string
|
||||
secret_key: string
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -361,6 +361,8 @@ export interface AcmeAccountDeleteParams {
|
||||
|
||||
// 保持向后兼容的类型别名
|
||||
export interface EabListParams {
|
||||
search?: string
|
||||
ca?: string
|
||||
p: number
|
||||
limit: number
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import BaseComponent from '@components/BaseLayout'
|
||||
export default defineComponent({
|
||||
name: 'AuthApiManage',
|
||||
setup() {
|
||||
const { TableComponent, PageComponent, param, fetch, total, openAddForm } = useController()
|
||||
const { TableComponent, PageComponent, SearchComponent, openAddForm } = useController()
|
||||
const cssVar = useThemeCssVar(['contentPadding', 'borderColor', 'headerHeight', 'iconColorHover'])
|
||||
|
||||
return () => (
|
||||
@@ -28,26 +28,7 @@ export default defineComponent({
|
||||
{$t('t_0_1745289355714')}
|
||||
</NButton>
|
||||
),
|
||||
headerRight: () => (
|
||||
<NInput
|
||||
v-model:value={param.value.search}
|
||||
onKeydown={(e: KeyboardEvent) => {
|
||||
if (e.key === 'Enter') fetch()
|
||||
}}
|
||||
onClear={() => useTimeoutFn(() => fetch(), 100)}
|
||||
placeholder={$t('t_0_1745289808449')}
|
||||
clearable
|
||||
size="large"
|
||||
class="min-w-[300px]"
|
||||
v-slots={{
|
||||
suffix: () => (
|
||||
<div class="flex items-center cursor-pointer" onClick={fetch}>
|
||||
<Search class="text-[var(--text-color-3)] w-[1.6rem] font-bold" />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
),
|
||||
headerRight: () => <SearchComponent placeholder={$t('t_0_1745289808449')} />,
|
||||
content: () => (
|
||||
<div class="rounded-lg">
|
||||
<TableComponent
|
||||
@@ -60,15 +41,7 @@ export default defineComponent({
|
||||
),
|
||||
footerRight: () => (
|
||||
<div class="mt-4 flex justify-end">
|
||||
<PageComponent
|
||||
v-slots={{
|
||||
prefix: () => (
|
||||
<span>
|
||||
{$t('t_15_1745227839354')} {total.value} {$t('t_16_1745227838930')}
|
||||
</span>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
<PageComponent />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
useModal,
|
||||
useDialog,
|
||||
useTable,
|
||||
useSearch,
|
||||
useModalHooks,
|
||||
useFormHooks,
|
||||
useForm,
|
||||
@@ -64,11 +65,11 @@ import { JSX } from 'vue/jsx-runtime'
|
||||
*/
|
||||
interface AuthApiManageControllerExposes {
|
||||
loading: Ref<boolean>
|
||||
fetch: () => Promise<void>
|
||||
fetch: (resetPage?: boolean) => Promise<void>
|
||||
TableComponent: (props: Record<string, unknown>, context: Record<string, unknown>) => VNode
|
||||
PageComponent: (props: Record<string, unknown>, context: Record<string, unknown>) => VNode
|
||||
SearchComponent: (props: Record<string, unknown>, context: Record<string, unknown>) => VNode
|
||||
param: Ref<AccessListParams>
|
||||
total: Ref<number>
|
||||
openAddForm: () => void
|
||||
}
|
||||
|
||||
@@ -183,7 +184,7 @@ export const useController = (): AuthApiManageControllerExposes => {
|
||||
]
|
||||
|
||||
// 表格实例
|
||||
const { TableComponent, PageComponent, loading, param, total, fetch } = useTable<AccessItem, AccessListParams>({
|
||||
const { TableComponent, PageComponent, loading, param, fetch } = useTable<AccessItem, AccessListParams>({
|
||||
config: createColumns(),
|
||||
request: fetchAccessList,
|
||||
watchValue: ['p', 'limit'],
|
||||
@@ -196,6 +197,14 @@ export const useController = (): AuthApiManageControllerExposes => {
|
||||
},
|
||||
})
|
||||
|
||||
// 搜索实例
|
||||
const { SearchComponent, search } = useSearch({
|
||||
onSearch: (value) => {
|
||||
param.value.search = value
|
||||
fetch()
|
||||
},
|
||||
})
|
||||
|
||||
/**
|
||||
* 打开添加授权API弹窗
|
||||
*/
|
||||
@@ -255,8 +264,8 @@ export const useController = (): AuthApiManageControllerExposes => {
|
||||
fetch,
|
||||
TableComponent,
|
||||
PageComponent,
|
||||
SearchComponent,
|
||||
param,
|
||||
total,
|
||||
openAddForm,
|
||||
}
|
||||
}
|
||||
@@ -403,32 +412,32 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
message: $t('t_0_1747617113090'),
|
||||
trigger: 'input',
|
||||
},
|
||||
access_key_id: {
|
||||
trigger: 'input',
|
||||
validator: (rule: FormItemRule, value: string, callback: (error?: Error) => void) => {
|
||||
if (!value) {
|
||||
const mapTips = {
|
||||
aliyun: $t('t_4_1745317314054'),
|
||||
doge: '请输入多吉云AccessKeyId',
|
||||
}
|
||||
return callback(new Error(mapTips[param.value.type as keyof typeof mapTips] || $t('t_4_1745317314054')))
|
||||
}
|
||||
callback()
|
||||
},
|
||||
},
|
||||
access_key_secret: {
|
||||
trigger: 'input',
|
||||
validator: (rule: FormItemRule, value: string, callback: (error?: Error) => void) => {
|
||||
if (!value) {
|
||||
const mapTips = {
|
||||
aliyun: $t('t_5_1745317315285'),
|
||||
doge: '请输入多吉云AccessKeySecret',
|
||||
}
|
||||
return callback(new Error(mapTips[param.value.type as keyof typeof mapTips] || $t('t_5_1745317315285')))
|
||||
}
|
||||
callback()
|
||||
},
|
||||
},
|
||||
// access_key_id: {
|
||||
// trigger: 'input',
|
||||
// validator: (rule: FormItemRule, value: string, callback: (error?: Error) => void) => {
|
||||
// if (!value) {
|
||||
// const mapTips = {
|
||||
// aliyun: $t('t_4_1745317314054'),
|
||||
// doge: '请输入多吉云AccessKeyId',
|
||||
// }
|
||||
// return callback(new Error(mapTips[param.value.type as keyof typeof mapTips] || $t('t_4_1745317314054')))
|
||||
// }
|
||||
// callback()
|
||||
// },
|
||||
// },
|
||||
// access_key_secret: {
|
||||
// trigger: 'input',
|
||||
// validator: (rule: FormItemRule, value: string, callback: (error?: Error) => void) => {
|
||||
// if (!value) {
|
||||
// const mapTips = {
|
||||
// aliyun: $t('t_5_1745317315285'),
|
||||
// doge: '请输入多吉云AccessKeySecret',
|
||||
// }
|
||||
// return callback(new Error(mapTips[param.value.type as keyof typeof mapTips] || $t('t_5_1745317315285')))
|
||||
// }
|
||||
// callback()
|
||||
// },
|
||||
// },
|
||||
secret_access_key: {
|
||||
required: true,
|
||||
message: '请输入Secret Access Key',
|
||||
@@ -478,6 +487,7 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
baidu: $t('t_3_1747271294475'),
|
||||
volcengine: $t('t_3_1747365600828'),
|
||||
qiniu: $t('t_3_1747984134586'),
|
||||
doge: $t('t_0_1750320239265'),
|
||||
}
|
||||
return callback(new Error(mapTips[param.value.type as keyof typeof mapTips]))
|
||||
}
|
||||
@@ -493,6 +503,7 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
huawei: $t('t_3_1747042967608'),
|
||||
baidu: $t('t_4_1747271294621'),
|
||||
volcengine: $t('t_4_1747365600137'),
|
||||
doge: $t('t_1_1750320241427'),
|
||||
}
|
||||
return callback(new Error(mapTips[param.value.type as keyof typeof mapTips]))
|
||||
}
|
||||
@@ -632,6 +643,7 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
case 'huaweicloud':
|
||||
case 'baidu':
|
||||
case 'volcengine':
|
||||
case 'doge':
|
||||
items.push(
|
||||
useFormInput('AccessKey', 'config.access_key', { allowInput: noSideSpace }),
|
||||
useFormInput('SecretKey', 'config.secret_key', { allowInput: noSideSpace }),
|
||||
@@ -711,12 +723,6 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
useFormInput('Secret Access Key', 'config.secret_access_key', { allowInput: noSideSpace }),
|
||||
)
|
||||
break
|
||||
case 'doge':
|
||||
items.push(
|
||||
useFormInput('AccessKeyId', 'config.access_key_id', { allowInput: noSideSpace }),
|
||||
useFormInput('AccessKeySecret', 'config.access_key_secret', { allowInput: noSideSpace }),
|
||||
)
|
||||
break
|
||||
case 'plugin':
|
||||
items.push(
|
||||
useFormCustom(() => {
|
||||
@@ -743,39 +749,39 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
</NFormItem>
|
||||
)
|
||||
}),
|
||||
useFormCustom(() => {
|
||||
const pluginConfig = param.value.config as PluginAccessConfig
|
||||
const getConfigValue = () => {
|
||||
return typeof pluginConfig.config === 'string'
|
||||
? pluginConfig.config
|
||||
: JSON.stringify(pluginConfig.config, null, 2)
|
||||
}
|
||||
return (
|
||||
<NFormItem
|
||||
path="config.params"
|
||||
v-slots={{
|
||||
label: () => (
|
||||
<div>
|
||||
<NText>自定义参数</NText>
|
||||
<NTooltip
|
||||
v-slots={{
|
||||
trigger: () => (
|
||||
<span class="inline-flex ml-2 -mt-1 cursor-pointer text-base rounded-full w-[14px] h-[14px] justify-center items-center text-orange-600 border border-orange-600">
|
||||
?
|
||||
</span>
|
||||
),
|
||||
}}
|
||||
>
|
||||
{pluginActionTips.value}
|
||||
</NTooltip>
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
>
|
||||
<NInput type="textarea" value={getConfigValue()} placeholder={pluginActionTips.value} rows={4} />
|
||||
</NFormItem>
|
||||
)
|
||||
}),
|
||||
useFormCustom(() => {
|
||||
const pluginConfig = param.value.config as PluginAccessConfig
|
||||
const getConfigValue = () => {
|
||||
return typeof pluginConfig.config === 'string'
|
||||
? pluginConfig.config
|
||||
: JSON.stringify(pluginConfig.config, null, 2)
|
||||
}
|
||||
return (
|
||||
<NFormItem
|
||||
path="config.params"
|
||||
v-slots={{
|
||||
label: () => (
|
||||
<div>
|
||||
<NText>自定义参数</NText>
|
||||
<NTooltip
|
||||
v-slots={{
|
||||
trigger: () => (
|
||||
<span class="inline-flex ml-2 -mt-1 cursor-pointer text-base rounded-full w-[14px] h-[14px] justify-center items-center text-orange-600 border border-orange-600">
|
||||
?
|
||||
</span>
|
||||
),
|
||||
}}
|
||||
>
|
||||
{pluginActionTips.value}
|
||||
</NTooltip>
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
>
|
||||
<NInput type="textarea" value={getConfigValue()} placeholder={pluginActionTips.value} rows={4} />
|
||||
</NFormItem>
|
||||
)
|
||||
}),
|
||||
)
|
||||
break
|
||||
default:
|
||||
@@ -904,8 +910,8 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
break
|
||||
case 'doge':
|
||||
param.value.config = {
|
||||
access_key_id: '',
|
||||
access_key_secret: '',
|
||||
access_key: '',
|
||||
secret_key: '',
|
||||
} as DogeAccessConfig
|
||||
break
|
||||
case 'plugin':
|
||||
|
||||
@@ -189,6 +189,13 @@ export function createNodeFormConfig() {
|
||||
]
|
||||
},
|
||||
|
||||
/**
|
||||
* 创建阿里云ESA相关字段
|
||||
*/
|
||||
aliyunEsaDeploy() {
|
||||
return [this.input('站点ID', 'site_id', { placeholder: '请输入ESA站点ID' })]
|
||||
},
|
||||
|
||||
/**
|
||||
* 创建跳过选项字段
|
||||
* @param valueRef 值引用
|
||||
|
||||
@@ -1,13 +1,29 @@
|
||||
import { NFormItem, NInputNumber, NSwitch } from 'naive-ui'
|
||||
import {
|
||||
NFormItem,
|
||||
NInputNumber,
|
||||
NSwitch,
|
||||
NSelect,
|
||||
NAutoComplete,
|
||||
NInput,
|
||||
NFlex,
|
||||
NText,
|
||||
NButton,
|
||||
NGrid,
|
||||
NFormItemGi,
|
||||
NSpin,
|
||||
NDropdown,
|
||||
} from 'naive-ui'
|
||||
import { useForm, useFormHooks, useModalHooks } from '@baota/naive-ui/hooks'
|
||||
import { useStore } from '@components/FlowChart/useStore'
|
||||
import { $t } from '@locales/index'
|
||||
import rules from './verify'
|
||||
import DnsProviderSelect from '@components/DnsProviderSelect'
|
||||
import CAProviderSelect from '@components/CAProviderSelect'
|
||||
import type { ApplyNodeConfig } from '@components/FlowChart/types'
|
||||
import { deepClone } from '@baota/utils/data'
|
||||
import { noSideSpace } from '@lib/utils'
|
||||
import { getEabList } from '@api/access'
|
||||
import SvgIcon from '@components/SvgIcon'
|
||||
import { CACertificateAuthorization } from '@config/data'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'ApplyNodeDrawer',
|
||||
@@ -45,6 +61,150 @@ export default defineComponent({
|
||||
// 表单参数
|
||||
const param = ref(deepClone(props.node.config))
|
||||
|
||||
// CA选项状态
|
||||
const caOptions = ref<Array<{ label: string; value: string; icon: string }>>([])
|
||||
const emailOptions = ref<string[]>([])
|
||||
const isLoadingCA = ref(false)
|
||||
const isLoadingEmails = ref(false)
|
||||
const showEmailDropdown = ref(false)
|
||||
const emailInputRef = ref<any>(null)
|
||||
|
||||
// 加载CA选项
|
||||
const loadCAOptions = async () => {
|
||||
isLoadingCA.value = true
|
||||
try {
|
||||
const { data } = await getEabList({ ca: '', p: 1, limit: 1000 }).fetch()
|
||||
const uniqueCATypes = new Set<string>()
|
||||
const caList: Array<{ label: string; value: string; icon: string }> = []
|
||||
|
||||
// 优先添加重要的CA类型(确保始终显示)
|
||||
const priorityCATypes = ['letsencrypt', 'buypass', 'zerossl']
|
||||
priorityCATypes.forEach((caType) => {
|
||||
if (!uniqueCATypes.has(caType)) {
|
||||
uniqueCATypes.add(caType)
|
||||
const predefinedCA = Object.values(CACertificateAuthorization).find((ca) => ca.type === caType)
|
||||
caList.push({
|
||||
label: predefinedCA ? predefinedCA.name : caType.toUpperCase(),
|
||||
value: caType,
|
||||
icon: `cert-${caType}`,
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
// 添加API返回的其他CA类型(去重)
|
||||
data?.forEach((item) => {
|
||||
if (item.ca && !uniqueCATypes.has(item.ca)) {
|
||||
uniqueCATypes.add(item.ca)
|
||||
|
||||
// 查找预定义配置中对应的CA信息
|
||||
const predefinedCA = Object.values(CACertificateAuthorization).find((ca) => ca.type === item.ca)
|
||||
caList.push({
|
||||
label: predefinedCA ? predefinedCA.name : item.ca.toUpperCase(),
|
||||
value: item.ca,
|
||||
icon: predefinedCA ? `cert-${item.ca}` : 'cert-custom', // 如果不在预定义配置中,使用custom图标;否则使用对应的cert图标
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
caOptions.value = caList
|
||||
} catch (error) {
|
||||
console.error('加载CA选项失败:', error)
|
||||
} finally {
|
||||
isLoadingCA.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// 加载邮件选项
|
||||
const loadEmailOptions = async (ca: string) => {
|
||||
if (!ca) return
|
||||
isLoadingEmails.value = true
|
||||
try {
|
||||
const { data } = await getEabList({ ca, p: 1, limit: 1000 }).fetch()
|
||||
emailOptions.value = data?.map((item) => item.email).filter(Boolean) || []
|
||||
if (!emailOptions.value.length) {
|
||||
param.value.email = ''
|
||||
}
|
||||
// 如果邮箱数组有内容且当前邮箱为空,自动填充第一个邮箱地址
|
||||
if (emailOptions.value.length > 0 && emailOptions.value[0]) {
|
||||
param.value.email = emailOptions.value[0]
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('加载邮件选项失败:', error)
|
||||
} finally {
|
||||
isLoadingEmails.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// 处理CA选择变化
|
||||
const handleCAChange = (value: string) => {
|
||||
param.value.ca = value
|
||||
loadEmailOptions(value)
|
||||
}
|
||||
|
||||
// 跳转到CA管理页面
|
||||
const goToAddCAProvider = () => {
|
||||
window.open('/auto-deploy?type=caManage', '_blank')
|
||||
}
|
||||
|
||||
// 渲染CA选择器标签
|
||||
const renderLabel = (option: { label: string; value: string; icon: string }) => {
|
||||
return (
|
||||
<NFlex align="center">
|
||||
<SvgIcon icon={option.icon} size="2rem" />
|
||||
<NText>{option.label}</NText>
|
||||
</NFlex>
|
||||
)
|
||||
}
|
||||
|
||||
// 渲染CA选择器单选标签
|
||||
const renderSingleSelectTag = ({ option }: { option: any }) => {
|
||||
return (
|
||||
<NFlex align="center">
|
||||
{option.label ? renderLabel(option) : <NText class="text-[#aaa]">{$t('t_0_1747990228780')}</NText>}
|
||||
</NFlex>
|
||||
)
|
||||
}
|
||||
|
||||
// 过滤函数
|
||||
const handleFilter = (pattern: string, option: any): boolean => {
|
||||
return option.label.toLowerCase().includes(pattern.toLowerCase())
|
||||
}
|
||||
|
||||
// 处理邮箱输入框焦点
|
||||
const handleEmailFocus = () => {
|
||||
if (emailOptions.value.length > 0) {
|
||||
showEmailDropdown.value = true
|
||||
}
|
||||
}
|
||||
|
||||
// 处理邮箱输入框失焦
|
||||
const handleEmailBlur = () => {
|
||||
// 延迟关闭下拉,确保点击选项有时间触发
|
||||
setTimeout(() => {
|
||||
showEmailDropdown.value = false
|
||||
}, 200)
|
||||
}
|
||||
|
||||
// 选择邮箱地址
|
||||
const handleSelectEmail = (email: string) => {
|
||||
param.value.email = email
|
||||
showEmailDropdown.value = false
|
||||
emailInputRef.value?.blur()
|
||||
}
|
||||
|
||||
// 创建邮箱下拉选项
|
||||
const emailDropdownOptions = computed(() => {
|
||||
return emailOptions.value.map((email) => ({
|
||||
label: email,
|
||||
key: email,
|
||||
}))
|
||||
})
|
||||
|
||||
// 判断是否需要输入框(letsencrypt、buypass、zerossl)
|
||||
const shouldUseInputForEmail = computed(() => {
|
||||
return ['letsencrypt', 'buypass', 'zerossl'].includes(param.value.ca)
|
||||
})
|
||||
|
||||
// 表单渲染配置
|
||||
const config = computed(() => {
|
||||
// 基本选项
|
||||
@@ -80,27 +240,80 @@ export default defineComponent({
|
||||
type: 'custom' as const,
|
||||
render: () => {
|
||||
return (
|
||||
<CAProviderSelect
|
||||
path="eabId"
|
||||
value={param.value.eabId}
|
||||
email={param.value.email}
|
||||
ca={param.value.ca}
|
||||
{...{
|
||||
'onUpdate:value': (val: { value: string; ca: string; email: string }) => {
|
||||
param.value.eabId = val.value
|
||||
param.value.ca = val.ca
|
||||
// 始终更新邮件,确保 Let's Encrypt 和 Buypass 的邮件能正确显示
|
||||
param.value.email = val.email
|
||||
},
|
||||
}}
|
||||
/>
|
||||
<NSpin show={isLoadingCA.value}>
|
||||
<NGrid cols={24}>
|
||||
<NFormItemGi span={13} label={$t('证书CA')} path="ca" showRequireMark={true}>
|
||||
<NSelect
|
||||
value={param.value.ca}
|
||||
options={caOptions.value}
|
||||
renderLabel={renderLabel}
|
||||
renderTag={renderSingleSelectTag}
|
||||
filterable
|
||||
filter={handleFilter}
|
||||
loading={isLoadingCA.value}
|
||||
placeholder={$t('t_0_1747990228780')}
|
||||
onUpdateValue={handleCAChange}
|
||||
class="flex-1 w-full"
|
||||
v-slots={{
|
||||
empty: () => {
|
||||
return <span class="text-[1.4rem]">{$t('t_2_1747990228008')}</span>
|
||||
},
|
||||
}}
|
||||
/>
|
||||
</NFormItemGi>
|
||||
<NFormItemGi span={11}>
|
||||
<NButton class="mx-[8px]" onClick={goToAddCAProvider}>
|
||||
{$t('添加CA授权')}
|
||||
</NButton>
|
||||
<NButton onClick={loadCAOptions} loading={isLoadingCA.value}>
|
||||
{$t('t_0_1746497662220')}
|
||||
</NButton>
|
||||
</NFormItemGi>
|
||||
</NGrid>
|
||||
</NSpin>
|
||||
)
|
||||
},
|
||||
},
|
||||
{
|
||||
type: 'custom' as const,
|
||||
render: () => {
|
||||
return (
|
||||
<NFormItem label={$t('t_68_1745289354676')} path="email">
|
||||
{shouldUseInputForEmail.value ? (
|
||||
<NDropdown
|
||||
trigger="manual"
|
||||
show={showEmailDropdown.value}
|
||||
options={emailDropdownOptions.value}
|
||||
onSelect={handleSelectEmail}
|
||||
placement="bottom-start"
|
||||
style="width: 100%"
|
||||
>
|
||||
<NInput
|
||||
ref={emailInputRef}
|
||||
v-model:value={param.value.email}
|
||||
placeholder={$t('t_2_1748052862259')}
|
||||
clearable
|
||||
loading={isLoadingEmails.value}
|
||||
onFocus={handleEmailFocus}
|
||||
onBlur={handleEmailBlur}
|
||||
class="w-full"
|
||||
/>
|
||||
</NDropdown>
|
||||
) : (
|
||||
<NSelect
|
||||
v-model:value={param.value.email}
|
||||
options={emailOptions.value.map((email) => ({ label: email, value: email }))}
|
||||
placeholder={$t('t_2_1748052862259')}
|
||||
clearable
|
||||
filterable
|
||||
loading={isLoadingEmails.value}
|
||||
class="w-full"
|
||||
/>
|
||||
)}
|
||||
</NFormItem>
|
||||
)
|
||||
},
|
||||
},
|
||||
useFormInput($t('t_68_1745289354676'), 'email', {
|
||||
placeholder: $t('t_2_1748052862259'),
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
|
||||
{
|
||||
type: 'custom' as const,
|
||||
@@ -232,8 +445,37 @@ export default defineComponent({
|
||||
// 创建表单实例
|
||||
const { component: Form, data, example } = useForm<ApplyNodeConfig>({ defaultValue: param, config, rules })
|
||||
|
||||
onMounted(() => {
|
||||
// 监听CA值变化,自动加载邮箱选项
|
||||
watch(
|
||||
() => param.value.ca,
|
||||
async (newCA) => {
|
||||
if (newCA) {
|
||||
await loadEmailOptions(newCA)
|
||||
} else {
|
||||
emailOptions.value = []
|
||||
param.value.email = ''
|
||||
showEmailDropdown.value = false
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
// 监听邮箱选项变化,如果当前下拉显示且没有选项了就关闭下拉
|
||||
watch(
|
||||
() => emailOptions.value,
|
||||
(newOptions) => {
|
||||
if (showEmailDropdown.value && newOptions.length === 0) {
|
||||
showEmailDropdown.value = false
|
||||
}
|
||||
},
|
||||
)
|
||||
|
||||
onMounted(async () => {
|
||||
advancedOptions.value = false
|
||||
await loadCAOptions()
|
||||
// 如果初始化时已有CA值,加载对应的邮箱选项
|
||||
if (param.value.ca) {
|
||||
await loadEmailOptions(param.value.ca)
|
||||
}
|
||||
})
|
||||
|
||||
// 确认事件触发
|
||||
|
||||
@@ -225,6 +225,9 @@ export default defineComponent({
|
||||
case 'aliyun-oss':
|
||||
config.push(...formConfig.storageDeploy())
|
||||
break
|
||||
case 'aliyun-esa':
|
||||
config.push(...formConfig.aliyunEsaDeploy())
|
||||
break
|
||||
case 'plugin':
|
||||
// 插件部署配置
|
||||
config.push(
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { FormRules } from 'naive-ui'
|
||||
import { $t } from '@locales/index'
|
||||
import { createNodeValidator } from '@workflowView/lib/NodeValidator'
|
||||
import { isDomain } from '@baota/utils/business'
|
||||
import { isDomain, isWildcardDomain } from '@baota/utils/business'
|
||||
|
||||
// 创建部署节点验证器
|
||||
const validator = createNodeValidator($t('t_11_1747817612051'))
|
||||
@@ -51,7 +51,7 @@ export default {
|
||||
if (!value) {
|
||||
return new Error($t('t_0_1744958839535'))
|
||||
}
|
||||
if (!isDomain(value)) {
|
||||
if (!isWildcardDomain(value)) {
|
||||
return new Error($t('t_0_1744958839535'))
|
||||
}
|
||||
return true
|
||||
|
||||
@@ -11,6 +11,7 @@ import verify from './verify'
|
||||
import { NotifyNodeConfig } from '@components/FlowChart/types'
|
||||
import { deepClone } from '@baota/utils/data'
|
||||
import { noSideSpace } from '@lib/utils'
|
||||
import { NSwitch, NFormItem, NText } from 'naive-ui'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'NotifyNodeDrawer',
|
||||
@@ -25,6 +26,7 @@ export default defineComponent({
|
||||
provider_id: '',
|
||||
subject: '',
|
||||
body: '',
|
||||
skip: false,
|
||||
},
|
||||
}),
|
||||
},
|
||||
@@ -36,6 +38,14 @@ export default defineComponent({
|
||||
const { handleError } = useError()
|
||||
const param = ref(deepClone(props.node.config))
|
||||
|
||||
// 创建一个用于开关的响应式值(发送通知的状态)
|
||||
const shouldSendNotify = computed({
|
||||
get: () => !param.value.skip,
|
||||
set: (value: boolean) => {
|
||||
param.value.skip = !value
|
||||
},
|
||||
})
|
||||
|
||||
// 表单渲染配置
|
||||
const formConfig: FormConfig = [
|
||||
useFormInput($t('t_0_1745920566646'), 'subject', {
|
||||
@@ -58,6 +68,21 @@ export default defineComponent({
|
||||
}}
|
||||
/>
|
||||
)),
|
||||
useFormCustom(() => (
|
||||
<NFormItem label={$t('t_2_1750320237611')} path="skip">
|
||||
<NText>当结果来源为跳过状态时</NText>
|
||||
<NSwitch
|
||||
v-model:value={shouldSendNotify.value}
|
||||
checkedValue={true}
|
||||
uncheckedValue={false}
|
||||
class="mx-[.5rem]"
|
||||
v-slots={{
|
||||
checked: () => $t('t_3_1750320237991'),
|
||||
unchecked: () => $t('t_11_1747280809178'),
|
||||
}}
|
||||
/>
|
||||
</NFormItem>
|
||||
)),
|
||||
]
|
||||
|
||||
// 创建表单实例
|
||||
|
||||
@@ -11,6 +11,7 @@ import type { FormConfig } from '@baota/naive-ui/types/form'
|
||||
import type { VNode } from 'vue'
|
||||
import { useError } from '@baota/hooks/error'
|
||||
import { deepClone } from '@baota/utils/data'
|
||||
import { isUndefined } from '@baota/utils/type'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'StartNodeDrawer',
|
||||
@@ -27,7 +28,7 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
const { updateNodeConfig, isRefreshNode } = useStore()
|
||||
const { updateNodeConfig, isRefreshNode, flowData } = useStore()
|
||||
// 弹窗辅助
|
||||
const { confirm } = useModalHooks()
|
||||
// 错误处理
|
||||
@@ -90,7 +91,17 @@ export default defineComponent({
|
||||
return (
|
||||
<NGrid cols={24} xGap={24}>
|
||||
<NFormItemGi label={$t('t_2_1744879616413')} span={8} showRequireMark path="type">
|
||||
<NSelect class="w-full" options={cycleTypeOptions} v-model:value={param.value.type} />
|
||||
<NSelect
|
||||
class="w-full"
|
||||
options={cycleTypeOptions}
|
||||
v-model:value={param.value.type}
|
||||
onUpdateValue={(val: 'day' | 'week' | 'month') => {
|
||||
if (val) {
|
||||
param.value.type = val
|
||||
updateParamValueByType(val)
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</NFormItemGi>
|
||||
|
||||
{param.value.type !== 'day' && (
|
||||
@@ -99,9 +110,7 @@ export default defineComponent({
|
||||
<NSelect
|
||||
value={param.value.week}
|
||||
onUpdateValue={(val: number) => {
|
||||
if (typeof val === 'number') {
|
||||
param.value.week = val
|
||||
}
|
||||
param.value.week = val
|
||||
}}
|
||||
options={weekOptions}
|
||||
/>
|
||||
@@ -161,19 +170,24 @@ export default defineComponent({
|
||||
|
||||
// 更新参数的函数
|
||||
const updateParamValue = (updates: StartNodeConfig) => {
|
||||
console.log(updates)
|
||||
let newParams = { ...updates }
|
||||
if (newParams.exec_type === 'manual') {
|
||||
// 小时随机 1-6
|
||||
const randomHour = Math.floor(Math.random() * 6) + 1
|
||||
// 分钟每5分钟随机,0-55
|
||||
const randomMinute = Math.floor(Math.random() * 12) * 5
|
||||
newParams = {
|
||||
...newParams,
|
||||
hour: randomHour,
|
||||
minute: randomMinute,
|
||||
}
|
||||
param.value = newParams
|
||||
// if (newParams.exec_type === 'manual') {
|
||||
// 小时随机 1-6
|
||||
const randomHour = Math.floor(Math.random() * 4) + 1
|
||||
// 分钟每5分钟随机,0-55
|
||||
const randomMinute = Math.floor(Math.random() * 12) * 5
|
||||
newParams = {
|
||||
...newParams,
|
||||
hour: randomHour,
|
||||
minute: randomMinute,
|
||||
}
|
||||
param.value = newParams
|
||||
// }
|
||||
}
|
||||
|
||||
const updateParamValueByType = (type: 'day' | 'week' | 'month') => {
|
||||
updateParamValue(DEFAULT_AUTO_SETTINGS[type] as StartNodeConfig)
|
||||
}
|
||||
|
||||
// 监听执行类型变化
|
||||
@@ -210,6 +224,13 @@ export default defineComponent({
|
||||
}
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
if (isUndefined(flowData.value.id)) {
|
||||
updateParamValueByType('day')
|
||||
updateNodeConfig(props.node.id, param.value) // 更新节点配置
|
||||
}
|
||||
})
|
||||
|
||||
return () => (
|
||||
<div class="apply-node-drawer">
|
||||
<Form labelPlacement="top" />
|
||||
|
||||
@@ -18,7 +18,7 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
setup(props) {
|
||||
const { TableComponent, PageComponent, handleOpenAddForm, total } = useCAManageController(props)
|
||||
const { TableComponent, PageComponent, handleOpenAddForm } = useCAManageController(props)
|
||||
return () => (
|
||||
<BaseComponent
|
||||
v-slots={{
|
||||
@@ -40,15 +40,7 @@ export default defineComponent({
|
||||
),
|
||||
footerRight: () => (
|
||||
<div class="flex justify-end mt-4">
|
||||
<PageComponent
|
||||
v-slots={{
|
||||
prefix: () => (
|
||||
<span>
|
||||
{$t('t_15_1745227839354')} {total.value} {$t('t_16_1745227838930')}
|
||||
</span>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
<PageComponent />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
|
||||
@@ -18,15 +18,14 @@ export default defineComponent({
|
||||
const {
|
||||
TableComponent,
|
||||
PageComponent,
|
||||
SearchComponent,
|
||||
isDetectionAddWorkflow,
|
||||
isDetectionOpenCAManage,
|
||||
isDetectionOpenAddCAForm,
|
||||
handleAddWorkflow,
|
||||
handleOpenCAManage,
|
||||
hasChildRoutes,
|
||||
param,
|
||||
fetch,
|
||||
data,
|
||||
} = useController()
|
||||
const router = useRouter()
|
||||
// 获取主题变量
|
||||
@@ -65,26 +64,7 @@ export default defineComponent({
|
||||
</NButton>
|
||||
</NSpace>
|
||||
),
|
||||
headerRight: () => (
|
||||
<NInput
|
||||
v-model:value={param.value.search}
|
||||
onKeydown={(e: KeyboardEvent) => {
|
||||
if (e.key === 'Enter') fetch()
|
||||
}}
|
||||
onClear={() => useTimeoutFn(fetch, 100)}
|
||||
placeholder={$t('t_1_1745227838776')}
|
||||
clearable
|
||||
size="large"
|
||||
class="min-w-[300px]"
|
||||
v-slots={{
|
||||
suffix: () => (
|
||||
<div class="flex items-center" onClick={fetch}>
|
||||
<Search class="text-[var(--text-color-3)] w-[1.6rem] cursor-pointer font-bold" />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
></NInput>
|
||||
),
|
||||
headerRight: () => <SearchComponent placeholder={$t('t_1_1745227838776')} />,
|
||||
content: () => (
|
||||
<div class="rounded-lg ">
|
||||
<TableComponent
|
||||
@@ -99,11 +79,7 @@ export default defineComponent({
|
||||
),
|
||||
footerRight: () => (
|
||||
<div class="mt-4 flex justify-end">
|
||||
<PageComponent
|
||||
v-slots={{
|
||||
prefix: () => <span>{$t('t_0_1746773350551', [data.value.total])}</span>,
|
||||
}}
|
||||
/>
|
||||
<PageComponent />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
|
||||
@@ -1,7 +1,16 @@
|
||||
import { NSwitch, NTag, NButton, NSpace, NFlex, NText, NFormItem, NSelect } from 'naive-ui'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { useStore } from '@autoDeploy/useStore'
|
||||
import { useDialog, useTable, useModal, useFormHooks, useForm, useModalHooks, useMessage } from '@baota/naive-ui/hooks'
|
||||
import {
|
||||
useDialog,
|
||||
useTable,
|
||||
useModal,
|
||||
useFormHooks,
|
||||
useForm,
|
||||
useModalHooks,
|
||||
useMessage,
|
||||
useSearch,
|
||||
} from '@baota/naive-ui/hooks'
|
||||
import { useStore as useWorkflowViewStore } from '@autoDeploy/children/workflowView/useStore'
|
||||
import { useError } from '@baota/hooks/error'
|
||||
import AddWorkflowModal from './components/WorkflowModal'
|
||||
@@ -152,7 +161,7 @@ export const useController = () => {
|
||||
]
|
||||
|
||||
// 表格实例
|
||||
const { TableComponent, PageComponent, loading, param, data, fetch } = useTable<WorkflowItem, WorkflowListParams>({
|
||||
const { TableComponent, PageComponent, loading, param, fetch } = useTable<WorkflowItem, WorkflowListParams>({
|
||||
config: createColumns(),
|
||||
request: fetchWorkflowList,
|
||||
storage: 'autoDeployPageSize',
|
||||
@@ -161,6 +170,14 @@ export const useController = () => {
|
||||
watchValue: ['p', 'limit'],
|
||||
})
|
||||
|
||||
// 搜索实例
|
||||
const { SearchComponent } = useSearch({
|
||||
onSearch: (value) => {
|
||||
param.value.search = value
|
||||
fetch()
|
||||
},
|
||||
})
|
||||
|
||||
// 节流渲染
|
||||
const throttleFn = useThrottleFn(() => {
|
||||
setTimeout(() => {
|
||||
@@ -229,7 +246,7 @@ export const useController = () => {
|
||||
title: exec_type === 'manual' ? $t('t_2_1745457488661') : $t('t_3_1745457486983'),
|
||||
content: exec_type === 'manual' ? $t('t_4_1745457497303') : $t('t_5_1745457494695'),
|
||||
onPositiveClick: () => setWorkflowExecType({ id, exec_type }),
|
||||
onNegativeClick: fetch,
|
||||
onNegativeClick: () => fetch(),
|
||||
onClose: fetch,
|
||||
})
|
||||
}
|
||||
@@ -243,8 +260,8 @@ export const useController = () => {
|
||||
title: !active ? $t('t_6_1745457487560') : $t('t_7_1745457487185'),
|
||||
content: !active ? $t('t_8_1745457496621') : $t('t_9_1745457500045'),
|
||||
onPositiveClick: () => setWorkflowActive({ id, active }),
|
||||
onNegativeClick: fetch,
|
||||
onClose: fetch,
|
||||
onNegativeClick: () => fetch(),
|
||||
onClose: () => fetch(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -335,6 +352,7 @@ export const useController = () => {
|
||||
return {
|
||||
TableComponent,
|
||||
PageComponent,
|
||||
SearchComponent,
|
||||
isDetectionAddWorkflow, // 检测是否需要添加工作流
|
||||
isDetectionOpenCAManage, // 检测是否需要打开CA授权管理弹窗
|
||||
isDetectionOpenAddCAForm, // 检测是否需要打开添加CA授权弹窗
|
||||
@@ -348,7 +366,6 @@ export const useController = () => {
|
||||
handleOpenCAManage, // 打开CA授权管理弹窗
|
||||
hasChildRoutes,
|
||||
fetch,
|
||||
data,
|
||||
loading,
|
||||
param,
|
||||
}
|
||||
@@ -504,8 +521,14 @@ export const useHistoryController = (id: string) => {
|
||||
* @returns 返回CA授权类型名称
|
||||
*/
|
||||
const handleCertAuth = (type: string) => {
|
||||
const name = type.replaceAll('.', '').replaceAll("'", '').replaceAll(' ', '').toLowerCase() // 处理类型中的特殊字符
|
||||
return CACertificateAuthorization[name as keyof typeof CACertificateAuthorization].type
|
||||
// console.log(type)
|
||||
try {
|
||||
const name = type.replaceAll('.', '').replaceAll("'", '').replaceAll(' ', '').toLowerCase() // 处理类型中的特殊字符
|
||||
const caType = CACertificateAuthorization[name as keyof typeof CACertificateAuthorization].type
|
||||
return { type: caType, icon: type }
|
||||
} catch (error) {
|
||||
return { type, icon: 'custom' }
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -528,11 +551,11 @@ export const useCAManageController = (props: { type: string }) => {
|
||||
key: 'ca',
|
||||
width: 200,
|
||||
render: (row: EabItem) => {
|
||||
const name = handleCertAuth(row.ca)
|
||||
const { type, icon } = handleCertAuth(row.ca)
|
||||
return (
|
||||
<NFlex align="center">
|
||||
<SvgIcon icon={`cert-${name}`} size="2rem" />
|
||||
<NText>{name}</NText>
|
||||
<SvgIcon icon={`cert-${icon}`} size="2rem" />
|
||||
<NText>{type}</NText>
|
||||
</NFlex>
|
||||
)
|
||||
},
|
||||
@@ -606,10 +629,14 @@ export const useCAManageController = (props: { type: string }) => {
|
||||
* @param {EabItem} row - CA授权数据
|
||||
*/
|
||||
const handleEdit = (row: EabItem) => {
|
||||
const caTypes = Object.values(CACertificateAuthorization).map((item) => item.type)
|
||||
const isCustomCa = !caTypes.includes(row.ca)
|
||||
|
||||
// 填充表单数据 - 添加编辑模式标识
|
||||
Object.assign(caFormData.value, {
|
||||
email: row.email,
|
||||
ca: row.ca,
|
||||
ca: isCustomCa ? 'custom' : row.ca,
|
||||
caName: isCustomCa ? row.ca : '',
|
||||
Kid: row.Kid || '',
|
||||
HmacEncoded: row.HmacEncoded || '',
|
||||
CADirURL: row.CADirURL || '',
|
||||
@@ -666,7 +693,6 @@ export const useCAManageController = (props: { type: string }) => {
|
||||
*/
|
||||
export const useCAFormController = (props?: { isEdit?: boolean; editId?: string }) => {
|
||||
const { handleError } = useError()
|
||||
const message = useMessage()
|
||||
const { confirm } = useModalHooks()
|
||||
const { useFormInput, useFormCustom } = useFormHooks()
|
||||
|
||||
@@ -710,10 +736,26 @@ export const useCAFormController = (props?: { isEdit?: boolean; editId?: string
|
||||
|
||||
// 自定义类型必填 CADirURL
|
||||
if (currentCa === 'custom') {
|
||||
rules.caName = {
|
||||
required: true,
|
||||
message: '请输入CA名称',
|
||||
trigger: ['blur', 'input'],
|
||||
}
|
||||
rules.CADirURL = {
|
||||
required: true,
|
||||
message: $t('t_4_1750129259795'),
|
||||
trigger: ['blur', 'input'],
|
||||
validator: (rule: any, value: string) => {
|
||||
if (!value) {
|
||||
return new Error('请输入CA目录URL')
|
||||
}
|
||||
// Basic URL validation
|
||||
try {
|
||||
new URL(value)
|
||||
return true
|
||||
} catch (e) {
|
||||
return new Error('请输入有效的URL地址')
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -769,9 +811,6 @@ export const useCAFormController = (props?: { isEdit?: boolean; editId?: string
|
||||
|
||||
// 表单配置
|
||||
const formConfig = computed(() => [
|
||||
useFormInput($t('t_1_1745735764953'), 'email', {
|
||||
placeholder: $t('t_0_1747965909665'),
|
||||
}),
|
||||
useFormCustom(() => {
|
||||
return (
|
||||
<NFormItem label={$t('t_9_1747903669360')} path="ca">
|
||||
@@ -792,11 +831,17 @@ export const useCAFormController = (props?: { isEdit?: boolean; editId?: string
|
||||
</NFormItem>
|
||||
)
|
||||
}),
|
||||
useFormInput($t('t_1_1745735764953'), 'email', {
|
||||
placeholder: $t('t_0_1747965909665'),
|
||||
}),
|
||||
// 条件显示CADirURL字段
|
||||
...(shouldShowCADirURL.value
|
||||
? [
|
||||
useFormInput($t('t_5_1750129253961'), 'CADirURL', {
|
||||
placeholder: $t('t_6_1750129255766'),
|
||||
useFormInput('CA名称', 'caName', {
|
||||
placeholder: '请输入CA提供商名称',
|
||||
}),
|
||||
useFormInput($t('ACME服务URL地址'), 'CADirURL', {
|
||||
placeholder: $t('请输入ACME服务URL地址'),
|
||||
}),
|
||||
]
|
||||
: []),
|
||||
@@ -828,12 +873,17 @@ export const useCAFormController = (props?: { isEdit?: boolean; editId?: string
|
||||
// 提交表单
|
||||
const submitForm = async (formData: any) => {
|
||||
try {
|
||||
const dataToSubmit = { ...formData }
|
||||
if (dataToSubmit.ca === 'custom') {
|
||||
dataToSubmit.ca = dataToSubmit.caName
|
||||
}
|
||||
delete dataToSubmit.caName // 删除临时字段
|
||||
if (props?.isEdit && props?.editId) {
|
||||
// 编辑模式
|
||||
await updateExistingEab({ ...formData, id: props.editId })
|
||||
await updateExistingEab({ ...dataToSubmit, id: props.editId })
|
||||
} else {
|
||||
// 新增模式
|
||||
await addNewEab(formData)
|
||||
await addNewEab(dataToSubmit)
|
||||
}
|
||||
return true
|
||||
} catch (error) {
|
||||
@@ -843,7 +893,7 @@ export const useCAFormController = (props?: { isEdit?: boolean; editId?: string
|
||||
}
|
||||
|
||||
// 表单实例
|
||||
const { component: CAForm } = useForm({
|
||||
const { component: CAForm, fetch } = useForm({
|
||||
config: formConfig,
|
||||
rules: getFormRules(),
|
||||
defaultValue: caFormData,
|
||||
@@ -853,7 +903,7 @@ export const useCAFormController = (props?: { isEdit?: boolean; editId?: string
|
||||
// 确认提交表单
|
||||
confirm(async (close) => {
|
||||
try {
|
||||
await submitForm(caFormData.value)
|
||||
await fetch()
|
||||
close()
|
||||
} catch (error) {
|
||||
handleError(error)
|
||||
|
||||
@@ -13,12 +13,10 @@ import EmptyState from '@components/TableEmptyState'
|
||||
export default defineComponent({
|
||||
name: 'CertManage',
|
||||
setup() {
|
||||
const { TableComponent, PageComponent, fetch, data, param, openUploadModal, getRowClassName } = useController()
|
||||
const { TableComponent, PageComponent, SearchComponent, openUploadModal, getRowClassName } = useController()
|
||||
|
||||
const cssVar = useThemeCssVar(['contentPadding', 'borderColor', 'headerHeight', 'iconColorHover'])
|
||||
// 挂载时请求数据
|
||||
onMounted(() => fetch())
|
||||
const { theme, themeOverrides } = useTheme()
|
||||
console.log(theme.value, themeOverrides.value)
|
||||
|
||||
return () => (
|
||||
<div class="h-full flex flex-col" style={cssVar.value}>
|
||||
<div class="mx-auto max-w-[1600px] w-full p-6">
|
||||
@@ -29,26 +27,7 @@ export default defineComponent({
|
||||
{$t('t_13_1745227838275')}
|
||||
</NButton>
|
||||
),
|
||||
headerRight: () => (
|
||||
<NInput
|
||||
v-model:value={param.value.search}
|
||||
onKeydown={(e: KeyboardEvent) => {
|
||||
if (e.key === 'Enter') fetch()
|
||||
}}
|
||||
onClear={() => useThrottleFn(fetch, 100)}
|
||||
placeholder={$t('t_14_1745227840904')}
|
||||
clearable
|
||||
size="large"
|
||||
class="min-w-[300px]"
|
||||
v-slots={{
|
||||
suffix: () => (
|
||||
<div class="flex items-center" onClick={fetch}>
|
||||
<Search class="text-[var(--text-color-3)] w-[1.6rem] cursor-pointer font-bold" />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
></NInput>
|
||||
),
|
||||
headerRight: () => <SearchComponent placeholder={$t('t_14_1745227840904')} />,
|
||||
content: () => (
|
||||
<div class="rounded-lg">
|
||||
<TableComponent
|
||||
@@ -62,15 +41,7 @@ export default defineComponent({
|
||||
),
|
||||
footerRight: () => (
|
||||
<div class="mt-4 flex justify-end">
|
||||
<PageComponent
|
||||
v-slots={{
|
||||
prefix: () => (
|
||||
<span>
|
||||
{$t('t_15_1745227839354')} {data.value.total} {$t('t_16_1745227838930')}
|
||||
</span>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
<PageComponent />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
|
||||
@@ -8,6 +8,7 @@ import {
|
||||
useForm,
|
||||
useLoadingMask,
|
||||
useMessage,
|
||||
useSearch,
|
||||
} from '@baota/naive-ui/hooks'
|
||||
import { useError } from '@baota/hooks/error'
|
||||
import { $t } from '@locales/index'
|
||||
@@ -135,6 +136,14 @@ export const useController = () => {
|
||||
storage: 'certManagePageSize',
|
||||
})
|
||||
|
||||
// 搜索实例
|
||||
const { SearchComponent } = useSearch({
|
||||
onSearch: (value) => {
|
||||
param.value.search = value
|
||||
fetch()
|
||||
},
|
||||
})
|
||||
|
||||
/**
|
||||
* @description 打开上传证书弹窗
|
||||
*/
|
||||
@@ -189,14 +198,14 @@ export const useController = () => {
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => fetch())
|
||||
|
||||
return {
|
||||
loading,
|
||||
fetch,
|
||||
TableComponent,
|
||||
PageComponent,
|
||||
SearchComponent,
|
||||
getRowClassName,
|
||||
param,
|
||||
data,
|
||||
openUploadModal,
|
||||
openViewModal,
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@ export default defineComponent({
|
||||
name: 'MonitorManage',
|
||||
setup() {
|
||||
// 使用控制器获取数据和方法
|
||||
const { TableComponent, PageComponent, param, fetch, data, openAddForm, isDetectionAddMonitor } = useController()
|
||||
const { TableComponent, PageComponent, SearchComponent, fetch, openAddForm, isDetectionAddMonitor } =
|
||||
useController()
|
||||
|
||||
// 获取主题CSS变量
|
||||
const cssVar = useThemeCssVar(['contentPadding', 'borderColor', 'headerHeight', 'iconColorHover'])
|
||||
@@ -44,26 +45,7 @@ export default defineComponent({
|
||||
</NButton>
|
||||
),
|
||||
// 头部右侧区域 - 搜索框
|
||||
headerRight: () => (
|
||||
<NInput
|
||||
v-model:value={param.value.search}
|
||||
onKeydown={(e: KeyboardEvent) => {
|
||||
if (e.key === 'Enter') fetch()
|
||||
}}
|
||||
onClear={() => fetch()}
|
||||
placeholder={$t('t_12_1745289356974')}
|
||||
clearable
|
||||
size="large"
|
||||
class="min-w-[300px]"
|
||||
v-slots={{
|
||||
suffix: () => (
|
||||
<div class="flex items-center" onClick={fetch}>
|
||||
<Search class="text-[var(--text-color-3)] w-[1.6rem] cursor-pointer font-bold" />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
></NInput>
|
||||
),
|
||||
headerRight: () => <SearchComponent placeholder={$t('t_12_1745289356974')} />,
|
||||
// 内容区域 - 监控表格
|
||||
content: () => (
|
||||
<div class="rounded-lg">
|
||||
@@ -78,15 +60,7 @@ export default defineComponent({
|
||||
// 底部右侧区域 - 分页组件
|
||||
footerRight: () => (
|
||||
<div class="mt-4 flex justify-end">
|
||||
<PageComponent
|
||||
v-slots={{
|
||||
prefix: () => (
|
||||
<span>
|
||||
{$t('t_15_1745227839354')} {data.value.total} {$t('t_16_1745227838930')}
|
||||
</span>
|
||||
),
|
||||
}}
|
||||
/>
|
||||
<PageComponent />
|
||||
</div>
|
||||
),
|
||||
}}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user