Skip to content
smallPict

حزمة SDK الرسمية لـ Go

مكتبة برمجية بلغة Go تدعم context.Context والتزامن الآمن.

مبنية للخدمات المصغرة، آمنة تماماً في التزامن المتعدد (concurrency) وتدعم context.Context.


التثبيت

Shell
go get github.com/tuxnoob/smallpict-go

مثال كامل للاستخدام

Go
package main
import (	"context"	"fmt"	"log"	"os"	"time"
	"github.com/tuxnoob/smallpict-go")
func main() {	// 1. تهيئة العميل	client, err := smallpict.NewClient(		os.Getenv("SMALLPICT_API_KEY"),		os.Getenv("SMALLPICT_SECRET_KEY"),		smallpict.WithTimeout(15*time.Second),	)	if err != nil {		log.Fatalf("فشل في تهيئة العميل: %v", err)	}
	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)	defer cancel()
	// 2. قراءة الملف المحلي	fileBytes, err := os.ReadFile("photo.jpg")	if err != nil {		log.Fatalf("فشل في قراءة الملف: %v", err)	}
	// 3. تنفيذ عملية التحسين	res, err := client.Optimize(ctx, &smallpict.OptimizeRequest{		File:     fileBytes,		Filename: "photo.jpg",		Format:   smallpict.FormatAVIF,		Quality:  80,		MaxWidth: 1920,	})	if err != nil {		log.Fatalf("خطأ أثناء تحسين الصورة: %v", err)	}
	fmt.Printf("الرابط المحسن: %s\n", res.URL)	fmt.Printf("التوفير المحقق: %.2f%%\n", res.SavingsPercentage)}