This commit is contained in:
makeyangcom
2024-03-16 11:52:44 +08:00
parent 00f3e439ff
commit a0076078c8
11 changed files with 1335 additions and 47 deletions

View File

@@ -0,0 +1,45 @@
/**
#*****************************************************************************
# @file table.go
# @author MakerYang(https://www.makeryang.com)
# @statement 免费课程配套开源项目,任何形式收费均为盗版
#*****************************************************************************
*/
package GameAccountData
import (
"Game/framework/database"
"Game/framework/utils"
)
var TableName = "game_account_data"
type Data struct {
AccountId int `gorm:"primary_key;AUTO_INCREMENT;unique_index;not null;column:account_id"`
AccountAccount string `gorm:"column:account_account"`
AccountPassword string `gorm:"column:account_password"`
AccountName string `gorm:"column:account_name"`
AccountNumber string `gorm:"column:account_number"`
AccountQuestionA string `gorm:"column:account_question_a"`
AccountQuestionB string `gorm:"column:account_question_b"`
AccountAnswerA string `gorm:"column:account_answer_a"`
AccountAnswerB string `gorm:"column:account_answer_b"`
AccountStatus int `gorm:"column:account_status"`
Database.DefaultField
}
type Return struct {
Token string `json:"token"`
}
func ReturnData(dataStruct *Data) Return {
data := Return{}
if dataStruct.AccountId > 0 {
data.Token = Utils.EncodeId(32, dataStruct.AccountId)
}
return data
}

View File

@@ -0,0 +1,53 @@
/**
#*****************************************************************************
# @file table.go
# @author MakerYang(https://www.makeryang.com)
# @statement 免费课程配套开源项目,任何形式收费均为盗版
#*****************************************************************************
*/
package GameLevelData
import (
"Game/framework/database"
)
var TableName = "game_level_data"
type Data struct {
LevelId int `gorm:"primary_key;AUTO_INCREMENT;unique_index;not null;column:level_id"`
LevelServerId int `gorm:"column:level_server_id"`
LevelCareer string `gorm:"column:level_career"`
LevelName string `gorm:"column:level_name"`
LevelMin int `gorm:"column:level_min"`
LevelMax int `gorm:"column:level_max"`
LevelLifeValue int `gorm:"column:level_life_value"`
LevelMagicValue int `gorm:"column:level_magic_value"`
LevelStatus int `gorm:"column:level_status"`
Database.DefaultField
}
type Return struct {
LevelCareer string `json:"level_career"`
LevelName string `json:"level_name"`
LevelMin int `json:"level_min"`
LevelMax int `json:"level_max"`
LevelLifeValue int `json:"level_life_value"`
LevelMagicValue int `json:"level_magic_value"`
}
func ReturnData(dataStruct *Data) Return {
data := Return{}
if dataStruct.LevelId > 0 {
data.LevelCareer = dataStruct.LevelCareer
data.LevelName = dataStruct.LevelName
data.LevelMin = dataStruct.LevelMin
data.LevelMax = dataStruct.LevelMax
data.LevelLifeValue = dataStruct.LevelLifeValue
data.LevelMagicValue = dataStruct.LevelMagicValue
}
return data
}

View File

@@ -0,0 +1,47 @@
/**
#*****************************************************************************
# @file table.go
# @author MakerYang(https://www.makeryang.com)
# @statement 免费课程配套开源项目,任何形式收费均为盗版
#*****************************************************************************
*/
package GameMapData
import (
"Game/framework/database"
)
var TableName = "game_map_data"
type Data struct {
MapId int `gorm:"primary_key;AUTO_INCREMENT;unique_index;not null;column:map_id"`
MapServerId int `gorm:"column:map_server_id"`
MapNumber string `gorm:"column:map_number"`
MapName string `gorm:"column:map_name"`
MapDefaultX int `gorm:"column:map_default_x"`
MapDefaultY int `gorm:"column:map_default_y"`
MapStatus int `gorm:"column:map_status"`
Database.DefaultField
}
type Return struct {
MapNumber string `json:"map_number"`
MapName string `json:"map_name"`
MapDefaultX int `json:"map_default_x"`
MapDefaultY int `json:"map_default_y"`
}
func ReturnData(dataStruct *Data) Return {
data := Return{}
if dataStruct.MapId > 0 {
data.MapNumber = dataStruct.MapNumber
data.MapName = dataStruct.MapName
data.MapDefaultX = dataStruct.MapDefaultX
data.MapDefaultY = dataStruct.MapDefaultY
}
return data
}

