zoukankan      html  css  js  c++  java
  • JSNOP调用。。。

    HTML:

    //登录
    function login(){

    var URL = "http://127.0.0.1:8080/miugogate/GateWay";

    //RSA私钥设置
    setMaxDigits(130);
    var key = new RSAKeyPair("8b33d1d7027cb8f910d538d6cd1e0c7344b3fc3728c83f39fec7d4149a4332f740ba6867ce585addbd3c6e3df6cac316956fc316843cb62604495fdfbd11ab607b9696e04ca7e1afda894d39f240431d3ae9b8fe3af6d3c6f352e4cd70f2c55669bb4e0d77ec22b56c00e412b52ec7e1f092b124d4bd67754b7bb43bddca8441");

    var service = "login"; //登录标识
    var name = "wasuadmin"; //用户名
    var pass = "21218CCA77804D2BA1922C33E0151105";//密码
    var tid = "112"; //设备编号
    var data = "service="+service+"&name="+name+"&pass="+pass+"&tid="+tid; //需要签名的字段(RSA签名)
    var sign = hex_md5(data); //签名后的串
    $("#signstr").val(sign);
    $.ajax({ 
    type : "post",
    async:false, 
    url : encodeURI(URL), //跨域请求的URL 
    data: encodeURI(data+"&sign="+sign),
    dataType : "jsonp", 
    //传递给请求处理程序,用以获得jsonp回调函数名的参数名(默认为:callback) 
    jsonp: "jsoncallback", 
    success : function(json){ 
    alert(json[0].uuid+"|"+
    json[0].phone_no+"|"+
    json[0].cust_name+"|"+
    json[0].nick_name+"|"+
    json[0].acct_bal+"|"+
    json[0].acct_bal_valid+"|"+
    json[0].return_sign+"|"+
    json[0].return_code+"|"+
    json[0].return_msg); 


    });

    }

    ACTION:


    logger.info("SmartTV调用登录接口");
     String jsoncallback = request.getParameter("jsoncallback");  
    String name = request.getParameter("name");
    String pass = request.getParameter("pass");
    String tid = request.getParameter("tid");
    String sign = request.getParameter("sign");

    //必填字段验证
    if(StringUtil.isEmpty(name)||StringUtil.isEmpty(pass)||StringUtil.isEmpty(tid)||StringUtil.isEmpty(sign)){
    isError = true;
    return_code = RETURN_CODE_0002;
    return_msg = RETURN_MSG_0002;
    }

    //需要MD5验签的字符串
    String to_sign = "service="+service+"&name="+name+"&pass="+pass+"&tid="+tid;

    //验签
    if(!sign.toUpperCase().equals(MD5.getEncodeString(to_sign))){
    isError = true;
    return_code = RETURN_CODE_0003;
    return_msg = RETURN_MSG_0003;
    }


    //验证商户信息
    if(!isError){
    if (!StringUtil.isEmpty(name) && !StringUtil.isEmpty(pass) && !cheackMchnt(name, pass)) {
    isError = true;
    return_code = RETURN_CODE_0004;
    return_msg = RETURN_MSG_0004;
    }
    }


    //返回JSON字段
    String uuid = "";
    String card_no = "";
    String phone_no = "";
    String cust_name= "";
    String nick_name= "";
    String acct_bal = "";
    String acct_bal_valid = "";
    //登录
    if(!isError){
    M9011 m9011 = new M9011();
    m9011.setSTD_ID(tid);
    try {
    m9011.execute();
    return_code = m9011.getResult_no();
    return_msg = m9011.getResultDescription();
    logger.debug("核心return_code:"+return_code);
    logger.debug("核心return_msg:"+return_msg);
    if(m9011.getResult_no().equals("0000") || m9011.getResult_no().equals("0326")){
    M9011VO m9011VO = m9011.getReturnList().get(0);
    uuid = m9011VO.getUUID();
    card_no = m9011VO.getCARDNO();
    phone_no = m9011VO.getCONTACT_PHONE();
    cust_name= m9011VO.getCUST_NAME();
    nick_name= m9011VO.getNICK_NAME();
    acct_bal = m9011VO.getACCT_BAL();
    acct_bal_valid = m9011VO.getACCT_BAL_VALID();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

    //返回JSON信息
    String return_sign = MD5.getEncodeString("uuid="+uuid+"&card_no="+card_no+"&phone_no="+phone_no+"&acct_bal="+acct_bal+"&acct_bal_valid="+acct_bal_valid);
    Gson gson = new Gson();
    Map<String, String> map = new HashMap<String, String>();
    map.put("uuid",uuid);
    map.put("card_no",card_no);
    map.put("phone_no",phone_no);
    map.put("cust_name",cust_name);
    map.put("nick_name",nick_name);
    map.put("acct_bal",acct_bal);
    map.put("acct_bal_valid",acct_bal_valid);
    map.put("return_sign",return_sign);
    map.put("return_code",return_code);
    map.put("return_msg",return_msg);
    //out.print(jsoncallback+"([{ name:'John',age:'19'},{ name:'joe',age:'20'}])"); 
    //out.print(jsoncallback+"([{\"return_sign\":\"4C6D28C33A036AD8EF5FC8FE8E07D334\",\"return_msg\":\"错误的签名信息\",\"uuid\":\"\",\"return_code\":\"0003\",\"phoneno\":\"\"}])");
    String jsonStr = gson.toJson(map);
    logger.debug("返回json:"+jsonStr);
    response.setContentType("text/html");
    response.setCharacterEncoding("utf-8");
    PrintWriter out = response.getWriter();
    out.print(jsoncallback+"(["+jsonStr+"])");

  • 相关阅读:
    嵌入式MicroFlighter 之STM32F103学习——编写第一个STM32程序
    嵌入式stm32学习方法
    嵌入式stm32学习之路(led流水灯工程)
    嵌入式stm32 LED 流水灯剖析(库函数版)
    Swift快速入门(一)第一个Swift程序
    从库函数方向入门stm32的个人建议
    嵌入式STM32使用PWM控制LED呼吸灯效果
    嵌入式STM32学习笔记之按键查询方式控制led灯的亮灭
    从零写一个编译器(完结):总结和系列索引
    从零写一个编译器(十三):代码生成之遍历AST
  • 原文地址:https://www.cnblogs.com/yangy608/p/2949952.html
Copyright © 2011-2022 走看看