package user import ( "bytes" "context" "encoding/json" "errors" "fmt" "net/http" "lone-services/pkg/utils" ) func (c *Client) Update(ctx context.Context, reqData UpdateRequest) error { token, err := c.auth.AccessToken(ctx) if err != nil { return err } url := fmt.Sprintf( "https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=%s", token, ) body, err := json.Marshal(reqData) if err != nil { return err } req, err := http.NewRequestWithContext(ctx, http.MethodPost, url, bytes.NewBuffer(body)) if err != nil { return err } req.Header.Set("Content-Type", "application/json") resp, err := http.DefaultClient.Do(req) if err != nil { return err } defer resp.Body.Close() var result apiResponse if err := json.NewDecoder(resp.Body).Decode(&result); err != nil { return err } if result.ErrCode != utils.NumberZero { return errors.New(result.ErrMsg) } return nil }