View File

@@ -0,0 +1,81 @@
/**
#*****************************************************************************
# @file table.go
# @author MakerYang(https://www.makeryang.com)
# @statement 免费课程配套开源项目,任何形式收费均为盗版
#*****************************************************************************
*/
package GamePlayerData
import (
"Game/framework/database"
"Game/framework/utils"
)
var TableName = "game_player_data"
type Data struct {
PlayerId int `gorm:"primary_key;AUTO_INCREMENT;unique_index;not null;column:player_id"`
PlayerAccountId int `gorm:"column:player_account_id"`
PlayerServerId int `gorm:"column:player_server_id"`
PlayerNickname string `gorm:"column:player_nickname"`
PlayerCareer string `gorm:"column:player_career"`
PlayerGender string `gorm:"column:player_gender"`
PlayerAngle int `gorm:"column:player_angle"`
PlayerMap string `gorm:"column:player_map"`
PlayerMapX int `gorm:"column:player_map_x"`
PlayerMapY int `gorm:"column:player_map_y"`
PlayerAssetLife int `gorm:"column:player_asset_life"`
PlayerAssetMagic int `gorm:"column:player_asset_magic"`
PlayerAssetExperience int `gorm:"column:player_asset_experience"`
PlayerBodyClothe string `gorm:"column:player_body_clothe"`
PlayerBodyWeapon string `gorm:"column:player_body_weapon"`
PlayerBodyWing string `gorm:"column:player_body_wing"`
PlayerGroupId int `gorm:"column:player_group_id"`
PlayerStatus int `gorm:"column:player_status"`
Database.DefaultField
}
type Return struct {
Token string `json:"token"`
PlayerNickname string `json:"player_nickname"`
PlayerCareer string `json:"player_career"`
PlayerGender string `json:"player_gender"`
PlayerAngle int `json:"player_angle"`
PlayerMap string `json:"player_map"`
PlayerMapX int `json:"player_map_x"`
PlayerMapY int `json:"player_map_y"`
PlayerAssetLife int `json:"player_asset_life"`
PlayerAssetMagic int `json:"player_asset_magic"`
PlayerAssetExperience int `json:"player_asset_experience"`
PlayerBodyClothe string `json:"player_body_clothe"`
PlayerBodyWeapon string `json:"player_body_weapon"`
PlayerBodyWing string `json:"player_body_wing"`
PlayerGroupId int `json:"player_group_id"`
}
func ReturnData(dataStruct *Data) Return {
data := Return{}
if dataStruct.PlayerId > 0 {
data.Token = Utils.EncodeId(32, dataStruct.PlayerId, dataStruct.PlayerAccountId, dataStruct.PlayerServerId)
data.PlayerNickname = dataStruct.PlayerNickname
data.PlayerCareer = dataStruct.PlayerCareer
data.PlayerGender = dataStruct.PlayerGender
data.PlayerAngle = dataStruct.PlayerAngle
data.PlayerMap = dataStruct.PlayerMap
data.PlayerMapX = dataStruct.PlayerMapX
data.PlayerMapY = dataStruct.PlayerMapY
data.PlayerAssetLife = dataStruct.PlayerAssetLife
data.PlayerAssetMagic = dataStruct.PlayerAssetMagic
data.PlayerAssetExperience = dataStruct.PlayerAssetExperience
data.PlayerBodyClothe = dataStruct.PlayerBodyClothe
data.PlayerBodyWeapon = dataStruct.PlayerBodyWeapon
data.PlayerBodyWing = dataStruct.PlayerBodyWing
data.PlayerGroupId = dataStruct.PlayerGroupId
}
return data
}

