Merge remote-tracking branch 'upstream/feature/refactor' into feature/refactor

This commit is contained in:
2025-09-02 19:28:31 +08:00
4 changed files with 4107 additions and 6123 deletions

View File

@@ -141,9 +141,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="任务完成后的处理方式"> <a-tooltip title="切换账号时需要执行的操作">
<span class="form-label"> <span class="form-label">
任务转换方 账号切换方
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
@@ -158,9 +158,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="设置ADB设备搜索的范围可输入范围0-3"> <a-tooltip title="使用mumu模拟器时设为3其他模拟器设为0">
<span class="form-label"> <span class="form-label">
ADB搜索范围 ADB端口号搜索范围
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
@@ -179,9 +179,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="代理指挥作战的次数限制0表示不限制"> <a-tooltip title="当用户本日代理成功次数达到该阀值时跳过代理阈值为「0」时视为无代理次数上限">
<span class="form-label"> <span class="form-label">
代理次数限 用户单日代理次数
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
@@ -201,9 +201,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="剿灭作战的最大执行时间,超时后会停止执行"> <a-tooltip title="执行剿灭代理任务时MAA日志无变化时间超过该阀值视为超时">
<span class="form-label"> <span class="form-label">
剿灭时限制(分钟) 剿灭代理超时限制分钟
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
@@ -221,9 +221,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="每周剿灭达到上限后,本周剩余时间不在执行剿灭任务"> <a-tooltip title="每周剿灭达到上限后,本周剩余时间不在执行剿灭任务,本功能存在误判可能,请谨慎使用">
<span class="form-label"> <span class="form-label">
每周剿灭达到上限后本周剩余时间不在执行剿灭任务 每周剿灭仅执行到上限
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
@@ -240,9 +240,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="日常任务的最大执行时间,包括基建、任务等"> <a-tooltip title="执行日常代理任务时MAA日志无变化时间超过该阀值视为超时">
<span class="form-label"> <span class="form-label">
日常时限制(分钟) 日常代理超时限制分钟
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
@@ -260,9 +260,9 @@
<a-col :span="8"> <a-col :span="8">
<a-form-item> <a-form-item>
<template #label> <template #label>
<a-tooltip title="脚本的最大运行次数,防止无限循环"> <a-tooltip title="若重试超过该次数限制仍未完成代理,视为代理失败">
<span class="form-label"> <span class="form-label">
运行次数限制 代理重试次数限制
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>

View File

@@ -93,7 +93,7 @@
</div> </div>
<div class="type-info"> <div class="type-info">
<div class="type-title">MAA脚本</div> <div class="type-title">MAA脚本</div>
<div class="type-description">明日方舟自动化脚本支持日常任务作战等功能</div> <div class="type-description">明日方舟自动化脚本支持多账号日常代理等功能</div>
</div> </div>
</div> </div>
</a-radio-button> </a-radio-button>
@@ -104,7 +104,7 @@
</div> </div>
<div class="type-info"> <div class="type-info">
<div class="type-title">通用脚本</div> <div class="type-title">通用脚本</div>
<div class="type-description">通用自动化脚本支持自定义游戏和脚本配置</div> <div class="type-description">通用自动化脚本适用于所有具备日志文件的脚本</div>
</div> </div>
</div> </div>
</a-radio-button> </a-radio-button>

View File

