Files
wechat_ipad_pro/srv/wxcore/wxtaskmgr.go

108 lines
2.6 KiB
Go

package wxcore
import (
"xiawan/wx/srv/wxface"
"xiawan/wx/srv/wxtask"
)
// WXTaskMgr 任务管理器
type WXTaskMgr struct {
start bool
wxConn wxface.IWXConnect
friendTask *wxtask.WXFriendTask
groupTask *wxtask.WXGroupTask
grabHBTask *wxtask.WXGrabHBTask
snsTransTask *wxtask.WXSnsTransTask
revokeTask *wxtask.WXRevokeTask
snsTask *wxtask.WXSnsTask
verifyTask *wxtask.WXVerifyTask
SocketMsgTask *wxtask.WXSocketMsgTask
}
// NewWXTaskMgr 新建一个微信管理器
func NewWXTaskMgr(wxConn wxface.IWXConnect) wxface.IWXTaskMgr {
return &WXTaskMgr{
wxConn: wxConn,
friendTask: wxtask.NewWXFriendTask(wxConn),
groupTask: wxtask.NewWXGroupTask(wxConn),
grabHBTask: wxtask.NewWXGrabHBTask(wxConn),
snsTransTask: wxtask.NewWXSnsTransTask(wxConn),
revokeTask: wxtask.NewWXRevokeTask(wxConn),
snsTask: wxtask.NewWXSnsTask(wxConn),
verifyTask: wxtask.NewWXVerifyTask(wxConn),
SocketMsgTask: wxtask.NewWXSocketMsgTask(wxConn),
}
}
// Start 启动
func (wxtm *WXTaskMgr) Start() {
// fmt.Println("启动微信任务管理器")
//处理异常
// defer TryE("(wxtm *WXTaskMgr) Start()")
if wxtm.start {
return
}
wxtm.start = true
// wxtm.grabHBTask.Start()
wxtm.snsTransTask.Start()
// wxtm.revokeTask.Start()
wxtm.snsTask.Start()
wxtm.SocketMsgTask.Start()
}
// Stop 关闭
func (wxtm *WXTaskMgr) Stop() {
if !wxtm.start {
return
}
wxtm.start = false
// wxtm.grabHBTask.Stop()
wxtm.snsTransTask.Stop()
// wxtm.revokeTask.Stop()
wxtm.snsTask.Stop()
wxtm.SocketMsgTask.Stop()
}
func (wxtm *WXTaskMgr) GetTaskStatus() bool {
return wxtm.start
}
// GetGroupTask 获取群任务管理器
func (wxtm *WXTaskMgr) GetGroupTask() *wxtask.WXGroupTask {
return wxtm.groupTask
}
// GetFriendTask 获取好友任务管理器
func (wxtm *WXTaskMgr) GetFriendTask() *wxtask.WXFriendTask {
return wxtm.friendTask
}
// GetGrabHBTask 获取红包任务管理器
func (wxtm *WXTaskMgr) GetGrabHBTask() *wxtask.WXGrabHBTask {
return wxtm.grabHBTask
}
func (wxtm *WXTaskMgr) GetSocketMsgTask() *wxtask.WXSocketMsgTask {
return wxtm.SocketMsgTask
}
// GetSnsTransTask 获取朋友圈转发任务管理器
func (wxtm *WXTaskMgr) GetSnsTransTask() *wxtask.WXSnsTransTask {
return wxtm.snsTransTask
}
// GetRevokeTask 获取防撤回消息任务管理器
func (wxtm *WXTaskMgr) GetRevokeTask() *wxtask.WXRevokeTask {
return wxtm.revokeTask
}
// GetSnsTask 获取朋友圈任务管理器
func (wxtm *WXTaskMgr) GetSnsTask() *wxtask.WXSnsTask {
return wxtm.snsTask
}
// GetVerifyTask 获取朋友圈任务管理器
func (wxtm *WXTaskMgr) GetVerifyTask() *wxtask.WXVerifyTask {
return wxtm.verifyTask
}