<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 一、面向對象 面向使用物聯網卡的【微服務用戶】的管理平臺;使用池中池方案的【微服務用戶】; ## 二、概述 平臺支持提供完整的外部接口方案,讓具有開發能力的大客戶/代理商自行開發自己的應用(以下簡稱下行應用),平臺提供兩方面功能: 1、開放接口服務 通過這個服務,下行應用可以實現卡片的管理、套餐的訂購、賬號充值等管理功能; 具體參考:[接入指南](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97.md) 2、提供接口平臺管理 在卡管理系統中,提供接口平臺的用戶管理功能,接口平臺用戶,可以通過該功能,實現卡片的管理、賬號充值等; 具體參考: [卡片查詢](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E5%8D%A1%E7%89%87%E6%9F%A5%E8%AF%A2.md)、[我的套餐](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E6%88%91%E7%9A%84%E5%A5%97%E9%A4%90.md)、[賬戶充值](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E8%B4%A6%E6%88%B7%E5%85%85%E5%80%BC.md)、[充值查詢](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E5%85%85%E5%80%BC%E6%9F%A5%E8%AF%A2.md)、[訂購記錄](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E8%AE%A2%E8%B4%AD%E8%AE%B0%E5%BD%95.md)、[扣費記錄](%E5%BC%80%E6%94%BE%E5%B9%B3%E5%8F%B0/%E6%89%A3%E8%B4%B9%E8%AE%B0%E5%BD%95.md) 3、內部營銷接口接入 把卡、套餐撥入api用戶; 具體參考:[接口接入](%E5%86%85%E9%83%A8%E8%90%A5%E9%94%80/%E6%8E%A5%E5%8F%A3%E6%8E%A5%E5%85%A5%20.md) ## 三、實例代碼 簽名算法: ``` private static String getParamStringByMap(Map<String, String> paramMap) { TreeMap map = new TreeMap(); for (Map.Entry<String, String> me : paramMap.entrySet()) { if (!me.getKey().equalsIgnoreCase("sign")) { map.put(me.getKey(), me.getValue()); } } return getParamStringByMap(map); } private static String getParamStringByMap(TreeMap<String, String> paramMap) { StringBuilder paramString = new StringBuilder(); for (Map.Entry<String, String> me : paramMap.entrySet()) { paramString.append(me.getKey()).append("=").append(me.getValue()).append("&"); } return paramString.toString().substring(0, paramString.toString().length() - 1); } private static String encodeHex(byte[] bytes) { StringBuffer buf = new StringBuffer(bytes.length * 2); for (int i = 0; i < bytes.length; i++) { if (((int) bytes[i] & 0xff) < 0x10) { buf.append("0"); } buf.append(Long.toString((int) bytes[i] & 0xff, 16)); } return buf.toString(); } public static synchronized String encryptByMD5(String data) { try { MessageDigest digest = MessageDigest.getInstance("MD5"); digest.update(data.getBytes()); return encodeHex(digest.digest()); } catch (NoSuchAlgorithmException nsae) { nsae.printStackTrace(); return null; } } public static String generateSign(Map<String, String> parameterMaps, String appSecret) { String para = getParamStringByMap(parameterMaps); return encryptByMD5(new StringBuilder(encryptByMD5(para)).append(appSecret).toString()); } ``` 調用: ``` static Logger logger = LoggerFactory.getLogger(Sample.class); public static void main(String[] args) { Log4jV2Util.initLog4jV2TestEnv(); String serviceUrl = "http://ip:port/oauth/service/test/validation"; String appId = "s123"; String appSecret = "axbdedgefger"; Map<String, String> paramap = new HashMap(); paramap.put("appId", appId); paramap.put("timeStamp", String.valueOf(new Date().getTime())); paramap.put("sign", Sign.generateSign(paramap, appSecret)); //簽名參數放到最后計算再傳入 String result = null; try { result = HttpPostUtil.executeAction(serviceUrl, paramap, null); } catch (Exception e) { e.printStackTrace(); } logger.warn(result); } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看