mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-07 23:31:10 +08:00
【调整】更新API表单输入,新增密码类型和显示密码功能
【调整】登录页表单校验调整 【调整】新增阿里云dcdn部署类型
This commit is contained in:
@@ -11370,5 +11370,39 @@
|
||||
"arDZ": "صيغة اسم المجال خاطئة"
|
||||
},
|
||||
"timestamp": "2025-06-21T01:26:22.154Z"
|
||||
},
|
||||
"阿里云DCDN": {
|
||||
"text": "阿里云DCDN",
|
||||
"key": "t_0_1752230148946",
|
||||
"translations": {
|
||||
"zhCN": "阿里云DCDN",
|
||||
"zhTW": "阿里雲DCDN",
|
||||
"enUS": "Alibaba Cloud DCDN",
|
||||
"jaJP": "アリババクラウドDCDN",
|
||||
"koKR": "알리바바 클라우드 DCDN",
|
||||
"ruRU": "Alibaba Cloud DCDN",
|
||||
"ptBR": "Alibaba Cloud DCDN",
|
||||
"frFR": "Alibaba Cloud DCDN",
|
||||
"esAR": "Alibaba Cloud DCDN",
|
||||
"arDZ": "Alibaba Cloud DCDN"
|
||||
},
|
||||
"timestamp": "2025-07-11T10:35:48.946Z"
|
||||
},
|
||||
"阿里云ESA": {
|
||||
"text": "阿里云ESA",
|
||||
"key": "t_1_1752230146379",
|
||||
"translations": {
|
||||
"zhCN": "阿里云ESA",
|
||||
"zhTW": "阿里雲ESA",
|
||||
"enUS": "Aliyun ESA",
|
||||
"jaJP": "アリババクラウドESA",
|
||||
"koKR": "알리바바 클라우드 ESA",
|
||||
"ruRU": "Алибаба Клауд ESA",
|
||||
"ptBR": "Aliyun ESA",
|
||||
"frFR": "Aliyun ESA",
|
||||
"esAR": "Aliyun ESA",
|
||||
"arDZ": "علي بابا كلاود ESA"
|
||||
},
|
||||
"timestamp": "2025-07-11T10:35:48.948Z"
|
||||
}
|
||||
}
|
||||
@@ -244,6 +244,7 @@ export interface DeployConfig<
|
||||
| 'tencentcloud-waf'
|
||||
| 'tencentcloud-teo'
|
||||
| 'aliyun-cdn'
|
||||
| 'aliyun-dcdn'
|
||||
| 'aliyun-oss'
|
||||
| 'aliyun-waf'
|
||||
| 'aliyun-esa'
|
||||
|
||||
@@ -85,9 +85,10 @@ export const ApiProjectConfig: Record<string, ApiProjectType> = {
|
||||
type: ['host', 'dns'],
|
||||
hostRelated: {
|
||||
cdn: { name: $t('t_16_1745735766712') },
|
||||
dcdn: { name: $t('t_0_1752230148946') },
|
||||
oss: { name: $t('t_2_1746697487164') },
|
||||
waf: { name: $t('t_10_1744958860078') },
|
||||
esa: { name: '阿里云ESA' },
|
||||
esa: { name: $t('t_1_1752230146379') },
|
||||
},
|
||||
sort: 6,
|
||||
},
|
||||
@@ -255,5 +256,3 @@ export const ApiProjectConfig: Record<string, ApiProjectType> = {
|
||||
sort: 29,
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "Alibaba Cloud DCDN",
|
||||
"t_1_1752230146379": "علي بابا كلاود ESA",
|
||||
"t_0_1744098811152": "تحذير: لقد دخلتم منطقة غير معروفة، الصفحة التي تحاول زيارتها غير موجودة، يرجى الضغط على الزر للعودة إلى الصفحة الرئيسية.",
|
||||
"t_1_1744098801860": "رجوع إلى الصفحة الرئيسية",
|
||||
"t_2_1744098804908": "نصيحة أمنية: إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمدير على الفور",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "Alibaba Cloud DCDN",
|
||||
"t_1_1752230146379": "Aliyun ESA",
|
||||
"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",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "Alibaba Cloud DCDN",
|
||||
"t_1_1752230146379": "Aliyun ESA",
|
||||
"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",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "Alibaba Cloud DCDN",
|
||||
"t_1_1752230146379": "Aliyun ESA",
|
||||
"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",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "アリババクラウドDCDN",
|
||||
"t_1_1752230146379": "アリババクラウドESA",
|
||||
"t_0_1744098811152": "警告:未知のエリアに進入しました。アクセスしようとしたページは存在しません。ボタンをクリックしてホームページに戻ってください。",
|
||||
"t_1_1744098801860": "ホームに戻る",
|
||||
"t_2_1744098804908": "安全注意:これが誤りだと思われる場合は、すぐに管理者に連絡してください",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "알리바바 클라우드 DCDN",
|
||||
"t_1_1752230146379": "알리바바 클라우드 ESA",
|
||||
"t_0_1744098811152": "경고: 알 수 없는 영역에 진입했습니다. 방문하려는 페이지가 존재하지 않습니다. 버튼을 클릭하여 홈페이지로 돌아가세요。",
|
||||
"t_1_1744098801860": "홈으로 돌아가기",
|
||||
"t_2_1744098804908": "안전 유의사항: 이가 오류라면 즉시 관리자에게 연락하십시오",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "Alibaba Cloud DCDN",
|
||||
"t_1_1752230146379": "Aliyun ESA",
|
||||
"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",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "Alibaba Cloud DCDN",
|
||||
"t_1_1752230146379": "Алибаба Клауд ESA",
|
||||
"t_0_1744098811152": "Предупреждение: Вы вошли в неизвестную зону, посещаемая страница не существует, пожалуйста, нажмите кнопку, чтобы вернуться на главную страницу.",
|
||||
"t_1_1744098801860": "Вернуться на главную",
|
||||
"t_2_1744098804908": "Совет по безопасности: Если вы считаете, что это ошибка, немедленно свяжитесь с администратором",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "阿里云DCDN",
|
||||
"t_1_1752230146379": "阿里云ESA",
|
||||
"t_0_1744098811152": "警告:您已进入未知区域,所访问的页面不存在,请点击按钮返回首页。",
|
||||
"t_1_1744098801860": "返回首页",
|
||||
"t_2_1744098804908": "安全提示:如果您认为这是个错误,请立即联系管理员",
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
{
|
||||
"t_0_1752230148946": "阿里雲DCDN",
|
||||
"t_1_1752230146379": "阿里雲ESA",
|
||||
"t_0_1744098811152": "警告:您已進入未知區域,所訪問的頁面不存在,請點擊按鈕返回首頁。",
|
||||
"t_1_1744098801860": "返回首頁",
|
||||
"t_2_1744098804908": "安全提示:如果您認為這是個錯誤,請立即聯繫管理員",
|
||||
|
||||
@@ -618,6 +618,8 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
]),
|
||||
(param.value.config as SshAccessConfig)?.mode === 'password'
|
||||
? useFormInput($t('t_48_1745289355714'), 'config.password', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
})
|
||||
: useFormTextarea($t('t_1_1746667588689'), 'config.key', {
|
||||
@@ -655,6 +657,8 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormInput($t('t_55_1745289355715'), 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormSwitch(
|
||||
@@ -676,6 +680,8 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
param.value.type === 'safeline' ? $t('t_1_1747617105179') : $t('t_55_1745289355715'),
|
||||
param.value.type === 'safeline' ? 'config.api_token' : 'config.api_key',
|
||||
{
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
},
|
||||
),
|
||||
@@ -690,13 +696,21 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
case 'aliyun':
|
||||
items.push(
|
||||
useFormInput('AccessKeyId', 'config.access_key_id', { allowInput: noSideSpace }),
|
||||
useFormInput('AccessKeySecret', 'config.access_key_secret', { allowInput: noSideSpace }),
|
||||
useFormInput('AccessKeySecret', 'config.access_key_secret', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'tencentcloud':
|
||||
items.push(
|
||||
useFormInput('SecretId', 'config.secret_id', { allowInput: noSideSpace }),
|
||||
useFormInput('SecretKey', 'config.secret_key', { allowInput: noSideSpace }),
|
||||
useFormInput('SecretKey', 'config.secret_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'huaweicloud':
|
||||
@@ -705,13 +719,21 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
case 'doge':
|
||||
items.push(
|
||||
useFormInput('AccessKey', 'config.access_key', { allowInput: noSideSpace }),
|
||||
useFormInput('SecretKey', 'config.secret_key', { allowInput: noSideSpace }),
|
||||
useFormInput('SecretKey', 'config.secret_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'cloudflare':
|
||||
items.push(
|
||||
useFormInput('邮箱', 'config.email', { allowInput: noSideSpace }, { showRequireMark: false }),
|
||||
useFormInput('APIKey', 'config.api_key', { allowInput: noSideSpace }),
|
||||
useFormInput('APIKey', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormCustom(() => {
|
||||
return (
|
||||
<NAlert type="error" class="mt-[1.2rem] whitespace-nowrap" showIcon={false}>
|
||||
@@ -724,76 +746,144 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
case 'westcn':
|
||||
items.push(
|
||||
useFormInput('Username', 'config.username', { allowInput: noSideSpace }),
|
||||
useFormInput('Password', 'config.password', { allowInput: noSideSpace }),
|
||||
useFormInput('Password', 'config.password', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'godaddy':
|
||||
items.push(
|
||||
useFormInput('API Key', 'config.api_key', { allowInput: noSideSpace }),
|
||||
useFormInput('API Secret', 'config.api_secret', { allowInput: noSideSpace }),
|
||||
useFormInput('API Key', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormInput('API Secret', 'config.api_secret', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'qiniu':
|
||||
items.push(
|
||||
useFormInput('AccessKey', 'config.access_key', { allowInput: noSideSpace }),
|
||||
useFormInput('AccessSecret', 'config.access_secret', { allowInput: noSideSpace }),
|
||||
useFormInput('AccessSecret', 'config.access_secret', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'namecheap':
|
||||
items.push(
|
||||
useFormInput('API User', 'config.api_user', { allowInput: noSideSpace }),
|
||||
useFormInput('API Key', 'config.api_key', { allowInput: noSideSpace }),
|
||||
useFormInput('API Key', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'ns1':
|
||||
items.push(useFormInput('API Key', 'config.api_key', { allowInput: noSideSpace }))
|
||||
items.push(
|
||||
useFormInput('API Key', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'cloudns':
|
||||
items.push(
|
||||
useFormInput('Auth ID', 'config.auth_id', { allowInput: noSideSpace }),
|
||||
useFormInput('Auth Password', 'config.auth_password', { allowInput: noSideSpace }),
|
||||
useFormInput('Auth Password', 'config.auth_password', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'aws':
|
||||
items.push(
|
||||
useFormInput('Access Key ID', 'config.access_key_id', { allowInput: noSideSpace }),
|
||||
useFormInput('Secret Access Key', 'config.secret_access_key', { allowInput: noSideSpace }),
|
||||
useFormInput('Secret Access Key', 'config.secret_access_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'azure':
|
||||
items.push(
|
||||
useFormInput('Tenant ID', 'config.tenant_id', { allowInput: noSideSpace }),
|
||||
useFormInput('Client ID', 'config.client_id', { allowInput: noSideSpace }),
|
||||
useFormInput('Client Secret', 'config.client_secret', { allowInput: noSideSpace }),
|
||||
useFormInput('Client Secret', 'config.client_secret', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormInput('Environment', 'config.environment', { allowInput: noSideSpace, placeholder: 'public' }),
|
||||
)
|
||||
break
|
||||
case 'namesilo':
|
||||
items.push(useFormInput('API Key', 'config.api_key', { allowInput: noSideSpace }))
|
||||
items.push(
|
||||
useFormInput('API Key', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'namedotcom':
|
||||
items.push(
|
||||
useFormInput('Username', 'config.username', { allowInput: noSideSpace }),
|
||||
useFormInput('API Token', 'config.api_token', { allowInput: noSideSpace }),
|
||||
useFormInput('API Token', 'config.api_token', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'bunny':
|
||||
items.push(useFormInput('API Key', 'config.api_key', { allowInput: noSideSpace }))
|
||||
items.push(
|
||||
useFormInput('API Key', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'gcore':
|
||||
items.push(useFormInput('API Token', 'config.api_token', { allowInput: noSideSpace }))
|
||||
items.push(
|
||||
useFormInput('API Token', 'config.api_token', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'jdcloud':
|
||||
items.push(
|
||||
useFormInput('Access Key ID', 'config.access_key_id', { allowInput: noSideSpace }),
|
||||
useFormInput('Secret Access Key', 'config.secret_access_key', { allowInput: noSideSpace }),
|
||||
useFormInput('Secret Access Key', 'config.secret_access_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'lecdn':
|
||||
items.push(
|
||||
useFormInput('URL', 'config.url', { allowInput: noSideSpace }),
|
||||
useFormInput('Username', 'config.username', { allowInput: noSideSpace }),
|
||||
useFormInput('Password', 'config.password', { allowInput: noSideSpace }),
|
||||
useFormInput('Password', 'config.password', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormSwitch(
|
||||
$t('t_3_1746667592270'),
|
||||
'config.ignore_ssl',
|
||||
@@ -804,8 +894,16 @@ export const useApiFormController = (props: ApiFormControllerProps): ApiFormCont
|
||||
break
|
||||
case 'constellix':
|
||||
items.push(
|
||||
useFormInput('API Key', 'config.api_key', { allowInput: noSideSpace }),
|
||||
useFormInput('Secret Key', 'config.secret_key', { allowInput: noSideSpace }),
|
||||
useFormInput('API Key', 'config.api_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
useFormInput('Secret Key', 'config.secret_key', {
|
||||
type: 'password',
|
||||
showPasswordOn: 'click',
|
||||
allowInput: noSideSpace,
|
||||
}),
|
||||
)
|
||||
break
|
||||
case 'plugin':
|
||||
|
||||
@@ -205,6 +205,7 @@ export default defineComponent({
|
||||
case 'tencentcloud-waf':
|
||||
case 'tencentcloud-teo':
|
||||
case 'aliyun-cdn':
|
||||
case 'aliyun-dcdn':
|
||||
case 'baidu-cdn':
|
||||
case 'qiniu-cdn':
|
||||
case 'qiniu-oss':
|
||||
|
||||
@@ -12,6 +12,7 @@ import {
|
||||
} from '@baota/naive-ui/hooks'
|
||||
import { useError } from '@baota/hooks/error'
|
||||
import { $t } from '@locales/index'
|
||||
import { getDaysDiff } from '@baota/utils/date'
|
||||
|
||||
import { useStore } from './useStore'
|
||||
|
||||
@@ -22,6 +23,41 @@ const { useFormTextarea } = useFormHooks()
|
||||
const { fetchCertList, downloadExistingCert, deleteExistingCert, uploadNewCert, uploadForm, resetUploadForm } =
|
||||
useStore()
|
||||
const { confirm } = useModalHooks()
|
||||
/**
|
||||
* 计算证书剩余天数
|
||||
* @param cert 证书项
|
||||
* @returns 剩余天数,如果无法计算则返回 null
|
||||
*/
|
||||
const calculateRemainingDays = (cert: CertItem): number | null => {
|
||||
// 首先尝试使用后端提供的 end_day 字段
|
||||
const endDay = Number(cert.end_day)
|
||||
if (!isNaN(endDay) && endDay !== 0) {
|
||||
return endDay
|
||||
}
|
||||
|
||||
// 如果 end_day 无效,则根据 end_time 计算
|
||||
if (cert.end_time) {
|
||||
try {
|
||||
const endTime = new Date(cert.end_time)
|
||||
const currentTime = new Date()
|
||||
|
||||
// 检查日期是否有效
|
||||
if (isNaN(endTime.getTime())) {
|
||||
return null
|
||||
}
|
||||
|
||||
// 计算剩余天数
|
||||
const endDay = getDaysDiff(currentTime, endTime)
|
||||
return endDay
|
||||
} catch (error) {
|
||||
console.warn('计算证书剩余天数失败:', error)
|
||||
return null
|
||||
}
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
/**
|
||||
* useController
|
||||
* @description 证书管理业务逻辑控制器
|
||||
@@ -60,13 +96,27 @@ export const useController = () => {
|
||||
key: 'end_day',
|
||||
width: 100,
|
||||
render: (row: CertItem) => {
|
||||
const endDay = Number(row.end_day)
|
||||
const endDay = calculateRemainingDays(row)
|
||||
|
||||
// 如果无法计算剩余天数,显示获取失败
|
||||
if (endDay === null) {
|
||||
return (
|
||||
<NTag type="error" size="small">
|
||||
获取失败
|
||||
</NTag>
|
||||
)
|
||||
}
|
||||
|
||||
// 根据剩余天数确定显示样式和文本
|
||||
const config = [
|
||||
[endDay <= 0, 'error', $t('t_0_1746001199409')],
|
||||
[endDay < 30, 'warning', $t('t_1_1745999036289', { days: row.end_day })],
|
||||
[endDay > 30, 'success', $t('t_0_1745999035681', { days: row.end_day })],
|
||||
[endDay < 30, 'warning', $t('t_1_1745999036289', { days: endDay })],
|
||||
[endDay >= 30, 'success', $t('t_0_1745999035681', { days: endDay })],
|
||||
] as [boolean, 'success' | 'error' | 'warning' | 'default' | 'info' | 'primary', string][]
|
||||
const [_, type, text] = config.find((item) => item[0]) ?? ['default', 'error', '获取失败']
|
||||
|
||||
const matchedConfig = config.find((item) => item[0])
|
||||
const [, type, text] = matchedConfig ?? ['default', 'error', '获取失败']
|
||||
|
||||
return (
|
||||
<NTag type={type} size="small">
|
||||
{text}
|
||||
@@ -116,7 +166,13 @@ export const useController = () => {
|
||||
* - 空字符串:其他情况。
|
||||
*/
|
||||
const getRowClassName = (row: CertItem): string => {
|
||||
const endDay = Number(row.end_day)
|
||||
const endDay = calculateRemainingDays(row)
|
||||
|
||||
// 如果无法计算剩余天数,不应用特殊样式
|
||||
if (endDay === null) {
|
||||
return ''
|
||||
}
|
||||
|
||||
if (endDay <= 0) {
|
||||
return 'bg-red-500/10' // Tailwind class for light red background
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ import styles from './index.module.css'
|
||||
export default defineComponent({
|
||||
name: 'LoginView',
|
||||
setup() {
|
||||
const { loading, error, rememberMe, handleSubmit, handleKeyup, loginData, handleGetCode, codeImg, mustCode } =
|
||||
const { loading, error, rememberMe, handleSubmit, handleKeyup, loginData, handleGetCode, codeImg, mustCode, formRef } =
|
||||
useController()
|
||||
const { isDark } = useTheme()
|
||||
const cssVar = useThemeCssVar(['textColor2', 'actionColor', 'errorColor', 'primaryColor', 'primaryColorSuppl'])
|
||||
@@ -39,7 +39,7 @@ export default defineComponent({
|
||||
<div class={styles.rightSection}>
|
||||
<div class={styles.formContainer}>
|
||||
<h1 class={styles.title}>{$t('t_2_1744164839713')}</h1>
|
||||
<NForm onSubmit={handleSubmit} class={styles.formWrapper}>
|
||||
<NForm ref={formRef} model={loginData.value} onSubmit={handleSubmit} class={styles.formWrapper}>
|
||||
<div class={styles.formContent}>
|
||||
<div class={styles.formInputs}>
|
||||
<NFormItem
|
||||
@@ -84,7 +84,11 @@ export default defineComponent({
|
||||
<NFormItem
|
||||
show-label={false}
|
||||
path="code"
|
||||
rule={{ required: true, message: $t('t_25_1745289355721'), trigger: ['input', 'blur'] }}
|
||||
rule={{
|
||||
required: mustCode.value,
|
||||
message: $t('t_25_1745289355721'),
|
||||
trigger: ['input', 'blur']
|
||||
}}
|
||||
>
|
||||
<NInput
|
||||
onKeyup={handleKeyup}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// External Libraries
|
||||
import md5 from 'crypto-js/md5'
|
||||
import type { FormInst } from 'naive-ui'
|
||||
|
||||
// Type Imports
|
||||
import type { LoginParams } from '@/types/login'
|
||||
|
||||
// Absolute Internal Imports
|
||||
import { useError } from '@baota/hooks/error'
|
||||
import { $t } from '@locales/index'
|
||||
|
||||
// Relative Internal Imports
|
||||
import { useStore } from './useStore'
|
||||
@@ -51,6 +51,7 @@ const setRememberData = (username: string, password: string): void => {
|
||||
*/
|
||||
interface LoginControllerExposes extends ReturnType<typeof useStore> {
|
||||
// 继承自 useStore 的返回类型
|
||||
formRef: Ref<FormInst | null>
|
||||
handleSubmit: (event: Event) => Promise<void>
|
||||
handleKeyup: (event: KeyboardEvent) => void
|
||||
handleLogin: (params: LoginParams) => Promise<void> // 覆盖 store 中的 handleLogin
|
||||
@@ -69,25 +70,14 @@ export const useController = (): LoginControllerExposes => {
|
||||
// 从 store 中解构需要的状态和方法
|
||||
const { error, loginData, handleLogin: storeHandleLogin, rememberMe, checkMustCode, mustCode, handleGetCode } = store
|
||||
|
||||
// 表单引用
|
||||
const formRef = ref<FormInst | null>(null)
|
||||
|
||||
/**
|
||||
* @description 处理登录业务逻辑,包括表单验证和密码加密
|
||||
* @param params - 登录参数 (用户名、密码等)
|
||||
*/
|
||||
const handleLoginBusiness = async (params: LoginParams): Promise<void> => {
|
||||
// 表单验证
|
||||
if (!params.username.trim()) {
|
||||
error.value = $t('t_3_1744164839524') // 请输入用户名
|
||||
return
|
||||
}
|
||||
if (!params.password.trim()) {
|
||||
error.value = $t('t_4_1744164840458') // 请输入密码
|
||||
return
|
||||
}
|
||||
if (mustCode.value && !params.code?.trim()) {
|
||||
error.value = $t('t_25_1745289355721') // 请输入验证码
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
const encryptedPassword = encryptPassword(params.password)
|
||||
await storeHandleLogin({ ...params, password: encryptedPassword }) // 调用 store 中的登录方法
|
||||
@@ -117,7 +107,18 @@ export const useController = (): LoginControllerExposes => {
|
||||
*/
|
||||
const handleSubmit = async (event: Event): Promise<void> => {
|
||||
event.preventDefault()
|
||||
await handleLoginBusiness(loginData.value)
|
||||
|
||||
// 使用 NForm 的校验机制
|
||||
if (!formRef.value) return
|
||||
|
||||
try {
|
||||
await formRef.value.validate()
|
||||
// 校验通过,执行登录逻辑
|
||||
await handleLoginBusiness(loginData.value)
|
||||
} catch (validationErrors) {
|
||||
// 校验失败,NForm 会自动显示错误信息
|
||||
console.log('表单校验失败:', validationErrors)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -163,6 +164,7 @@ export const useController = (): LoginControllerExposes => {
|
||||
// ==================== 返回值 ====================
|
||||
return {
|
||||
...store, // 暴露 store 中的所有属性和方法
|
||||
formRef,
|
||||
handleSubmit,
|
||||
handleKeyup,
|
||||
handleLogin: handleLoginBusiness, // 控制器封装的登录逻辑
|
||||
|
||||
@@ -96,6 +96,10 @@ export default function useTable<T = Record<string, any>, Z extends Record<strin
|
||||
const { page, pageSize } = alias
|
||||
const pageSizeOptionsRef = ref([10, 20, 50, 100, 200]) // 分页选项
|
||||
|
||||
// 防重复请求相关状态
|
||||
const lastDirectRequestTime = ref(0) // 记录最后一次直接请求的时间
|
||||
const REQUEST_DEBOUNCE_DELAY = 100 // 防抖延迟时间(毫秒)
|
||||
|
||||
// 初始化分页参数
|
||||
if ((param.value as Record<string, unknown>)[page]) {
|
||||
;(param.value as Record<string, unknown>)[page] = 1 // 当前页码
|
||||
@@ -111,6 +115,8 @@ export default function useTable<T = Record<string, any>, Z extends Record<strin
|
||||
* @param currentPage 当前页码
|
||||
*/
|
||||
const handlePageChange = (currentPage: number) => {
|
||||
// 记录直接请求时间,防止 watch 重复触发
|
||||
lastDirectRequestTime.value = Date.now()
|
||||
;(param.value as Record<string, unknown>)[page] = currentPage
|
||||
fetchData()
|
||||
}
|
||||
@@ -120,6 +126,8 @@ export default function useTable<T = Record<string, any>, Z extends Record<strin
|
||||
* @param size 每页条数
|
||||
*/
|
||||
const handlePageSizeChange = (size: number) => {
|
||||
// 记录直接请求时间,防止 watch 重复触发
|
||||
lastDirectRequestTime.value = Date.now()
|
||||
// 保存到本地存储
|
||||
savePageSizeToStorage(storage, size)
|
||||
;(param.value as Record<string, unknown>)[page] = 1 // 重置页码为1
|
||||
@@ -211,7 +219,20 @@ export default function useTable<T = Record<string, any>, Z extends Record<strin
|
||||
if (Array.isArray(watchValue)) {
|
||||
// 只监听指定的字段
|
||||
const source = computed(() => watchValue.map((key) => param.value[key]))
|
||||
watch(source, (value) => fetchData(), { deep: true })
|
||||
watch(
|
||||
source,
|
||||
() => {
|
||||
// 检查是否刚刚有直接请求,如果是则跳过此次 watch 触发的请求
|
||||
const timeSinceLastDirectRequest = Date.now() - lastDirectRequestTime.value
|
||||
if (timeSinceLastDirectRequest < REQUEST_DEBOUNCE_DELAY) {
|
||||
console.log('跳过 watch 触发的重复请求,距离上次直接请求:', timeSinceLastDirectRequest, 'ms')
|
||||
return
|
||||
}
|
||||
console.log('watch 触发请求,距离上次直接请求:', timeSinceLastDirectRequest, 'ms')
|
||||
fetchData()
|
||||
},
|
||||
{ deep: true },
|
||||
)
|
||||
}
|
||||
|
||||
onUnmounted(() => {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<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-QRRFfw1J.js"></script>
|
||||
<script type="module" crossorigin src="./static/js/main-mIPA07BY.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./static/css/style-CQp6NYrH.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
1
static/build/static/js/Alert-Cf4xdFSR.js
Normal file
1
static/build/static/js/Alert-Cf4xdFSR.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/Badge-CJax2eIF.js
Normal file
1
static/build/static/js/Badge-CJax2eIF.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/CAManageForm-COKS23me.js
Normal file
1
static/build/static/js/CAManageForm-COKS23me.js
Normal file
@@ -0,0 +1 @@
|
||||
import{u as t}from"./index-DNxbxkdW.js";import{d as s,c as e}from"./main-mIPA07BY.js";import"./useStore-CdalNANZ.js";import"./index-D4Zi05FG.js";import"./access-B11FVBBu.js";import"./index-2y8AfC9D.js";import"./index-Dj2Hrpdk.js";import"./throttle-BxA9KyJg.js";import"./data-DVmEeoiQ.js";import"./index-kKN05IVz.js";import"./business-aiA84Dzg.js";import"./index-DbZOHaKu.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
static/build/static/js/Flow-CD-QM-0z.js
Normal file
1
static/build/static/js/Flow-CD-QM-0z.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as a,Y as l,Z as n,_ as r}from"./main-mIPA07BY.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
static/build/static/js/LockOutlined-CpC3NRu6.js
Normal file
1
static/build/static/js/LockOutlined-CpC3NRu6.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as c,Y as n,Z as r,_ as t}from"./main-mIPA07BY.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
static/build/static/js/LogoGithub-CKmj3r7B.js
Normal file
1
static/build/static/js/LogoGithub-CKmj3r7B.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as c,Y as a,Z as n,_ as o}from"./main-mIPA07BY.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};
|
||||
1
static/build/static/js/Tabs-pQV68dAX.js
Normal file
1
static/build/static/js/Tabs-pQV68dAX.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/access-B11FVBBu.js
Normal file
1
static/build/static/js/access-B11FVBBu.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c}from"./index-D4Zi05FG.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
static/build/static/js/arDZ-Bl2Fbcbl.js
Normal file
1
static/build/static/js/arDZ-Bl2Fbcbl.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/business-aiA84Dzg.js
Normal file
1
static/build/static/js/business-aiA84Dzg.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/data-DVmEeoiQ.js
Normal file
1
static/build/static/js/data-DVmEeoiQ.js
Normal file
@@ -0,0 +1 @@
|
||||
import{$ as e}from"./main-mIPA07BY.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")},dcdn:{name:e("t_0_1752230148946")},oss:{name:e("t_2_1746697487164")},waf:{name:e("t_10_1744958860078")},esa:{name:e("t_1_1752230146379")}},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},lecdn:{name:"LeCDN",icon:"lecdn",type:["dns","host"],hostRelated:{default:{name:"LeCDN"}},sort:26},constellix:{name:"Constellix",icon:"constellix",type:["dns"],sort:27},doge:{name:e("t_0_1750129254226"),icon:"doge",type:["host"],hostRelated:{cdn:{name:e("t_0_1750129254226")+"CDN"}},sort:28},plugin:{name:"插件",icon:"plugin",type:["host"],hostRelated:{default:{name:"插件"}},sort:29}};export{o as A,n as C,t as M};
|
||||
1
static/build/static/js/date-BsygncB-.js
Normal file
1
static/build/static/js/date-BsygncB-.js
Normal file
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t}from"./index-D4Zi05FG.js";import{bk as r,bp as n,bH as a,bx as u,bI as s}from"./main-mIPA07BY.js";function o(e,t,r){for(var n=0,a=r.length;n<a;){if((t=e["@@transducer/step"](t,r[n]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n+=1}return e["@@transducer/result"](t)}var c=r((function(e,t){return n(e.length,(function(){return e.apply(t,arguments)}))}));function i(e,t,r){for(var n=r.next();!n.done;){if((t=e["@@transducer/step"](t,n.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n=r.next()}return e["@@transducer/result"](t)}function d(e,t,r,n){return e["@@transducer/result"](r[n](c(e["@@transducer/step"],e),t))}var g=a(o,d,i),f=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function l(e){return new f(e)}var p=e((function(e,t,r){return g("function"==typeof e?l(e):e,t,r)})),m=r((function(e,t){for(var r=0,n=Math.min(e.length,t.length),a={};r<n;)a[e[r]]=t[r],r+=1;return a}));const y=e=>t("/v1/cert/get_list",e),D=e=>t("/v1/cert/upload_cert",e),w=e=>t("/v1/cert/del_cert",e),h=(e,t="yyyy-MM-dd HH:mm:ss")=>{const r=Number(e)&&10===e.toString().length?new Date(1e3*Number(e)):new Date(e),n=m(["yyyy","MM","dd","HH","mm","ss"],[r.getFullYear(),r.getMonth()+1,r.getDate(),r.getHours(),r.getMinutes(),r.getSeconds()]);return p(((e,t)=>{const r=n[t],a="yyyy"!==t&&r<10?`0${r}`:`${r}`;return e.replace(new RegExp(t,"g"),a)}),t,s(n))},v=(e,t)=>{const r=new Date(e),n=new Date(t),a=new Date(r.getFullYear(),r.getMonth(),r.getDate()),u=new Date(n.getFullYear(),n.getMonth(),n.getDate()).getTime()-a.getTime();return Math.floor(u/864e5)};u(v);u(((e,t,r)=>{const n=new Date(e).getTime(),a=new Date(t).getTime(),u=new Date(r).getTime();return n>=a&&n<=u}));u(((e,t)=>{const r=new Date(t);return r.setDate(r.getDate()+e),r}));export{g as _,l as a,h as c,w as d,y as g,v as i,p as r,D as u};
|
||||
1
static/build/static/js/esAR-3NdLst0n.js
Normal file
1
static/build/static/js/esAR-3NdLst0n.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/frFR-DdzomRmr.js
Normal file
1
static/build/static/js/frFR-DdzomRmr.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-2y8AfC9D.js
Normal file
1
static/build/static/js/index-2y8AfC9D.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-mIPA07BY.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
static/build/static/js/index-8shTOy-Y.js
Normal file
1
static/build/static/js/index-8shTOy-Y.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-AFQkh85u.js
Normal file
1
static/build/static/js/index-AFQkh85u.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-BFL5-Uhu.js
Normal file
1
static/build/static/js/index-BFL5-Uhu.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-BO6KEu9L.js
Normal file
1
static/build/static/js/index-BO6KEu9L.js
Normal file
@@ -0,0 +1 @@
|
||||
import{u as e}from"./useStore-DplcZdTP.js";import{u as a,N as l}from"./index-D4Zi05FG.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-mIPA07BY.js";import{S as f}from"./index-kKN05IVz.js";import{N as m,a as b}from"./business-aiA84Dzg.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};
|
||||
1
static/build/static/js/index-BTmcgCe7.js
Normal file
1
static/build/static/js/index-BTmcgCe7.js
Normal file
@@ -0,0 +1 @@
|
||||
var t;import{S as e}from"./index-kKN05IVz.js";import{A as o,M as a}from"./data-DVmEeoiQ.js";import{k as n,d as s,c as i,N as l}from"./main-mIPA07BY.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
static/build/static/js/index-Bc4Hr0Gz.js
Normal file
1
static/build/static/js/index-Bc4Hr0Gz.js
Normal file
@@ -0,0 +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-DbZOHaKu.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-mIPA07BY.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 E(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 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 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,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(F){M(F)}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:V[J],{pause:k,resume:x}=s(E,(()=>function(e){try{const t=n.getItem(j.value);if(null==e)T(t,null),n.removeItem(j.value);else{const a=D.write(e);t!==a&&(n.setItem(j.value,a),T(t,a))}}catch(F){M(F)}}(E.value)),{flush:o,deep:l,eventFilter:N});function T(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(_,{detail:a}))}}function z(e){if(!e||e.storageArea===n)if(e&&null==e.key)E.value=A;else if(!e||e.key===j.value){k();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(F){M(F)}finally{e?h(x):x()}}}function B(e){z(e.detail)}return y(j,(()=>z()),{flush:o}),w&&f&&i((()=>{n instanceof Storage?S(w,"storage",z,{passive:!0}):S(w,_,B),O&&z()})),O||z(),E}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,E as u};
|
||||
1
static/build/static/js/index-Bql27SVh.js
Normal file
1
static/build/static/js/index-Bql27SVh.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-CWOwklVk.js
Normal file
1
static/build/static/js/index-CWOwklVk.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-D4Zi05FG.js
Normal file
1
static/build/static/js/index-D4Zi05FG.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-DAEYvgLx.js
Normal file
1
static/build/static/js/index-DAEYvgLx.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-DNxbxkdW.js
Normal file
1
static/build/static/js/index-DNxbxkdW.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-DPbeORBE.js
Normal file
1
static/build/static/js/index-DPbeORBE.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-DVxpAssy.js
Normal file
1
static/build/static/js/index-DVxpAssy.js
Normal file
@@ -0,0 +1 @@
|
||||
import{S as e}from"./index-kKN05IVz.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,aW as d,bB as p,B as v,i as f}from"./main-mIPA07BY.js";import{u as c}from"./useStore-DplcZdTP.js";import{M as y}from"./data-DVmEeoiQ.js";import{N as m,a as b}from"./business-aiA84Dzg.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};
|
||||
1
static/build/static/js/index-DbZOHaKu.js
Normal file
1
static/build/static/js/index-DbZOHaKu.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-mIPA07BY.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
static/build/static/js/index-Dj2Hrpdk.js
Normal file
1
static/build/static/js/index-Dj2Hrpdk.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as e,c as s}from"./main-mIPA07BY.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
static/build/static/js/index-Du0A3U98.js
Normal file
1
static/build/static/js/index-Du0A3U98.js
Normal file
@@ -0,0 +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-mIPA07BY.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};
|
||||
1
static/build/static/js/index-Jn71Wfoa.js
Normal file
1
static/build/static/js/index-Jn71Wfoa.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-j7Kbc-T8.js
Normal file
1
static/build/static/js/index-j7Kbc-T8.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/index-kKN05IVz.js
Normal file
1
static/build/static/js/index-kKN05IVz.js
Normal file
@@ -0,0 +1 @@
|
||||
import{d as e,k as i,c as r}from"./main-mIPA07BY.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
static/build/static/js/jaJP-DNAuy1qb.js
Normal file
1
static/build/static/js/jaJP-DNAuy1qb.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/koKR-wzB_9oX6.js
Normal file
1
static/build/static/js/koKR-wzB_9oX6.js
Normal file
File diff suppressed because one or more lines are too long
52
static/build/static/js/main-mIPA07BY.js
Normal file
52
static/build/static/js/main-mIPA07BY.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/ptBR-B6PYROE8.js
Normal file
1
static/build/static/js/ptBR-B6PYROE8.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/public-B1vk9QZb.js
Normal file
1
static/build/static/js/public-B1vk9QZb.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c as s,d as o}from"./index-D4Zi05FG.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
static/build/static/js/ruRU-Cov7EMnv.js
Normal file
1
static/build/static/js/ruRU-Cov7EMnv.js
Normal file
File diff suppressed because one or more lines are too long
1
static/build/static/js/setting-Bgza2Aoj.js
Normal file
1
static/build/static/js/setting-Bgza2Aoj.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c as t}from"./index-D4Zi05FG.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
static/build/static/js/throttle-BxA9KyJg.js
Normal file
1
static/build/static/js/throttle-BxA9KyJg.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c8 as t,c9 as n,ca as i}from"./main-mIPA07BY.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
static/build/static/js/useStore-CdalNANZ.js
Normal file
1
static/build/static/js/useStore-CdalNANZ.js
Normal file
@@ -0,0 +1 @@
|
||||
import{c as e,u as a}from"./index-D4Zi05FG.js";import{e as o,s as t,r as l,$ as r}from"./main-mIPA07BY.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
static/build/static/js/useStore-DplcZdTP.js
Normal file
1
static/build/static/js/useStore-DplcZdTP.js
Normal file
@@ -0,0 +1 @@
|
||||
import{e,s as a,r as t,k as o,$ as l}from"./main-mIPA07BY.js";import{a as s,b as n}from"./index-Bc4Hr0Gz.js";import{u as r}from"./index-D4Zi05FG.js";import{b as i}from"./setting-Bgza2Aoj.js";import{j as u}from"./access-B11FVBBu.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
static/build/static/js/zhTW-B9M3wHDW.js
Normal file
1
static/build/static/js/zhTW-B9M3wHDW.js
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user