Skip to content

Commit 9159198

Browse files
authored
Merge pull request #8 from seth-shi/feature/more
add: 加载配置
2 parents 9cbec69 + 20205a7 commit 9159198

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

commands/config.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,18 @@ func LoadConfig() tea.Cmd {
1818
bf, err := os.ReadFile(model.ConfigPath())
1919
if err != nil {
2020
if !errors.Is(err, os.ErrNotExist) {
21-
return err
21+
return messages.LoadConfigResult{Result: cfg, Err: err}
2222
}
2323
}
2424

25-
err = json.Unmarshal(bf, &cfg)
26-
if err != nil {
27-
return err
25+
if bf != nil {
26+
err = json.Unmarshal(bf, &cfg)
27+
if err != nil {
28+
return messages.LoadConfigResult{Result: cfg, Err: err}
29+
}
30+
g.Config.Set(cfg)
2831
}
2932

30-
// TODO 保存配置生效
3133
return messages.LoadConfigResult{Result: cfg}
3234
}
3335
}

messages/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ import (
66

77
type LoadConfigResult struct {
88
Result *model.FileConfig
9+
Err error
910
}

model/safe.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ func (s *Safe[T]) Get() T {
2424
return s.data
2525
}
2626

27+
func (s *Safe[T]) Set(v T) {
28+
s.locker.Lock()
29+
s.locker.Unlock()
30+
s.data = v
31+
}
32+
2733
func (s *Safe[T]) Update(fn func(T)) {
2834
s.locker.Lock()
2935
s.locker.Unlock()

pages/splash.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"github.com/seth-shi/go-v2ex/api"
88
"github.com/seth-shi/go-v2ex/commands"
99
"github.com/seth-shi/go-v2ex/messages"
10-
"github.com/seth-shi/go-v2ex/model"
1110
"github.com/seth-shi/go-v2ex/pkg"
1211
)
1312

@@ -29,21 +28,23 @@ func (m splashPage) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
2928

3029
switch msg := msg.(type) {
3130
case messages.LoadConfigResult:
32-
return m.onConfigResult(msg.Result)
31+
return m.onConfigResult(msg)
3332
}
3433

3534
return m, nil
3635
}
3736

38-
func (m splashPage) onConfigResult(conf *model.FileConfig) (tea.Model, tea.Cmd) {
37+
func (m splashPage) onConfigResult(msg messages.LoadConfigResult) (tea.Model, tea.Cmd) {
3938

39+
conf := msg.Result
4040
pkg.SetupLogger(conf)
4141
api.SetUpHttpClient(conf)
4242
pkg.SetUpImageHttpClient(conf)
4343

4444
// 把配置注入到其他页面
4545
var cmds = []tea.Cmd{
4646
// 检查版本更新
47+
commands.AlertError(msg.Err),
4748
commands.Post(messages.CheckUpgradeAppRequest{}),
4849
}
4950

0 commit comments

Comments
 (0)