refactor: remove auto_run, add default install dir value
This commit is contained in:
@@ -229,7 +229,6 @@ type Version struct {
|
||||
EntryFile string `gorm:"size:255" json:"entry_file"`
|
||||
EntryFiles string `gorm:"type:text" json:"entry_files"` // JSON数组,可启动的入口文件
|
||||
DesktopShortcutFiles string `gorm:"type:text" json:"desktop_shortcut_files"` // JSON数组,需要创建桌面快捷方式的文件
|
||||
AutoRun bool `gorm:"default:false" json:"auto_run"` // 是否自动运行
|
||||
DefaultInstallDir string `gorm:"size:500" json:"default_install_dir"` // 默认安装目录
|
||||
UpdateStrategy string `gorm:"size:20;default:optional" json:"update_strategy"`
|
||||
UpdateType string `gorm:"size:20;default:full" json:"update_type"`
|
||||
|
||||
@@ -256,7 +256,6 @@ func handleGetVersionByID(c *gin.Context) {
|
||||
"entry_file": version.EntryFile,
|
||||
"entry_files": version.EntryFiles,
|
||||
"desktop_shortcut_files": version.DesktopShortcutFiles,
|
||||
"auto_run": version.AutoRun,
|
||||
"default_install_dir": version.DefaultInstallDir,
|
||||
"full_package_path": version.FullPackagePath,
|
||||
"full_package_size": version.FullPackageSize,
|
||||
@@ -276,7 +275,6 @@ type CreateVersionRequest struct {
|
||||
EntryFile string `json:"entry_file"`
|
||||
EntryFiles string `json:"entry_files"`
|
||||
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
||||
AutoRun bool `json:"auto_run"`
|
||||
DefaultInstallDir string `json:"default_install_dir"`
|
||||
UpdateStrategy string `json:"update_strategy"`
|
||||
UpdateType string `json:"update_type"`
|
||||
@@ -332,7 +330,6 @@ func handleCreateVersionGlobal(c *gin.Context) {
|
||||
EntryFile: req.EntryFile,
|
||||
EntryFiles: req.EntryFiles,
|
||||
DesktopShortcutFiles: req.DesktopShortcutFiles,
|
||||
AutoRun: req.AutoRun,
|
||||
DefaultInstallDir: req.DefaultInstallDir,
|
||||
UpdateStrategy: req.UpdateStrategy,
|
||||
UpdateType: req.UpdateType,
|
||||
@@ -478,7 +475,6 @@ type UpdateVersionRequest struct {
|
||||
EntryFile string `json:"entry_file"`
|
||||
EntryFiles string `json:"entry_files"`
|
||||
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
||||
AutoRun bool `json:"auto_run"`
|
||||
DefaultInstallDir string `json:"default_install_dir"`
|
||||
UpdateStrategy string `json:"update_strategy"`
|
||||
UpdateType string `json:"update_type"`
|
||||
@@ -547,7 +543,6 @@ func handleUpdateVersionGlobal(c *gin.Context) {
|
||||
updates["entry_file"] = req.EntryFile
|
||||
updates["entry_files"] = req.EntryFiles
|
||||
updates["desktop_shortcut_files"] = req.DesktopShortcutFiles
|
||||
updates["auto_run"] = req.AutoRun
|
||||
updates["default_install_dir"] = req.DefaultInstallDir
|
||||
if req.UpdateStrategy != "" {
|
||||
updates["update_strategy"] = req.UpdateStrategy
|
||||
|
||||
@@ -122,7 +122,6 @@ func handleAppCheckUpdate(c *gin.Context) {
|
||||
"entry_file": latestVersion.EntryFile,
|
||||
"entry_files": latestVersion.EntryFiles,
|
||||
"desktop_shortcut_files": latestVersion.DesktopShortcutFiles,
|
||||
"auto_run": latestVersion.AutoRun,
|
||||
"default_install_dir": latestVersion.DefaultInstallDir,
|
||||
"update_notes": latestVersion.Description,
|
||||
"update_strategy": latestVersion.UpdateStrategy,
|
||||
|
||||
@@ -55,7 +55,6 @@ const formData = ref({
|
||||
entry_file: '',
|
||||
entry_files: [] as string[],
|
||||
desktop_shortcut_files: [] as string[],
|
||||
auto_run: false,
|
||||
default_install_dir: '',
|
||||
file: null as File | null,
|
||||
base_version_id: '' as string,
|
||||
@@ -68,6 +67,16 @@ const selectedApplication = computed(() => {
|
||||
return applications.value.find(app => String(app.id) === formData.value.application_id)
|
||||
})
|
||||
|
||||
// 当应用选择变化时,自动设置默认安装目录
|
||||
watch(
|
||||
() => selectedApplication.value,
|
||||
(app) => {
|
||||
if (app && !formData.value.default_install_dir) {
|
||||
formData.value.default_install_dir = `C:\\Program Files\\${app.name}`
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
const baseVersionFiles = ref<VersionFileInfo[]>([])
|
||||
|
||||
const mergedFiles = computed(() => {
|
||||
@@ -146,7 +155,6 @@ async function fetchVersion() {
|
||||
formData.value.changelog = ver.changelog || ''
|
||||
formData.value.entry_file = ver.entry_file || ''
|
||||
formData.value.base_version_id = ver.base_version_id ? String(ver.base_version_id) : ''
|
||||
formData.value.auto_run = ver.auto_run || false
|
||||
formData.value.default_install_dir = ver.default_install_dir || ''
|
||||
// 解析 entry_files JSON
|
||||
try {
|
||||
@@ -371,7 +379,6 @@ async function handleSubmit() {
|
||||
entry_file: formData.value.entry_file,
|
||||
entry_files: JSON.stringify(formData.value.entry_files),
|
||||
desktop_shortcut_files: JSON.stringify(formData.value.desktop_shortcut_files),
|
||||
auto_run: formData.value.auto_run,
|
||||
default_install_dir: formData.value.default_install_dir,
|
||||
}
|
||||
|
||||
@@ -693,14 +700,6 @@ onMounted(() => {
|
||||
<div class="space-y-4 rounded-lg border p-4">
|
||||
<h4 class="font-medium">{{ t('admin.versions.createForm.installOptions') }}</h4>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="space-y-0.5">
|
||||
<UiLabel class="text-sm">{{ t('admin.versions.createForm.autoRun') }}</UiLabel>
|
||||
<p class="text-xs text-muted-foreground">{{ t('admin.versions.createForm.autoRunDesc') }}</p>
|
||||
</div>
|
||||
<UiSwitch v-model="formData.auto_run" :disabled="saving" />
|
||||
</div>
|
||||
|
||||
<div class="space-y-2">
|
||||
<UiLabel class="text-sm">{{ t('admin.versions.createForm.defaultInstallDir') }}</UiLabel>
|
||||
<UiInput
|
||||
|
||||
@@ -54,7 +54,6 @@ const formData = ref({
|
||||
entry_file: '',
|
||||
entry_files: [] as string[],
|
||||
desktop_shortcut_files: [] as string[],
|
||||
auto_run: false,
|
||||
default_install_dir: '',
|
||||
file: null as File | null,
|
||||
base_version_id: '' as string,
|
||||
@@ -67,6 +66,16 @@ const selectedApplication = computed(() => {
|
||||
return applications.value.find(app => String(app.id) === formData.value.application_id)
|
||||
})
|
||||
|
||||
// 当应用选择变化时,自动设置默认安装目录
|
||||
watch(
|
||||
() => selectedApplication.value,
|
||||
(app) => {
|
||||
if (app && !formData.value.default_install_dir) {
|
||||
formData.value.default_install_dir = `C:\\Program Files\\${app.name}`
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
const baseVersionFiles = ref<VersionFileInfo[]>([])
|
||||
|
||||
const mergedFiles = computed(() => {
|
||||
@@ -337,7 +346,6 @@ async function handleSubmit() {
|
||||
entry_file: formData.value.entry_file,
|
||||
entry_files: JSON.stringify(formData.value.entry_files),
|
||||
desktop_shortcut_files: JSON.stringify(formData.value.desktop_shortcut_files),
|
||||
auto_run: formData.value.auto_run,
|
||||
default_install_dir: formData.value.default_install_dir,
|
||||
file_path: uploadedData.value.file_path,
|
||||
file_size: uploadedData.value.file_size,
|
||||
@@ -613,14 +621,6 @@ onMounted(() => {
|
||||
<div class="space-y-4 rounded-lg border p-4">
|
||||
<h4 class="font-medium">{{ t('admin.versions.createForm.installOptions') }}</h4>
|
||||
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="space-y-0.5">
|
||||
<UiLabel class="text-sm">{{ t('admin.versions.createForm.autoRun') }}</UiLabel>
|
||||
<p class="text-xs text-muted-foreground">{{ t('admin.versions.createForm.autoRunDesc') }}</p>
|
||||
</div>
|
||||
<UiSwitch v-model="formData.auto_run" :disabled="saving" />
|
||||
</div>
|
||||
|
||||
<div class="space-y-2">
|
||||
<UiLabel class="text-sm">{{ t('admin.versions.createForm.defaultInstallDir') }}</UiLabel>
|
||||
<UiInput
|
||||
|
||||
Reference in New Issue
Block a user