diff --git a/README.md b/README.md index 95eb1cb..c8b6982 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,10 @@ pro2d 服务器客户端共享的protobuffer ## 文档 -- [登录流程](doc/login.md) +### 账号服务 +- [登录流程](doc/account.md) +### 游戏服 +- [业务逻辑](doc/game.md) ## Usage ### golang diff --git a/doc/account.md b/doc/account.md new file mode 100644 index 0000000..f9588e3 --- /dev/null +++ b/doc/account.md @@ -0,0 +1,79 @@ + +## 登录服管理用户账号 +### 账号登录 & 注册流程 +1. 调用注册接口注册账号 +2. 使用注册接口返回的uid和游戏服地址,登录游戏服务 + +### 注册接口[/v1/register] +1. 说明:研发提供的接口必须遵循以下协议 +2. 请求方式:POST(JSON) + * 请求参数需要拼接为json,请求体是data-raw, 详情参考【请求参数】 +3. 请求参数:(以参数有就传) + +| 参数 | 类型 | 是否必须 | 备注 | +| --- | --- | --- | --- | +| phone | string | Y |手机号 | +| password | string | Y | 密码 | +| code | string | Y | 短信验证码(暂无) | + +最后参数组合示例为: +```json +{ + "phone":"17683852936", + "password":"123456" +} +``` + +请求示例: +```shell +$ curl --request POST 'http://192.168.0.206:8080/v1/register' \ +--header 'Content-Type: application/json' \ +--data '{ + "phone":"17683852936", + "password":"123456" +}' +``` +返回结果: +```shell +{"code":0 ,"message":"success"}} +``` +* code = 0, 则成功 +* code != 0, 则注册失败,message是返回的提示信息 + +### 登录接口 [/v1/login] +1. 说明:研发提供的接口必须遵循以下协议 +2. 请求方式:POST(JSON) + * 请求参数需要拼接为json,请求体是data-raw, 详情参考【请求参数】 +3. 请求参数:(以参数有就传) + +| 参数 | 类型 | 是否必须 | 备注 | +| --- | --- | --- | --- | +| phone | string | Y |手机号 | +| password | string | Y | 密码 | + +最后参数组合示例为: +```json +{ + "phone":"17683852936", + "password":"123456" +} +``` + +请求示例: +```shell +$ curl --request POST 'http://192.168.0.206:8080/v1/login' \ +--header 'Content-Type: application/json' \ +--data '{ + "phone":"17683852936", + "password":"123456" +}' +``` +返回结果: +```shell +{"code":0,"data":{"token":"141815055745814528"},"message":"success"} +``` +* code = 0, 成功,客户端解析data字段就行 +* code !=0, 失败, message字段是提示信息 + + + diff --git a/doc/game.md b/doc/game.md new file mode 100644 index 0000000..0a5abe9 --- /dev/null +++ b/doc/game.md @@ -0,0 +1,29 @@ +## 游戏服处理业务逻辑 +游戏服使用tcp长连接,使用16字节包头 + 包体 的二进制协议 。包体使用protobuf + +客户端主要关注的是包头里的错误码和返回回来的包体.下面我主要说明请求对应的协议号以及返回回来的错误码说明和包体 + +### 协议号以及错误码概述 +1. errCode = 0则请求为成功, 其他值则失败。 + +2. 协议号对应的请求体查看protos/protocode.proto文件 +* 请求是`message HeartReq`, 协议号在protocode.proto文件中是 `HeartReq=1`, 对应的处理逻辑的函数是 `func HeartRpc(msg IMessage)` + +详细的请看代码或者客户端与服务器共享的proto协议文件 + +## 协议号以及返回错误说明 +### 共同的错误码说明 +| errorCode 返回值| 描述 | +| --- | --- | +|0|成功| +|1| protobuf包体解析错误| +### 登录 +| errorCode 返回值| 描述 | +| --- | --- | +|2|角色不存在| + +### 创建角色 +| errorCode 返回值| 描述 | +| --- | --- | +|2|角色不存在| +|3|创建角色失败| diff --git a/doc/login.md b/doc/login.md deleted file mode 100644 index b561027..0000000 --- a/doc/login.md +++ /dev/null @@ -1,80 +0,0 @@ - -## 登录服管理用户账号 -### 账号登录 & 注册流程 -1. 调用注册接口注册账号 -2. 使用注册接口返回的uid和游戏服地址,登录游戏服务 - -### 注册接口[/v1/register] -1. 说明:研发提供的接口必须遵循以下协议 -2. 请求方式:POST(JSON) - * 请求参数需要拼接为json,请求体是data-raw, 详情参考【请求参数】 -3. 请求参数:(以参数有就传) - -| 参数 | 类型 | 是否必须 | 备注 | -| --- | --- | --- | --- | -| phone | string | Y |手机号 | -| password | string | Y | 密码 | -| code | string | Y | 短信验证码(暂无) | - -最后参数组合示例为: -```json -{ - "phone":"17683852936", - "password":"123456" -} -``` - -请求示例: -```shell -$ curl --request POST 'http://192.168.0.206:8080/v1/register' \ ---header 'Content-Type: application/json' \ ---data '{ - "phone":"17683852936", - "password":"123456" -}' -``` -返回结果: -```shell -{"code":0 ,"message":"success"}} -``` -* code = 0, 则成功 -* code != 0, 则注册失败,message是返回的提示信息 - -### 登录接口 [/v1/login] -1. 说明:研发提供的接口必须遵循以下协议 -2. 请求方式:POST(JSON) - * 请求参数需要拼接为json,请求体是data-raw, 详情参考【请求参数】 -3. 请求参数:(以参数有就传) - -| 参数 | 类型 | 是否必须 | 备注 | -| --- | --- | --- | --- | -| phone | string | Y |手机号 | -| password | string | Y | 密码 | - -最后参数组合示例为: -```json -{ - "phone":"17683852936", - "password":"123456" -} -``` - -请求示例: -```shell -$ curl --request POST 'http://192.168.0.206:8080/v1/login' \ ---header 'Content-Type: application/json' \ ---data '{ - "phone":"17683852936", - "password":"123456" -}' -``` -返回结果: -```shell -{"code":0,"data":{"token":"141815055745814528"},"message":"success"} -``` -* code = 0, 成功,客户端解析data字段就行 -* code !=0, 失败, message字段是提示信息 - - - -## 游戏服处理业务逻辑 \ No newline at end of file diff --git a/game.proto b/game.proto index 2f67a26..b505a70 100644 --- a/game.proto +++ b/game.proto @@ -20,7 +20,7 @@ message LoginReq { } message CreateReq { - string uid = 1; + string token = 1; string device = 2; } -- libgit2 0.21.2