这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
帮我吧文档:数据接口:工单:提交工单 [2020/02/03 15:56] admin |
帮我吧文档:数据接口:工单:提交工单 [2023/03/10 18:46] (当前版本) admin |
||
---|---|---|---|
行 13: | 行 13: | ||
* mobile 联系人手机号码(要对应帮我吧联系人手机号码) | * mobile 联系人手机号码(要对应帮我吧联系人手机号码) | ||
参数说明: | 参数说明: | ||
- | (1).authaccount和mobile传其中一个参数即可,按authaccount查询的优先级高于mobile,即如果两个参数都传,会按authaccount来查历史工单 | + | (1).authaccount和mobile传其中一个参数即可,按authaccount查询的优先级高于mobile,即如果两个参数都传,会按authaccount来提交工单 |
- | (2).查找的是工单模板发布且绑定该手机号码所有的工单,如手机号码传值为空,提示验证失败 | + | (2).提交的是工单模板发布且绑定该手机号码的工单,如手机号码传值为空,提示验证失败 |
- | (3).查找的是工单模板发布的所有工单,但已绑定authaccount,且绑定的authaccount有值,如果authaccount参数没传值,手机号码参数也传值,提示验证失败 | + | (3).提交的是工单模板发布的工单,如已绑定authaccount,且绑定的authaccount有值,如果authaccount参数没传值,手机号码参数也传值,提示验证失败 |
- | (4).authaccount 和手机号码字段都已绑定,且都有值,查询的时候查到的是authaccount有值的工单;authaccount和手机号码字段都存在,但是authaccount传值为 | + | (4).authaccount 和手机号码字段都已绑定,且都有值,提交的时候绑定的是authaccount有值的工单;authaccount和手机号码字段都存在,但是authaccount传值为 |
- | 空,查到的是对应的手机号码的; | + | 空,提交绑定的是对应的手机号码的; |
2. 签名规则说明: | 2. 签名规则说明: | ||
行 32: | 行 32: | ||
* | * | ||
- | 3. 签名代码示例(PHP版) | + | 3. 签名代码示例\ |
+ | * PHP版 | ||
<code php> | <code php> | ||
行 80: | 行 81: | ||
</ | </ | ||
+ | * | ||
+ | <code java> | ||
+ | |||
+ | import java.util.Collections; | ||
+ | import java.util.Comparator; | ||
+ | import java.util.Iterator; | ||
+ | import java.util.Map; | ||
+ | import java.util.Set; | ||
+ | import java.util.TreeMap; | ||
+ | import java.security.MessageDigest; | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.List; | ||
+ | import java.util.Map.Entry; | ||
+ | |||
+ | class Signature{ | ||
+ | |||
+ | public String makeSignature(Map< | ||
+ | map.put(" | ||
+ | map.put(" | ||
+ | map.put(" | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | }); | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | return sha1(tempStr); | ||
+ | } | ||
+ | |||
+ | public String sha1(String str){ | ||
+ | char hexDigits[] = { ' | ||
+ | ' | ||
+ | try { | ||
+ | MessageDigest mdTemp = MessageDigest.getInstance(" | ||
+ | mdTemp.update(str.getBytes(" | ||
+ | byte[] md = mdTemp.digest(); | ||
+ | int j = md.length; | ||
+ | char buf[] = new char[j * 2]; | ||
+ | int k = 0; | ||
+ | for (int i = 0; i < j; i++) { | ||
+ | byte byte0 = md[i]; | ||
+ | buf[k++] = hexDigits[byte0 >>> | ||
+ | buf[k++] = hexDigits[byte0 & 0xf]; | ||
+ | } | ||
+ | return new String(buf); | ||
+ | } catch (Exception e) { | ||
+ | return null; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | Map< | ||
+ | map.put(" | ||
+ | map.put(" | ||
+ | |||
+ | Signature signature = new Signature(); | ||
+ | String sign = signature.makeSignature(map); | ||
+ | |||
+ | System.out.println(sign); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
4. 最终生成的带签名的url链接示例: | 4. 最终生成的带签名的url链接示例: | ||
>注: 此链接打开一小时后失效。 | >注: 此链接打开一小时后失效。 | ||
- | + | (1)先把params后面的参数加密部分通过base64进行解密\\ | |
- | '' | + | (2)然后在后方拼接上文档中的必要参数\\ |
+ | (3)最后将params后方部分整体base64加密拼接好链接,就可实现免登录提交工单了\\ | ||
+ | '' | ||