first commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user