diff --git a/server/imserver/mtb/mtb.auto_gen.go b/server/imserver/mtb/mtb.auto_gen.go index c9b42a7a..5e79047e 100644 --- a/server/imserver/mtb/mtb.auto_gen.go +++ b/server/imserver/mtb/mtb.auto_gen.go @@ -1,3 +1,10 @@ package mtb +type Server struct { + listen_port int32 +} + +func (this *Server) GetListenPort() int32 { + return this.listen_port +} diff --git a/tools/pbtools/app.js b/tools/pbtools/app.js index 2379785d..d53ecbdb 100644 --- a/tools/pbtools/app.js +++ b/tools/pbtools/app.js @@ -176,9 +176,95 @@ func init() { `; + this.mtPb.nested.mt.nestedArray.forEach( + (item) => { + data += `type ${item.name} struct {\n`; + item.fieldsArray.forEach + ( + (item2, index) => { + + data += ` ${item2.name} ` + this.dumpClassField(item, item2, index) + `\n`; + } + ); + data += '}'; + } + ); + data += '\n\n'; + this.mtPb.nested.mt.nestedArray.forEach( + (item) => { + item.fieldsArray.forEach + ( + (item2, index) => { + const newName = this.converCaseName(item2.name); + data += `func (this *${item.name}) Get${newName}() ` + + this.dumpClassField(item, item2, index) + ` {\n`; + data += ` return this.${item2.name}\n`; + data += `}\n`; + } + ); + } + ); fs.writeFileSync('./mtb/mtb.auto_gen.go', data); } + dumpClassField(cls, field, index) { + const fieldName = field.name; + switch (field.type) { + case 'int32': + { + return `int32`; + } + break; + case 'int64': + { + return `int64`; + } + break; + case 'float': + { + return `float32`; + } + break; + case 'double': + { + return `float64`; + } + break; + case 'string': + { + return `string`; + } + break; + default: + console.log(field); + assert(false, 'error field type:' + field.type); + break; + } + } + + converCaseName(name) { + let newName = ''; + let preIs_ = false; + for (let i = 0; i < name.length; ++i) { + if (i == 0) { + newName += name[i].toUpperCase(); + preIs_ = name[i] == '_'; + } else { + if (preIs_) { + if (name[i] != '_') { + newName += name[i].toUpperCase(); + } + } else { + if (name[i] != '_') { + newName += name[i]; + } + } + preIs_ = name[i] == '_'; + } + } + return newName; + } + } (new PBTools).init();