Files
dypid-client/internal/api/api.go
T
ygxbnet f96f23360c feat(app): 添加自动启动和日志滚动功能并优化上传逻辑
- 增加了运行时自动启动上传配置选项
- 实现了日志输出的滚动控制功能
- 优化了上传进度显示和状态同步机制
- 提升了HTTP客户端连接池配置至500
- 改进了文件上传完成后的清理逻辑
- 添加了上下文取消检查避免资源泄露
- 完善了上传开始时的日志信息输出
2026-04-27 23:40:10 +08:00

47 lines
850 B
Go

package api
import (
"context"
"dypid-client/internal/config"
"io"
"net/http"
"net/url"
"time"
)
var httpClient = &http.Client{
Transport: &http.Transport{
MaxIdleConns: 500,
MaxIdleConnsPerHost: 500,
IdleConnTimeout: 30 * time.Second,
},
Timeout: 30 * time.Second,
}
func UploadDataToServer(ctx context.Context, data string) error {
params := url.Values{}
params.Set("token", config.APPConfig.Token)
params.Set("data", data)
//http://127.0.0.1:8080/api/data?token=123456&data=123456
request, err := http.NewRequest(
"POST",
config.APPConfig.Url+"/api/data?"+params.Encode(),
nil,
)
if err != nil {
return err
}
request.WithContext(ctx)
resp, err := httpClient.Do(request)
if err != nil {
return err
}
if resp != nil {
_, _ = io.Copy(io.Discard, resp.Body)
resp.Body.Close()
}
return err
}