108 lines
2.6 KiB
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
|
|
}
|