package config import "time" // RushConfig 抢购配置 type RushConfig struct { // 抢购目标时间 TargetTime time.Time // 提交失败最大重试次数 MaxRetry int // 重试间隔 RetryInterval time.Duration // 提前多久预加载购物车页面 PreloadBefore time.Duration // 提前多少毫秒开始提交(网络延迟补偿) SubmitAdvance time.Duration // Cookie 文件路径 CookieFile string // 浏览器用户数据目录 ID AccountID int } // DefaultConfig 返回默认抢购配置 func DefaultConfig() *RushConfig { // 默认目标: 2026-02-10 20:00:00 CST loc, _ := time.LoadLocation("Asia/Shanghai") target := time.Date(2026, 2, 10, 20, 0, 0, 0, loc) return &RushConfig{ TargetTime: target, MaxRetry: 5, RetryInterval: 200 * time.Millisecond, PreloadBefore: 30 * time.Second, SubmitAdvance: 500 * time.Millisecond, CookieFile: "account_cookie.json", AccountID: 1, } } // 淘宝关键页面 URL const ( LoginURL = "https://login.taobao.com/havanaone/login/login.htm" CartURL = "https://cart.taobao.com/cart.htm" ) // TimeAPIs 时间同步 API 列表(按优先级排列,依次降级) var TimeAPIs = []TimeAPIConfig{ { Name: "淘宝 H5", URL: "https://h5api.m.taobao.com/h5/mtop.common.getTimestamp/", Type: TimeAPITypeTaobaoH5, }, { Name: "苏宁", URL: "https://quan.suning.com/getSysTime.do", Type: TimeAPITypeSuning, }, { Name: "淘宝主站", URL: "https://www.taobao.com", Type: TimeAPITypeHTTPHeader, }, { Name: "天猫", URL: "https://www.tmall.com", Type: TimeAPITypeHTTPHeader, }, } // TimeAPIType 时间 API 类型 type TimeAPIType int const ( TimeAPITypeTaobaoH5 TimeAPIType = iota // 淘宝 H5 JSON 响应 TimeAPITypeSuning // 苏宁 JSON 响应 TimeAPITypeHTTPHeader // 使用 HTTP Date 响应头 ) // TimeAPIConfig 时间 API 配置 type TimeAPIConfig struct { Name string URL string Type TimeAPIType }