diff --git a/backend/internal/cert/apply/apply.go b/backend/internal/cert/apply/apply.go index 670ab4e..33d9ea8 100644 --- a/backend/internal/cert/apply/apply.go +++ b/backend/internal/cert/apply/apply.go @@ -135,7 +135,12 @@ func Apply(cfg map[string]any, logger *public.Logger) (map[string]any, error) { var skipCheck bool if cfg["skip_check"] == nil { + // 默认跳过预检查 skipCheck = true + // cf 默认不跳过预检查 + if providerStr == "cloudflare" { + skipCheck = false + } } else { switch v := cfg["skip_check"].(type) { case int: diff --git a/backend/internal/cert/deploy/tencentcloud.go b/backend/internal/cert/deploy/tencentcloud.go index 4d20609..c637be7 100644 --- a/backend/internal/cert/deploy/tencentcloud.go +++ b/backend/internal/cert/deploy/tencentcloud.go @@ -53,7 +53,7 @@ func DeployToTX(cfg map[string]any) error { if !ok { return fmt.Errorf("证书错误:cert") } - + var providerID string switch v := cfg["provider_id"].(type) { case float64: @@ -83,16 +83,16 @@ func DeployToTX(cfg map[string]any) error { region = r } client := ClientTencentcloud(providerConfig["secret_id"], providerConfig["secret_key"], region) - + // 上传证书 certificateId, err := UploadToTX(client, strings.TrimSpace(keyPem), strings.TrimSpace(certPem)) if err != nil { return err } // fmt.Println(certificateId) - + request := ssl.NewDeployCertificateInstanceRequest() - + request.CertificateId = common.StringPtr(certificateId) if cfg["resource_type"] == "cdn" { domain, ok := cfg["domain"].(string) @@ -118,7 +118,7 @@ func DeployToTX(cfg map[string]any) error { request.InstanceIdList = common.StringPtrs([]string{fmt.Sprintf("%s|%s|%s", region, bucket, domain)}) request.ResourceType = common.StringPtr("cos") } - + // 返回的resp是一个DeployCertificateInstanceResponse的实例,与请求对象对应 response, err := client.DeployCertificateInstance(request) if _, ok := err.(*errors.TencentCloudSDKError); ok { diff --git a/backend/public/sqlite_migrate/migrate_table_to_db.go b/backend/public/sqlite_migrate/migrate_table_to_db.go index bc80b3f..4f2a734 100644 --- a/backend/public/sqlite_migrate/migrate_table_to_db.go +++ b/backend/public/sqlite_migrate/migrate_table_to_db.go @@ -4,32 +4,32 @@ import ( "database/sql" "fmt" "os" - + _ "modernc.org/sqlite" // 使用 pure Go 实现的 SQLite 驱动 ) func EnsureDatabaseWithTables(targetDBPath string, baseDBPath string, tables []string) error { // 1. 检查数据库是否存在 if _, err := os.Stat(targetDBPath); err == nil { - fmt.Printf("数据库 %s 已存在,跳过迁移。\n", targetDBPath) + // fmt.Printf("数据库 %s 已存在,跳过迁移。\n", targetDBPath) return nil } - - fmt.Printf("数据库 %s 不存在,开始从基础数据库迁移表...\n", targetDBPath) - + + // fmt.Printf("数据库 %s 不存在,开始从基础数据库迁移表...\n", targetDBPath) + // 2. 打开源数据库(只读)和目标数据库(新建) baseDB, err := sql.Open("sqlite", baseDBPath) if err != nil { return fmt.Errorf("打开基础数据库失败: %v", err) } defer baseDB.Close() - + targetDB, err := sql.Open("sqlite", targetDBPath) if err != nil { return fmt.Errorf("创建目标数据库失败: %v", err) } defer targetDB.Close() - + for _, table := range tables { // 2.1 获取建表语句 var createSQL string @@ -38,26 +38,26 @@ func EnsureDatabaseWithTables(targetDBPath string, baseDBPath string, tables []s if err != nil { return fmt.Errorf("获取表 %s 的结构失败: %v", table, err) } - + // 2.2 在目标库中创建表 _, err = targetDB.Exec(createSQL) if err != nil { return fmt.Errorf("创建表 %s 失败: %v", table, err) } - + // 2.3 从基础库读取数据并插入目标库 rows, err := baseDB.Query(fmt.Sprintf("SELECT * FROM %s", table)) if err != nil { return fmt.Errorf("读取表 %s 数据失败: %v", table, err) } - + cols, _ := rows.Columns() values := make([]interface{}, len(cols)) valuePtrs := make([]interface{}, len(cols)) - + tx, _ := targetDB.Begin() stmt, _ := tx.Prepare(buildInsertSQL(table, len(cols))) - + for rows.Next() { for i := range values { valuePtrs[i] = &values[i] @@ -65,13 +65,13 @@ func EnsureDatabaseWithTables(targetDBPath string, baseDBPath string, tables []s rows.Scan(valuePtrs...) stmt.Exec(values...) } - + stmt.Close() tx.Commit() rows.Close() } - - fmt.Println("迁移完成。") + + // fmt.Println("迁移完成。") return nil }