我们之前一般都是在调用别人的接口,比如你要做一个查天气的功能或者发短信的功能,我们通常的办法就是直接去掉用别人的接口 直接从别人那里拿到数据展示到自己的平台,可是接口到底是个什么东西这么神奇呢?其实任何东西我们在刚刚接触的时候都会感到很难理解,当你真正上手的时候你会发现其实并没有我们之前想的那么难!
今天的文章主要是看看实现手机app短信登录注册接口的这种思想,以及实现方法,切勿直接粘贴过去使用,原因是不言而喻的。
登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
@RequestMapping(params = "login") public void login(HttpServletRequest request, HttpServletResponse response) throws Exception { InterfaceReuslt result = new InterfaceReuslt(); // 从请求路径当中获取参数 JSONObject paramFromRequest = appInterfaceService.getParamFromRequest( request, response); if (paramFromRequest != null) { String userPhone = appInterfaceService.getValueByKeyFromJosn( paramFromRequest, "userPhone"); UsersEntity usersEntity = commonService.findUniqueByProperty( UsersEntity.class, "usersPhone", userPhone); Integer id = usersEntity.getId(); if (userPhone == null) { result.setResult_tag("error"); result.setResult_message("没有手机号"); result.setResult_code("1013"); appInterfaceService.writeJSON(response, result); } // 获取密码 String userPass = appInterfaceService.getValueByKeyFromJosn( paramFromRequest, "userPass"); if (userPass == null || "".equals(userPass)) { result.setResult_tag("error"); result.setResult_code("1024"); result.setResult_message("无登录密码"); appInterfaceService.writeJSON(response, result); } // 校验密码 if (!MD5Util.MD5Encode(userPass, "UTF-8").toUpperCase() .equals(usersEntity.getUserPass())) { result.setResult_tag("error"); result.setResult_message("输入密码错误"); result.setResult_code("1039"); appInterfaceService.writeJSON(response, result); } HashMap<String, Object> Data = new HashMap<String, Object>(); // UsersEntity usersEntity = new UsersEntity(); List<Map<String, Object>> deptList = commonService .findForJdbc(" sql语句"); if (deptList.size() > 0 && deptList != null) { Data.put("deptList", JsonUtil.mapListToJson(deptList)); } // 返回数据 result.setResult_data(JsonUtil.mapListToJson(deptList)); result.setResult_code("0001"); result.setResult_message("登陆成功"); result.setResult_tag("success"); appInterfaceService.writeJSON(response, result); } } |
注册
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
@RequestMapping(params = "regist") public void regist(HttpServletRequest request, HttpServletResponse response) throws Exception { InterfaceReuslt result = new InterfaceReuslt(); try { // 获取请求路径 JSONObject Request = appInterfaceService.getParamFromRequest(request, response); // 从请求路径里面获得参数 String userPhone = appInterfaceService.getValueByKeyFromJosn(Request, "userPhone"); if (StringUtils.isEmpty(userPhone)) { result.setResult_tag("error"); result.setResult_code("1045"); result.setResult_message("手机号不能为空"); appInterfaceService.writeJSON(response, result); } // 校验手机验证码 String msgCode = appInterfaceService.getValueByKeyFromJosn(Request, "msgCode"); /* * 注意:返回类型不一样 查询方式总结(一):可以自己封装个方法调用 **Query createQuery = * commonService.getSession().createQuery( * "selet equipmentsort from road_roller_configura where shebei ='" + * msgCode + "'"); String equipment = oConvertUtils.getString( * createQuery.list() ).replace( "[", "" ).replace( "]", "" ); */ // 根据电话号查出数据库当中的验证码 Map<String, Object> findOneForJdbc = sendMessageServiceI .findOneForJdbc( "selet identifying_code from send_message where id in (selct max(id) from send_message where send_number =?)", userPhone); if (findOneForJdbc != null && findOneForJdbc.size() > 0) { String.valueOf(findOneForJdbc.get("identifying_code")); if (!msgCode.equals(msgCode)) { result.setResult_message("输入验证码错误"); } else { result.setResult_message("验证码错误"); } // 获取密码 String userPass = appInterfaceService.getValueByKeyFromJosn( Request, "userPass"); if (!StringUtils.isEmpty(userPass)) { result.setResult_code("1034"); result.setResult_tag("error"); result.setResult_message("密码不能为空"); return; } // 获取到密码之后用用MD5加密存到数据库 String passWord = MD5Util.MD5Encode(userPass, "UTF-8") .toUpperCase(); // 获取到用户名 String userName = appInterfaceService.getValueByKeyFromJosn( Request, "userName"); if (!StringUtils.isEmpty(userName)) { result.setResult_message("用户名为空"); result.setResult_code("1212"); result.setResult_tag("error"); } // 保存到数据库 try { UsersEntity user = new UsersEntity(); user.setUserName(userName); user.setUserPhone(userPhone); user.setUserPass(userPass); user.setRegisterDate(DateUtils.getDate()); userService.save(user); } catch (Exception e) { result.setResult_code("111"); result.setResult_message("保存数据失败"); result.setResult_tag("error"); } // 返回信息 result.setResult_code("120"); result.setResult_tag("succes"); result.setResult_message("注册成功"); } } catch (Exception e) { result.setResult_code("111"); result.setResult_tag("error"); result.setResult_message("注册失败"); } appInterfaceService.writeJSON(response, result); } |
发送短信验证码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
@RequestMapping(params="messageVerify") public void messageVerify(HttpServletRequest request,HttpServletResponse response) throws Exception { InterfaceReuslt result=new InterfaceReuslt(); JSONObject parameter = appInterfaceService.getParamFromRequest(request, response); String userphone = appInterfaceService.getValueByKeyFromJosn(parameter, "userPhone"); if(userphone==null||"".equals(userphone)) { result.setResult_code("111"); result.setResult_message("没有手机号"); result.setResult_tag("error"); appInterfaceService.writeJSON(response, result); return; } UsersEntity entityByUserPhone = userService.findEntityByUserPhone(userphone); if(entityByUserPhone==null){ String randomNumber = NumUtil.getRandomNumber();//成生随机数 if(randomNumber==null||"".equals(randomNumber)) { //发送短信 String back_value=sendMessageServiceI.backSendValueAndSaveMessage(userphone, randomNumber); result.setResult_message(back_value); result.setResult_tag("sucess"); result.setResult_code("0000"); appInterfaceService.writeJSON(response,result); } else{ result.setResult_code("011"); result.setResult_message("生成随机码失败"); result.setResult_tag("error"); appInterfaceService.writeJSON(response, result); return; } } else{ result.setResult_code("123"); result.setResult_message("该用户已经存在"); result.setResult_tag("error"); appInterfaceService.writeJSON(response, result); return; } } |