代码拉取完成,页面将自动刷新
同步操作将从 springrain/gowe 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package gowe
import (
"encoding/json"
"errors"
)
//WxMpQrCreateTemporary 生成带参数的临时二维码 API
//https://developers.weixin.qq.com/doc/offiaccount/Account_Management/Generating_a_Parametric_QR_Code.html
//expireSeconds:该二维码有效时间,以秒为单位. 最大不超过2592000(即30天),默认2592000
//sceneStr:场景值ID(字符串形式的ID),字符串类型,长度限制为1到64.这里只使用字符串了,用途更广
func WxMpQrCreateTemporary(wxMpConfig IWxMpConfig, sceneStr string, expireSeconds int) (*WxMpQrCreateResponse, error) {
if len(sceneStr) < 1 {
return nil, errors.New("sceneStr不能为空")
}
if expireSeconds == 0 {
expireSeconds = 2592000
}
apiurl := WxMpAPIURL + "/cgi-bin/qrcode/create?access_token=" + wxMpConfig.GetAccessToken()
params := make(map[string]interface{})
params["expire_seconds"] = expireSeconds
params["action_name"] = "QR_STR_SCENE"
actionInfo := make(map[string]interface{})
scene := make(map[string]interface{})
scene["scene_str"] = sceneStr
actionInfo["scene"] = scene
params["action_info"] = actionInfo
data, err := httpPost(apiurl, params)
// 发送请求
if err != nil {
return nil, err
}
// 尝试解码
res := &WxMpQrCreateResponse{}
err = json.Unmarshal(data, res)
return res, err
}
//WxMpQrCreatePermanent 创建永久的带参数二维码
func WxMpQrCreatePermanent(wxMpConfig IWxMpConfig, sceneStr string) (*WxMpQrCreateResponse, error) {
if len(sceneStr) < 1 {
return nil, errors.New("sceneStr不能为空")
}
apiurl := WxMpAPIURL + "/cgi-bin/qrcode/create?access_token=" + wxMpConfig.GetAccessToken()
params := make(map[string]interface{})
params["action_name"] = "QR_LIMIT_STR_SCENE"
actionInfo := make(map[string]interface{})
scene := make(map[string]interface{})
scene["scene_str"] = sceneStr
actionInfo["scene"] = scene
params["action_info"] = actionInfo
data, err := httpPost(apiurl, params)
// 发送请求
if err != nil {
return nil, err
}
// 尝试解码
res := &WxMpQrCreateResponse{}
err = json.Unmarshal(data, res)
return res, err
}
//WxMpQrShowQrCodeUrl 通过ticket换取二维码地址
func WxMpQrShowQrCodeUrl(wxMpConfig IWxMpConfig, ticket string) (string, error) {
if len(ticket) < 1 {
return "", errors.New("ticket不能为空")
}
return WxMpAPIURL + "/cgi-bin/showqrcode?ticket=" + ticket, nil
}
type WxMpQrCreateResponse struct {
Ticket string `json:"ticket"` // 获取的二维码ticket,凭借此ticket可以在有效时间内换取二维码.
ExpireSeconds int `json:"expire_seconds"` // 该二维码有效时间,以秒为单位. 最大不超过2592000(即30天)
URL string `json:"url"` //二维码图片解析后的地址,开发者可根据该地址自行生成需要的二维码图片
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。