【调整】更新API表单输入,新增密码类型和显示密码功能

【调整】登录页表单校验调整
【调整】新增阿里云dcdn部署类型
pull/295/head
chenzhihua 2025-07-14 10:26:51 +08:00
parent 8bdf9d6b46
commit 2a50e9c4ad
65 changed files with 382 additions and 50 deletions

View File

@ -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"
}
}

View File

@ -244,6 +244,7 @@ export interface DeployConfig<
| 'tencentcloud-waf'
| 'tencentcloud-teo'
| 'aliyun-cdn'
| 'aliyun-dcdn'
| 'aliyun-oss'
| 'aliyun-waf'
| 'aliyun-esa'

View File

@ -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,
},
}

View File

@ -1,4 +1,6 @@
{
"t_0_1752230148946": "Alibaba Cloud DCDN",
"t_1_1752230146379": "علي بابا كلاود ESA",
"t_0_1744098811152": "تحذير: لقد دخلتم منطقة غير معروفة، الصفحة التي تحاول زيارتها غير موجودة، يرجى الضغط على الزر للعودة إلى الصفحة الرئيسية.",
"t_1_1744098801860": "رجوع إلى الصفحة الرئيسية",
"t_2_1744098804908": "نصيحة أمنية: إذا كنت تعتقد أن هذا خطأ، يرجى الاتصال بالمدير على الفور",

View File

@ -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",

View File

@ -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",

View File

@ -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",

View File

@ -1,4 +1,6 @@
{
"t_0_1752230148946": "アリババクラウドDCDN",
"t_1_1752230146379": "アリババクラウドESA",
"t_0_1744098811152": "警告:未知のエリアに進入しました。アクセスしようとしたページは存在しません。ボタンをクリックしてホームページに戻ってください。",
"t_1_1744098801860": "ホームに戻る",
"t_2_1744098804908": "安全注意:これが誤りだと思われる場合は、すぐに管理者に連絡してください",

View File

@ -1,4 +1,6 @@
{
"t_0_1752230148946": "알리바바 클라우드 DCDN",
"t_1_1752230146379": "알리바바 클라우드 ESA",
"t_0_1744098811152": "경고: 알 수 없는 영역에 진입했습니다. 방문하려는 페이지가 존재하지 않습니다. 버튼을 클릭하여 홈페이지로 돌아가세요。",
"t_1_1744098801860": "홈으로 돌아가기",
"t_2_1744098804908": "안전 유의사항: 이가 오류라면 즉시 관리자에게 연락하십시오",

View File

@ -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",

View File

@ -1,4 +1,6 @@
{
"t_0_1752230148946": "Alibaba Cloud DCDN",
"t_1_1752230146379": "Алибаба Клауд ESA",
"t_0_1744098811152": "Предупреждение: Вы вошли в неизвестную зону, посещаемая страница не существует, пожалуйста, нажмите кнопку, чтобы вернуться на главную страницу.",
"t_1_1744098801860": "Вернуться на главную",
"t_2_1744098804908": "Совет по безопасности: Если вы считаете, что это ошибка, немедленно свяжитесь с администратором",

View File

@ -1,4 +1,6 @@
{
"t_0_1752230148946": "阿里云DCDN",
"t_1_1752230146379": "阿里云ESA",
"t_0_1744098811152": "警告:您已进入未知区域,所访问的页面不存在,请点击按钮返回首页。",
"t_1_1744098801860": "返回首页",
"t_2_1744098804908": "安全提示:如果您认为这是个错误,请立即联系管理员",

View File

@ -1,4 +1,6 @@
{
"t_0_1752230148946": "阿里雲DCDN",
"t_1_1752230146379": "阿里雲ESA",
"t_0_1744098811152": "警告:您已進入未知區域,所訪問的頁面不存在,請點擊按鈕返回首頁。",
"t_1_1744098801860": "返回首頁",
"t_2_1744098804908": "安全提示:如果您認為這是個錯誤,請立即聯繫管理員",

View File

@ -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':

View File

@ -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':

View File

@ -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
}

View File

@ -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}

View File

@ -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, // 控制器封装的登录逻辑

View File

@ -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(() => {

View File

@ -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>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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};

View 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};

View 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};

View 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};

File diff suppressed because one or more lines are too long

View 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};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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\nWin/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};

View 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};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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};

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

View 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};

View 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};

View 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};

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

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

View 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};

View 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};

View 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};

View 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};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View 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};

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

File diff suppressed because one or more lines are too long

View 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};

File diff suppressed because one or more lines are too long

View 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};

View 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};

View 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};

View 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};

File diff suppressed because one or more lines are too long