user

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 12, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

README

用户管理

Documentation

Overview

用户管理.

Index

Constants

View Source
const (
	LanguageZhCN = "zh_CN" // 简体中文
	LanguageZhTW = "zh_TW" // 繁体中文
	LanguageEN   = "en"    // 英文
)
View Source
const (
	SexUnknown = 0 // 未知
	SexMale    = 1 // 男性
	SexFemale  = 2 // 女性
)

Variables

This section is empty.

Functions

func BatchMoveToGroup

func BatchMoveToGroup(clt *core.Client, openIdList []string, toGroupId int64) (err error)

BatchMoveToGroup 批量移动用户分组.

func GroupId

func GroupId(clt *core.Client, openId string) (groupId int64, err error)

GroupId 查询用户所在分组.

func MoveToGroup

func MoveToGroup(clt *core.Client, openId string, toGroupId int64) (err error)

MoveToGroup 移动用户分组.

func UpdateRemark

func UpdateRemark(clt *core.Client, openId, remark string) (err error)

UpdateRemark 设置用户备注名.

Types

type ListResult

type ListResult struct {
	TotalCount int `json:"total"` // 关注该公众账号的总用户数
	ItemCount  int `json:"count"` // 拉取的OPENID个数, 最大值为10000

	Data struct {
		OpenIdList []string `json:"openid,omitempty"`
	} `json:"data"` // 列表数据, OPENID的列表

	// 拉取列表的最后一个用户的OPENID, 如果 next_openid == "" 则表示没有了用户数据
	NextOpenId string `json:"next_openid"`
}

获取用户列表返回的数据结构

func List

func List(clt *core.Client, nextOpenId string) (rslt *ListResult, err error)

List 获取用户列表.

NOTE: 每次最多能获取 10000 个用户, 可以多次指定 nextOpenId 来获取以满足需求, 如果 nextOpenId == "" 则表示从头获取

type UserInfo

type UserInfo struct {
	IsSubscriber int    `json:"subscribe"` // 用户是否订阅该公众号标识, 值为0时, 代表此用户没有关注该公众号, 拉取不到其余信息
	OpenId       string `json:"openid"`    // 用户的标识, 对当前公众号唯一
	Nickname     string `json:"nickname"`  // 用户的昵称
	Sex          int    `json:"sex"`       // 用户的性别, 值为1时是男性, 值为2时是女性, 值为0时是未知
	Language     string `json:"language"`  // 用户的语言, zh_CN, zh_TW, en
	City         string `json:"city"`      // 用户所在城市
	Province     string `json:"province"`  // 用户所在省份
	Country      string `json:"country"`   // 用户所在国家

	// 用户头像, 最后一个数值代表正方形头像大小(有0, 46, 64, 96, 132数值可选, 0代表640*640正方形头像), 用户没有头像时该项为空
	HeadImageURL string `json:"headimgurl"`

	SubscribeTime int64  `json:"subscribe_time"`    // 用户关注时间, 为时间戳. 如果用户曾多次关注, 则取最后关注时间
	UnionId       string `json:"unionid,omitempty"` // 只有在用户将公众号绑定到微信开放平台帐号后, 才会出现该字段.
	Remark        string `json:"remark"`            // 公众号运营者对粉丝的备注, 公众号运营者可在微信公众平台用户管理界面对粉丝添加备注
	GroupId       int64  `json:"groupid"`           // 用户所在的分组ID

	TagIdList      []int  `json:"tagid_list"`      // Tag List
	SubscribeScene string `json:"subscribe_scene"` // 返回用户关注的渠道来源
	QrScene        int    `json:"qr_scene"`        // 二维码扫码场景(开发者自定义)场景值ID,临时二维码时为32位非0整型,永久二维码时最大值为100000(目前参数只支持1--100000)
	QrSceneStr     string `json:"qr_scene_str"`    // 二维码扫码场景描述(开发者自定义)场景值ID(字符串形式的ID),字符串类型,长度限制为1到64
}

func BatchGet

func BatchGet(clt *core.Client, openIdList []string, lang string) (list []UserInfo, err error)

批量获取用户基本信息

注意: 需要对返回的 UserInfoList 的每个 UserInfo.IsSubscriber 做判断

func Get

func Get(clt *core.Client, openId string, lang string) (info *UserInfo, err error)

Get 获取用户基本信息.

注意:
1. 需要判断返回的 UserInfo.IsSubscriber 是等于 1 还是 0
2. lang 指定返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语, 默认为 zh_CN

type UserIterator

type UserIterator struct {
	// contains filtered or unexported fields
}

UserIterator

iter, err := NewUserIterator(clt, "NextOpenId")
if err != nil {
    // TODO: 增加你的代码
}

for iter.HasNext() {
    openids, err := iter.NextPage()
    if err != nil {
        // TODO: 增加你的代码
    }
    // TODO: 增加你的代码
}

func NewUserIterator

func NewUserIterator(clt *core.Client, nextOpenId string) (iter *UserIterator, err error)

NewUserIterator 获取用户遍历器, 从 nextOpenId 开始遍历, 如果 nextOpenId == "" 则表示从头遍历.

func (*UserIterator) HasNext

func (iter *UserIterator) HasNext() bool

func (*UserIterator) NextPage

func (iter *UserIterator) NextPage() (openIdList []string, err error)

func (*UserIterator) TotalCount

func (iter *UserIterator) TotalCount() int

Directories

Path Synopsis
用户分组管理.
用户分组管理.

Jump to

Keyboard shortcuts

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