wechat

package
v0.0.0-...-cfca2e5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2023 License: MIT Imports: 5 Imported by: 0

README

参考文档

小程序登录时序图

img.png

官方文档

包说明

  • analysis 数据分析相关 API

快速入门

wc := wechat.NewWechat()
memory := cache.NewMemory()
cfg := &miniConfig.Config{
    AppID:     "xxx",
    AppSecret: "xxx",
    Cache: memory,
}
miniprogram := wc.GetMiniProgram(cfg)
miniprogram.GetAnalysis().GetAnalysisDailyRetain()

小程序虚拟支付

注意:需要传入 Appkey、OfferID 的值

相关文档:小程序虚拟支付

wc := wechat.NewWechat()
miniprogram := wc.GetMiniProgram(&miniConfig.Config{
    AppID:     "xxx",
    AppSecret: "xxx",
    AppKey:    "xxx",
    OfferID:   "xxx",
    Cache: cache.NewRedis(&redis.Options{
        Addr: "",
    }),
})
virtualPayment := miniprogram.GetVirtualPayment()
virtualPayment.SetSessionKey("xxx")
// 查询用户余额
var (
    res *virtualPayment.QueryUserBalanceResponse
    err error
)

if res, err = virtualPayment.QueryUserBalance(context.TODO(), &virtualPayment.QueryUserBalanceRequest{
    OpenID: "xxx",
    Env: virtualPayment.EnvProduction,
    UserIP: "xxx",
}); err != nil {
    panic(err)
}

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type MiniProgram

type MiniProgram struct {
	AppID string
	// contains filtered or unexported fields
}

func NewMiniProgram

func NewMiniProgram(appID, appSecret string) *MiniProgram

func (MiniProgram) Code2Session

func (m MiniProgram) Code2Session(ctx context.Context, jsCode string) (SessionInfo, error)

func (MiniProgram) GetPhoneNumber

func (m MiniProgram) GetPhoneNumber(ctx context.Context, code string) (string, error)

func (MiniProgram) GetUserInfo

func (m MiniProgram) GetUserInfo(sessionKey, encryptedData, iv string) (UserInfo, error)

type SessionInfo

type SessionInfo struct {
	OpenID     string `json:"openid"`      // 用户唯一标识
	SessionKey string `json:"session_key"` // 会话密钥
	UnionID    string `json:"unionid"`     // 用户在开放平台的唯一标识符,在满足UnionID下发条件的情况下会返回
}

SessionInfo 登录凭证校验的返回结果

type UserInfo

type UserInfo struct {
	OpenID          string `json:"openId"`
	UnionID         string `json:"unionId"`
	NickName        string `json:"nickName"`
	Gender          int    `json:"gender"`
	City            string `json:"city"`
	Province        string `json:"province"`
	Country         string `json:"country"`
	AvatarURL       string `json:"avatarUrl"`
	Language        string `json:"language"`
	PhoneNumber     string `json:"phoneNumber"`
	OpenGID         string `json:"openGId"`
	MsgTicket       string `json:"msgTicket"`
	PurePhoneNumber string `json:"purePhoneNumber"`
	CountryCode     string `json:"countryCode"`
}

type WxApp

type WxApp interface {
	// Code2Session 获取用户的 openid
	Code2Session(ctx context.Context, code string) (SessionInfo, error)
	// GetUserInfo 获取用户的信息
	GetUserInfo(encryptedData, iv, sessionKey string) (UserInfo, error)
	// GetPhoneNumber 获取用户的手机号信息
	GetPhoneNumber(ctx context.Context, code string) (string, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL