Documentation
¶
Index ¶
- Constants
- Variables
- func PanicRecoverError(logger contrib.Logger, err *error)
- func PubGetParams(req *http.Request) (ret map[string]string)
- func PubJSON(v_ interface{}) (r string)
- type Agent
- type Config
- type Group
- type MsgGroup
- type MsgUser
- type Query
- type User
- type WkTeam
- func (api *WkTeam) Do(name string, query *Query, data interface{}) (ret []byte, err error)
- func (api *WkTeam) GetAgent() (ret *Agent, err error)
- func (api *WkTeam) GetGroupInfo(gid string) (ret *Group, err error)
- func (api *WkTeam) GetGroups(query *Query) (ret []*Group, err error)
- func (api *WkTeam) GetMsgGroup(gid string, query *Query) (ret []*MsgGroup, err error)
- func (api *WkTeam) GetMsgGroupSince(gid string, gte time.Time) (ret []*MsgGroup, err error)
- func (api *WkTeam) GetMsgUser(targetUid string, query *Query) (ret []*MsgUser, err error)
- func (api *WkTeam) GetMsgUserSince(targetUid string, gte time.Time) (ret []*MsgUser, err error)
- func (api *WkTeam) GetUserInfo(account string) (ret *User, err error)
- func (api *WkTeam) ListenAndServe(urlLocal string, urlPublic string) (err error)
- func (api *WkTeam) PassAddFriend(account string) (ret bool, err error)
- func (api *WkTeam) RemarkFriend(account, remarkName string) (ret bool, err error)
- func (api *WkTeam) SetCallback(urlPrefix string) (err error)
Constants ¶
View Source
const ( // 1文字、2图片、3表情、 4语音、5视频、6文件、10系统消息 MsgCategoryTxt = "txt" // 文字 MsgCategoryImg = "img" // 图片 MsgCategoryGif = "gif" // 表情 MsgCategoryWav = "wav" // 语音 MsgCategoryMp4 = "mp4" // 视频 MsgCategoryDoc = "doc" // 文件 MsgCategorySys = "sys" // 系统消息 )
Variables ¶
View Source
var ( // 版本 Version = &contrib.Version{Major: 0, Minor: 0, Patch: 1, Model: "wkteam"} // GitCommit 当前代码对应的git-commit记录 GitCommit = "" // Settings 系统设置 Settings *Config )
View Source
var ( DefaultHookHookMsgGroup = func(msg *MsgGroup) error { log.Debugf(`[default] HookHookMsgGroup %s <- %s`, msg.Account, PubJSON(msg)) return nil } DefaultHookHookMsgUser = func(msg *MsgUser) error { log.Debugf(`[default] HookHookMsgUser %s -> %s : %s`, msg.GetFromName(), msg.GetToName(), PubJSON(msg)) return nil } )
通用hook
View Source
var ( CallbackPrefix = "/callback/" // 回调地址前缀 CallbackNormal = "normal" // 通用回调 CallbackMsgUser = "messagelog" // 单聊回调 CallbackMsgGroup = "msggroup" // 群聊回调 )
Functions ¶
func PanicRecoverError ¶
PanicRecoverError 统一处理panic, 并更新error
func PubGetParams ¶
PubGetParams 取url参数
Types ¶
type Agent ¶
type Agent struct {
ID int `json:"id"` // 开发者id
Phone string `json:"phone"` // 开发者手机号
Name string `json:"name"` // 开发者名称
Sex string `json:"sex,omitempty"` // 性别
TimeExpire time.Time `json:"timeExpire,omitempty"` // 账户过期时间
TimeLogin time.Time `json:"timeLogin,omitempty"` // 上次登录时间
}
开发者信息
type Config ¶
type Config struct {
contrib.Config `yaml:"-"`
//
ApiHost string // 微控api入口
Phone string // 开发者手机号
Password string // 开发者密码
Secret string // 开发者密钥
Account string // 默认要管理的微信号
CallbackLocal string // 实际监听回调地址
CallbackPublic string // 映射到公网的回调地址
}
Config 系统配置参数
type MsgGroup ¶
type MsgGroup struct {
Account string `json:"-"` // 获取消息的微信号
Gid string `json:"gid,omitempty"` // 群唯一ID
Uid string `json:"uid,omitempty"` // 消息发送者唯一ID
Name string `json:"name,omitempty"` // 消息发送者昵称
NameAlias string `json:"nameAlias,omitempty"` // 消息发送者备注
GroupName string `json:"groupName,omitempty"` // 群名称
// 消息相关
Category string `json:"category,omitempty"` // 消息类型, 见顶部定义
Content string `json:"content,omitempty"` // 消息内容
Time time.Time `json:"time,omitempty"` // 消息创建时间
}
群消息
type MsgUser ¶
type MsgUser struct {
Account string `json:"-"` // 获取消息的微信号
FromUid string `json:"fromUid,omitempty"` // 发送者唯一ID
FromName string `json:"fromName,omitempty"` // 发送者昵称
FromNameAlias string `json:"fromNameAlias,omitempty"` // 发送者备注
ToUid string `json:"toUid,omitempty"` // 接受者唯一ID
ToName string `json:"toName,omitempty"` // 接受者昵称
ToNameAlias string `json:"toNameAlias,omitempty"` // 接受者备注
IsMe bool `json:"isMe,omitempty"` // true: 这条消息是我发送的
// 消息相关
Category string `json:"category,omitempty"` // 消息类型, 见顶部定义
Content string `json:"content,omitempty"` // 消息内容
Time time.Time `json:"time,omitempty"` // 消息创建时间
}
用户消息
func (*MsgUser) GetFromName ¶
type Query ¶
type Query struct {
Account string // 要管理的微信号
Skip int // 分页参数
Page int // 分页参数,填写会覆盖Skip信息 0起始
Limit int // 分页参数,默认10
Params map[string]interface{} // 其它参数
// 回应参数
Total int // 总数据量
}
query参数
type User ¶
type User struct {
Account string `json:"account"` // 微信号
AccountAlias string `json:"account_alias"` // 微信唯一id(原始的微信号)
Name string `json:"name"` // 微信昵称
Sex int `json:"sex"` // 性别
Area string `json:"area"` // 所在地
Description string `json:"description"` // 签名
}
用户信息
type WkTeam ¶
type WkTeam struct {
// 账号信息
Phone string // 开发者手机号
Password string // 开发者密码
Secret string // 开发者密钥
Account string // 要管理的微信号
//
ApiHost string // 微控api入口
Log contrib.Logger //
// hooks
HookMsgUser func(group *MsgUser) error
HookMsgGroup func(group *MsgGroup) error
// contains filtered or unexported fields
}
func (*WkTeam) GetGroupInfo ¶
GetGroupInfo 获取一个群信息
func (*WkTeam) GetMsgGroup ¶
取群消息 gid: 群ID 群消息最少拉取30条,默认倒序返回
func (*WkTeam) GetMsgGroupSince ¶
GetMsgGroupSince 获取某时刻及以后的所有群聊消息, 如循环获取数据过程中出错, ret也会返回目前为止收集到的数据
func (*WkTeam) GetMsgUser ¶
GetMsgUser 获取单聊信息 toUid: 好友微信唯一ID
func (*WkTeam) GetMsgUserSince ¶
GetMsgUserSince 获取某时刻及以后的所有单聊消息, 如循环获取数据过程中出错, ret也会返回目前为止收集到的数据
func (*WkTeam) GetUserInfo ¶
GetGroupInfo 获取一个用户的信息
func (*WkTeam) ListenAndServe ¶
ListenAndServe 监听回调 addrListen:监听地址 urlPublic: 公网地址
func (*WkTeam) PassAddFriend ¶
PassAddFriend 同意添加好友
func (*WkTeam) RemarkFriend ¶
RemarkFriend 备注好友
Click to show internal directories.
Click to hide internal directories.