README
¶
gen-proto-error
Generate *berror.Error errors from proto
从proto生成 *berror.Error的错误
References
github.com/ravinggo/game/proto/error.proto
google/protobuf/descriptor.proto
gen-proto-error parses all enumeration types ending with ErrorCode
and enumeration fields must add basepb.error_info annotation
gen-proto-error 解析所有以 ErrorCode 结尾的枚举类型
并且枚举字段必须添加 basepb.error_info 注解
enum XXXErrorCode {
XXXErrorItemNotEnough = 0[(basepb.error_info) = {tip_desc:"道具不足"}];
}
Usage
gen-proto-error --parseDir={dira},{dirb},{dirc} --txtPath={txtPath} --goPath={goPath} --pkgName={pkgName}
parseDir:
The proto directory that needs to be parsed to generate ErrMsg. Multiple directories are separated by commas.
需要解析生成 ErrMsg 的 proto 目录,多个目录用逗号分隔
txtPath:
The path of the generated ErrMsg text file, used by the client in multiple languages
生成的 ErrMsg 文本文件路径,客户端多语言使用
goPath:
The path of the generated ErrMsg code file
生成的 ErrMsg 代码文件路径
pkgName:
The package name of the generated ErrMsg code file
生成的 ErrMsg 代码文件包名
examples
https://github.com/ravinggo/examples/proto
// login.proto in the login directory
syntax = "proto3";
package login;
option go_package = "pbmsg/login";
// copy from github.com/ravinggo/game/proto/error.proto
import "error.proto";
enum LoginErrorCode {
LoginErrorInvalidLoginType = 0 [(basepb.error_info) = {tip_desc:"无效的登录类型"}];
LoginErrorTokenExpired = 1 [(basepb.error_info) = {tip_desc:"token已过期"}];
LoginErrorAccountIsNotRegistered = 2 [(basepb.error_info) = {tip_desc:"账号未注册"}];
LoginErrorAccountIsRegistered = 3 [(basepb.error_info) = {tip_desc:"账号已注册请登录"}];
LoginErrorFormatError = 4 [(basepb.error_info) = {tip_desc:"账号格式不符合要求"}];
LoginErrorPasswordFormatError = 5 [(basepb.error_info) = {tip_desc:"密码格式不符合要求"}];
LoginErrorNotRealNameAuthentication = 6 [(basepb.error_info) = {tip_desc:"账号未实名认证"}];
LoginErrorAccountIsWrong = 7 [(basepb.error_info) = {tip_desc:"账号密码错误"}];
LoginErrorAuthenticationNotApproved = 8 [(basepb.error_info) = {tip_desc:"账号认证不通过"}];
LoginErrorAgeLimit = 9 [(basepb.error_info) = {tip_desc:"年龄限制"}];
LoginErrorLimitPlayTimeConfigWrong = 10 [(basepb.error_info) = {tip_desc:"未成年游玩时间配置错误"}];
LoginErrorFeedbackContentTooLong = 11 [(basepb.error_info) = {tip_desc:"反馈内容长度需在200字符以内"}];
LoginErrorFeedbackContactTooLong = 12 [(basepb.error_info) = {tip_desc:"联系方式长度需在30字符以内"}];
LoginErrorTokenExpiredIsReconnect = 13 [(basepb.error_info) = {tip_desc:"token已过期"}];
}
then run
gen-proto-error --parseDir=./login --txtPath=. --goPath={your project dir}/errmsg --pkgName={errmsg}
error_code.txt
login_error_account_is_not_registered=账号未注册
login_error_account_is_registered=账号已注册请登录
login_error_account_is_wrong=账号密码错误
login_error_age_limit=年龄限制
login_error_authentication_not_approved=账号认证不通过
login_error_feedback_contact_too_long=联系方式长度需在30字符以内
login_error_feedback_content_too_long=反馈内容长度需在200字符以内
login_error_format_error=账号格式不符合要求
login_error_invalid_login_type=无效的登录类型
login_error_limit_play_time_config_wrong=未成年游玩时间配置错误
login_error_not_real_name_authentication=账号未实名认证
login_error_password_format_error=密码格式不符合要求
login_error_token_expired=token已过期
login_error_token_expired_is_reconnect=token已过期
errmsg/error_code.go
// Code generated by gen-proto-error. DO NOT EDIT.
// source: ./login
package errmsg
import (
berror "github.com/ravinggo/game/common/berror"
)
func NewLoginErrorAccountIsNotRegistered(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_account_is_not_registered"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorAccountIsRegistered(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_account_is_registered"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorAccountIsWrong(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_account_is_wrong"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorAgeLimit(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_age_limit"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorAuthenticationNotApproved(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_authentication_not_approved"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorFeedbackContactTooLong(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_feedback_contact_too_long"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorFeedbackContentTooLong(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_feedback_content_too_long"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorFormatError(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_format_error"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorInvalidLoginType(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_invalid_login_type"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorLimitPlayTimeConfigWrong(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_limit_play_time_config_wrong"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorNotRealNameAuthentication(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_not_real_name_authentication"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorPasswordFormatError(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_password_format_error"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorTokenExpired(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_token_expired"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
func NewLoginErrorTokenExpiredIsReconnect(extra ...string) *berror.ErrMsg {
e := berror.GetErr()
e.ErrCode = 1
e.ErrMsg = "login_error_token_expired_is_reconnect"
if berror.IsOpenStack() {
e.WithStackTrace()
}
if len(extra) > 0 {
e.ErrExtraInfo = extra[0]
}
return e
}
Documentation
¶
There is no documentation for this package.
Click to show internal directories.
Click to hide internal directories.