@@ -17,27 +17,15 @@
</div> </div>
<a-space size="middle"> <a-space size="middle">
<a-button <a-button v-if="scriptType === 'MAA' && formData.Info.Mode !== '简洁'" type="primary" ghost size="large"
v-if="scriptType === 'MAA' && formData.Info.Mode !== '简洁'" @click="handleMAAConfig" :loading="maaConfigLoading">
type="primary"
ghost
size="large"
@click="handleMAAConfig"
:loading="maaConfigLoading"
>
<template #icon> <template #icon>
<SettingOutlined /> <SettingOutlined />
</template> </template>
MAA配置 MAA配置
</a-button> </a-button>
<a-button <a-button v-if="scriptType === 'General'" type="primary" ghost size="large" @click="handleGeneralConfig"
v-if="scriptType === 'General'" :loading="generalConfigLoading">
type="primary"
ghost
size="large"
@click="handleGeneralConfig"
:loading="generalConfigLoading"
>
<template #icon> <template #icon>
<SettingOutlined /> <SettingOutlined />
</template> </template>
@@ -67,37 +55,27 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item name="userName" required> <a-form-item name="userName" required>
<template #label> <template #label>
<a-tooltip title="用于识别用户的显示名称"> <a-tooltip title="用于区分用户的名称,相同名称的用户将被视为同一用户进行统计">
<span class="form-label"> <span class="form-label">
用户名 用户名
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input <a-input v-model:value="formData.userName" placeholder="请输入用户名" :disabled="loading" size="large" />
v-model:value="formData.userName"
placeholder="请输入用户名"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item name="userId" required> <a-form-item name="userId">
<template #label> <template #label>
<a-tooltip title="官服输入手机号B服输入B站ID"> <a-tooltip title="用于切换账号,官服输入手机号B服输入B站ID,无需切换则留空">
<span class="form-label"> <span class="form-label">
账号ID 账号ID
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input <a-input v-model:value="formData.userId" placeholder="请输入账号ID" :disabled="loading" size="large" />
v-model:value="formData.userId"
placeholder="官服输入手机号B服输入B站ID"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -122,19 +100,15 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item :name="['Info', 'Password']"> <a-form-item :name="['Info', 'Password']">
<template #label> <template #label>
<a-tooltip title="用户登录游戏的密码"> <a-tooltip title="用户密码,仅用于存储以防遗忘,此外无任何作用">
<span class="form-label"> <span class="form-label">
密码(密码仅用于储存,防止遗忘!此外无任何作用) 密码
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-password <a-input-password v-model:value="formData.Info.Password" placeholder="密码仅用于储存以防遗忘,此外无任何作用"
v-model:value="formData.Info.Password" :disabled="loading" size="large" />
placeholder="请输入密码"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -149,35 +123,23 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Server" placeholder="请选择服务器" :disabled="loading"
v-model:value="formData.Info.Server" :options="serverOptions" size="large" />
placeholder="请选择服务器"
:disabled="loading"
:options="serverOptions"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item name="remainedDay"> <a-form-item name="remainedDay">
<template #label> <template #label>
<a-tooltip title="账号剩余的有效天数(-1表示无限)"> <a-tooltip title="账号剩余的有效天数,「-1表示无限">
<span class="form-label"> <span class="form-label">
剩余天数(-1表示无限) 剩余天数
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number <a-input-number v-model:value="formData.Info.RemainedDay" :min="-1" :max="9999" placeholder="0"
v-model:value="formData.Info.RemainedDay" :disabled="loading" size="large" style="width: 100%" />
:min="-1"
:max="9999"
placeholder="0"
:disabled="loading"
size="large"
style="width: 100%"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -186,45 +148,35 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="选择用户操作模式"> <a-tooltip title="简洁模式下配置沿用脚本全局配置,详细模式下沿用用户自定义配置">
<span class="form-label"> <span class="form-label">
用户配置模式 用户配置模式
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Mode" :options="[
v-model:value="formData.Info.Mode" { label: '简洁', value: '简洁' },
:options="[ { label: '详细', value: '详细' },
{ label: '简洁', value: '简洁' }, ]" :disabled="loading" size="large" />
{ label: '详细', value: '详细' },
]"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="剿灭代理"> <a-tooltip title="选择基建模式,自定义基建模式需要自行选择自定义基建配置文件">
<span class="form-label"> <span class="form-label">
基建模式 基建模式
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.InfrastMode" :options="[
v-model:value="formData.Info.InfrastMode" { label: '常规模式', value: 'Normal' },
:options="[ { label: '一键轮休', value: 'Rotation' },
{ label: '常规模式', value: 'Normal' }, { label: '自定义基建', value: 'Custom' },
{ label: '一键轮休', value: 'Rotation' }, ]" :disabled="loading" size="large" />
{ label: '自定义基建', value: 'Custom' },
]"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<!-- <a-col :span="8">--> <!-- <a-col :span="8">-->
@@ -263,34 +215,19 @@
</a-tooltip> </a-tooltip>
</template> </template>
<div style="display: flex; gap: 12px; align-items: center"> <div style="display: flex; gap: 12px; align-items: center">
<a-input <a-input v-model:value="formData.Info.InfrastPath" placeholder="请选择基建配置JSON文件" readonly size="large"
v-model:value="formData.Info.InfrastPath" style="flex: 1" />
placeholder="请选择基建配置JSON文件" <a-button type="primary" ghost @click="selectInfrastructureConfig" :disabled="loading" size="large">
readonly
size="large"
style="flex: 1"
/>
<a-button
type="primary"
ghost
@click="selectInfrastructureConfig"
:disabled="loading"
size="large"
>
选择文件 选择文件
</a-button> </a-button>
<a-button <a-button type="primary" @click="importInfrastructureConfig"
type="primary" :disabled="loading || !infrastructureConfigPath || !isEdit" :loading="infrastructureImporting"
@click="importInfrastructureConfig" size="large">
:disabled="loading || !infrastructureConfigPath || !isEdit"
:loading="infrastructureImporting"
size="large"
>
导入配置 导入配置
</a-button> </a-button>
</div> </div>
<div style="color: #999; font-size: 12px; margin-top: 4px"> <div style="color: #999; font-size: 12px; margin-top: 4px">
请选择有效的基建配置JSON文件点击"导入配置"按钮将其应用到当前用户如果已经导入可以忽略此选择框 请选择有效的基建配置JSON文件点击导入配置按钮将其应用到当前用户如果已经导入可以忽略此选择框
</div> </div>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -298,19 +235,14 @@
<a-form-item name="notes"> <a-form-item name="notes">
<template #label> <template #label>
<a-tooltip title="为用户添加备注信息,便于管理和识别"> <a-tooltip title="为用户添加备注信息">
<span class="form-label"> <span class="form-label">
备注 备注
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-textarea <a-textarea v-model:value="formData.Info.Notes" placeholder="请输入备注信息" :rows="4" :disabled="loading" />
v-model:value="formData.Info.Notes"
placeholder="请输入备注信息"
:rows="4"
:disabled="loading"
/>
</a-form-item> </a-form-item>
</a-card> </a-card>
@@ -337,43 +269,34 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="剿灭代理"> <a-tooltip title="剿灭代理关卡选择">
<span class="form-label"> <span class="form-label">
剿灭代理 剿灭代理
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Annihilation" :options="[
v-model:value="formData.Info.Annihilation" { label: '关闭', value: 'Close' },
:options="[ { label: '当期剿灭', value: 'Annihilation' },
{ label: '关闭', value: 'Close' }, { label: '切尔诺伯格', value: 'Chernobog@Annihilation' },
{ label: '当期剿灭', value: 'Annihilation' }, { label: '龙门外环', value: 'LungmenOutskirts@Annihilation' },
{ label: '切尔诺伯格', value: 'Chernobog@Annihilation' }, { label: '龙门市区', value: 'LungmenDowntown@Annihilation' },
{ label: '龙门外环', value: 'LungmenOutskirts@Annihilation' }, ]" :disabled="loading" size="large" />
{ label: '龙门市区', value: 'LungmenDowntown@Annihilation' },
]"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="关卡选择"> <a-tooltip title="可选择「固定」或「计划表」">
<span class="form-label"> <span class="form-label">
关卡配置模式 关卡配置模式
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.StageMode" :options="stageModeOptions" :disabled="loading"
v-model:value="formData.Info.StageMode" size="large" />
:options="stageModeOptions"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -389,42 +312,30 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number <a-input-number v-model:value="formData.Info.MedicineNumb" :min="0" :max="9999" placeholder="0"
v-model:value="formData.Info.MedicineNumb" :disabled="loading" size="large" style="width: 100%" />
:min="0"
:max="9999"
placeholder="0"
:disabled="loading"
size="large"
style="width: 100%"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="连战次数"> <a-tooltip title="AUTO自动识别关卡最大代理倍率保持最大代理倍率且使用理智药后理智不溢出数值1~6按设定倍率执行代理不切换不调整游戏内代理倍率设定">
<span class="form-label"> <span class="form-label">
连战次数 连战次数
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.SeriesNumb" :options="[
v-model:value="formData.Info.SeriesNumb" { label: 'AUTO', value: '0' },
:options="[ { label: '1', value: '1' },
{ label: 'AUTO', value: 'AUTO' }, { label: '2', value: '2' },
{ label: '0', value: '0' }, { label: '3', value: '3' },
{ label: '1', value: '1' }, { label: '4', value: '4' },
{ label: '2', value: '2' }, { label: '5', value: '5' },
{ label: '3', value: '3' }, { label: '6', value: '6' },
{ label: '4', value: '4' }, { label: '不切换', value: '-1' },
{ label: '5', value: '5' }, ]" :disabled="loading" size="large" />
{ label: '6', value: '6' },
]"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -438,12 +349,8 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Stage" :options="stageOptions" :disabled="loading"
v-model:value="formData.Info.Stage" size="large" />
:options="stageOptions"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -451,73 +358,57 @@
<a-col :span="6"> <a-col :span="6">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="备选关卡-1"> <a-tooltip title="备选关卡-1,所有备选关卡均选择「当前/上次」时视为不使用备选关卡">
<span class="form-label"> <span class="form-label">
备选关卡-1 备选关卡-1
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Stage_1" :options="stageOptions" :disabled="loading"
v-model:value="formData.Info.Stage_1" size="large" />
:options="stageOptions"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="备选关卡-2"> <a-tooltip title="备选关卡-2,所有备选关卡均选择「当前/上次」时视为不使用备选关卡">
<span class="form-label"> <span class="form-label">
备选关卡-2 备选关卡-2
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Stage_2" :options="stageOptions" :disabled="loading"
v-model:value="formData.Info.Stage_2" size="large" />
:options="stageOptions"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="备选关卡-3"> <a-tooltip title="备选关卡-3,所有备选关卡均选择「当前/上次」时视为不使用备选关卡">
<span class="form-label"> <span class="form-label">
备选关卡-3 备选关卡-3
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Stage_3" :options="stageOptions" :disabled="loading"
v-model:value="formData.Info.Stage_3" size="large" />
:options="stageOptions"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<a-form-item name="mode"> <a-form-item name="mode">
<template #label> <template #label>
<a-tooltip title="剩余理智"> <a-tooltip title="剩余理智,选择「当前/上次」时视为不使用剩余理智">
<span class="form-label"> <span class="form-label">
剩余理智 剩余理智
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-select <a-select v-model:value="formData.Info.Stage_Remain" :options="stageOptions" :disabled="loading"
v-model:value="formData.Info.Stage_Remain" size="large" />
:options="stageOptions"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -561,7 +452,7 @@
<a-col :span="6"> <a-col :span="6">
<a-form-item name="ifAutoRoguelike"> <a-form-item name="ifAutoRoguelike">
<template #label> <template #label>
<a-tooltip title="暂不支持,正在适配中~"> <a-tooltip title="未完全适配,请谨慎使用">
<span>自动肉鸽 </span> <span>自动肉鸽 </span>
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</a-tooltip> </a-tooltip>
@@ -572,7 +463,7 @@
<a-col :span="6"> <a-col :span="6">
<a-form-item name="ifReclamation"> <a-form-item name="ifReclamation">
<template #label> <template #label>
<a-tooltip title="暂不支持,正在适配中~"> <a-tooltip title="暂不支持,等待适配中~">
<span>生息演算 </span> <span>生息演算 </span>
<QuestionCircleOutlined class="help-icon" /> <QuestionCircleOutlined class="help-icon" />
</a-tooltip> </a-tooltip>
@@ -586,26 +477,22 @@
<a-card title="森空岛配置" class="form-card"> <a-card title="森空岛配置" class="form-card">
<a-row :gutter="24" align="middle"> <a-row :gutter="24" align="middle">
<a-col :span="6"> <a-col :span="6">
<span style="font-weight: 500">启用森空岛</span> <span style="font-weight: 500">森空岛签到</span>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-switch v-model:checked="formData.Info.IfSkland" :disabled="loading" /> <a-switch v-model:checked="formData.Info.IfSkland" :disabled="loading" />
<span class="switch-description">开启后将启用森空岛相关功能</span> <span class="switch-description">开启后将启用森空岛签到功能</span>
</a-col> </a-col>
</a-row> </a-row>
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="24"> <a-col :span="24">
<span style="font-weight: 500">森空岛Token</span> <span style="font-weight: 500">森空岛Token</span>
<a-input-password <a-input-password v-model:value="formData.Info.SklandToken" :disabled="loading || !formData.Info.IfSkland"
v-model:value="formData.Info.SklandToken" placeholder="请输入森空岛Token" size="large" style="margin-top: 8px; width: 100%" allow-clear />
:disabled="loading || !formData.Info.IfSkland"
placeholder="请输入森空岛Token"
size="large"
style="margin-top: 8px; width: 100%"
allow-clear
/>
<div style="color: #999; font-size: 12px; margin-top: 4px"> <div style="color: #999; font-size: 12px; margin-top: 4px">
请在森空岛官网获取您的专属Token并粘贴到此处,详细教程建官网文档 请在森空岛官网获取您的专属Token并粘贴到此处详细教程
<a href="https://doc.auto-mas.top/docs/advanced-features.html#%E8%8E%B7%E5%8F%96%E9%B9%B0%E8%A7%92%E7%BD%91%E7%BB%9C%E9%80%9A%E8%A1%8C%E8%AF%81%E7%99%BB%E5%BD%95%E5%87%AD%E8%AF%81" target="_blank" style="color: #409EFF;">获取鹰角网络通行证登录凭证</a>
文档
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
@@ -618,7 +505,7 @@
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-switch v-model:checked="formData.Notify.Enabled" :disabled="loading" /> <a-switch v-model:checked="formData.Notify.Enabled" :disabled="loading" />
<span class="switch-description">启用后将发送任务通知</span> <span class="switch-description">启用后将发送此用户的任务通知到选中的渠道</span>
</a-col> </a-col>
</a-row> </a-row>
<!-- 发送统计/六星等可选通知 --> <!-- 发送统计/六星等可选通知 -->
@@ -627,15 +514,11 @@
<span style="font-weight: 500">通知内容</span> <span style="font-weight: 500">通知内容</span>
</a-col> </a-col>
<a-col :span="18" style="display: flex; gap: 32px"> <a-col :span="18" style="display: flex; gap: 32px">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfSendStatistic"
v-model:checked="formData.Notify.IfSendStatistic" :disabled="loading || !formData.Notify.Enabled">统计信息
:disabled="loading || !formData.Notify.Enabled"
>发送统计
</a-checkbox> </a-checkbox>
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfSendSixStar"
v-model:checked="formData.Notify.IfSendSixStar" :disabled="loading || !formData.Notify.Enabled">公开招募高资喜报
:disabled="loading || !formData.Notify.Enabled"
>六星掉落推送
</a-checkbox> </a-checkbox>
</a-col> </a-col>
</a-row> </a-row>
@@ -643,62 +526,41 @@
<!-- 邮件通知 --> <!-- 邮件通知 -->
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="6"> <a-col :span="6">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfSendMail"
v-model:checked="formData.Notify.IfSendMail" :disabled="loading || !formData.Notify.Enabled">邮件通知
:disabled="loading || !formData.Notify.Enabled"
>邮件通知
</a-checkbox> </a-checkbox>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-input <a-input v-model:value="formData.Notify.ToAddress" placeholder="请输入收件人邮箱地址"
v-model:value="formData.Notify.ToAddress" :disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfSendMail" size="large"
placeholder="请输入收件人邮箱地址" style="width: 100%" />
:disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfSendMail"
size="large"
style="width: 100%"
/>
</a-col> </a-col>
</a-row> </a-row>
<!-- Server酱通知 --> <!-- Server酱通知 -->
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="6"> <a-col :span="6">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfServerChan"
v-model:checked="formData.Notify.IfServerChan" :disabled="loading || !formData.Notify.Enabled">Server
:disabled="loading || !formData.Notify.Enabled"
>Server酱
</a-checkbox> </a-checkbox>
</a-col> </a-col>
<a-col :span="18" style="display: flex; gap: 8px"> <a-col :span="18" style="display: flex; gap: 8px">
<a-input <a-input v-model:value="formData.Notify.ServerChanKey" placeholder="请输入SENDKEY"
v-model:value="formData.Notify.ServerChanKey" :disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfServerChan" size="large"
placeholder="SENDKEY" style="flex: 2" />
:disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfServerChan"
size="large"
style="flex: 2"
/>
</a-col> </a-col>
</a-row> </a-row>
<!-- 企业微信群机器人通知 --> <!-- 企业微信群机器人通知 -->
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="6"> <a-col :span="6">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfCompanyWebHookBot"
v-model:checked="formData.Notify.IfCompanyWebHookBot" :disabled="loading || !formData.Notify.Enabled">企业微信群机器人
:disabled="loading || !formData.Notify.Enabled"
>企业微信群机器人
</a-checkbox> </a-checkbox>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-input <a-input v-model:value="formData.Notify.CompanyWebHookBotUrl" placeholder="请输入机器人Webhook地址" :disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfCompanyWebHookBot
v-model:value="formData.Notify.CompanyWebHookBotUrl" " size="large" style="width: 100%" />
placeholder="请输入机器人Webhook地址"
:disabled="
loading || !formData.Notify.Enabled || !formData.Notify.IfCompanyWebHookBot
"
size="large"
style="width: 100%"
/>
</a-col> </a-col>
</a-row> </a-row>
@@ -720,12 +582,7 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input <a-input v-model:value="formData.userName" placeholder="请输入用户名" :disabled="loading" size="large" />
v-model:value="formData.userName"
placeholder="请输入用户名"
:disabled="loading"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@@ -738,11 +595,7 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-switch <a-switch v-model:checked="formData.Info.Status" :disabled="loading" size="default" />
v-model:checked="formData.Info.Status"
:disabled="loading"
size="default"
/>
<span class="switch-description">启用后该用户将参与自动化任务</span> <span class="switch-description">启用后该用户将参与自动化任务</span>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -759,15 +612,8 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input-number <a-input-number v-model:value="formData.Info.RemainedDay" :min="-1" :max="9999" placeholder="-1"
v-model:value="formData.Info.RemainedDay" :disabled="loading" size="large" style="width: 100%" />
:min="-1"
:max="9999"
placeholder="-1"
:disabled="loading"
size="large"
style="width: 100%"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@@ -784,12 +630,7 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-textarea <a-textarea v-model:value="formData.Info.Notes" placeholder="请输入备注信息" :rows="4" :disabled="loading" />
v-model:value="formData.Info.Notes"
placeholder="请输入备注信息"
:rows="4"
:disabled="loading"
/>
</a-form-item> </a-form-item>
</a-card> </a-card>
@@ -805,11 +646,7 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-switch <a-switch v-model:checked="formData.Info.IfScriptBeforeTask" :disabled="loading" size="default" />
v-model:checked="formData.Info.IfScriptBeforeTask"
:disabled="loading"
size="default"
/>
<span class="switch-description">启用后将在任务执行前运行指定脚本</span> <span class="switch-description">启用后将在任务执行前运行指定脚本</span>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -823,11 +660,7 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-switch <a-switch v-model:checked="formData.Info.IfScriptAfterTask" :disabled="loading" size="default" />
v-model:checked="formData.Info.IfScriptAfterTask"
:disabled="loading"
size="default"
/>
<span class="switch-description">启用后将在任务执行后运行指定脚本</span> <span class="switch-description">启用后将在任务执行后运行指定脚本</span>
</a-form-item> </a-form-item>
</a-col> </a-col>
@@ -844,12 +677,8 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input <a-input v-model:value="formData.Info.ScriptBeforeTask" placeholder="请输入脚本路径"
v-model:value="formData.Info.ScriptBeforeTask" :disabled="loading || !formData.Info.IfScriptBeforeTask" size="large" />
placeholder="请输入脚本路径"
:disabled="loading || !formData.Info.IfScriptBeforeTask"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
@@ -862,12 +691,8 @@
</span> </span>
</a-tooltip> </a-tooltip>
</template> </template>
<a-input <a-input v-model:value="formData.Info.ScriptAfterTask" placeholder="请输入脚本路径"
v-model:value="formData.Info.ScriptAfterTask" :disabled="loading || !formData.Info.IfScriptAfterTask" size="large" />
placeholder="请输入脚本路径"
:disabled="loading || !formData.Info.IfScriptAfterTask"
size="large"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
@@ -889,10 +714,8 @@
<span style="font-weight: 500">通知内容</span> <span style="font-weight: 500">通知内容</span>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfSendStatistic"
v-model:checked="formData.Notify.IfSendStatistic" :disabled="loading || !formData.Notify.Enabled">发送统计
:disabled="loading || !formData.Notify.Enabled"
>发送统计
</a-checkbox> </a-checkbox>
</a-col> </a-col>
</a-row> </a-row>
@@ -900,62 +723,41 @@
<!-- 邮件通知 --> <!-- 邮件通知 -->
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="6"> <a-col :span="6">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfSendMail"
v-model:checked="formData.Notify.IfSendMail" :disabled="loading || !formData.Notify.Enabled">邮件通知
:disabled="loading || !formData.Notify.Enabled"
>邮件通知
</a-checkbox> </a-checkbox>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-input <a-input v-model:value="formData.Notify.ToAddress" placeholder="请输入收件人邮箱地址"
v-model:value="formData.Notify.ToAddress" :disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfSendMail" size="large"
placeholder="请输入收件人邮箱地址" style="width: 100%" />
:disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfSendMail"
size="large"
style="width: 100%"
/>
</a-col> </a-col>
</a-row> </a-row>
<!-- Server酱通知 --> <!-- Server酱通知 -->
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="6"> <a-col :span="6">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfServerChan"
v-model:checked="formData.Notify.IfServerChan" :disabled="loading || !formData.Notify.Enabled">Server
:disabled="loading || !formData.Notify.Enabled"
>Server酱
</a-checkbox> </a-checkbox>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-input <a-input v-model:value="formData.Notify.ServerChanKey" placeholder="SENDKEY"
v-model:value="formData.Notify.ServerChanKey" :disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfServerChan" size="large"
placeholder="SENDKEY" style="width: 100%" />
:disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfServerChan"
size="large"
style="width: 100%"
/>
</a-col> </a-col>
</a-row> </a-row>
<!-- 企业微信群机器人通知 --> <!-- 企业微信群机器人通知 -->
<a-row :gutter="24" style="margin-top: 16px"> <a-row :gutter="24" style="margin-top: 16px">
<a-col :span="6"> <a-col :span="6">
<a-checkbox <a-checkbox v-model:checked="formData.Notify.IfCompanyWebHookBot"
v-model:checked="formData.Notify.IfCompanyWebHookBot" :disabled="loading || !formData.Notify.Enabled">企业微信群机器人
:disabled="loading || !formData.Notify.Enabled"
>企业微信群机器人
</a-checkbox> </a-checkbox>
</a-col> </a-col>
<a-col :span="18"> <a-col :span="18">
<a-input <a-input v-model:value="formData.Notify.CompanyWebHookBotUrl" placeholder="请输入机器人Webhook地址" :disabled="loading || !formData.Notify.Enabled || !formData.Notify.IfCompanyWebHookBot
v-model:value="formData.Notify.CompanyWebHookBotUrl" " size="large" style="width: 100%" />
placeholder="请输入机器人Webhook地址"
:disabled="
loading || !formData.Notify.Enabled || !formData.Notify.IfCompanyWebHookBot
"
size="large"
style="width: 100%"
/>
</a-col> </a-col>
</a-row> </a-row>
@@ -965,14 +767,9 @@
</a-form> </a-form>
</div> </div>
<a-float-button <a-float-button type="primary" @click="handleSubmit" class="float-button" :style="{
type="primary" right: '24px',
@click="handleSubmit" }">
class="float-button"
:style="{
right: '24px',
}"
>
<template #icon> <template #icon>
<SaveOutlined /> <SaveOutlined />
</template> </template>
@@ -1060,11 +857,6 @@ const getDefaultMAAUserData = () => ({
Stage_Remain: '', Stage_Remain: '',
IfSkland: false, IfSkland: false,
SklandToken: '', SklandToken: '',
// 添加 General 脚本的属性以确保兼容性
IfScriptBeforeTask: false,
IfScriptAfterTask: false,
ScriptBeforeTask: '',
ScriptAfterTask: '',
}, },
Task: { Task: {
IfBase: true, IfBase: true,

File diff suppressed because it is too large Load Diff