View File

@@ -0,0 +1,40 @@
/**
#*****************************************************************************
# @file table.go
# @author MakerYang(https://www.makeryang.com)
# @statement 免费课程配套开源项目,任何形式收费均为盗版
#*****************************************************************************
*/
package GameServerData
import (
"Game/framework/database"
"Game/framework/utils"
)
var TableName = "game_server_data"
type Data struct {
ServerId int `gorm:"primary_key;AUTO_INCREMENT;unique_index;not null;column:server_id"`
ServerName string `gorm:"column:server_name"`
ServerStatus int `gorm:"column:server_status"`
Database.DefaultField
}
type Return struct {
Token string `json:"token"`
ServerName string `json:"server_name"`
}
func ReturnData(dataStruct *Data) Return {
data := Return{}
if dataStruct.ServerId > 0 {
data.Token = Utils.EncodeId(32, dataStruct.ServerId)
data.ServerName = dataStruct.ServerName
}
return data
}

View File

@@ -0,0 +1,81 @@
/**
#*****************************************************************************
# @file account.go
# @author MakerYang(https://www.makeryang.com)
# @statement 免费课程配套开源项目,任何形式收费均为盗版
#*****************************************************************************
*/
package AccountInterface
import (
"Game/framework/database"
"Game/framework/database/game_account_data"
"Game/framework/utils"
"encoding/json"
"fmt"
"github.com/gin-gonic/gin"
"io/ioutil"
)
type requestRegister struct {
Account string `json:"account"`
Password string `json:"password"`
Name string `json:"name"`
Number string `json:"number"`
QuestionA string `json:"question_a"`
AnswerA string `json:"answer_a"`
QuestionB string `json:"question_b"`
AnswerB string `json:"answer_b"`
}
type responseRegister struct {
Token string `json:"token"`
}
func Register(c *gin.Context) {
returnData := responseRegister{}
jsonData := requestRegister{}
requestJson, _ := ioutil.ReadAll(c.Request.Body)
err := json.Unmarshal(requestJson, &jsonData)
if err != nil {
Utils.Error(c, returnData)
return
}
accountDatabase := Database.New(GameAccountData.TableName)
accountData := GameAccountData.Data{}
where := fmt.Sprintf("account_account = %q", jsonData.Account)
err = accountDatabase.GetData(&accountData, where, "")
if err == nil && accountData.AccountId > 0 {
Utils.Warning(c, 10001, "邮箱已经被注册", returnData)
return
}
setData := &GameAccountData.Data{}
setData.AccountAccount = jsonData.Account
setData.AccountPassword = Utils.MD5Hash(jsonData.Password)
setData.AccountName = jsonData.Name
setData.AccountNumber = jsonData.Number
setData.AccountQuestionA = jsonData.QuestionA
setData.AccountAnswerA = jsonData.AnswerA
setData.AccountQuestionB = jsonData.QuestionB
setData.AccountAnswerB = jsonData.AnswerB
setData.AccountStatus = 2
err = accountDatabase.CreateData(setData)
if err != nil {
Utils.Error(c, accountData)
return
}
if setData.AccountId == 0 {
Utils.Error(c, accountData)
return
}
returnData.Token = Utils.EncodeId(128, setData.AccountId)
Utils.Success(c, returnData)
return
}

View File

@@ -10,6 +10,7 @@ package Interface
import (
"Game/framework/config"
AccountInterface "Game/framework/interface/account"
"Game/framework/interface/ping"
"context"
"fmt"
@@ -32,6 +33,12 @@ func router() *gin.Engine {
// 健康检查接口
router.GET("/ping", PingInterface.Ping)
// 账户相关接口
account := router.Group("account")
{
account.POST("/register", AccountInterface.Register)
}
return router
}