客户端请求token
This commit is contained in:
parent
0b91f46fd8
commit
7099975e9e
|
|
@ -1,6 +1,7 @@
|
|||
package clawdoll
|
||||
|
||||
import (
|
||||
"github.com/zegoim/zego_server_assistant/token/go/src/token04"
|
||||
"mongo.games.com/game/common"
|
||||
rule "mongo.games.com/game/gamerule/clawdoll"
|
||||
"mongo.games.com/game/gamesrv/base"
|
||||
|
|
@ -8,6 +9,7 @@ import (
|
|||
"mongo.games.com/game/protocol/machine"
|
||||
"mongo.games.com/goserver/core/logger"
|
||||
"mongo.games.com/goserver/core/netlib"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type CSPlayerOpPacketFactory struct {
|
||||
|
|
@ -95,8 +97,69 @@ func MSDollMachineoCoinResultHandler(session *netlib.Session, packetId int, data
|
|||
return nil
|
||||
}
|
||||
|
||||
type CSGetTokenPacketFactory struct {
|
||||
}
|
||||
|
||||
type CSGetTokenHandler struct {
|
||||
}
|
||||
|
||||
func (f *CSGetTokenPacketFactory) CreatePacket() interface{} {
|
||||
pack := &clawdoll.CSCLAWDOLLGetToken{}
|
||||
return pack
|
||||
}
|
||||
|
||||
func (h *CSGetTokenHandler) Process(s *netlib.Session, packetid int, data interface{}, sid int64) error {
|
||||
//转发到娃娃机主机
|
||||
logger.Logger.Tracef("CSGetTokenHandler")
|
||||
if _, ok := data.(*clawdoll.CSCLAWDOLLGetToken); ok {
|
||||
p := base.PlayerMgrSington.GetPlayer(sid)
|
||||
if p == nil {
|
||||
logger.Logger.Warn("CSGetTokenHandler p == nil")
|
||||
return nil
|
||||
}
|
||||
|
||||
scene := p.GetScene()
|
||||
if scene == nil {
|
||||
return nil
|
||||
}
|
||||
sceneEx, ok := scene.ExtraData.(*SceneEx)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
machineId := scene.GetDBGameFree().GetId() % 6080000
|
||||
machineInfo := sceneEx.GetMachineServerInfo(machineId, p.Platform)
|
||||
if machineInfo == nil {
|
||||
logger.Logger.Warn("CSGetTokenHandler machineId = %v not found", machineId)
|
||||
return nil
|
||||
}
|
||||
|
||||
logger.Logger.Tracef("获取娃娃机 appId = %v, serverSecret = %v, streamId = %v,snid = %d", machineInfo.AppId, machineInfo.ServerSecret, machineInfo.StreamId, p.SnId)
|
||||
|
||||
//生成token
|
||||
token, err := token04.GenerateToken04(uint32(machineInfo.AppId), strconv.Itoa(int(p.SnId)), machineInfo.ServerSecret, 3600, "")
|
||||
if err != nil {
|
||||
logger.Logger.Error(err)
|
||||
return err
|
||||
}
|
||||
logger.Logger.Trace("======================token========================", token)
|
||||
|
||||
pack := &clawdoll.SCCLAWDOLLSendToken{
|
||||
LogicId: scene.DBGameFree.GetId(),
|
||||
Appid: machineInfo.AppId,
|
||||
Token: token,
|
||||
StreamId: machineInfo.StreamId,
|
||||
}
|
||||
p.SendToClient(int(clawdoll.CLAWDOLLPacketID_PACKET_SC_SENDTOKEN), pack)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
common.RegisterHandler(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_PLAYEROP), &CSPlayerOpHandler{})
|
||||
netlib.RegisterFactory(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_PLAYEROP), &CSPlayerOpPacketFactory{})
|
||||
netlib.Register(int(machine.DollMachinePacketID_PACKET_MSDollMachineoPerateResult), &machine.MSDollMachineoPerateResult{}, MSDollMachineoCoinResultHandler)
|
||||
//客户端请求token
|
||||
common.RegisterHandler(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_GETTOKEN), &CSGetTokenHandler{})
|
||||
netlib.RegisterFactory(int(clawdoll.CLAWDOLLPacketID_PACKET_CS_GETTOKEN), &CSGetTokenPacketFactory{})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue