注意
- 1.x 版本入口
- 2.0 版本开始支付相关内容会分离到一个单独的包。
- 文档按照小程序服务端官方文档排版,方便您一一对照查找相关内容。
- 目前 v2 还在测试阶段,请勿用于生产环境。
获取代码
go get -u github.com/medivhzhan/weapp
目录
用户登录
code2Session
import "github.com/medivhzhan/weapp"
res, err := weapp.Login("mock-appid", "mock-secret", "mock-code")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
用户信息
getPaidUnionId
import "github.com/medivhzhan/weapp"
res, err := weapp.GetPaidUnionID("mock-access-token", "mock-open-id", "mock-transaction-id")
// 或者
res, err := weapp.GetPaidUnionIDWithMCH("mock-access-token", "mock-open-id", "mock-out-trade-number", "mock-mch-id")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
接口调用凭证
getAccessToken
调用次数有限制 请注意缓存
import "github.com/medivhzhan/weapp"
res, err := weapp.GetAccessToken("mock-appid", "mock-secret")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
数据分析
访问留存
getMonthlyRetain
import "github.com/medivhzhan/weapp"
res, err := weapp.GetMonthlyRetain("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getWeeklyRetain
import "github.com/medivhzhan/weapp"
res, err := weapp.GetWeeklyRetain("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getDailyRetain
import "github.com/medivhzhan/weapp"
res, err := weapp.GetDailyRetain("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
访问趋势
getMonthlyVisitTrend
import "github.com/medivhzhan/weapp"
res, err := weapp.GetMonthlyVisitTrend("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getWeeklyVisitTrend
import "github.com/medivhzhan/weapp"
res, err := weapp.GetWeeklyVisitTrend("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getDailyVisitTrend
import "github.com/medivhzhan/weapp"
res, err := weapp.GetDailyVisitTrend("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getUserPortrait
import "github.com/medivhzhan/weapp"
res, err := weapp.GetUserPortrait("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getVisitDistribution
import "github.com/medivhzhan/weapp"
res, err := weapp.GetVisitDistribution("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getVisitPage
import "github.com/medivhzhan/weapp"
res, err := weapp.GetVisitPage("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getDailySummary
import "github.com/medivhzhan/weapp"
res, err := weapp.GetDailySummary("mock-access-token", "mock-begin-date", "mock-end-date")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
客服消息
setTyping
import "github.com/medivhzhan/weapp"
res, err := weapp.SetTyping("mock-access-token", "mock-open-id", "mock-command")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
uploadTempMedia
import "github.com/medivhzhan/weapp"
res, err := weapp.UploadTempMedia("mock-access-token", "mock-media-type", "mock-media-filename")
// 或者
res, err := weapp.uploadTempMediaByURL("mock-access-token", "mock-media-type", "mock-media-url") // 通过 URL 上传
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getTempMedia
import "github.com/medivhzhan/weapp"
res, err := weapp.GetTempMedia("mock-access-token", "mock-media-id")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
sendCustomerServiceMessage
import "github.com/medivhzhan/weapp"
// 文本消息
msg := CSMsgText{
Content: "mock-content",
},
// 或者
// 图片消息
msg := CSMsgImage{
MediaID: "mock-media-id",
},
// 或者
// 链接消息
msg := CSMsgLink{
Title: "mock-title",
Description: "mock-description",
URL: "mock-url",
ThumbURL: "mock-thumb-url",
},
// 或者
// 小程序卡片消息
msg := CSMsgMPCard{
Title: "mock-title",
PagePath: "mock-page-path",
ThumbMediaID: "mock-thumb-media-id",
},
res, err := msg.SendTo("mock-open-id", "mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
模板消息
addTemplate
import "github.com/medivhzhan/weapp"
res, err := weapp.AddTemplate("mock-template-id", "mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
deleteTemplate
import "github.com/medivhzhan/weapp"
res, err := weapp.DeleteTemplate("mock-template-id", "mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getTemplateLibraryById
import "github.com/medivhzhan/weapp"
res, err := weapp.GetTemplateLibraryByID("mock-template-id", "mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getTemplateLibraryList
import "github.com/medivhzhan/weapp"
res, err := weapp.GetTemplateLibraryList("mock-access-token", 0, 10)
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
getTemplateList
import "github.com/medivhzhan/weapp"
res, err := weapp.GetTemplateList("mock-access-token", 0, 10)
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
sendTemplateMessage
import "github.com/medivhzhan/weapp"
sender := TempMsgSender{
ToUser: "mock-open-id",
TemplateID: "mock-template-id",
Page: "mock/page?foo=bar",
FormID: "mock-form-id",
Data: TempMsgData{
"mock-key-word1": TempMsgKeyword{"mock-template-value1"},
"mock-key-word2": TempMsgKeyword{"mock-template-value2"},
},
EmphasisKeyword: "mock-open-id",
}
res, err := sender.Send("mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
统一服务消息
sendUniformMessage
import "github.com/medivhzhan/weapp"
sender := UniformMsgSender{
ToUser: "mock-open-id",
UniformMPMsg: UniformMPMsg{
TemplateID: "mock-template-id",
Page: "mock-page",
FormID: "mock-form-id",
Data: UniformMsgData{
"mock-keyword": UniformMsgKeyword{Value: "mock-value"},
},
EmphasisKeyword: "mock-keyword.DATA",
},
UniformOAMsg: UniformOAMsg{
AppID: "mock-app-id",
TemplateID: "mock-template-id",
URL: "mock-url",
Miniprogram: UniformMsgMiniprogram{"mock-miniprogram-app-id", "mock-page-path"},
Data: UniformMsgData{
"mock-keyword": UniformMsgKeyword{"mock-value", "mock-color"},
},
},
}
_, err := sender.Send("mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
动态消息
createActivityId
import "github.com/medivhzhan/weapp"
res, err := weapp.CreateActivityId("mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)
setUpdatableMsg
import "github.com/medivhzhan/weapp"
setter := UpdatableMsgSetter{
"mock-activity-id",
UpdatableMsgJoining,
UpdatableMsgTempInfo{
[]UpdatableMsgParameter{
{UpdatableMsgParamMemberCount, "mock-parameter-value-number"},
{UpdatableMsgParamRoomLimit, "mock-parameter-value-number"},
},
},
}
res, err := setter.Set("mock-access-token")
if err != nil {
// 处理一般错误信息
return
}
if err := res.GetResponseError(); err !=nil {
// 处理微信返回错误信息
return
}
fmt.Printf("返回结果: %#v", res)