package user import ( "context" "encoding/json" "errors" "fmt" "net/http" "net/url" "lone-services/pkg/utils" ) func (c *Client) Delete(ctx context.Context, userId string) error { token, err := c.auth.AccessToken(ctx) if err != nil { return err } apiURL := fmt.Sprintf( "https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token=%s&userid=%s", token, url.QueryEscape(userId), ) req, err := http.NewRequestWithContext(ctx, http.MethodGet, apiURL, nil) if err != nil { return err } 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 }