write base server

This commit is contained in:
2026-09-02 18:16:35 +08:00
parent b4bfb50ae3
commit c4ccba256d
8 changed files with 234 additions and 0 deletions

47
db/db.go Normal file
View File

@@ -0,0 +1,47 @@
package db
import (
"encoding/json"
"os"
"sync"
)
type Database struct {
Users map[string][]map[string]any `json:"Users"`
}
var (
DB Database
mu sync.Mutex
path = "db.json"
)
func Init(servers []string) {
data, err := os.ReadFile(path)
if err == nil {
json.Unmarshal(data, &DB)
}
if DB.Users == nil {
DB.Users = make(map[string][]map[string]any)
}
for _, s := range servers {
if DB.Users[s] == nil {
DB.Users[s] = []map[string]any{}
}
}
Save()
}
func Save() {
mu.Lock()
defer mu.Unlock()
data, _ := json.MarshalIndent(DB, "", " ")
tmp := path + ".tmp"
os.WriteFile(tmp, data, 0644)
os.Rename(tmp, path)
}