From 42b09660494ea0f6f6df76d59145768656a425e5 Mon Sep 17 00:00:00 2001 From: silenceper Date: Mon, 5 Jun 2023 15:12:46 +0800 Subject: [PATCH] =?UTF-8?q?Revert=20"feat:=20=E5=B0=8F=E7=A8=8B=E5=BA=8F/?= =?UTF-8?q?=E5=85=AC=E4=BC=97=E5=8F=B7=E5=A2=9E=E5=8A=A0=20openApi=20?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E3=80=82=20(#685)"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 31f8e249941c9cb67f5b9ac3d2e8c6da3a97419d. --- domain/openapi/mgnt.go | 36 -------- internal/openapi/mgnt.go | 127 ----------------------------- miniprogram/miniprogram.go | 6 -- officialaccount/officialaccount.go | 6 -- 4 files changed, 175 deletions(-) delete mode 100644 domain/openapi/mgnt.go delete mode 100644 internal/openapi/mgnt.go diff --git a/domain/openapi/mgnt.go b/domain/openapi/mgnt.go deleted file mode 100644 index 02621d4..0000000 --- a/domain/openapi/mgnt.go +++ /dev/null @@ -1,36 +0,0 @@ -package openapi - -import "github.com/silenceper/wechat/v2/util" - -// GetAPIQuotaParams 查询API调用额度参数 -type GetAPIQuotaParams struct { - CgiPath string `json:"cgi_path"` // api的请求地址,例如"/cgi-bin/message/custom/send";不要前缀“https://api.weixin.qq.com” ,也不要漏了"/",否则都会76003的报错 -} - -// APIQuota API调用额度 -type APIQuota struct { - util.CommonError - Quota struct { - DailyLimit int64 `json:"daily_limit"` // 当天该账号可调用该接口的次数 - Used int64 `json:"used"` // 当天已经调用的次数 - Remain int64 `json:"remain"` // 当天剩余调用次数 - } `json:"quota"` // 详情 -} - -// GetRidInfoParams 查询rid信息参数 -type GetRidInfoParams struct { - Rid string `json:"rid"` // 调用接口报错返回的rid -} - -// RidInfo rid信息 -type RidInfo struct { - util.CommonError - Request struct { - InvokeTime int64 `json:"invoke_time"` // 发起请求的时间戳 - CostInMs int64 `json:"cost_in_ms"` // 请求毫秒级耗时 - RequestURL string `json:"request_url"` // 请求的URL参数 - RequestBody string `json:"request_body"` // post请求的请求参数 - ResponseBody string `json:"response_body"` // 接口请求返回参数 - ClientIP string `json:"client_ip"` // 接口请求的客户端ip - } `json:"request"` // 该rid对应的请求详情 -} diff --git a/internal/openapi/mgnt.go b/internal/openapi/mgnt.go deleted file mode 100644 index eb5c438..0000000 --- a/internal/openapi/mgnt.go +++ /dev/null @@ -1,127 +0,0 @@ -package openapi - -import ( - "errors" - "fmt" - - "github.com/silenceper/wechat/v2/domain/openapi" - mpContext "github.com/silenceper/wechat/v2/miniprogram/context" - ocContext "github.com/silenceper/wechat/v2/officialaccount/context" - "github.com/silenceper/wechat/v2/util" -) - -const ( - clearQuotaURL = "https://api.weixin.qq.com/cgi-bin/clear_quota" // 重置API调用次数 - getAPIQuotaURL = "https://api.weixin.qq.com/cgi-bin/openapi/quota/get" // 查询API调用额度 - getRidInfoURL = "https://api.weixin.qq.com/cgi-bin/openapi/rid/get" // 查询rid信息 - clearQuotaByAppSecretURL = "https://api.weixin.qq.com/cgi-bin/clear_quota/v2" // 使用AppSecret重置 API 调用次数 -) - -// OpenAPI openApi管理 -type OpenAPI struct { - ctx interface{} -} - -// NewOpenAPI 实例化 -func NewOpenAPI(ctx interface{}) *OpenAPI { - return &OpenAPI{ctx: ctx} -} - -// ClearQuota 重置API调用次数 -// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/openApi-mgnt/clearQuota.html -func (o *OpenAPI) ClearQuota() error { - appID, _, err := o.getAppIDAndSecret() - if err != nil { - return err - } - - var payload = struct { - AppID string `json:"appid"` - }{ - AppID: appID, - } - res, err := o.doPostRequest(clearQuotaURL, payload) - if err != nil { - return err - } - - return util.DecodeWithCommonError(res, "ClearQuota") -} - -// GetAPIQuota 查询API调用额度 -// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/openApi-mgnt/getApiQuota.html -func (o *OpenAPI) GetAPIQuota(params openapi.GetAPIQuotaParams) (quota openapi.APIQuota, err error) { - res, err := o.doPostRequest(getAPIQuotaURL, params) - if err != nil { - return - } - - err = util.DecodeWithError(res, "a, "GetAPIQuota") - return -} - -// GetRidInfo 查询rid信息 -// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/openApi-mgnt/getRidInfo.html -func (o *OpenAPI) GetRidInfo(params openapi.GetRidInfoParams) (r openapi.RidInfo, err error) { - res, err := o.doPostRequest(getRidInfoURL, params) - if err != nil { - return - } - - err = util.DecodeWithError(res, &r, "GetRidInfo") - return -} - -// ClearQuotaByAppSecret 使用AppSecret重置 API 调用次数 -// https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/openApi-mgnt/clearQuotaByAppSecret.html -func (o *OpenAPI) ClearQuotaByAppSecret() error { - id, secret, err := o.getAppIDAndSecret() - if err != nil { - return err - } - - uri := fmt.Sprintf("%s?appid=%s&appsecret=%s", clearQuotaByAppSecretURL, id, secret) - res, err := util.HTTPPost(uri, "") - if err != nil { - return err - } - - return util.DecodeWithCommonError(res, "ClearQuotaByAppSecret") -} - -// 获取 AppID 和 AppSecret -func (o *OpenAPI) getAppIDAndSecret() (string, string, error) { - switch o.ctx.(type) { - case *mpContext.Context: - c := o.ctx.(*mpContext.Context) - return c.AppID, c.AppSecret, nil - case *ocContext.Context: - c := o.ctx.(*ocContext.Context) - return c.AppID, c.AppSecret, nil - default: - return "", "", errors.New("invalid context type") - } -} - -// 获取 AccessToken -func (o *OpenAPI) getAccessToken() (string, error) { - switch o.ctx.(type) { - case *mpContext.Context: - return o.ctx.(*mpContext.Context).GetAccessToken() - case *ocContext.Context: - return o.ctx.(*ocContext.Context).GetAccessToken() - default: - return "", errors.New("invalid context type") - } -} - -// 创建 POST 请求 -func (o *OpenAPI) doPostRequest(uri string, payload interface{}) ([]byte, error) { - ak, err := o.getAccessToken() - if err != nil { - return nil, err - } - - uri = fmt.Sprintf("%s?access_token=%s", uri, ak) - return util.PostJSON(uri, payload) -} diff --git a/miniprogram/miniprogram.go b/miniprogram/miniprogram.go index 58a7773..d76d7c2 100644 --- a/miniprogram/miniprogram.go +++ b/miniprogram/miniprogram.go @@ -2,7 +2,6 @@ package miniprogram import ( "github.com/silenceper/wechat/v2/credential" - "github.com/silenceper/wechat/v2/internal/openapi" "github.com/silenceper/wechat/v2/miniprogram/analysis" "github.com/silenceper/wechat/v2/miniprogram/auth" "github.com/silenceper/wechat/v2/miniprogram/business" @@ -127,8 +126,3 @@ func (miniProgram *MiniProgram) GetShortLink() *shortlink.ShortLink { func (miniProgram *MiniProgram) GetSURLScheme() *urlscheme.URLScheme { return urlscheme.NewURLScheme(miniProgram.ctx) } - -// GetOpenAPI openApi管理接口 -func (miniProgram *MiniProgram) GetOpenAPI() *openapi.OpenAPI { - return openapi.NewOpenAPI(miniProgram.ctx) -} diff --git a/officialaccount/officialaccount.go b/officialaccount/officialaccount.go index 0c00817..3444284 100644 --- a/officialaccount/officialaccount.go +++ b/officialaccount/officialaccount.go @@ -4,7 +4,6 @@ import ( stdcontext "context" "net/http" - "github.com/silenceper/wechat/v2/internal/openapi" "github.com/silenceper/wechat/v2/officialaccount/draft" "github.com/silenceper/wechat/v2/officialaccount/freepublish" "github.com/silenceper/wechat/v2/officialaccount/ocr" @@ -213,8 +212,3 @@ func (officialAccount *OfficialAccount) GetSubscribe() *message.Subscribe { func (officialAccount *OfficialAccount) GetCustomerServiceManager() *customerservice.Manager { return customerservice.NewCustomerServiceManager(officialAccount.ctx) } - -// GetOpenAPI openApi管理接口 -func (officialAccount *OfficialAccount) GetOpenAPI() *openapi.OpenAPI { - return openapi.NewOpenAPI(officialAccount.ctx) -}