12.6笔记

不断完善项目系统,提高用户体验度,但是还有好多懒得改了。今天具体的改动如下:

  1. 信息管理方面:
    条件搜索外显出来,不采用模态框显示。
    问题场景:当用户点击下拉框进行条件搜索的时候,有可能出现错点或者误点的情况,想重新点击搜索,或者点击搜索完之后,有可能进行第二次的搜索。
    解决:针对第一种情况,可以给刷新的点击按钮加事件,当用户点击的时候,对所有内容的下拉框进行清空。因为用的是bootstrap的selectpicker,所以网上的一般的教程不可用。具体代码:

    	function clearSearchContent() {
     document.getElementById("sel_userName").options.selectedIndex = 0;
     $("#sel_userName").selectpicker('refresh');
    
     document.getElementById("sel_beforeLevel").options.selectedIndex = 0;
     $("#sel_beforeLevel").selectpicker('refresh');
    
     document.getElementById("sel_appLevel").options.selectedIndex = 0;
     $("#sel_appLevel").selectpicker('refresh');
    
     document.getElementById("sel_AppScholar").options.selectedIndex = 0;
     $("#sel_AppScholar").selectpicker('refresh');
    
     document.getElementById("sel_userMajor").options.selectedIndex = 0;
     $("#sel_userMajor").selectpicker('refresh');
    
     document.getElementById("sel_userWorkAddr").options.selectedIndex = 0;
     $("#sel_userWorkAddr").selectpicker('refresh');
    

    }

    只能使用JavaScript的语法来获取元素内容,不能用jq的方法获取,会出错。

  2. api接口获取的数据存在数据库中为base64编码,结果显示在页面上也是字符串类型,所以需要将base64编码整成文件,然后存在数据库中,并且能够展示在页面上

    1. 肯定需要将base64编码的过程封装成为方法(base64转为图片,主要功能是将base64存到服务器的上某个路径上,然后获得文件的路径):

       public static String base64ToImg(String base64,String fileName) throws Exception{
           String uuid=UUID.randomUUID().toString().replaceAll("-","");
           //判断是否传进来为空
           if (base64 == null) {
               return null;
           }
           BASE64Decoder decoder=new BASE64Decoder();
           byte[] b=decoder.decodeBuffer(base64);
           for (int i = 0; i < b.length; i++) {
               if (b[i]<0){
                   b[i]+=256;
               }
           }
           String imagePath= "盘符:"+File.separator+"文件路径";
           String imgFilePath=imagePath+File.separator+fileName+uuid+".jpg";
           String relativePath=fileName+uuid+".jpg";
           OutputStream outputStream=new FileOutputStream(imgFilePath);
      
           outputStream.write(b);
           outputStream.flush();
           outputStream.close();
           return relativePath;
       }
      

      文件名字肯定需要自己手动生成,需要唯一所以用UUID进行生成。具体操作:String uuid=UUID.randomUUID().toString().replaceAll("-","");

    2. 将通过api获得的base64编码传进去,然后返回的文件路径,相对路径,用于存数据库,但是仍然需要加一些内容才能使页面正常显示:

       String designSketchImg = DocUtil.base64ToImg(ikcCaseCommonList.get(i).getDesignsketch(), "design");
                       /*<img alt="" src="/3bb7f0934229410d81677c36d3e9e381.png" style="height:auto; width:auto" />*/
                       String saveDesignImg="<img alt=\"\" src="+"/"+designSketchImg+" style=\"height:auto;width:auto\" />";
                       ikcQSolution.setDesignsketch(saveDesignImg);
      

重点:

1. bootstrap-selectpicker下拉框的一键清空

2. UUID的随机生成字符串

3. base64编码转为图片文件


 posted on 2019-12-06 19:25  ben跑的换行符  阅读(107)  评论(0编辑  收藏  举报