企业照片-请求
<p>[TOC]</p>
<h5>简要描述</h5>
<ul>
<li>企业照片-请求</li>
</ul>
<h5>请求URL</h5>
<ul>
<li><a href="http://82.157.245.220:16789/hk/enterprise/photo">http://82.157.245.220:16789/hk/enterprise/photo</a></li>
</ul>
<h5>请求方式</h5>
<ul>
<li>POST</li>
</ul>
<h5>请求格式</h5>
<ul>
<li>application/json</li>
</ul>
<h5>参数</h5>
<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;">appId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">string</td>
<td>应用标识</td>
</tr>
<tr>
<td style="text-align: left;">keys</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">List<string></td>
<td>企业名称</td>
</tr>
</tbody>
</table>
<h5>返回示例</h5>
<pre><code> {
&quot;code&quot;: 200,
&quot;message&quot;: &quot;接口调用成功&quot;,
&quot;serialNumber&quot;:&quot;流水号&quot;,
&quot;data&quot;:&quot;返回数据&quot;
}</code></pre>
<h5>返回参数说明</h5>
<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;">Integer</td>
<td>结果码</td>
</tr>
<tr>
<td style="text-align: left;">message</td>
<td style="text-align: left;">string</td>
<td>文字信息</td>
</tr>
<tr>
<td style="text-align: left;">serialNumber</td>
<td style="text-align: left;">string</td>
<td>流水号</td>
</tr>
<tr>
<td style="text-align: left;">data</td>
<td style="text-align: left;">string</td>
<td>返回数据(字典见下方)</td>
</tr>
</tbody>
</table>
<h5>结果码字典</h5>
<table>
<thead>
<tr>
<th style="text-align: left;">编码</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">200</td>
<td>接口调用成功</td>
</tr>
<tr>
<td style="text-align: left;">199</td>
<td>接口调用失败</td>
</tr>
<tr>
<td style="text-align: left;">1</td>
<td>调用参数不正确</td>
</tr>
<tr>
<td style="text-align: left;">2</td>
<td>无调用权限</td>
</tr>
<tr>
<td style="text-align: left;">3</td>
<td>未知账号</td>
</tr>
<tr>
<td style="text-align: left;">4</td>
<td>加密错误</td>
</tr>
<tr>
<td style="text-align: left;">5</td>
<td>参数缺失</td>
</tr>
<tr>
<td style="text-align: left;">6</td>
<td>余额不足</td>
</tr>
<tr>
<td style="text-align: left;">7</td>
<td>签名错误</td>
</tr>
<tr>
<td style="text-align: left;">8</td>
<td>未绑定通道</td>
</tr>
<tr>
<td style="text-align: left;">9</td>
<td>未知错误</td>
</tr>
<tr>
<td style="text-align: left;">12</td>
<td>查询成功无数据</td>
</tr>
</tbody>
</table>
<h5>data 数据信息节点说明</h5>
<table>
<thead>
<tr>
<th>序号</th>
<th>节点名称</th>
<th>类型</th>
<th>描述</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>resMsg</td>
<td>String</td>
<td>操作成功/操作失败!</td>
</tr>
<tr>
<td>2</td>
<td>resCode</td>
<td>String</td>
<td>1/0</td>
</tr>
<tr>
<td>3</td>
<td>fileName</td>
<td>String</td>
<td>文件全名</td>
</tr>
</tbody>
</table>
<h5>签名生成方法</h5>
<pre><code class="language-java"> public static String generateSignature(Map&lt;String, String&gt; params,String appSecret) {
StringBuilder sb = new StringBuilder();
params.put(&quot;appSecret&quot;, appSecret); // 添加密钥到参数中
// 参数按照键名升序排序
params.keySet().stream()
.sorted()
.forEach(key -&gt; sb.append(key).append(params.get(key)));
// 计算签名(这里使用SHA-256算法)
try {
MessageDigest digest = MessageDigest.getInstance(&quot;SHA-256&quot;);
byte[] hash = digest.digest(sb.toString().getBytes());
StringBuilder hexString = new StringBuilder();
for (byte b : hash) {
String hex = Integer.toHexString(0xff &amp; b);
if (hex.length() == 1) hexString.append('0');
hexString.append(hex);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}</code></pre>