46 lines
907 B
Go
46 lines
907 B
Go
package models
|
|
|
|
import (
|
|
"encoding/json"
|
|
"os"
|
|
)
|
|
|
|
func ParseConf() (Config, error) {
|
|
var conf Config
|
|
data, err := os.ReadFile("config.json")
|
|
if err != nil {
|
|
return conf, err
|
|
}
|
|
// 解析JSON数据到Config结构体
|
|
err = json.Unmarshal(data, &conf)
|
|
|
|
return conf, err
|
|
}
|
|
|
|
type Config struct {
|
|
Values []string `json:"values"`
|
|
ReFresh int `json:"refresh"`
|
|
AutoUpdatePush int `json:"autoUpdatePush"`
|
|
NightStartTime string `json:"nightStartTime"`
|
|
NightEndTime string `json:"nightEndTime"`
|
|
}
|
|
|
|
func (older Config) GetIncrement(newer Config) []string {
|
|
var (
|
|
urlMap = make(map[string]struct{})
|
|
increment = make([]string, 0, len(newer.Values))
|
|
)
|
|
for _, item := range older.Values {
|
|
urlMap[item] = struct{}{}
|
|
}
|
|
|
|
for _, item := range newer.Values {
|
|
if _, ok := urlMap[item]; ok {
|
|
continue
|
|
}
|
|
increment = append(increment, item)
|
|
}
|
|
|
|
return increment
|
|
}
|