🌓

element-ui中解决因el-option数据量大导致页面卡顿和渲染慢

一、业务场景

在使用element-ui展示表格数据时,需要根据查询条件对数据进行搜索,此时需使用el-select,并且需要从服务端获取数据用el-option展示给用户选择,但是由于搜索条件使用的是业务的数据,所以数据量比较大,服务端返回的数据量达到了5000多条,还需要在下拉框中展示。

阅读全文

Jenkins解决jenkins.plugins.publish_over.BapPublisherException Failed to connect SFTP channel错误

jenkins在配置连接Centos服务器的时候报错信息:jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH connection. Message: [Failed to connect SFTP channel. Message [java.io.IOException: inputstream is closed]]hi’xu

阅读全文

Vue中watch监听数据变化的三种写法

在vue中,使用watch来响应数据的变化,首先介绍一下,watch是一个对象,一定要当对象进行使用。对象则有key和value。

key:代表的是需要监控的东西,比如:路由的变化或者data中某个变量。
value:有三种:

  1. 函数, 即当监控的key 发生变化是,需要执行的函数, 第一个参数是新值,第二个参数是旧值。

阅读全文

前端加载优化之速度优化解决方案

随着前端各种框架的日益完善,一些基本的性能优化和加载优化都已经很完善了,但是有些必要的优化还是得开发者自己去做。vue.js是一个比较流行的前端框架,与react.js、angular.js相比来说,vue.js入手曲线更加流畅,不管掌握多少都可以快速上手。但是单页面应用也都有其弊病,有时候首屏加载慢的让人捏舌。今天我们以vue cli2.x来说一说如何行之有效的缓解此问题!以项目为例,输入网址以后会出现十几秒的空白页,如果是后台管理系统还能接受,嵌套式的H5面对的是C端用户,产品肯定是无法接受的。仔细分析了下,主要是打包后的app.js太大,以及我们引用的一些插件安装包加载比较慢,在网上搜了很多解决加载慢的方案,最终优化的时间移动端H5页面2秒多,后台管理系统5秒多。下面,将自己在平时项目上所做的优化策略实践分享于大家。文章较长,耐心看完会有收获的。

阅读全文

服务器漏洞修复-可通过HTTP获取远端WWW服务信息

基于互联网行业的日益发展壮大,对安全性这块的领域,无论是国家还是企业都是非常重视,信息安全、网络安全也是一道不可逾越的鸿沟。所以也诞生出很多第三方信息安全的检测机构,他们会针对我们的整个站点和整个服务进行安全检测,为此今天针对服务器的各个环境的安全的一个漏洞进行描述和解决,主要包括市场主流的Apache、Nginx、IIS。

阅读全文

Vue通过自定义指令(v-auth)控制设置菜单按钮权限

不管是在开发PC端或者H5端的时候,不管是面向B端还是C端的产品,都会面临权限控制的开发场景,此时不可能是一个一个的去写v-if或者v-show了。一般会根据当前用户从后端接口获取对应的权限码去控制页面、菜单、按钮的展示,在这里我们可以封装v-auth指令去实现多条件判断的按钮权限控制。最终实现的目标是:只需要一个简单的指令就能实现按钮权限的多条件判断,满足各种场景状态下的权限需求。如果对自定义指令还不是熟悉的童鞋,可以去官方复习一下再来看此文章:vue官方自定义指令

阅读全文

企业微信(微信公众号)H5端缓存问题解决方案

问题描述

企业微信里面自建了一个应用,通过H5页面链接跳转,但是后台应用更新后,点进去还是旧的页面,需要清除缓存才能生效。

由于之前无论是公众号还是微信分享链接,都是经过充分测试后发布上线的,上线后即使更改了,也能在较快的时间内更新。所以对微信这块一直模棱两可的状态,没有从根本上解决这个缓存的问题。但是这次的需求不同,产品由于某个图片上的文字修改(仅仅一个数字的修改),等ui把图片发过来,然后上传到服务器上后,还是跟之前一样,也期待着资源会自动更新。

阅读全文

Vue可视化大屏自适应组件解决方案(ScaleBox自适应组件)

一、前端大屏自适应解决方案

1、使用felx布局

要点: 使用flex各种布局,结合元素使用百分比

阅读全文

在内网配置访问高德地图服务

前言

目前国内市场就三大地图:高德地图、百度地图、腾讯地图,但是这些地图都是面向公网的,而针对于一些特殊情况下,比如客户需要访问地图的相关服务,但是是在公司的内网访问,内网又不支持访问公网,这就感觉到这些地图瓶颈了,于是就费尽脑汁地想在内网部署一套完整的地图系统,可惜了,这三大地图很多都是基于接口的服务的,无法在内网独立建设一套地图。

