feat 存档
This commit is contained in:
@@ -9,7 +9,9 @@ import (
|
||||
"fiction/db/sqlite"
|
||||
"fmt"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@@ -180,3 +182,63 @@ func saveToFile(name string, content string) {
|
||||
fmt.Printf("写入文件失败: %v\n", err)
|
||||
}
|
||||
}
|
||||
|
||||
// OpenSourceDir 打开原文目录
|
||||
func (a *App) OpenSourceDir() error {
|
||||
// 获取当前工作目录
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 构建绝对路径
|
||||
sourceDir := filepath.Join(cwd, "source")
|
||||
// 确保目录存在
|
||||
if _, err := os.Stat(sourceDir); os.IsNotExist(err) {
|
||||
os.MkdirAll(sourceDir, 0755)
|
||||
}
|
||||
// 打开目录
|
||||
return openDir(sourceDir)
|
||||
}
|
||||
|
||||
// OpenGenerateDir 打开仿文目录
|
||||
func (a *App) OpenGenerateDir() error {
|
||||
// 获取当前工作目录
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// 构建绝对路径
|
||||
generateDir := filepath.Join(cwd, "generate")
|
||||
// 确保目录存在
|
||||
if _, err := os.Stat(generateDir); os.IsNotExist(err) {
|
||||
os.MkdirAll(generateDir, 0755)
|
||||
}
|
||||
// 打开目录
|
||||
return openDir(generateDir)
|
||||
}
|
||||
|
||||
// openDir 打开指定目录
|
||||
func openDir(dir string) error {
|
||||
var cmd string
|
||||
var args []string
|
||||
|
||||
// 根据操作系统选择打开命令
|
||||
switch os := runtime.GOOS; os {
|
||||
case "windows":
|
||||
cmd = "explorer"
|
||||
args = []string{dir}
|
||||
case "darwin":
|
||||
cmd = "open"
|
||||
args = []string{dir}
|
||||
case "linux":
|
||||
cmd = "xdg-open"
|
||||
args = []string{dir}
|
||||
default:
|
||||
return fmt.Errorf("unsupported operating system: %s", os)
|
||||
}
|
||||
|
||||
// 执行命令
|
||||
return exec.Command(cmd, args...).Start()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user