mirror of
https://github.com/silenceper/wechat.git
synced 2026-02-04 21:02:25 +08:00
70 lines
2.6 KiB
Go
70 lines
2.6 KiB
Go
package component
|
||
|
||
import (
|
||
"fmt"
|
||
|
||
openContext "github.com/silenceper/wechat/v2/openplatform/context"
|
||
"github.com/silenceper/wechat/v2/util"
|
||
)
|
||
|
||
const (
|
||
fastregisterweappURL = "https://api.weixin.qq.com/cgi-bin/component/fastregisterweapp"
|
||
)
|
||
|
||
// Component 快速创建小程序
|
||
type Component struct {
|
||
*openContext.Context
|
||
}
|
||
|
||
// NewComponent new
|
||
func NewComponent(opContext *openContext.Context) *Component {
|
||
return &Component{opContext}
|
||
}
|
||
|
||
// RegisterMiniProgramParam 快速注册小程序参数
|
||
type RegisterMiniProgramParam struct {
|
||
Name string `json:"name"` // 企业名
|
||
Code string `json:"code"` // 企业代码
|
||
CodeType string `json:"code_type"` // 企业代码类型 1:统一社会信用代码(18 位) 2:组织机构代码(9 位 xxxxxxxx-x) 3:营业执照注册号(15 位)
|
||
LegalPersonaWechat string `json:"legal_persona_wechat"` // 法人微信号
|
||
LegalPersonaName string `json:"legal_persona_name"` // 法人姓名(绑定银行卡)
|
||
ComponentPhone string `json:"component_phone"` // 第三方联系电话(方便法人与第三方联系)
|
||
}
|
||
|
||
// RegisterMiniProgram 快速创建小程
|
||
// reference: https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Mini_Programs/Fast_Registration_Interface_document.html
|
||
func (component *Component) RegisterMiniProgram(param *RegisterMiniProgramParam) error {
|
||
componentAK, err := component.GetComponentAccessToken()
|
||
if err != nil {
|
||
return err
|
||
}
|
||
url := fmt.Sprintf(fastregisterweappURL+"?action=create&component_access_token=%s", componentAK)
|
||
data, err := util.PostJSON(url, param)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
return util.DecodeWithCommonError(data, "component/fastregisterweapp?action=create")
|
||
}
|
||
|
||
// GetRegistrationStatusParam 查询任务创建状态
|
||
type GetRegistrationStatusParam struct {
|
||
Name string `json:"name"` // 企业名
|
||
LegalPersonaWechat string `json:"legal_persona_wechat"` // 法人微信号
|
||
LegalPersonaName string `json:"legal_persona_name"` // 法人姓名(绑定银行卡)
|
||
|
||
}
|
||
|
||
// GetRegistrationStatus 查询创建任务状态.
|
||
func (component *Component) GetRegistrationStatus(param *GetRegistrationStatusParam) error {
|
||
componentAK, err := component.GetComponentAccessToken()
|
||
if err != nil {
|
||
return err
|
||
}
|
||
url := fmt.Sprintf(fastregisterweappURL+"?action=search&component_access_token=%s", componentAK)
|
||
data, err := util.PostJSON(url, param)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
return util.DecodeWithCommonError(data, "component/fastregisterweapp?action=search")
|
||
}
|