Documentation
¶
Overview ¶
云开发-短信.
生物识别.
小程序链接.
Index ¶
- type APIURL
- type CodeGenArg
- type MiniProgramState
- type NFCSchemaGenReq
- type OpenLink
- type OptionFunc
- type SMSSendReq
- type SMSSendResp
- type ShortURLLinkGenerateReq
- type SoterResult
- type SubscribeMsgTmpl
- type TmplData
- type URLLink
- type URLLinkDetail
- type URLLinkGenerateReq
- type URLSchemaDetail
- type URLSchemaGenReq
- type WXAppSession
- type WXMiniClient
- func (c *WXMiniClient) AppID() string
- func (c *WXMiniClient) CreateActivityID(openid, unionid string) (string, error)
- func (c *WXMiniClient) DecryptPhoneNumber(iv, cipherTxt, sessionKey string) (WXPhoneInfo, error)
- func (c *WXMiniClient) EnableDebug()
- func (c *WXMiniClient) GenerateNFCSchema(req NFCSchemaGenReq) (OpenLink, error)
- func (c *WXMiniClient) GenerateShortURLLink(req ShortURLLinkGenerateReq) (URLLink, error)
- func (c *WXMiniClient) GenerateURLLink(req URLLinkGenerateReq) (URLLink, error)
- func (c *WXMiniClient) GenerateURLSchema(req URLSchemaGenReq) (OpenLink, error)
- func (c *WXMiniClient) GetPhoneNumber(code string) (WXPhoneInfo, error)
- func (c *WXMiniClient) GetSessionKey(code string) (WXAppSession, error)
- func (c *WXMiniClient) GetUserInfo(iv, cipherTxt, sessionKey string) (WXUserInfo, error)
- func (c *WXMiniClient) QueryURLLink(link URLLink) (URLLinkDetail, error)
- func (c *WXMiniClient) QueryURLSchema(schema OpenLink) (URLSchemaDetail, error)
- func (c *WXMiniClient) SendSMS(req SMSSendReq) (SMSSendResp, error)
- func (c *WXMiniClient) SendSubscribeMsg(tmpl SubscribeMsgTmpl) error
- func (c *WXMiniClient) VerifySignature(openid, jsonstr, signature string) (SoterResult, error)
- func (c *WXMiniClient) WXACode_A(arg CodeGenArg) (io.Reader, error)
- func (c *WXMiniClient) WXACode_B(arg CodeGenArg) (io.Reader, error)
- func (c *WXMiniClient) WXACode_C(arg CodeGenArg) (io.Reader, error)
- func (c *WXMiniClient) WXAppDecript(crypted, sessionkey, iv string) ([]byte, error)
- func (c *WXMiniClient) WXAppSign(rawdata, sessionkey string) string
- type WXPhoneInfo
- type WXSexType
- type WXUserInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CodeGenArg ¶
type CodeGenArg struct { Sence string `json:"scene"` Path string `json:"page,omitempty"` CheckPath bool `json:"check_path"` // Env 要打开的小程序版本。正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版. Env string `json:"env_version,omitempty"` Width int `json:"width,omitempty"` AutoColor bool `json:"auto_color,omitempty"` LineColor struct { R string `json:"r"` G string `json:"g"` B string `json:"b"` } `json:"line_color,omitempty"` // IsHyaline 默认是false,是否需要透明底色,为 true 时,生成透明底色的小程序. IsHyaline bool `json:"is_hyaline,omitempty"` }
CodeGenArg 小程序码生成参数
type MiniProgramState ¶
type MiniProgramState string
const ( State_Developer MiniProgramState = "developer" State_Trial MiniProgramState = "trial" State_Formal MiniProgramState = "formal" )
type NFCSchemaGenReq ¶
type NFCSchemaGenReq struct { URLSchemaGenReq ModelID string `json:"model_id"` // scheme对应的设备model_id SN string `json:"sn"` // scheme对应的设备sn,仅一机一码时填写 }
type OptionFunc ¶
type OptionFunc func(*WXMiniClient)
OptionFunc 配置函数
func WithDebug ¶
func WithDebug() OptionFunc
type SMSSendReq ¶
type SMSSendReq struct { // Env 云开发环境ID. Env string `json:"env"` Link URLLink `json:"url_link"` // TmplId 短信模版 ID。(844110: 营销类短信模版 ID). TmplId string `json:"template_id"` // Params 短信模版变量数组. Params []string `json:"template_param_list"` // Phones 手机号列表,单次请求最多支持 1000 个境内手机号,手机号必须以+86开头. Phones []string `json:"phone_number_list"` // UseShortName 是否使用小程序简称. UseShortName bool `json:"use_short_name,omitempty"` // ResourceAppID 资源方appid,第三方代开发时可填第三方appid或小程序appid,应为所填环境所属的账号APPID. ResourceAppID string `json:"resource_appid"` }
type SMSSendResp ¶
type ShortURLLinkGenerateReq ¶
type ShortURLLinkGenerateReq struct { // PageUrl 通过 Short Link 进入的小程序页面路径,必须是已经发布的小程序存在的页面,可携带 query,最大1024个字符. PageUrl string `json:"page_url"` // PageTitle 页面标题,不能包含违法信息,超过20字符会用... 截断代替. PageTitle string `json:"page_title"` // Permanent 默认值false。生成的 Short Link 类型,短期有效:false,永久有效:true. Permanent bool `json:"is_permanent"` }
type SoterResult ¶
type SoterResult struct { // Raw 调用者传入的challenge. Raw string `json:"raw"` // FId (仅Android支持)本次生物识别认证的生物信息编号(如指纹识别则是指纹信息在本设备内部编号). FId string `json:"fid"` // Counter 防重放特征参数. Counter int64 `json:"counter"` // TeeName TEE名称(如高通或者trustonic等). TeeName string `json:"tee_n"` // TeeVersion TEE版本号. TeeVersion string `json:"tee_v"` // FpN 指纹以及相关逻辑模块提供商(如FPC等). FPN string `json:"fp_n"` // FPV 指纹以及相关模块版本号. FPV string `json:"fp_v"` // CPUId 机器唯一识别ID. CPUId string `json:"cpu_id"` // UId 概念同Android系统定义uid,即应用程序编号. UId string `json:"uid"` }
type SubscribeMsgTmpl ¶
type SubscribeMsgTmpl struct { ToUser string `json:"touser"` TemplateID string `json:"template_id"` Page string `json:"page"` State MiniProgramState `json:"miniprogram_state"` Lang string `json:"lang"` // 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN Data map[string]tmplFieldData `json:"data"` }
func NewSubscribeMsgTmpl ¶
func NewSubscribeMsgTmpl(openid, templateid, page string) *SubscribeMsgTmpl
func (*SubscribeMsgTmpl) Put ¶
func (t *SubscribeMsgTmpl) Put(key, value string) *SubscribeMsgTmpl
Put 追加数据项
type TmplData ¶
type TmplData struct { ToUser string `json:"touser"` TemplateID string `json:"template_id"` Page string `json:"page"` FormID string `json:"form_id"` // Prepayid or form id Keyword string `json:"emphasis_keyword"` // 模板需要放大的关键词,不填则默认无放大 Data map[string]tmplFieldData `json:"data"` FontColor string `json:"color"` // 模板内容字体的颜色,不填默认黑色 }
TmplData 微信小程序模板消息
type URLLinkDetail ¶
type URLLinkDetail struct { LinkInfo struct { AppID string `json:"appid"` Path string `json:"path"` Query string `json:"query"` CreateTime int64 `json:"create_time"` ExpireTime int64 `json:"expire_time"` Env string `json:"env_version"` } `json:"url_link_info"` LinkQuota struct { // Used 长期有效 url_link 已生成次数. Used int64 `json:"long_time_used"` // Limit 长期有效 url_link 生成次数上限. Limit int64 `json:"long_time_limit"` } `json:"url_link_quota"` // VisiOpenID 访问scheme的用户openid,为空表示未被访问过. VisitOpenID string `json:"visit_openid"` }
type URLLinkGenerateReq ¶
type URLLinkGenerateReq struct { // Path 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页. Path string `json:"path,omitempty"` // Query 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:`!#$&'()*+,/:;=?@-._~%`. Query string `json:"query,omitempty"` // 默认值"release"。要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效. Env string `json:"env_version,omitempty"` CloudBase struct { // Path 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页. Path string `json:"path,omitempty"` // Query 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:`!#$&'()*+,/:;=?@-._~%`. Query string `json:"query,omitempty"` // 默认值"release"。要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效. Env string `json:"env_version,omitempty"` // Domain 静态网站自定义域名,不填则使用默认域名. Domain string `json:"domain,omitempty"` // ResourceAppID 第三方批量代云开发时必填,表示创建该 env 的 appid (小程序/第三方平台). ResourceAppID string `json:"resource_appid,omitempty"` } `json:"cloud_base,omitempty"` }
type URLSchemaDetail ¶
type URLSchemaDetail struct { SchemaInfo struct { AppID string `json:"appid"` Path string `json:"path"` Query string `json:"query"` CreateTime int64 `json:"create_time"` ExpireTime int64 `json:"expire_time"` Env string `json:"env_version"` } `json:"scheme_info"` // VisiOpenID 访问scheme的用户openid,为空表示未被访问过. VisitOpenID string `json:"visit_openid"` }
type URLSchemaGenReq ¶
type URLSchemaGenReq struct { JumpWxa struct { // Path 通过 scheme 码进入的小程序页面路径,必须是已经发布的小程序存在的页面,不可携带 query。path 为空时会跳转小程序主页. Path string `json:"path,omitempty"` // Query 通过 scheme 码进入小程序时的 query,最大1024个字符,只支持数字,大小写英文以及部分特殊字符:`!#$&'()*+,/:;=?@-._~%`. Query string `json:"query,omitempty"` // 默认值"release"。要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效. Env string `json:"env_version,omitempty"` } `json:"jump_wxa"` }
type WXAppSession ¶
type WXAppSession struct { ErrCode int ErrMsg string OpenID string UnionID string SessionKey string `json:"session_key"` }
WXAppSession 微信小程序会话
type WXMiniClient ¶
type WXMiniClient struct {
// contains filtered or unexported fields
}
WXMiniClient 微信小程序客户端
func NewClient ¶
func NewClient(appid, secret string, options ...OptionFunc) *WXMiniClient
NewClient 创建客户端
func (*WXMiniClient) CreateActivityID ¶
func (c *WXMiniClient) CreateActivityID(openid, unionid string) (string, error)
func (*WXMiniClient) DecryptPhoneNumber ¶
func (c *WXMiniClient) DecryptPhoneNumber(iv, cipherTxt, sessionKey string) (WXPhoneInfo, error)
GetPhoneNumber 获取微信绑定电话号码.
func (*WXMiniClient) EnableDebug ¶
func (c *WXMiniClient) EnableDebug()
func (*WXMiniClient) GenerateNFCSchema ¶
func (c *WXMiniClient) GenerateNFCSchema(req NFCSchemaGenReq) (OpenLink, error)
GenerateNFCSchema 用于获取用于 NFC 的小程序 scheme 码,适用于 NFC 拉起小程序的业务场景。 目前仅针对国内非个人主体的小程序开放,详见 NFC 标签打开小程序。
func (*WXMiniClient) GenerateShortURLLink ¶
func (c *WXMiniClient) GenerateShortURLLink(req ShortURLLinkGenerateReq) (URLLink, error)
GenerateShortURLLink 获取小程序 Short Link,适用于微信内拉起小程序的业务场景。 目前只开放给电商类目(具体包含以下一级类目:电商平台、商家自营、跨境电商)。 通过该接口,可以选择生成到期失效和永久有效的小程序短链, 详情参考:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/shortlink.html, ***调用上限*** Link 将根据是否为到期有效与失效时间参数,分为**短期有效ShortLink ** 与 **永久有效ShortLink **: 单个小程序每日生成 ShortLink 上限为50万个(包含短期有效 ShortLink 与长期有效 ShortLink ) 单个小程序总共可生成永久有效 ShortLink 上限为10万个,请谨慎调用。 短期有效ShortLink 有效时间为30天,单个小程序生成短期有效ShortLink 不设上限.
func (*WXMiniClient) GenerateURLLink ¶
func (c *WXMiniClient) GenerateURLLink(req URLLinkGenerateReq) (URLLink, error)
GenerateURLLInk 获取小程序 URL Link,适用于短信、邮件、网页、微信内等拉起小程序的业务场景。 通过该接口,可以选择生成到期失效和永久有效的小程序链接,有数量限制,目前仅针对国内非个人主体的小程序开放, 详情参考 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-link.html.
func (*WXMiniClient) GenerateURLSchema ¶
func (c *WXMiniClient) GenerateURLSchema(req URLSchemaGenReq) (OpenLink, error)
GenerateURLSchema 该接口用于获取小程序 scheme 码,适用于短信、邮件、外部网页、微信内等拉起小程序的业务场景。 通过该接口,可以选择生成到期失效和永久有效的小程序码,有数量限制,目前仅针对国内非个人主体的小程序开放, 详情参考 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html.
func (*WXMiniClient) GetPhoneNumber ¶
func (c *WXMiniClient) GetPhoneNumber(code string) (WXPhoneInfo, error)
func (*WXMiniClient) GetSessionKey ¶
func (c *WXMiniClient) GetSessionKey(code string) (WXAppSession, error)
GetSessionKey 获取小程序session key
func (*WXMiniClient) GetUserInfo ¶
func (c *WXMiniClient) GetUserInfo(iv, cipherTxt, sessionKey string) (WXUserInfo, error)
GetUserInfo 获取微信用户信息
func (*WXMiniClient) QueryURLLink ¶
func (c *WXMiniClient) QueryURLLink(link URLLink) (URLLinkDetail, error)
func (*WXMiniClient) QueryURLSchema ¶
func (c *WXMiniClient) QueryURLSchema(schema OpenLink) (URLSchemaDetail, error)
func (*WXMiniClient) SendSMS ¶
func (c *WXMiniClient) SendSMS(req SMSSendReq) (SMSSendResp, error)
SendSMS 发送携带 URL Link 的短信.
func (*WXMiniClient) SendSubscribeMsg ¶
func (c *WXMiniClient) SendSubscribeMsg(tmpl SubscribeMsgTmpl) error
SendSubscribeMsg 发送订阅消息.
func (*WXMiniClient) VerifySignature ¶
func (c *WXMiniClient) VerifySignature(openid, jsonstr, signature string) (SoterResult, error)
VerifySignature 用于SOTER 生物认证秘钥签名验证.
func (*WXMiniClient) WXACode_A ¶
func (c *WXMiniClient) WXACode_A(arg CodeGenArg) (io.Reader, error)
WXACode_A 适用于需要的码数量较少的业务场景 通过该接口生成的小程序码,永久有效,数量限制见文末说明,请谨慎使用。 用户扫描该码进入小程序后,将直接进入 path 对应的页面
func (*WXMiniClient) WXACode_B ¶
func (c *WXMiniClient) WXACode_B(arg CodeGenArg) (io.Reader, error)
WXACode_B 适用于需要的码数量极多,或仅临时使用的业务场景 通过该接口生成的小程序码,永久有效,数量暂无限制。用户扫描该码进入小程序后, 开发者需在对应页面获取的码中 scene 字段的值,再做处理逻辑。 使用如下代码可以获取到二维码中的 scene 字段的值。 调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟, 开发工具模拟时的 scene 的参数值需要进行 urlencode
func (*WXMiniClient) WXACode_C ¶
func (c *WXMiniClient) WXACode_C(arg CodeGenArg) (io.Reader, error)
WXACode_C 适用于需要的码数量较少的业务场景 通过该接口生成的小程序二维码,永久有效,数量限制见文末说明,请谨慎使用。 用户扫描该码进入小程序后,将直接进入 path 对应的页面
func (*WXMiniClient) WXAppDecript ¶
func (c *WXMiniClient) WXAppDecript(crypted, sessionkey, iv string) ([]byte, error)
WXAppDecript 小程序解密
func (*WXMiniClient) WXAppSign ¶
func (c *WXMiniClient) WXAppSign(rawdata, sessionkey string) string
WXAppSign 小程序签名验证
type WXPhoneInfo ¶
type WXPhoneInfo struct { Phone string `json:"phoneNumber"` PurePhone string `json:"purePhoneNumber"` Country string `json:"countryCode"` WaterMark struct { AppID string `json:"appid"` Timestamp int64 `json:"timestamp"` } `json:"watermark"` }
WXPhoneInfo 微信账号绑定电话信息
type WXUserInfo ¶
type WXUserInfo struct { OpenID string `json:"openid"` NickName string `json:"nickname"` Gender WXSexType `json:"gender"` Language string `json:"language"` City string `json:"city"` Province string `json:"province"` Country string `json:"country"` HeadImgUrl string `json:"avatarUrl"` UnionID string `json:"unionId"` WaterMark struct { AppID string `json:"appid"` Timestamp int64 `json:"timestamp"` } `json:"watermark"` }
WXUserInfo 微信小程序用户信息