Files
wechat_ipad_pro/srv/wxcore/wxserver.go
2026-02-17 13:06:23 +08:00

79 lines
2.0 KiB
Go

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)
}