Documentation
¶
Overview ¶
用户管理接口.
Index ¶
- Constants
- Variables
- type Client
- func (clt Client) GroupCreate(name string) (group *Group, err error)
- func (clt Client) GroupList() (groups []Group, err error)
- func (clt Client) GroupUpdate(groupId int64, newName string) (err error)
- func (clt Client) MoveUserToGroup(openId string, toGroupId int64) (err error)
- func (clt Client) MoveUsersToGroup(openIdList []string, toGroupId int64) (err error)
- func (clt Client) UserInWhichGroup(openId string) (groupId int64, err error)
- func (clt Client) UserInfo(openId string, lang string) (userinfo *UserInfo, err error)
- func (clt Client) UserIterator(beginOpenId string) (iter *UserIterator, err error)
- func (clt Client) UserList(beginOpenId string) (data *UserListResult, err error)
- func (clt Client) UserUpdateRemark(openId, remark string) (err error)
- type Group
- type UserInfo
- type UserIterator
- type UserListResult
Constants ¶
View Source
const ( Language_zh_CN = "zh_CN" // 简体中文 Language_zh_TW = "zh_TW" // 繁体中文 Language_en = "en" // 英文 )
View Source
const ( SexUnknown = 0 // 未知 SexMale = 1 // 男性 SexFemale = 2 // 女性 )
View Source
const GroupCountLimit = 100 // 一个公众账号,最多支持创建100个分组。
View Source
const (
UserPageSizeLimit = 10000 // 每次拉取的 OPENID 个数最大值为 10000
)
Variables ¶
View Source
var ErrNoHeadImage = errors.New("没有头像")
View Source
var ErrUserNotSubscriber = errors.New("用户没有订阅公众号")
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
*mp.WechatClient
}
func NewClient ¶
func NewClient(AccessTokenServer mp.AccessTokenServer, httpClient *http.Client) Client
兼容保留, 建議實際項目全局維護一個 *mp.WechatClient
func (Client) MoveUserToGroup ¶
移动用户分组.
func (Client) MoveUsersToGroup ¶
批量移动用户分组.
func (Client) UserInWhichGroup ¶
查询用户所在分组.
func (Client) UserInfo ¶
获取用户基本信息, 如果用户没有订阅公众号, 返回 ErrUserNotSubscriber 错误.
lang 可以是 zh_CN, zh_TW, en, 如果留空 "" 则默认为 zh_CN.
func (Client) UserIterator ¶
func (clt Client) UserIterator(beginOpenId string) (iter *UserIterator, err error)
获取用户遍历器, beginOpenId 表示开始遍历用户, 如果 beginOpenId == "" 则表示从头遍历.
func (Client) UserList ¶
func (clt Client) UserList(beginOpenId string) (data *UserListResult, err error)
获取关注者列表, 每次最多能获取 10000 个用户, 如果 beginOpenId == "" 则表示从头获取
type Group ¶
type Group struct {
Id int64 `json:"id"` // 分组id, 由微信分配
Name string `json:"name"` // 分组名字, UTF8编码
UserCount int `json:"count"` // 分组内用户数量
}
用户分组
type UserInfo ¶
type UserInfo struct {
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,omitempty"`
// 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
SubscribeTime int64 `json:"subscribe_time"`
// 只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
UnionId string `json:"unionid,omitempty"`
// 备注名
Remark string `json:"remark,omitempty"`
}
func (*UserInfo) HeadImageSize ¶
获取用户图像的大小, 如果用户没有图像则返回 ErrNoHeadImage 错误.
type UserIterator ¶
type UserIterator struct {
// contains filtered or unexported fields
}
用户遍历器
iter, err := Client.UserIterator("beginOpenId")
if err != nil {
// TODO: 增加你的代码
}
for iter.HasNext() {
openids, err := iter.NextPage()
if err != nil {
// TODO: 增加你的代码
}
// TODO: 增加你的代码
}
func (*UserIterator) HasNext ¶
func (iter *UserIterator) HasNext() bool
func (*UserIterator) NextPage ¶
func (iter *UserIterator) NextPage() (openids []string, err error)
func (*UserIterator) Total ¶
func (iter *UserIterator) Total() int
type UserListResult ¶
type UserListResult struct {
TotalCount int `json:"total"` // 关注该公众账号的总用户数
GotCount int `json:"count"` // 拉取的OPENID个数,最大值为10000
Data struct {
OpenId []string `json:"openid,omitempty"`
} `json:"data"` // 列表数据,OPENID的列表
// 拉取列表的后一个用户的OPENID, 如果 next_openid == "" 则表示没有了用户数据
NextOpenId string `json:"next_openid"`
}
获取关注者列表返回的数据结构
Click to show internal directories.
Click to hide internal directories.