POST api/UnPos/Personal/Login/WithOpenId
个人用户使用微信OPENID登陆,如果当前OpenId没有注册,则直接完成注册。
Request Information
URI Parameters
None.
Body Parameters
登陆的参数
PersonalLoginWithWechatParmName | Description | Type | Additional information |
---|---|---|---|
openid |
微信的OPENID |
string |
Required |
wechatname |
在非静默授权模式下,获得的微信用户名 |
string |
None. |
Request Formats
application/json, text/json
{ "openid": "sample string 1", "wechatname": "sample string 2" }
application/xml, text/xml
<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 not available.
application/bson
Binary JSON content. See http://bsonspec.org for details.
Response Information
Resource Description
个人用户使用微信OPENID登陆,如果当前OpenId没有注册,则直接完成注册。
PersonalLoginResultName | Description | Type | Additional 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
{ "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
<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
Binary JSON content. See http://bsonspec.org for details.