POST api/WebInterface/Personal/Login/WithOpenId

个人用户使用微信OPENID登陆,如果当前OpenId没有注册,则直接完成注册。

Request Information

URI Parameters

None.

Body Parameters

登陆的参数

PersonalLoginWithWechatParm
NameDescriptionTypeAdditional information
openid

微信的OPENID

string

Required

wechatname

在非静默授权模式下,获得的微信用户名

string

None.

Request Formats

application/json, text/json

Sample:
{
  "openid": "sample string 1",
  "wechatname": "sample string 2"
}

application/xml, text/xml

Sample:
<PersonalLoginWithWechatParm xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigitalScience.DataTransfer.Tour.V5.Parm.WebInterface">
  <openid>sample string 1</openid>
  <wechatname>sample string 2</wechatname>
</PersonalLoginWithWechatParm>

application/x-www-form-urlencoded

Sample:

Sample not available.

application/bson

Sample:
Binary JSON content. See http://bsonspec.org for details.

Response Information

Resource Description

个人用户使用微信OPENID登陆,如果当前OpenId没有注册,则直接完成注册。

PersonalLoginResult
NameDescriptionTypeAdditional information
errcode

错误代码,0表示成功。

integer

None.

errmsg

错误的描述

string

None.

memberid

会员代码(电子门票系统中的唯一编码)

integer

None.

memberusername

用户名(个人用户的用户登陆名)

string

None.

name

个人用户的姓名或昵称

string

None.

bindingtoagent

返回当前用户是否绑定到代理商且作为代理商登陆成功,“1”表示成功。

string

None.

agentid

代理商的ID

string

None.

agenttypecode

代理商类别代码

string

None.

agenttypename

代理商类别名称

string

None.

agentpassword

代理商密码的密文 按以下方式获得: byte[] KEY=SHA256(Utf8.GetBytes(官方会话KEY+UPPER_MD5(官方代理商登陆密码))) byte[] keyForDes = 取KEY的前24字节(合192位) byte[] value = TripleDes(Utf8.GetBytes(UPPER_MD5(代理商登陆密码)),KeyForDes) password=ToBase64String(value) 对UPPER_MD5()计算过程的描述: byte[] valueBuffer = Utf8.GetBytes(待运算的字符串) byte[] md5buffer = Md5(valueBuffer); string value = FormatString(md5Buffer,"x2)/*这个的意思是转换成bcd字符串,一个字节变成两个字符0xae= "ae",0x0a="0a"*/ string returnvalue = upper(value);全部转换成大写,仍然是每两个字符表示一个字节。 请不要指责这个脱库子放屁的处理,因为我们要兼容老版本,新版本只能如此。

string

None.

agentkey

代理商会话密钥的密文 按以下方式获得: byte[] KEY=SHA256(Utf8.GetBytes(官方会话KEY+UPPER_MD5(官方代理商登陆密码))) byte[] keyForDes = 取KEY的前24字节(合192位) byte[] value = TripleDes(Utf8.GetBytes(代理商的会话KEY),KeyForDes) password=ToBase64String(value)

string

None.

agentname

代理商的单位名称

string

None.

agentusername

绑定的代理商用户名

string

None.

openid

OpenId

string

None.

Response Formats

application/json, text/json

Sample:
{
  "errcode": 1,
  "errmsg": "sample string 2",
  "memberid": 3,
  "memberusername": "sample string 4",
  "name": "sample string 5",
  "bindingtoagent": "sample string 6",
  "agentid": "sample string 7",
  "agenttypecode": "sample string 8",
  "agenttypename": "sample string 9",
  "agentpassword": "sample string 10",
  "agentkey": "sample string 11",
  "agentname": "sample string 12",
  "agentusername": "sample string 13",
  "openid": "sample string 14"
}

application/xml, text/xml

Sample:
<PersonalLoginResult xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigitalScience.DataTransfer.Tour.V5.Result.WebInterface">
  <agentid>sample string 7</agentid>
  <agentkey>sample string 11</agentkey>
  <agentname>sample string 12</agentname>
  <agentpassword>sample string 10</agentpassword>
  <agenttypecode>sample string 8</agenttypecode>
  <agenttypename>sample string 9</agenttypename>
  <agentusername>sample string 13</agentusername>
  <bindingtoagent>sample string 6</bindingtoagent>
  <errcode>1</errcode>
  <errmsg>sample string 2</errmsg>
  <memberid>3</memberid>
  <memberusername>sample string 4</memberusername>
  <name>sample string 5</name>
  <openid>sample string 14</openid>
</PersonalLoginResult>

application/bson

Sample:
Binary JSON content. See http://bsonspec.org for details.