package wxcore import ( // "fmt" "xiawan/wx/srv" "xiawan/wx/srv/wxface" ) // WXServer 微信服务器,处理与微信的交互 type WXServer struct { wxMsgHandler wxface.IWXMsgHandler wxConnectMgr wxface.IWXConnectMgr wxFileMgr *srv.WXFileMgr } // NewWXServer 新建微信服务对象 func NewWXServer() wxface.IWXServer { return &WXServer{ wxMsgHandler: NewWXMsgHandler(), wxConnectMgr: NewWXConnManager(), wxFileMgr: srv.NewWXFileMgr(), } } // Start 开启微信服务 func (wxs *WXServer) Start() { defer TryE("(wxtm *WXServer) Start()") // fmt.Println("xiaoyue--------start开启微信服务") // 开启微信消息线程池 wxs.wxMsgHandler.StartWorkerPool() //wxs.wxFileMgr.Start() } // GetWXMsgHandler 获取微信消息管理器 func (wxs *WXServer) GetWXMsgHandler() wxface.IWXMsgHandler { return wxs.wxMsgHandler } // GetWXConnectMgr 获取微信链接管理器 func (wxs *WXServer) GetWXConnectMgr() wxface.IWXConnectMgr { return wxs.wxConnectMgr } // GetWXFileMgr 获取微信文件管理器 func (wxs *WXServer) GetWXFileMgr() *srv.WXFileMgr { return wxs.wxFileMgr } // AddWXRouter 添加微信消息路由 func (wxs *WXServer) AddWXRouter(funcID uint32, wxRouter wxface.IWXRouter) { wxs.wxMsgHandler.AddRouter(funcID, wxRouter) } // UpdateExpiryDate 更新授权码过期时间 func (wxs *WXServer) UpdateExpiryDate(key, expiryDate string) { connMgr := wxs.GetWXConnectMgr() wxConn := connMgr.GetWXConnectByUserInfoUUID(key) if wxConn == nil { return } currentTaskMgr := wxConn.GetWXTaskMgr() taskMgr, _ := currentTaskMgr.(*WXTaskMgr) currentSnsTransTask := taskMgr.GetSnsTransTask() currentSnsTransTask.SetExpiryDate(expiryDate) } // UpdateDisable 更新授权码禁用状态 func (wxs *WXServer) UpdateDisable(key string, disable int) { connMgr := wxs.GetWXConnectMgr() wxConn := connMgr.GetWXConnectByUserInfoUUID(key) if wxConn == nil { return } currentTaskMgr := wxConn.GetWXTaskMgr() taskMgr, _ := currentTaskMgr.(*WXTaskMgr) currentSnsTransTask := taskMgr.GetSnsTransTask() currentSnsTransTask.SetDisable(disable) }