迁移并重构项目,优化了执行流程
This commit is contained in:
		
							
								
								
									
										52
									
								
								internal/class/SafeLine/Method.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								internal/class/SafeLine/Method.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,52 @@
 | 
			
		||||
package SafeLine
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"SafeLine-Acme/internal/app/logger"
 | 
			
		||||
	"SafeLine-Acme/pkg/utils"
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"io"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"os"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func (safeLine *Object) GetCertNodes() []Nodes {
 | 
			
		||||
	header := http.Header{
 | 
			
		||||
		"X-SLCE-API-TOKEN": []string{safeLine.ApiToken},
 | 
			
		||||
	}
 | 
			
		||||
	resp, err := utils.Request("GET", safeLine.SSLCertUrl(), nil, header)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logger.Error.Printf("请求接口 %s/api/open/cert%s 时发生错误: %s%s%s", logger.Cyan, logger.Reset, logger.Red, err, logger.Reset)
 | 
			
		||||
		os.Exit(0)
 | 
			
		||||
	}
 | 
			
		||||
	defer resp.Body.Close()
 | 
			
		||||
	data, _ := io.ReadAll(resp.Body)
 | 
			
		||||
	var listResp ListResp
 | 
			
		||||
	listResp.Unmarshal(data)
 | 
			
		||||
	return listResp.Data.Nodes
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (safeLine *Object) UpdateCert(email string, Certificate, PrivateKey []byte, cert Nodes) ([]string, []string) {
 | 
			
		||||
 | 
			
		||||
	header := http.Header{
 | 
			
		||||
		"X-SLCE-API-TOKEN": []string{safeLine.ApiToken},
 | 
			
		||||
		"Content-Type":     []string{"application/json"},
 | 
			
		||||
	}
 | 
			
		||||
	var updateReq UpdateReq
 | 
			
		||||
	updateReq.Create(Certificate, PrivateKey, cert.Domains, email, cert.Id, cert.Type)
 | 
			
		||||
	resp, err := utils.Request("POST", safeLine.SSLCertUrl(), bytes.NewReader(updateReq.Marshal()), header)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		logger.Error.Printf("更新证书时发生错误: %s%s%s", logger.Red, err, logger.Reset)
 | 
			
		||||
		return nil, nil
 | 
			
		||||
	}
 | 
			
		||||
	defer resp.Body.Close()
 | 
			
		||||
	data, _ := io.ReadAll(resp.Body)
 | 
			
		||||
	var updateResp UpdateResp
 | 
			
		||||
	updateResp.Unmarshal(data)
 | 
			
		||||
	if updateResp.Msg != "" {
 | 
			
		||||
		logger.Error.Printf("域名 %s%s%s 证书更新失败: %s%s%s", logger.Cyan, cert.Domains, logger.Reset, logger.Red, updateResp.Msg, logger.Reset)
 | 
			
		||||
		return nil, cert.Domains
 | 
			
		||||
	}
 | 
			
		||||
	logger.Success.Printf("域名 %s%s%s 证书更新成功!", logger.Cyan, cert.Domains, logger.Reset)
 | 
			
		||||
	return cert.Domains, nil
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user