feat: 默认脚本分保存本地和上传七牛云两个按钮

This commit is contained in:
mediabot-pt
2026-07-05 23:46:17 +08:00
parent 13ac266627
commit 25df4203d7
3 changed files with 49 additions and 28 deletions

View File

@@ -21,7 +21,8 @@
</div>
<template #footer>
<el-button @click="defaultEditorVisible=false">取消</el-button>
<el-button type="primary" @click="saveDefaultScript" :loading="defaultSaving">保存</el-button>
<el-button @click="saveDefaultLocal" :loading="defaultSaving">保存本地</el-button>
<el-button type="primary" @click="uploadDefaultScript" :loading="defaultUploading">上传</el-button>
</template>
</el-dialog>
@@ -106,7 +107,7 @@ const sites = ref([])
const defaultTypes = ['nexusphp','mtorrent','gazelle','unit3d']
const defaultEditorVisible = ref(false), defaultViewVisible = ref(false)
const editingDefaultType = ref(''), viewingDefaultType = ref(''), viewingDefaultScript = ref('')
const defaultScriptContent = ref(''), defaultSaving = ref(false)
const defaultScriptContent = ref(''), defaultSaving = ref(false), defaultUploading = ref(false)
const editDefaultScript = async (type) => {
editingDefaultType.value = type
@@ -118,25 +119,24 @@ const editDefaultScript = async (type) => {
} catch { ElMessage.error('加载默认脚本失败') }
}
const viewDefaultScript = async (type) => {
viewingDefaultType.value = type
viewingDefaultScript.value = '加载中...'
defaultViewVisible.value = true
try {
const r = await api.raw.get('/admin/scripts/default/' + type)
viewingDefaultScript.value = (r.data||r||{}).script || (r||{}).script || '(空)'
} catch { viewingDefaultScript.value = '加载失败' }
}
const saveDefaultScript = async () => {
const saveDefaultLocal = async () => {
defaultSaving.value = true
try {
await api.raw.put('/admin/scripts/default/' + editingDefaultType.value, { script: defaultScriptContent.value })
ElMessage.success('已保存'); defaultEditorVisible.value = false
await api.raw.put('/admin/scripts/default/' + editingDefaultType.value + '/save', { script: defaultScriptContent.value })
ElMessage.success('已保存到本地')
} catch { ElMessage.error('保存失败') }
finally { defaultSaving.value = false }
}
const uploadDefaultScript = async () => {
defaultUploading.value = true
try {
await api.raw.put('/admin/scripts/default/' + editingDefaultType.value + '/upload', { script: defaultScriptContent.value })
ElMessage.success('已上传'); defaultEditorVisible.value = false
} catch { ElMessage.error('上传失败') }
finally { defaultUploading.value = false }
}
const exportScripts = async () => {
exporting.value = true
try {