element

记一次前端导出功能

[亡魂溺海] 提交于 2020-10-22 09:01:02
项目场景: 后端:Java 前端:vue+element+axios 问题描述: 后端接口返回文件流,前端调用实现前端导出功能 解决方案: 1、接口 export function websiteStatementDownloadApi ( data ) { return request ( { url : websiteStatementDownloadUrl , method : 'post' , data , responseType : "blob" } ) } 2、request文件 service . interceptors . response . use ( response => { const res = response . data if ( response . headers [ 'content-type' ] === 'application/octet-stream;charset=utf-8' ) { return response } // ......其他 const isBlob = response . config . responseType === 'blob' if ( ! isBlob ) { Message ( { message : ( res . msg || 'Error' ) , type : 'error' ,

Vs Code推荐安装插件

时光毁灭记忆、已成空白 提交于 2020-10-22 03:06:26
前言:   Visual Studio Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的Vs Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让Vs Code成为了开发语言中的霸主,让同时支持开发多种语言成为了可能。俗话说的好工欲善其事必先利其器,作为一个Vs Code老用户而已我我觉得安装一些有用的插件多自己日常的开发效率能够大大的提升,下面我推荐的是我日常开发中使用的比较多和感觉起来还不错的一些插件,同时会持续更新,假如大家觉得有好的插件而我这里没有提到的可以在下面留言我会补上。 Vs Code相关链接地址: Vs Code 官网地址: https://code.visualstudio.com/ Vs Code GitHub源码地址: https://github.com/Microsoft/vscode Vs Code 插件市场地址: https://marketplace.visualstudio.com/ Vs Code拓展插件安装: 快捷键:Ctrl+Shift+X进入拓展面板,到应用商店文本框中搜索拓展。 适用于 VS Code 的中文(简体)语言包: 拓展名称:Chinese (Simplified) Language Pack for Visual Studio Code

html 试题试卷(包含latex)下载成word

时光毁灭记忆、已成空白 提交于 2020-10-21 23:35:18
html 试题试卷(包含latex)下载成word 主要目的: 分享将带latex的html格式的试题试卷以word的格式下载,并且加一些灵活的排版样式 接受群众的检阅,获得反馈 骗取打赏,或者github star 需求背景: html 混有latex公式的试题组成的试卷,下载成为word格式 word试卷的排版,纸张大小,字体,密封线,标题,题型,誉分栏等 html 呈现的样式和word呈现的样式一致(只能大体一致,有些样式还是没做到完全一致) 方案概要: 主要方案:提取HTML里的题文内容 >> 转换为word标签样式 >> (制造试卷模板)将转换成word样式的题文填充到模板中 >> 组建word(doc 或 docx) 制作freemark模板: 编辑好doc和docx的样板试卷,将其转化为xml格式,再转为ftl文件,并根据排版需求编写填充逻辑 编写调用freemark下载程序:根据传入条件选择doc或docx模板下载 解析html试题内容:用XPath分解试题内容,提取样式,将信息结构化 将结构化的试题内容翻译为word标签格式:将html样式翻译为对应的word里面的标签格式,让其可以填充到freemark模板中而不违背word标签的语法规范 综合以上步骤就可以将HTML格式的试卷下载为word格式的,文末会附源码 提前需要了解的知识: freemark相关语法知识

电商后台管理系统权限列表

孤街醉人 提交于 2020-10-20 02:59:00
目录 一 代码 1 新增 Rights.vue 2 修改路由index.js 3 注册标签element.js 二 测试 三 源码参考 一 代码 1 新增 Rights.vue <template> <div> <!-- 面包屑导航区 --> <el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item> <el-breadcrumb-item>权限管理</el-breadcrumb-item> <el-breadcrumb-item>权限列表</el-breadcrumb-item> </el-breadcrumb> <!-- 卡片视图 --> <el-card> <el-table :data="rightsList" border stripe> <el-table-column type="index"></el-table-column> <el-table-column label="权限" prop="autName"></el-table-column> <el-table-column label="路径" prop="path"></el-table-column> <el-table

#JAVA泛型

南笙酒味 提交于 2020-10-17 23:38:51
泛型简介 泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。 一些常用的泛型类型变量: E:元素(Element),多用于java集合框架 K:关键字(Key) N:数字(Number) T:类型(Type) V:值(Value) 泛型方法 1. <T> 定义一个泛型方法: private static <T> T genericAdd(T a, T b) {} //泛型方法 public class GenericMethod1 { private static int add(int a, int b) { System.out.println(a + "+" + b + "=" + (a + b)); return a + b; } private static <T> T genericAdd(T a, T b) { System.out.println(a + "+" + b + "="+a+b); return a; } public static void main(String[] args) { GenericMethod1.add(1, 2); GenericMethod1.<String>genericAdd("a", "b"); }

使用dom4j解析xml文件,并封装为javabean对象

眉间皱痕 提交于 2020-10-16 12:47:57
dom4j是一个java的XML api,性能优异、功能强大、易于使用。这里使用dom4j对xml文件进行解析,并完成对文件的封装。 在pom文件里面导入 <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> 实现对xml文件的解析,主要使用到的是dom4j中的SAXReader类,该类的使用方法如下: SAXReader 类 //构造SAXReader SAXReader sr = new SAXReader(); //加载文件 Document doc = sr.read(File file) //Document对象代表XML文件在内存中的印象 //取得根元素 Element getRootElement() Element.getName() Element.elements() //取得该元素下的所有直接子元素 Element.elementText("str") //从一个元素导航到另一个元素,并取出该元素的文本 Element.element("str"); //导航到另一个元素 Element.attributeValue("str"); //取得该元素对应的属性 该项目中由于使用到dom4j

并查集(Java实现)

做~自己de王妃 提交于 2020-10-15 03:58:21
(最好在电脑下浏览本篇博客...手机上看代码不方便) 当时学的时候看的一本印度的数据结构书(好像是..有点忘了..反正跟同学们看的都不一样...)...里面把本文提到的所有情况都提到了,我这里只是重复实现,再加上一些个人的理解的图解,最后附上两道并查集的题来帮助理解. 并查集:基本 介绍并查集-> 并查集是一种数据结构, 常用于描述集合,经常用于解决此类问题:某个元素是否属于某个集合,或者 某个元素 和 另一个元素是否同属于一个集合 思路 数组里存的数字代表所属的集合。比如arr[4]==1;代表4是第一组。如果arr[7]==1,代表7也是第一组。既然 arr[4] == arr[7] == 1 ,那么说明4 和 7同属于一个集合, 例子 先初始化一个数组。初始时数组内的值与数组的下角标一致。即每个数字都自成立一个小组。 0属于第0个小组(集合),1属于第1个小组(集合),2属于第2个小组(集合).......... 接下来让几个数字进行合并操作,就是组队的过程(合并集合)。合并函数unionElements()介绍: 初始情况如下: 让 5和6进行组队。5里的值就变为6了。含义就是:5放弃了第5小组,加入到了第6小组。5和6属于第6小组。 接下来 让1 和2 进行组队。1的下角标就变为2了。含义就是:1和2都属于第2小组。 接下来让 2 3进行组队:2想和3进行组队

在不指定Bash索引的情况下向数组添加新元素

别等时光非礼了梦想. 提交于 2020-10-14 20:41:30
问题: Is there a way to do something like PHPs $array[] = 'foo'; 有没有办法像PHP一样 $array[] = 'foo'; in bash vs doing: 在bash vs做: array[0] = 'foo' array[1] = 'bar' 解决方案: 参考一: https://stackoom.com/question/8Bfu/在不指定Bash索引的情况下向数组添加新元素 参考二: https://oldbug.net/q/8Bfu/Add-a-new-element-to-an-array-without-specifying-the-index-in-Bash 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/4333145

GStreamer入门概念(二)

点点圈 提交于 2020-10-14 20:35:41
在之前的Gstreamer基础教程中,介绍了gstreamer基础相关的知识,目的是起到入门的作用。接下来在应用开发手册系列教程中,将更多的从技术角度,介绍更多的概念和功能,起到更好的学习效果。 1 什么是gstreamer GStreamer 是一个创建流媒体应用程序的框架。其基本设计思想来自于俄勒冈(Oregon)研究生学院有关视频管道的创意, 同时也借鉴了 DirectShow 的设计思想。 GStreamer 的程序开发框架使得编写任意类型的流媒体应用程序成为了可能。在编写处理音频、视频或者两者皆有的应用程序时, GStreamer 可以让你的工作变得简单。 GStreamer 并不受限于音频和视频处理, 它能够处理任意类型的数据流。管道设计的方法对于实际应用的滤波器几乎没有负荷, 它甚至可以用来设计出对延时有很高要求的高端音频应用程序。 GStreamer 最显著的用途是在构建一个播放器上。 GStreamer 已经支持很多格式的文件了, 包括:MP3、 Ogg/Vorbis、 MPEG-1/2、 AVI、 Quicktime、 mod 等等。从这个角度看,GStreamer 更象是一个播放器。但是它主要的优点却是在于: 它的可插入组件能够很方便的接入到任意的管道当中。这个优点使得利用 GStreamer 编写一个万能的可编辑音视频应用程序成为可能。 GStreamer

集合框架-ArrayList&Vector&LinkedList

有些话、适合烂在心里 提交于 2020-10-14 18:57:59
一、ArrayList的底层实现 ArrayList实现与List、RandomAccess接口,是顺序接口,即元素存放的数据与放进去的顺序相同,允许放入null元素,也支持随机访问 底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同 ArrayList相当于动态数据,其中最重要的两个属性分别是:elementData数组以及siz 二、ArrayList可以实现同步吗 为了追求效率,ArrayList没有实现同步(synchronizd),如果需要逗哥线程并发访问,用户可以手动同步,也可以使用Vector代替。如可以先采用Collections.synchronizedList()方法对其进行包装 三、ArrayList的add()方法 在调用add()方法的时候首先进行扩容校验,将插入的值放在尾部,并将size+1. public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true ; } 四、ArrayList的add(index,e)方法 如果调用add(index,e)在指定位置添加的话也是首先扩容校验,接着对数据进行复制,目的是把index位置空出来放本次插入的数据