package main import ( "bytes" "encoding/json" "fmt" "io/ioutil" "net/http" ) const ( ServerURL = "http://localhost:8080" DeviceUID = "test-device-001" ) func main() { // 1. 使用授权码注册设备 if err := registerDevice(); err != nil { fmt.Printf("设备注册失败: %v\n", err) return } // 2. 验证设备状态 if err := validateDevice(); err != nil { fmt.Printf("设备验证失败: %v\n", err) return } fmt.Println("设备注册和验证成功") } func registerDevice() error { data := map[string]interface{}{ "uid": DeviceUID, "device_type": "software", "device_model": "test-model", "company": "test-company", "license_code": "your-license-code", // 替换为实际的授权码 } jsonData, err := json.Marshal(data) if err != nil { return err } resp, err := http.Post(ServerURL+"/api/devices/register", "application/json", bytes.NewBuffer(jsonData)) if err != nil { return err } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) if resp.StatusCode != http.StatusOK { return fmt.Errorf("注册失败: %s", string(body)) } return nil } func validateDevice() error { resp, err := http.Get(ServerURL + "/api/devices/validate/" + DeviceUID) if err != nil { return err } defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) if resp.StatusCode != http.StatusOK { return fmt.Errorf("验证失败: %s", string(body)) } return nil }