- 博客(29)
- 收藏
- 关注
原创 echarts visualMap 无数据处理,为null置灰.
/ 新增计数器,用于跟踪连续null的数量。if (nullCount > 0) { // 如果之前有连续的null。// 当前元素为null,增加计数器。if (arr[i]) { // 如果当前元素不是 null。//gt:大于 gte:大于等于 lt:小于 lte:小于等于。
2024-08-07 15:50:38
361
原创 js 小方法
/**通用js方法封装处理Copyright © 2019 ruoyi*/const baseURL = process.env.VUE_APP_BASE_API// 日期格式化export function parseTime(time, pattern) {if (arguments.length === 0 || !time) {return null}const format = pattern || ‘{y}-{m}-{d} {h}:{i}:{s}’let dateif
2021-12-02 19:46:18
595
原创 文件下载打包成zip
var data = res.rows;// data : 需要下载打包的路径, 可以是本地相对路径, 也可以是跨域的全路径const zip = new JSZip();const cache = {};let promises = []; for (var i = 0; i < data.length; i++) { let promise = getFile(data[i].filePath); let file_name = data[i].fileNa
2021-12-02 19:17:59
774
原创 14_JavaScript数据结构与算法(十四)图
JavaScript 数据结构与算法(十四)图图的概念在计算机程序设计中,图也是一种非常常见的数据结构,图论其实是一个非常大的话题,在数学上起源于哥尼斯堡七桥问题。什么是图?图是一种与树有些相似的数据结构。实际上,在数学的概念上,树是图的一种。我们知道树可以用来模拟很多现实的数据结构,比如:家谱/公司组织架构等等。那么图长什么样子呢?或者什么样的数据使用图来模拟更合适呢?人与人之间的关系网互联网中的网络关系广州地铁图那么,什么是图呢?我们会发现
2021-10-17 10:45:28
160
原创 13_JavaScript数据结构与算法(十三)二叉搜索树
JavaScript 数据结构与算法(十三)二叉搜索树二叉搜索树二叉搜索树(BST,Binary Search Tree),也称为二叉排序树和二叉查找树。二叉搜索树是一棵二叉树,可以为空。如果不为空,则满足以下性质:条件 1:非空左子树的所有键值小于其根节点的键值。比如三中节点 6 的所有非空左子树的键值都小于 6;条件 2:非空右子树的所有键值大于其根节点的键值;比如三中节点 6 的所有非空右子树的键值都大于 6;条件 3:左、右子树本身也都是二叉搜索树;如上图所示,树二和树三符合
2021-10-17 10:44:29
55
原创 12_JavaScript数据结构与算法(十二)二叉树
JavaScript 数据结构与算法(十二)二叉树二叉树二叉树的概念如果树中的每一个节点最多只能由两个子节点,这样的树就称为二叉树;二叉树的组成二叉树可以为空,也就是没有节点;若二叉树不为空,则它由根节点和称为其左子树 TL 和右子树 TR 的两个不相交的二叉树组成;二叉树的五种形态上图分别表示:空的二叉树、只有一个节点的二叉树、只有左子树 TL 的二叉树、只有右子树 TR 的二叉树和有左右两个子树的二叉树。二叉树的特性一个二叉树的第 i 层的最大节点树为:2(i-1),i &g
2021-10-17 10:43:35
123
原创 11_JavaScript数据结构与算法(十一)树
JavaScript 数据结构与算法(十一)树树结构什么是树?真实的树:树的特点:树一般都有一个根,连接着根的是树干;树干会发生分叉,形成许多树枝,树枝会继续分化成更小的树枝;树枝的最后是叶子;现实生活中很多结构都是树的抽象,模拟的树结构相当于旋转 180° 的树。树结构对比于数组/链表/哈希表有哪些优势呢?数组:优点:可以通过下标值访问,效率高;缺点:查找数据时需要先对数据进行排序,生成有序数组,才能提高查找效率;并且在插入和删除元素时,需要大量的位移操作;链表:
2021-10-17 10:39:46
63
原创 10_JavaScript数据结构与算法(十)哈希表
JavaScript 数据结构与算法(十)哈希表认识哈希表哈希表是一种非常重要的数据结构,几乎所有的编程语言都直接或者间接应用这种数据结构。哈希表通常是基于数组实现的,但是相对于数组,它存在更多优势:哈希表可以提供非常快速的 插入-删除-查找 操作。无论多少数据,插入和删除值都只需接近常量的时间,即 O(1) 的时间复杂度。实际上,只需要几个机器指令即可完成。哈希表的速度比树还要快,基本可以瞬间查找到想要的元素。哈希表相对于树来说编码要简单得多。哈希表同样存在不足之处:哈希表中的数据
2021-10-01 15:49:21
450
原创 09_JavaScript数据结构与算法(九)字典
JavaScript 数据结构与算法(九)字典字典字典特点字典存储的是键值对,主要特点是一一对应。比如保存一个人的信息数组形式:[19,"Tom", 1.65],可通过下标值取出信息。字典形式:{"age": 19, "name": "Tom", "height": 165},可以通过 key 取出 value。此外,在字典中 key 是不能重复且无序的,而 Value 可以重复。字典和映射的关系有些编程语言中称这种映射关系为字典,如 Swift 中的 Dictonary,Py
2021-10-01 15:48:42
64
原创 08_JavaScript数据结构与算法(八)集合
JavaScript 数据结构与算法(八)集合集合几乎每种编程语言中,都有集合结构。集合比较常见的实现方式是哈希表,这里使用 JavaScript 的 Object 进行封装。集合特点集合通常是由一组无序的、不能重复的元素构成。数学中常指的集合中的元素是可以重复的,但是计算机中集合的元素不能重复。集合是特殊的数组。特殊之处在于里面的元素没有顺序,也不能重复。没有顺序意味着不能通过下标值进行访问,不能重复意味着相同的对象在集合中只会存在一份。封装集合ES6 中的 Set
2021-10-01 15:47:38
55
原创 07_JavaScript数据结构与算法(七)双向链表
JavaScript 数据结构与算法(七)双向链表单向链表和双向链表单向链表只能从头遍历到尾或者从尾遍历到头(一般从头到尾)。链表相连的过程是单向的,实现原理是上一个节点中有指向下一个节点的引用。单向链表有一个比较明显的缺点:可以轻松到达下一个节点,但回到前一个节点很难,在实际开发中, 经常会遇到需要回到上一个节点的情况。双向链表既可以从头遍历到尾,也可以从尾遍历到头。链表相连的过程是双向的。实现原理是一个节点既有向前连接的引用,也有一个向后连接的引用。双向链表可以有效的解决单向链表
2021-10-01 15:47:06
61
原创 06_JavaScript数据结构与算法(六)单向链表
JavaScript 数据结构与算法(六)单向链表认识链表链表和数组链表和数组一样,可以用于存储一系列的元素,但是链表和数组的实现机制完全不同。数组存储多个元素,数组(或列表)可能是最常用的数据结构。几乎每一种编程语言都有默认实现数组结构,提供了一个便利的 [] 语法来访问数组元素。数组缺点:数组的创建需要申请一段连续的内存空间(一整块内存),并且大小是固定的,当前数组不能满足容量需求时,需要扩容。 (一般情况下是申请一个更大的数组,比如 2 倍,然后将原数组中的元素复制过去)
2021-10-01 15:46:33
64
原创 05_JavaScript数据结构与算法(五)优先队列
JavaScript 数据结构与算法(五)优先队列场景生活中类似优先队列的场景:优先排队的人,优先处理。 (买票、结账、WC)。排队中,有紧急情况(特殊情况)的人可优先处理。优先队列优先级队列主要考虑的问题:每个元素不再只是一个数据,还包含优先级。在添加元素过程中,根据优先级放入到正确位置。优先队列的实现代码实现// 优先队列内部的元素类class QueueElement { constructor(element, priority) { this.eleme
2021-10-01 15:46:01
64
原创 04_JavaScript数据结构与算法(四)队列
JavaScript 数据结构与算法(四)队列认识队列队列(Queue)是一种运算受限的线性表,特点:先进先出。(FIFO:First In First Out)受限之处:只允许在表的前端(front)进行删除操作。只允许在表的后端(rear)进行插入操作。生活中类似队列结构的场景:排队,比如在电影院,商场,甚至是厕所排队。优先排队的人,优先处理。 (买票、结账、WC)。队列图解队列在程序中的应用打印队列:计算机打印多个文件的时候,需要排队打印。线程队列:当开启多线程时
2021-10-01 15:45:30
84
原创 03_JavaScript数据结构与算法(三)栈
JavaScript 数据结构与算法(三)栈数组是一个线性结构,并且可以在数组的任意位置插入和删除元素。但是有时候,我们为了实现某些功能,必须对这种任意性加以限制。栈和队列就是比较常见的受限的线性结构。什么是栈栈(stack)是一种运算受限的线性表:LIFO(last in first out)表示就是后进入的元素,第一个弹出栈空间。类似于自动餐托盘,最后放上的托盘,往往先把拿出去使用。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元
2021-10-01 15:44:58
74
原创 02_JavaScript数据结构与算法(二)数组
JavaScript 数据结构与算法(二)数组几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。数组通常情况下用于存储一系列同一种数据类型的值。但在 JavaScript 里,数组中可以保存不同类型的值。但我们还是要遵守最佳实践,别这么做(大多数语言都没这个能力)。创建和初始化数组new Array()const daysOfWeek = new Array( "Sunday", "Monday", "Tuesday", "Wednesday", "T
2021-10-01 15:44:26
57
原创 01_JavaScript数据结构与算法(一)前言
JavaScript 数据结构与算法(一)前言什么是数据结构?数据结构的定义官方定义无民间定义“数据结构是数据对象,以及存在于该对象的实例和组成实例的数据元素之间的各种联系。这些联系可以通过定义相关的函数来给出。” — 《数据结构、算法与应用》“数据结构是 ADT(抽象数据类型 Abstract Data Type)的物理实现。” — 《数据结构与算法分析》“数据结构(data structure)是计算机中存储、组织数据的方式。通常情况下,精心选择的数据结构可以带来最优效率的算法
2021-10-01 15:43:54
60
原创 day13
###今日目标1.完成项目优化2.完成项目上线###1.项目优化实现步骤:A.生成打包报告,根据报告优化项目B.第三方库启用CDNC.Element-UI组件按需加载D.路由懒加载E.首页内容定制###2.添加进度条给项目添加进度条效果,先打开项目控制台,打开依赖,安装nprogress打开main.js,编写如下代码//导入进度条插件import NProgress from 'nprogress'//导入进度条样式import 'nprogress/nprogress.c
2021-09-20 23:47:20
74
原创 day12
###今日目标1.完成商品添加2.完成订单列表3.完成数据统计展示###1.添加商品####A.完成图片上传使用upload组件完成图片上传在element.js中引入upload组件,并注册因为upload组件进行图片上传的时候并不是使用axios发送请求所以,我们需要手动为上传图片的请求添加token,即为upload组件添加headers属性//在页面中添加upload组件,并设置对应的事件和属性<el-tab-pane label="商品图片" name="3">
2021-09-20 23:46:41
78
原创 day11
###今日目标1.完成参数管理2.推送代码到码云3.制作商品列表页面4.制作商品添加页面###1.参数管理####A.展示动态参数可选项动态参数可选项展示及操作在获取动态参数的方法中进行处理。//将获取到的数据中的attr_vals字符串转换为数组res.data.forEach(item => { item.attr_vals = item.attr_vals ? item.attr_vals.split(' ') : [] //添加一个bool值控制文本框的显示或者隐藏
2021-09-20 23:46:09
131
原创 day10
###今日目标1.完成商品分类2.完成参数管理###1.商品分类####A.新建分支goods_cate新建分支goods_cate并推送到码云git checkout -b goods_categit push -u origin goods_cate####B.创建子级路由创建categories子级路由组件并设置路由规则import Cate from './components/goods/Cate.vue'path: '/home', component: Home, re
2021-09-20 23:45:23
62
原创 day09
###今日目标1.修改用户,删除用户2.推送代码到码云3.权限列表4.角色列表5.分配角色###1.修改用户信息A.为用户列表中的修改按钮绑定点击事件B.在页面中添加修改用户对话框,并修改对话框的属性C.根据id查询需要修改的用户数据//展示编辑用户的对话框async showEditDialog(id) { //发送请求根据id获取用户信息 const { data: res } = await this.$http.get('users/' + id) //
2021-09-20 23:44:45
71
原创 day08
###今日目标1.实现后台首页的基本布局2.实现左侧菜单栏3.实现用户列表展示4.实现添加用户###1.后台首页基本布局打开Home.vue组件,进行布局:<el-container class="home-container"> <!-- 头部区域 --> <el-header>Header<el-button type="info" @click="logout"> 退出 </el-button></el-heade
2021-09-20 23:44:15
80
原创 day07
###今日目标1.初始化项目2.基于Vue技术栈进行项目开发3.使用Vue的第三方组件进行项目开发4.理解前后端分离开发模式###1.电商业务概述客户使用的业务服务:PC端,小程序,移动web,移动app管理员使用的业务服务:PC后台管理端。PC后台管理端的功能:管理用户账号(登录,退出,用户管理,权限管理),商品管理(商品分类,分类参数,商品信息,订单),数据统计电商后台管理系统采用前后端分离的开发模式前端项目是基于Vue的SPA(单页应用程序)项目前端技术栈:Vue,Vue-Rou
2021-09-20 23:43:34
144
原创 JavaScript
JavaScriptJavaScript负责页面中的的行为。它是一门运行在浏览器端的脚本语言。JS的编写的位置1.可以编写到标签的指定属性中<button onclick="alert('hello');">我是按钮</button> <a href="javascript:alert('aaa');">超链接</a> 2.可以编写到script标签中<script type="text/javascript"> //编写
2021-09-19 10:32:18
202
转载 vue3快速上手
Vue3快速上手1.Vue3简介2020年9月18日,Vue.js发布3.0版本,代号:One Piece(海贼王)耗时2年多、2600+次提交、30+个RFC、600+次PR、99位贡献者github上的tags地址:https://github.com/vuejs/vue-next/releases/tag/v3.0.02.Vue3带来了什么1.性能的提升打包大小减少41%初次渲染快55%, 更新渲染快133%内存减少54%…2.源码的升级使用Proxy
2021-09-05 21:55:31
99
转载 vue资料
笔记脚手架文件结构├── node_modules ├── public│ ├── favicon.ico: 页签图标│ └── index.html: 主页面├── src│ ├── assets: 存放静态资源│ │ └── logo.png│ │── component: 存放组件│ │ └── HelloWorld.vue│ │── App.vue: 汇总所有组件│ │── main.js: 入口文件├── .gitignore: g
2021-09-05 21:51:38
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人