mirror of
https://github.com/putyy/res-downloader.git
synced 2026-01-12 22:34:56 +08:00
42 lines
694 B
Go
42 lines
694 B
Go
package core
|
|
|
|
import (
|
|
"os"
|
|
"path"
|
|
"res-downloader/core/shared"
|
|
)
|
|
|
|
type Storage struct {
|
|
fileName string
|
|
def []byte
|
|
}
|
|
|
|
func NewStorage(filename string, def []byte) *Storage {
|
|
return &Storage{
|
|
fileName: path.Join(appOnce.UserDir, filename),
|
|
def: def,
|
|
}
|
|
}
|
|
|
|
func (l *Storage) Load() ([]byte, error) {
|
|
if !shared.FileExist(l.fileName) {
|
|
err := os.WriteFile(l.fileName, l.def, 0644)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return l.def, nil
|
|
}
|
|
d, err := os.ReadFile(l.fileName)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return d, err
|
|
}
|
|
|
|
func (l *Storage) Store(data []byte) error {
|
|
if err := os.WriteFile(l.fileName, data, 0644); err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|