mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 19:17:38 +08:00
feature: sso addr control.
This commit is contained in:
parent
c41a3dbb0f
commit
58e7c82fd2
@ -165,7 +165,7 @@ func decodeLoginResponse(c *QQClient, _ uint16, payload []byte) (interface{}, er
|
|||||||
}
|
}
|
||||||
|
|
||||||
// StatSvc.register
|
// StatSvc.register
|
||||||
func decodeClientRegisterResponse(_ *QQClient, _ uint16, payload []byte) (interface{}, error) {
|
func decodeClientRegisterResponse(c *QQClient, _ uint16, payload []byte) (interface{}, error) {
|
||||||
request := &jce.RequestPacket{}
|
request := &jce.RequestPacket{}
|
||||||
request.ReadFrom(jce.NewJceReader(payload))
|
request.ReadFrom(jce.NewJceReader(payload))
|
||||||
data := &jce.RequestDataVersion2{}
|
data := &jce.RequestDataVersion2{}
|
||||||
@ -173,6 +173,9 @@ func decodeClientRegisterResponse(_ *QQClient, _ uint16, payload []byte) (interf
|
|||||||
svcRsp := &jce.SvcRespRegister{}
|
svcRsp := &jce.SvcRespRegister{}
|
||||||
svcRsp.ReadFrom(jce.NewJceReader(data.Map["SvcRespRegister"]["QQService.SvcRespRegister"][1:]))
|
svcRsp.ReadFrom(jce.NewJceReader(data.Map["SvcRespRegister"]["QQService.SvcRespRegister"][1:]))
|
||||||
if svcRsp.Result != "" || svcRsp.Status != 11 {
|
if svcRsp.Result != "" || svcRsp.Status != 11 {
|
||||||
|
if svcRsp.Result != "" {
|
||||||
|
c.Error("reg error: %v", svcRsp.Result)
|
||||||
|
}
|
||||||
return nil, errors.New("reg failed")
|
return nil, errors.New("reg failed")
|
||||||
}
|
}
|
||||||
return nil, nil
|
return nil, nil
|
||||||
@ -221,12 +224,17 @@ func decodePushReqPacket(c *QQClient, _ uint16, payload []byte) (interface{}, er
|
|||||||
Port: int(s.Port),
|
Port: int(s.Port),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
c.SetCustomServer(adds)
|
f := true
|
||||||
for _, e := range c.eventHandlers.serverUpdatedHandlers {
|
for _, e := range c.eventHandlers.serverUpdatedHandlers {
|
||||||
cover(func() {
|
cover(func() {
|
||||||
e(c, &ServerUpdatedEvent{Servers: servers})
|
if !e(c, &ServerUpdatedEvent{Servers: servers}) {
|
||||||
|
f = false
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
if !f {
|
||||||
|
c.SetCustomServer(adds)
|
||||||
|
}
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ type eventHandlers struct {
|
|||||||
newFriendHandlers []func(*QQClient, *NewFriendEvent)
|
newFriendHandlers []func(*QQClient, *NewFriendEvent)
|
||||||
disconnectHandlers []func(*QQClient, *ClientDisconnectedEvent)
|
disconnectHandlers []func(*QQClient, *ClientDisconnectedEvent)
|
||||||
logHandlers []func(*QQClient, *LogEvent)
|
logHandlers []func(*QQClient, *LogEvent)
|
||||||
serverUpdatedHandlers []func(*QQClient, *ServerUpdatedEvent)
|
serverUpdatedHandlers []func(*QQClient, *ServerUpdatedEvent) bool
|
||||||
notifyHandlers []func(*QQClient, IGroupNotifyEvent)
|
notifyHandlers []func(*QQClient, IGroupNotifyEvent)
|
||||||
offlineFileHandlers []func(*QQClient, *OfflineFileEvent)
|
offlineFileHandlers []func(*QQClient, *OfflineFileEvent)
|
||||||
groupMessageReceiptHandlers sync.Map
|
groupMessageReceiptHandlers sync.Map
|
||||||
@ -107,7 +107,7 @@ func (c *QQClient) OnDisconnected(f func(*QQClient, *ClientDisconnectedEvent)) {
|
|||||||
c.eventHandlers.disconnectHandlers = append(c.eventHandlers.disconnectHandlers, f)
|
c.eventHandlers.disconnectHandlers = append(c.eventHandlers.disconnectHandlers, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *QQClient) OnServerUpdated(f func(*QQClient, *ServerUpdatedEvent)) {
|
func (c *QQClient) OnServerUpdated(f func(*QQClient, *ServerUpdatedEvent) bool) {
|
||||||
c.eventHandlers.serverUpdatedHandlers = append(c.eventHandlers.serverUpdatedHandlers, f)
|
c.eventHandlers.serverUpdatedHandlers = append(c.eventHandlers.serverUpdatedHandlers, f)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user