FIX: Fix bug check diff type
This commit is contained in:
@@ -87,19 +87,6 @@ export default function DiffPage() {
|
|||||||
setDiffDir('')
|
setDiffDir('')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const [isOk, validType, errorType] = await DiffService.CheckTypeHDiff(basePath)
|
|
||||||
if (!isOk) {
|
|
||||||
toast.error(errorType)
|
|
||||||
setDiffCheckResult('error')
|
|
||||||
setDiffDir('')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if (validType == "") {
|
|
||||||
toast.error('Not valid file type')
|
|
||||||
setDiffCheckResult('error')
|
|
||||||
setDiffDir('')
|
|
||||||
return
|
|
||||||
}
|
|
||||||
setDiffDir(basePath)
|
setDiffDir(basePath)
|
||||||
setDiffCheckResult('success')
|
setDiffCheckResult('success')
|
||||||
} else {
|
} else {
|
||||||
@@ -134,8 +121,6 @@ export default function DiffPage() {
|
|||||||
}
|
}
|
||||||
setProgressUpdate(1)
|
setProgressUpdate(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (validType === 'hdiffmap.json') {
|
if (validType === 'hdiffmap.json') {
|
||||||
setStageType('Version Validate')
|
setStageType('Version Validate')
|
||||||
setProgressUpdate(0)
|
setProgressUpdate(0)
|
||||||
|
|||||||
@@ -18,16 +18,16 @@ import (
|
|||||||
type DiffService struct{}
|
type DiffService struct{}
|
||||||
|
|
||||||
func (h *DiffService) CheckTypeHDiff(patchPath string) (bool, string, string) {
|
func (h *DiffService) CheckTypeHDiff(patchPath string) (bool, string, string) {
|
||||||
if ok, err := sevenzip.IsFileIn7z(patchPath, "manifest"); err == nil && ok {
|
|
||||||
return true, "manifest", ""
|
|
||||||
}
|
|
||||||
|
|
||||||
if ok, err := sevenzip.IsFileIn7z(patchPath, "hdifffiles.txt"); err == nil && ok {
|
if ok, err := sevenzip.IsFileIn7z(patchPath, "hdifffiles.txt"); err == nil && ok {
|
||||||
return true, "hdifffiles.txt", ""
|
return true, "hdifffiles.txt", ""
|
||||||
}
|
}
|
||||||
if ok, err := sevenzip.IsFileIn7z(patchPath, "hdiffmap.json"); err == nil && ok {
|
if ok, err := sevenzip.IsFileIn7z(patchPath, "hdiffmap.json"); err == nil && ok {
|
||||||
return true, "hdiffmap.json", ""
|
return true, "hdiffmap.json", ""
|
||||||
}
|
}
|
||||||
|
if ok, err := sevenzip.IsFileIn7z(patchPath, "manifest"); err == nil && ok {
|
||||||
|
return true, "manifest", ""
|
||||||
|
}
|
||||||
|
|
||||||
return false, "", "not found hdifffiles.txt or hdiffmap.json"
|
return false, "", "not found hdifffiles.txt or hdiffmap.json"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,9 +155,12 @@ func (h *DiffService) DeleteFiles(gamePath string) (bool, string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err := scanner.Err(); err != nil {
|
if err := scanner.Err(); err != nil {
|
||||||
|
file.Close()
|
||||||
return false, "no delete files exist"
|
return false, "no delete files exist"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
file.Close()
|
||||||
|
|
||||||
for i, file := range deleteFiles {
|
for i, file := range deleteFiles {
|
||||||
os.Remove(filepath.Join(gamePath, file))
|
os.Remove(filepath.Join(gamePath, file))
|
||||||
application.Get().Event.Emit("diff:progress", map[string]int{"progress": i, "maxProgress": len(deleteFiles)})
|
application.Get().Event.Emit("diff:progress", map[string]int{"progress": i, "maxProgress": len(deleteFiles)})
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const ProxyZipFile = "64bit.zip"
|
|||||||
const LauncherFile = "firefly-launcher.exe"
|
const LauncherFile = "firefly-launcher.exe"
|
||||||
const TempUrl = "./temp"
|
const TempUrl = "./temp"
|
||||||
|
|
||||||
const CurrentLauncherVersion = "1.5.0"
|
const CurrentLauncherVersion = "1.5.1"
|
||||||
|
|
||||||
type ToolFile string
|
type ToolFile string
|
||||||
|
|
||||||
|
|||||||
@@ -21,9 +21,18 @@ func IsFileIn7z(archivePath, fileInside string) (bool, error) {
|
|||||||
|
|
||||||
lines := strings.Split(out.String(), "\n")
|
lines := strings.Split(out.String(), "\n")
|
||||||
for _, line := range lines {
|
for _, line := range lines {
|
||||||
if strings.Contains(line, fileInside) {
|
line = strings.TrimSpace(line)
|
||||||
return true, nil
|
if line == "" {
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
|
parts := strings.Fields(line)
|
||||||
|
if len(parts) > 0 {
|
||||||
|
path := parts[len(parts)-1]
|
||||||
|
if path == fileInside {
|
||||||
|
return true, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false, fmt.Errorf("%s not found in %s", fileInside, archivePath)
|
return false, fmt.Errorf("%s not found in %s", fileInside, archivePath)
|
||||||
|
|||||||
Reference in New Issue
Block a user