登录
<p><strong>简要描述:</strong> </p>
<ul>
<li>登陆接口和tcp连接是合并在一起的。假如某个时间tcp突然断开了,错误信息会从这个接口返回。</li>
</ul>
<p><strong>请求URL:</strong> </p>
<ul>
<li><code>void nvLoginAsync(const char *data,ExportViplexCallback resultCallBack);</code></li>
</ul>
<p><strong>请求方式:</strong></p>
<ul>
<li>
<p><strong>请求参数示例</strong></p>
</li>
</ul>
<pre><code>{
"sn":"BZSA17332J0A20002272",
"username":"admin",
"password":"password",
"loginType":0,
"rememberPwd":0
}</code></pre>
<p><strong>参数:</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">是否必选</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">sn</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>产品唯一序列号</td>
</tr>
<tr>
<td style="text-align: left;">username</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>用户名</td>
</tr>
<tr>
<td style="text-align: left;">password</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">string</td>
<td>密码</td>
</tr>
<tr>
<td style="text-align: left;">loginType</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td><code>0</code>:登陆到屏体管理<br><code>1</code>:登陆到系统设置(暗门登录)<br><code>2</code>:登陆到诊断模块<br><code>3</code>:LCT登录</td>
</tr>
<tr>
<td style="text-align: left;">rememberPwd</td>
<td style="text-align: left;">必选</td>
<td style="text-align: left;">int</td>
<td>是否记住密码<br><code>0</code>表示No<br><code>1</code>表示Yes</td>
</tr>
</tbody>
</table>
<p><strong>返回示例</strong></p>
<pre><code>{
"logined":true,
"password":"123456",
"sn":"BZSA17332J0A20002272",
"username":"admin",
"validation":true,
"validition":true,
"loginedUsernames":[
"admin"
],
"encrypt":""
}</code></pre>
<p><strong>返回参数说明</strong> </p>
<table>
<thead>
<tr>
<th style="text-align: left;">参数名</th>
<th style="text-align: left;">类型</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">code</td>
<td style="text-align: left;">int</td>
<td>错误码:<br><code>0</code>不代表登录成功,具体看备注<br><code>65313</code>请求参数中SN无效<br><code>65300</code>长连接过程中socket断开,可能是网络原因,也可能是终端断开了socket连接<br><strong>注意:当错误码code=65300时,data为sn,目的是告诉上位机哪个终端断开了</strong><br><code>65304</code>执行登录动作时tcp连接失败,一般是因为网络问题(或者ip为空,端口占用等原因)<br><code>65353</code>已经登录过了,请不要再进行二次登录<br><code>65351</code>记住密码登录时,用户名或密码错误,有可能密码被其他人修改了,上位机可根据此错误码让用户重新手动输入密码<br><code>16</code>密码连续错误3次,进入防暴力机制,1min内不允许登录,data返回:<br>{"errorDiscription":"Continuein33seconds.","mRemainTime":33},mRemainTime代表33s后才可以继续登录</td>
</tr>
<tr>
<td style="text-align: left;">sn</td>
<td style="text-align: left;">string</td>
<td>产品序列号</td>
</tr>
<tr>
<td style="text-align: left;">username</td>
<td style="text-align: left;">string</td>
<td>用户名</td>
</tr>
<tr>
<td style="text-align: left;">password</td>
<td style="text-align: left;">string</td>
<td>密码</td>
</tr>
<tr>
<td style="text-align: left;">validition</td>
<td style="text-align: left;">boolean</td>
<td>用户名和密码是否有效(旧版本遗留字段)</td>
</tr>
<tr>
<td style="text-align: left;">validation</td>
<td style="text-align: left;">boolean</td>
<td>用户名和密码是否有效(新版本增加的字段)</td>
</tr>
<tr>
<td style="text-align: left;">logined</td>
<td style="text-align: left;">boolean</td>
<td>是否成功登陆</td>
</tr>
<tr>
<td style="text-align: left;">loginedUsernames</td>
<td style="text-align: left;">string_array</td>
<td>已经登陆的账户名称,当logined为false,validation为true时,此字段有效</td>
</tr>
<tr>
<td style="text-align: left;">encrypt</td>
<td style="text-align: left;">string</td>
<td>密码的暗码,用于找回密码,当logined为false,validation为falsee时,此字段有效</td>
</tr>
</tbody>
</table>
<p><strong>备注</strong> </p>
<ul>
<li>判断是否登录成功说明:<br>  当返回 code == 0时:<br><code>1、</code>当 logined 为 true,且 validition 也为 true 时,代表登录成功<br><code>2、</code>当 logined 为 false,但 validition 为 true 时,代表终端被其他人登录<br><code>3、</code>当 logined 为 false,且 validition 也为 false 时,代表密码错误<br><br>请重点关注错误码</li>
</ul>