阅读全文

Nginx根据“远程安全评估系统"安全配置

前言

根据远程安全评估系统建议对存在漏洞的主机参考附件中提出的解决方案进行漏洞修补、安全增强,特此根据各个等级的等保测评对Nginx的安全配置进行相应的配置,以达到等保所需的安全性。

阅读全文

GO语言-多维数组

一.二维数组

  • 二维数组表示一个数组变量中每个元素又是一个数组变量

  • 声明二维数组的语法

阅读全文

GO语言-数组

一.数组介绍

  • 数组:具有固定长度相同类型元素序列
  • 声明数组的语法
    1
    2
    3
    //var 对象名 [长度]元素类型
    var arr [5]int
    fmt.Println(arr) //输出:[0 0 0 0 0]

阅读全文

GO语言-常用数学函数和随机数

一. 常用数学函数

  • math包提供了基本数学常数和数学函数
  • math包提供的数学常数
    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
    // Mathematical constants.
    const (
    E = 2.71828182845904523536028747135266249775724709369995957496696763
    Pi = 3.14159265358979323846264338327950288419716939937510582097494459
    Phi = 1.61803398874989484820458683436563811772030917980576286213544862
    Sqrt2 = 1.41421356237309504880168872420969807856967187537694807317667974
    SqrtE = 1.64872127070012814684865078781416357165377610071014801157507931
    SqrtPi = 1.77245385090551602729816748334114518279754945612238712821380779
    SqrtPhi = 1.27201964951406896425242246173749149171560804184009624861664038
    Ln2 = 0.693147180559945309417232121458176568075500134360255254120680009
    Log2E = 1 / Ln2
    Ln10 = 2.30258509299404568401799145468436420760110148862877297603332790
    Log10E = 1 / Ln10
    )

    // Floating-point limit values.
    // Max is the largest finite value representable by the type.
    // SmallestNonzero is the smallest positive, non-zero value representable by the type.
    const (
    MaxFloat32= 3.40282346638528859811704183484516925440e+38 // 2**127 * (2**24 - 1) / 2**23
    SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23)

    MaxFloat64= 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52
    SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52)
    )

    // Integer limit values.
    const (
    MaxInt8 = 1<<7 - 1
    MinInt8 = -1 << 7
    MaxInt16 = 1<<15 - 1
    MinInt16 = -1 << 15
    MaxInt32 = 1<<31 - 1
    MinInt32 = -1 << 31
    MaxInt64 = 1<<63 - 1
    MinInt64 = -1 << 63
    MaxUint8 = 1<<8 - 1
    MaxUint16 = 1<<16 - 1
    MaxUint32 = 1<<32 - 1
    MaxUint64 = 1<<64 - 1
    )

阅读全文

GO语言-时间类型

一.时间类型概述

  • 时间类型在实际开发中使用频率很高,代表现实世界的时间
  • 在Go语言中时间类型不是关键字而是使用time包下Time结构体

阅读全文

GO语言-switch语句

一.switch结构介绍

  • switch也属于条件判断的语句
  • 支持多种写法,和if .. else if …else 结构的功能类似,但是里面的细节需要注意的地方更多

阅读全文

GO语言-if其他结构和多重嵌套

一. if … else 结构

  • if 可以单独使用也可以结合else使用,当满足互斥条件时使用if…else结构

阅读全文

GO语言-条件判断if和程序调试

一. 条件判断if

  • 在程序开发中经常需要判断.根据情况不同,程序执行的分支也不同.这个时候就可以使用if

阅读全文

GO语言-new函数

一.new函数

  • 在上一小节中学习了指针,每次创建一个指针必须在额外创建一个变量,操作比较麻烦.

  • 可以通过new函数直接创建一个类型的指针

阅读全文

GO语言-指针

一.变量地址

  • 变量本质就是内存中一块数据的标记.把值存储到变量中实质是把值存储到内存中
  • 每次对变量重新赋值就是在修改变量地址中的内容

阅读全文

Vue+ElementUI实现全局Loading效果

在我们的平时的开发中,在前后端交互的时候,为了提高页面的观赏性和用户的体验,我们会在页面上添加loading来阻止用户操作来等待接口的返回,这个时候我们会考虑到全局loading还是局部loading,下面一起共享。

实现全局loading加载,首先分析需求,我们只需要在请求发起的时候开始loading,响应结束的时候关闭loading,简单逻辑而达到封装。

阅读全文