Files
dypid-client/internal/api/api.go
T
ygxbnet 75de353af6
构建上传工具 / build-tool (push) Successful in 1m20s
refactor(uploader): 优化文件上传处理逻辑和资源管理
- 简化响应体关闭逻辑,移除不必要的nil检查
- 调整后台状态推送频率,从500ms改为250ms
- 修复前端事件监听器注册顺序
- 移除未使用的进度变量
- 优化goroutine中的任务执行逻辑
- 改进文件路径显示,统一使用文件名而非完整路径
- 添加waitgroup等待确保资源正确释放
2026-04-28 01:07:43 +08:00

46 lines
821 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
}
io.Copy(io.Discard, resp.Body)
resp.Body.Close()
return err
}