You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			86 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
			
		
		
	
	
			86 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
| package game_mgr
 | |
| 
 | |
| import (
 | |
| 	"app/douyin"
 | |
| 	"app/network"
 | |
| 	"app/service/main/message/pb"
 | |
| 	"app/service/main/msg_util"
 | |
| 	"app/service/main/user"
 | |
| )
 | |
| 
 | |
| var APP_TOKEN_MAP = map[string]string{
 | |
| 	"ttaef8d84531c975bb10": "123",
 | |
| }
 | |
| 
 | |
| type GameMgr struct {
 | |
| 	appMap map[string]douyin.IApp
 | |
| }
 | |
| 
 | |
| func NewGameMgr() *GameMgr {
 | |
| 	return &GameMgr{}
 | |
| }
 | |
| 
 | |
| func (s *GameMgr) Run() error {
 | |
| 	s.appMap = make(map[string]douyin.IApp)
 | |
| 
 | |
| 	//for appId, appSecret := range APP_TOKEN_MAP {
 | |
| 	//	newApp := douyin.NewApp(appId, appSecret)
 | |
| 	//	s.appMap[appId] = newApp
 | |
| 	//	newApp.StartRefreshToken()
 | |
| 	//}
 | |
| 
 | |
| 	listener := network.NewTcpListener(
 | |
| 		":8899",
 | |
| 		s.newParser,
 | |
| 		s.newHandler)
 | |
| 
 | |
| 	err := listener.Listen()
 | |
| 	return err
 | |
| }
 | |
| 
 | |
| func (s *GameMgr) newParser() network.ICodec {
 | |
| 	return msg_util.NewProtoCodec(msg_util.NewProtoParser("message", "MSG_TYPE"), 1024*64, false)
 | |
| }
 | |
| 
 | |
| func (s *GameMgr) newHandler() network.INetHandler {
 | |
| 	return user.NewUser(s)
 | |
| }
 | |
| 
 | |
| func (s *GameMgr) Login(appId string, token string) (string, string, string, pb.ERROR_CODE) {
 | |
| 	app, ok := s.appMap[appId]
 | |
| 	if !ok {
 | |
| 		return "", "", "", pb.ERROR_CODE_INVALID_APPID
 | |
| 	}
 | |
| 	roomId, uid, nickName, err := app.GetRoomId(token)
 | |
| 	if err != nil {
 | |
| 		return "", "", "", pb.ERROR_CODE_INVALID_TOKEN
 | |
| 	}
 | |
| 	return roomId, uid, nickName, pb.ERROR_CODE_SUCCESS
 | |
| }
 | |
| 
 | |
| func (s *GameMgr) StartTask(appId string, roomId string, msgType string) pb.ERROR_CODE {
 | |
| 	app, ok := s.appMap[appId]
 | |
| 	if !ok {
 | |
| 		return pb.ERROR_CODE_INVALID_APPID
 | |
| 	}
 | |
| 
 | |
| 	_, err := app.StartTask(roomId, msgType)
 | |
| 	if err != nil {
 | |
| 		return pb.ERROR_CODE_FAIL
 | |
| 	}
 | |
| 	return pb.ERROR_CODE_SUCCESS
 | |
| }
 | |
| 
 | |
| func (s *GameMgr) StopTask(appId string, roomId string, msgType string) pb.ERROR_CODE {
 | |
| 	app, ok := s.appMap[appId]
 | |
| 	if !ok {
 | |
| 		return pb.ERROR_CODE_INVALID_APPID
 | |
| 	}
 | |
| 
 | |
| 	_, err := app.StopTask(roomId, msgType)
 | |
| 	if err != nil {
 | |
| 		return pb.ERROR_CODE_FAIL
 | |
| 	}
 | |
| 	return pb.ERROR_CODE_SUCCESS
 | |
| }
 |