github.com/keysonZZZ/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgRpc/kmgRpcSwift/tplApiClient.go (about)

     1  package kmgRpcSwift
     2  
     3  import (
     4  	"bytes"
     5  )
     6  
     7  func (config Api) tplApiClient() string {
     8  	var _buf bytes.Buffer
     9  	_buf.WriteString(`
    10          func `)
    11  	_buf.WriteString(config.Name)
    12  	_buf.WriteString(`(`)
    13  	_buf.WriteString(config.getClientFuncInParameter())
    14  	_buf.WriteString(`)`)
    15  	if config.OutTypeString != "void" {
    16  		_buf.WriteString(`->`)
    17  		_buf.WriteString(config.OutTypeString)
    18  	}
    19  	_buf.WriteString(`{
    20                  var params: Dictionary<String,AnyObject> = Dictionary()
    21                  `)
    22  	for _, arg := range config.InArgsList {
    23  		_buf.WriteString(`
    24                      params["`)
    25  		_buf.WriteString(arg.Name)
    26  		_buf.WriteString(`"]=`)
    27  		_buf.WriteString(arg.Name)
    28  		_buf.WriteString(`
    29                                  `)
    30  	}
    31  	_buf.WriteString(`
    32                  `)
    33  	if config.OutTypeString != "void" {
    34  		_buf.WriteString(`
    35                  var out = `)
    36  		_buf.WriteString(config.OutTypeString)
    37  		_buf.WriteString(`()
    38                  func `)
    39  		_buf.WriteString(config.Name)
    40  		_buf.WriteString(`Data(outData:JSON){
    41                  `)
    42  		if config.OutTypeString == "NSString" {
    43  			_buf.WriteString(`
    44                          out = outData["Out_0"].stringValue
    45                  `)
    46  		} else if config.OutTypeString == "Int" {
    47  			_buf.WriteString(`
    48                          out = outData["Out-0"].intValue
    49                  `)
    50  		} else if config.OutTypeString == "NSDate" {
    51  			_buf.WriteString(`
    52                          out = outData["Out_0"].stringValue.toDate(format: DateFormat.ISO8601)!
    53                  `)
    54  		} else {
    55  			_buf.WriteString(`
    56                          out.ToData(outData["Out_0"])
    57                  `)
    58  		}
    59  		_buf.WriteString(`
    60                  }
    61                  sendRequest("`)
    62  		_buf.WriteString(config.Name)
    63  		_buf.WriteString(`",params:params,callback:`)
    64  		_buf.WriteString(config.Name)
    65  		_buf.WriteString(`Data )
    66                  return out
    67                  `)
    68  	} else {
    69  		_buf.WriteString(`
    70                  sendRequest("`)
    71  		_buf.WriteString(config.Name)
    72  		_buf.WriteString(`",params:params,callback:{JSON in })
    73                  `)
    74  	}
    75  	_buf.WriteString(`
    76          }
    77  `)
    78  	return _buf.String()
    79  }