You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wechatopen/cgi-bin.component.fastregis...

121 lines
4.3 KiB

package wechatopen
import (
"context"
"encoding/json"
"fmt"
"go.dtapp.net/gorequest"
"net/http"
)
type CgiBinComponentFastRegisterWeAppSearchResponse struct {
Errcode int `json:"errcode"` // 错误码
Errmsg string `json:"errmsg"` // 错误信息
}
type CgiBinComponentFastRegisterWeAppSearchResult struct {
Result CgiBinComponentFastRegisterWeAppSearchResponse // 结果
Body []byte // 内容
Http gorequest.Response // 请求
}
func newCgiBinComponentFastRegisterWeAppSearchResult(result CgiBinComponentFastRegisterWeAppSearchResponse, body []byte, http gorequest.Response) *CgiBinComponentFastRegisterWeAppSearchResult {
return &CgiBinComponentFastRegisterWeAppSearchResult{Result: result, Body: body, Http: http}
}
// CgiBinComponentFastRegisterWeAppSearch 快速注册企业小程序
// https://developers.weixin.qq.com/doc/oplatform/openApi/OpenApiDoc/register-management/fast-registration-ent/registerMiniprogram.html#%E4%BA%8C%E3%80%81%E6%9F%A5%E8%AF%A2%E5%88%9B%E5%BB%BA%E4%BB%BB%E5%8A%A1%E7%8A%B6%E6%80%81
func (c *Client) CgiBinComponentFastRegisterWeAppSearch(ctx context.Context, notMustParams ...gorequest.Params) (*CgiBinComponentFastRegisterWeAppSearchResult, error) {
// 检查
err := c.checkComponentIsConfig()
if err != nil {
return nil, err
}
// 参数
params := gorequest.NewParamsWith(notMustParams...)
// 请求
request, err := c.request(ctx, apiUrl+"/cgi-bin/component/fastregisterweapp?action=search&component_access_token="+c.GetComponentAccessToken(ctx), params, http.MethodPost)
if err != nil {
return nil, err
}
// 定义
var response CgiBinComponentFastRegisterWeAppSearchResponse
err = json.Unmarshal(request.ResponseBody, &response)
if err != nil {
return nil, err
}
return newCgiBinComponentFastRegisterWeAppSearchResult(response, request.ResponseBody, request), nil
}
// ErrcodeInfo 错误描述
func (resp *CgiBinComponentFastRegisterWeAppSearchResult) ErrcodeInfo() string {
switch resp.Result.Errcode {
case 89249:
return "该 appid 已有转正任务执行中,距上次任务 24h 后再试"
case 89247:
return "系统内部错误"
case 86004:
return "无效微信号"
case 61070:
return "法人姓名与微信号不一致"
case 89248:
return "企业代码类型无效,请选择正确类型填写"
case 89250:
return "未找到该任务"
case 89251:
return "模板消息已下发,待法人人脸核身校验"
case 89252:
return "法人&企业信息一致性校验中"
case 89253:
return "缺少参数"
case 89254:
return "第三方权限集不全,请补充权限集后重试"
case 89255:
return "code参数无效请检查 code 长度以及内容是否正确注意code_type的值不同需要传的 code 长度不一样"
}
return "系统繁忙"
}
// StatusInfo 状态描述
func (resp *CgiBinComponentFastRegisterWeAppSearchResult) StatusInfo(status int) string {
switch status {
case 100001:
return "已下发的模板消息法人并未确认且已超时24h未进行身份证校验"
case 100002:
return "已下发的模板消息法人并未确认且已超时24h未进行人脸识别校验"
case 100003:
return "已下发的模板消息法人并未确认且已超时24h"
case 101:
return "工商数据返回:“企业已注销”"
case 102:
return "工商数据返回:“企业不存在或企业信息未更新”"
case 103:
return "工商数据返回:“企业法定代表人姓名不一致”"
case 104:
return "工商数据返回:“企业法定代表人身份证号码不一致”"
case 105:
return "法定代表人身份证号码,工商数据未更新,请 5-15 个工作日之后尝试"
case 1000:
return "工商数据返回:“企业信息或法定代表人信息不一致”"
case 1001:
return "主体创建小程序数量达到上限"
case 1002:
return "主体违规命中黑名单"
case 1003:
return "管理员绑定账号数量达到上限"
case 1004:
return "管理员违规命中黑名单"
case 1005:
return "管理员手机绑定账号数量达到上限"
case 1006:
return "管理员手机号违规命中黑名单"
case 1007:
return "管理员身份证创建账号数量达到上限"
case 1008:
return "管理员身份证违规命中黑名单"
case -1:
return "企业与法人姓名不一致"
}
return fmt.Sprintf("%v", status)
}