refactor: remove default_install_dir, Update uses built-in default path
This commit is contained in:
@@ -229,7 +229,6 @@ type Version struct {
|
|||||||
EntryFile string `gorm:"size:255" json:"entry_file"`
|
EntryFile string `gorm:"size:255" json:"entry_file"`
|
||||||
EntryFiles string `gorm:"type:text" json:"entry_files"` // JSON数组,可启动的入口文件
|
EntryFiles string `gorm:"type:text" json:"entry_files"` // JSON数组,可启动的入口文件
|
||||||
DesktopShortcutFiles string `gorm:"type:text" json:"desktop_shortcut_files"` // JSON数组,需要创建桌面快捷方式的文件
|
DesktopShortcutFiles string `gorm:"type:text" json:"desktop_shortcut_files"` // JSON数组,需要创建桌面快捷方式的文件
|
||||||
DefaultInstallDir string `gorm:"size:500" json:"default_install_dir"` // 默认安装目录
|
|
||||||
UpdateStrategy string `gorm:"size:20;default:optional" json:"update_strategy"`
|
UpdateStrategy string `gorm:"size:20;default:optional" json:"update_strategy"`
|
||||||
UpdateType string `gorm:"size:20;default:full" json:"update_type"`
|
UpdateType string `gorm:"size:20;default:full" json:"update_type"`
|
||||||
UpdateMethod string `gorm:"size:20;default:auto" json:"update_method"`
|
UpdateMethod string `gorm:"size:20;default:auto" json:"update_method"`
|
||||||
|
|||||||
@@ -256,7 +256,6 @@ func handleGetVersionByID(c *gin.Context) {
|
|||||||
"entry_file": version.EntryFile,
|
"entry_file": version.EntryFile,
|
||||||
"entry_files": version.EntryFiles,
|
"entry_files": version.EntryFiles,
|
||||||
"desktop_shortcut_files": version.DesktopShortcutFiles,
|
"desktop_shortcut_files": version.DesktopShortcutFiles,
|
||||||
"default_install_dir": version.DefaultInstallDir,
|
|
||||||
"full_package_path": version.FullPackagePath,
|
"full_package_path": version.FullPackagePath,
|
||||||
"full_package_size": version.FullPackageSize,
|
"full_package_size": version.FullPackageSize,
|
||||||
"full_package_hash": version.FullPackageHash,
|
"full_package_hash": version.FullPackageHash,
|
||||||
@@ -275,7 +274,6 @@ type CreateVersionRequest struct {
|
|||||||
EntryFile string `json:"entry_file"`
|
EntryFile string `json:"entry_file"`
|
||||||
EntryFiles string `json:"entry_files"`
|
EntryFiles string `json:"entry_files"`
|
||||||
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
||||||
DefaultInstallDir string `json:"default_install_dir"`
|
|
||||||
UpdateStrategy string `json:"update_strategy"`
|
UpdateStrategy string `json:"update_strategy"`
|
||||||
UpdateType string `json:"update_type"`
|
UpdateType string `json:"update_type"`
|
||||||
UpdateMethod string `json:"update_method"`
|
UpdateMethod string `json:"update_method"`
|
||||||
@@ -330,7 +328,6 @@ func handleCreateVersionGlobal(c *gin.Context) {
|
|||||||
EntryFile: req.EntryFile,
|
EntryFile: req.EntryFile,
|
||||||
EntryFiles: req.EntryFiles,
|
EntryFiles: req.EntryFiles,
|
||||||
DesktopShortcutFiles: req.DesktopShortcutFiles,
|
DesktopShortcutFiles: req.DesktopShortcutFiles,
|
||||||
DefaultInstallDir: req.DefaultInstallDir,
|
|
||||||
UpdateStrategy: req.UpdateStrategy,
|
UpdateStrategy: req.UpdateStrategy,
|
||||||
UpdateType: req.UpdateType,
|
UpdateType: req.UpdateType,
|
||||||
UpdateMethod: req.UpdateMethod,
|
UpdateMethod: req.UpdateMethod,
|
||||||
@@ -475,7 +472,6 @@ type UpdateVersionRequest struct {
|
|||||||
EntryFile string `json:"entry_file"`
|
EntryFile string `json:"entry_file"`
|
||||||
EntryFiles string `json:"entry_files"`
|
EntryFiles string `json:"entry_files"`
|
||||||
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
DesktopShortcutFiles string `json:"desktop_shortcut_files"`
|
||||||
DefaultInstallDir string `json:"default_install_dir"`
|
|
||||||
UpdateStrategy string `json:"update_strategy"`
|
UpdateStrategy string `json:"update_strategy"`
|
||||||
UpdateType string `json:"update_type"`
|
UpdateType string `json:"update_type"`
|
||||||
UpdateMethod string `json:"update_method"`
|
UpdateMethod string `json:"update_method"`
|
||||||
@@ -543,7 +539,6 @@ func handleUpdateVersionGlobal(c *gin.Context) {
|
|||||||
updates["entry_file"] = req.EntryFile
|
updates["entry_file"] = req.EntryFile
|
||||||
updates["entry_files"] = req.EntryFiles
|
updates["entry_files"] = req.EntryFiles
|
||||||
updates["desktop_shortcut_files"] = req.DesktopShortcutFiles
|
updates["desktop_shortcut_files"] = req.DesktopShortcutFiles
|
||||||
updates["default_install_dir"] = req.DefaultInstallDir
|
|
||||||
if req.UpdateStrategy != "" {
|
if req.UpdateStrategy != "" {
|
||||||
updates["update_strategy"] = req.UpdateStrategy
|
updates["update_strategy"] = req.UpdateStrategy
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,8 +122,7 @@ func handleAppCheckUpdate(c *gin.Context) {
|
|||||||
"entry_file": latestVersion.EntryFile,
|
"entry_file": latestVersion.EntryFile,
|
||||||
"entry_files": latestVersion.EntryFiles,
|
"entry_files": latestVersion.EntryFiles,
|
||||||
"desktop_shortcut_files": latestVersion.DesktopShortcutFiles,
|
"desktop_shortcut_files": latestVersion.DesktopShortcutFiles,
|
||||||
"default_install_dir": latestVersion.DefaultInstallDir,
|
"update_notes": latestVersion.Description,
|
||||||
"update_notes": latestVersion.Description,
|
|
||||||
"update_strategy": latestVersion.UpdateStrategy,
|
"update_strategy": latestVersion.UpdateStrategy,
|
||||||
"update_type": latestVersion.UpdateType,
|
"update_type": latestVersion.UpdateType,
|
||||||
"update_method": latestVersion.UpdateMethod,
|
"update_method": latestVersion.UpdateMethod,
|
||||||
|
|||||||
@@ -55,7 +55,6 @@ const formData = ref({
|
|||||||
entry_file: '',
|
entry_file: '',
|
||||||
entry_files: [] as string[],
|
entry_files: [] as string[],
|
||||||
desktop_shortcut_files: [] as string[],
|
desktop_shortcut_files: [] as string[],
|
||||||
default_install_dir: '',
|
|
||||||
file: null as File | null,
|
file: null as File | null,
|
||||||
base_version_id: '' as string,
|
base_version_id: '' as string,
|
||||||
})
|
})
|
||||||
@@ -67,16 +66,6 @@ const selectedApplication = computed(() => {
|
|||||||
return applications.value.find(app => String(app.id) === formData.value.application_id)
|
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 baseVersionFiles = ref<VersionFileInfo[]>([])
|
||||||
|
|
||||||
const mergedFiles = computed(() => {
|
const mergedFiles = computed(() => {
|
||||||
@@ -155,7 +144,6 @@ async function fetchVersion() {
|
|||||||
formData.value.changelog = ver.changelog || ''
|
formData.value.changelog = ver.changelog || ''
|
||||||
formData.value.entry_file = ver.entry_file || ''
|
formData.value.entry_file = ver.entry_file || ''
|
||||||
formData.value.base_version_id = ver.base_version_id ? String(ver.base_version_id) : ''
|
formData.value.base_version_id = ver.base_version_id ? String(ver.base_version_id) : ''
|
||||||
formData.value.default_install_dir = ver.default_install_dir || ''
|
|
||||||
// 解析 entry_files JSON
|
// 解析 entry_files JSON
|
||||||
try {
|
try {
|
||||||
formData.value.entry_files = ver.entry_files ? JSON.parse(ver.entry_files) : []
|
formData.value.entry_files = ver.entry_files ? JSON.parse(ver.entry_files) : []
|
||||||
@@ -379,7 +367,6 @@ async function handleSubmit() {
|
|||||||
entry_file: formData.value.entry_file,
|
entry_file: formData.value.entry_file,
|
||||||
entry_files: JSON.stringify(formData.value.entry_files),
|
entry_files: JSON.stringify(formData.value.entry_files),
|
||||||
desktop_shortcut_files: JSON.stringify(formData.value.desktop_shortcut_files),
|
desktop_shortcut_files: JSON.stringify(formData.value.desktop_shortcut_files),
|
||||||
default_install_dir: formData.value.default_install_dir,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果是补丁版本,添加基础版本ID
|
// 如果是补丁版本,添加基础版本ID
|
||||||
@@ -692,20 +679,6 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 安装选项 -->
|
|
||||||
<div class="space-y-4 rounded-lg border p-4">
|
|
||||||
<h4 class="font-medium">{{ t('admin.versions.createForm.installOptions') }}</h4>
|
|
||||||
|
|
||||||
<div class="space-y-2">
|
|
||||||
<UiLabel class="text-sm">{{ t('admin.versions.createForm.defaultInstallDir') }}</UiLabel>
|
|
||||||
<UiInput
|
|
||||||
v-model="formData.default_install_dir"
|
|
||||||
:placeholder="t('admin.versions.createForm.defaultInstallDirPlaceholder')"
|
|
||||||
:disabled="saving"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex items-center justify-between rounded-lg border p-4">
|
<div class="flex items-center justify-between rounded-lg border p-4">
|
||||||
<div class="space-y-0.5">
|
<div class="space-y-0.5">
|
||||||
<UiLabel class="text-base">
|
<UiLabel class="text-base">
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ const formData = ref({
|
|||||||
entry_file: '',
|
entry_file: '',
|
||||||
entry_files: [] as string[],
|
entry_files: [] as string[],
|
||||||
desktop_shortcut_files: [] as string[],
|
desktop_shortcut_files: [] as string[],
|
||||||
default_install_dir: '',
|
|
||||||
file: null as File | null,
|
file: null as File | null,
|
||||||
base_version_id: '' as string,
|
base_version_id: '' as string,
|
||||||
})
|
})
|
||||||
@@ -66,16 +65,6 @@ const selectedApplication = computed(() => {
|
|||||||
return applications.value.find(app => String(app.id) === formData.value.application_id)
|
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 baseVersionFiles = ref<VersionFileInfo[]>([])
|
||||||
|
|
||||||
const mergedFiles = computed(() => {
|
const mergedFiles = computed(() => {
|
||||||
@@ -346,7 +335,6 @@ async function handleSubmit() {
|
|||||||
entry_file: formData.value.entry_file,
|
entry_file: formData.value.entry_file,
|
||||||
entry_files: JSON.stringify(formData.value.entry_files),
|
entry_files: JSON.stringify(formData.value.entry_files),
|
||||||
desktop_shortcut_files: JSON.stringify(formData.value.desktop_shortcut_files),
|
desktop_shortcut_files: JSON.stringify(formData.value.desktop_shortcut_files),
|
||||||
default_install_dir: formData.value.default_install_dir,
|
|
||||||
file_path: uploadedData.value.file_path,
|
file_path: uploadedData.value.file_path,
|
||||||
file_size: uploadedData.value.file_size,
|
file_size: uploadedData.value.file_size,
|
||||||
file_hash: uploadedData.value.file_hash,
|
file_hash: uploadedData.value.file_hash,
|
||||||
@@ -614,19 +602,6 @@ onMounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 安装选项 -->
|
<!-- 安装选项 -->
|
||||||
<div class="space-y-4 rounded-lg border p-4">
|
|
||||||
<h4 class="font-medium">{{ t('admin.versions.createForm.installOptions') }}</h4>
|
|
||||||
|
|
||||||
<div class="space-y-2">
|
|
||||||
<UiLabel class="text-sm">{{ t('admin.versions.createForm.defaultInstallDir') }}</UiLabel>
|
|
||||||
<UiInput
|
|
||||||
v-model="formData.default_install_dir"
|
|
||||||
:placeholder="t('admin.versions.createForm.defaultInstallDirPlaceholder')"
|
|
||||||
:disabled="saving"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flex items-center justify-between rounded-lg border p-4">
|
<div class="flex items-center justify-between rounded-lg border p-4">
|
||||||
<div class="space-y-0.5">
|
<div class="space-y-0.5">
|
||||||
<UiLabel class="text-base">
|
<UiLabel class="text-base">
|
||||||
|
|||||||
Reference in New Issue
Block a user