清理复杂的流程

This commit is contained in:
ExplodingDragon
2025-12-22 21:52:08 +08:00
parent 11a42961f3
commit 602d436e0f
14 changed files with 126 additions and 274 deletions

View File

@@ -12,15 +12,13 @@ import (
type PageDomain struct {
*ServerMeta
baseDomain string
defaultBranch string
baseDomain string
}
func NewPageDomain(meta *ServerMeta, baseDomain, defaultBranch string) *PageDomain {
func NewPageDomain(meta *ServerMeta, baseDomain string) *PageDomain {
return &PageDomain{
baseDomain: baseDomain,
defaultBranch: defaultBranch,
ServerMeta: meta,
baseDomain: baseDomain,
ServerMeta: meta,
}
}
@@ -32,10 +30,7 @@ type PageContent struct {
Path string
}
func (p *PageDomain) ParseDomainMeta(ctx context.Context, domain, path, branch string) (*PageContent, error) {
if branch == "" {
branch = p.defaultBranch
}
func (p *PageDomain) ParseDomainMeta(ctx context.Context, domain, path string) (*PageContent, error) {
pathArr := strings.Split(strings.TrimPrefix(path, "/"), "/")
if !strings.HasSuffix(domain, "."+p.baseDomain) {
alias, err := p.Alias.Query(ctx, domain) // 确定 alias 是否存在内容
@@ -44,7 +39,7 @@ func (p *PageDomain) ParseDomainMeta(ctx context.Context, domain, path, branch s
return nil, os.ErrNotExist
}
zap.L().Debug("alias hit", zap.String("domain", domain), zap.Any("alias", alias))
return p.returnMeta(ctx, alias.Owner, alias.Repo, alias.Branch, pathArr)
return p.returnMeta(ctx, alias.Owner, alias.Repo, pathArr)
}
owner := strings.TrimSuffix(domain, "."+p.baseDomain)
repo := pathArr[0]
@@ -53,9 +48,9 @@ func (p *PageDomain) ParseDomainMeta(ctx context.Context, domain, path, branch s
if repo == "" {
// 回退到默认仓库 (路径未包含仓库)
zap.L().Debug("fail back to default repo", zap.String("repo", domain))
returnMeta, err = p.returnMeta(ctx, owner, domain, branch, pathArr)
returnMeta, err = p.returnMeta(ctx, owner, domain, pathArr)
} else {
returnMeta, err = p.returnMeta(ctx, owner, repo, branch, pathArr[1:])
returnMeta, err = p.returnMeta(ctx, owner, repo, pathArr[1:])
}
if err != nil && !errors.Is(err, os.ErrNotExist) {
return nil, err
@@ -63,14 +58,14 @@ func (p *PageDomain) ParseDomainMeta(ctx context.Context, domain, path, branch s
return returnMeta, nil
}
// 发现 repo 的情况下回退到默认页面
return p.returnMeta(ctx, owner, domain, branch, pathArr)
return p.returnMeta(ctx, owner, domain, pathArr)
}
func (p *PageDomain) returnMeta(ctx context.Context, owner, repo, branch string, path []string) (*PageContent, error) {
func (p *PageDomain) returnMeta(ctx context.Context, owner, repo string, path []string) (*PageContent, error) {
result := &PageContent{}
meta, err := p.GetMeta(ctx, owner, repo, branch)
meta, err := p.GetMeta(ctx, owner, repo)
if err != nil {
zap.L().Debug("repo does not exists", zap.Error(err), zap.Strings("meta", []string{owner, repo, branch}))
zap.L().Debug("repo does not exists", zap.Error(err), zap.Strings("meta", []string{owner, repo}))
if meta != nil {
// 解析错误汇报
return nil, errors.New(meta.ErrorMsg)