自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 问答 (4)
  • 收藏
  • 关注

原创 Nginx / Tomcat / IIS 安装 SSL 证书,开启 HTTPS 服务

Tomcat 8.0 ++<!-- 将 80 端口重定向到 443 --><Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <!-- 找到 Http11NioProtocol 配置协议 --><Connector port="443" protocol="org.ap

2021-01-26 15:27:03 621 1

原创 VUE 渲染性能优化

initMaterialIcon () { // 获取图标 materialIcons 下划线格式命名集合 for (const i in materialIconsSet) { this.materialIcons_key.push(this.toLowerLine(i)) } let i = 0 this.timer2 = setInterval(() => { this.group_md = this.group_md.concat(this.material

2020-12-25 01:19:46 3925 2

原创 vue 项目首屏加载性能调优

体积性能优化分析项目体积可以使用webpack的webpack-bundle-analyzer或是 VUE GUI 里自带的webpack Analyzer本项目使用webpack-bundle-analyzer分析如下:主要针对比较通用的一些常规优化:常规的性能优化一般有四种:按需引入CDN 资源1、按需引入最常见的就是 UI 框架和路由页面的按需引入对于quasar按需引入的格式一般如下:import { Quasar, LoadingBar, Dialog, .

2020-12-09 00:44:38 1528 12

原创 在 vue cli 4 项目中引入外部 html 项目,解决 外部 html 跳转到 vue 路由页面 404 问题

最近有个项目,本来使用 jq + bootsrap 开发,因此首页用了 jq + bootsrap 开发为 html 页面,并用 jq 做了很多动画。后来因为种种原因需要使用 vue 开发接下来的页面,但是重新做一个带多组动画的首页很麻烦,于是想到将首页home.html以及它的静态资源assest文件夹作为独立项目引入到 vue cli 中。遇到了不少问题,第一天搞到凌晨2点,没搞明白,第二天不到1个小时搞定…所以说,太累的话,工作效率不高,还浪费时间,还不如睡觉。!!!∑(゚Д゚ノ)ノ怎么做?

2020-11-30 14:14:17 2300

原创 vue quasar manage 基于 vue 和 quasar 的中后台前端解决方案

vue-quasar-manage vue-quasar-manage 是一款中后台前端解决方案:基于 vue 和 quasar-ui 实现,quasar-ui 的设计规范来自 Material Design包含动态路由,动态缓存,权限验证等常用功能响应式设计,支持手机 / 平板 / 小分辨率屏幕显示包含 tagView 快捷导航、面包屑导航等 SPA 应用常用功能内置 Material Design 图标集简单的代码逻辑,多种自定义组件,高度可定制...

2020-11-21 00:26:38 1380

原创 Vue 使用 <keep-alive include> 实现多级 <router-view> 缓存,无限层次缓存

使用 <keep-alive> 实现缓存目前主流的有两种方法方法一:在路由元信息中添加缓存标识:{ path: 'json', name: 'json', meta: { ... keepAlive: true ... }, component: () => import('../views/components/json')},使用 v-if 判断是否缓存<keep-alive> <router-v

2020-11-09 15:34:06 13381 20

原创 VUE 路由守卫 next() / next({ ...to, replace: true }) / next(‘/‘) 说明

最近因为next()遇到了不少问题,在这里记录一下首先是路由守卫,是不是感觉简简单单beforeEach((to, from, next) => { to //是要去的路由 from // 是当前路由 next() // 是放行的意思}但是在看别的项目时常常能看到next('/logon') 、 next(to) 或者 next({ ...to, replace: true }) 这又是啥意思呢其实在路由守卫中,只有next()是放行,其他的诸如:next('/logon') 、 n

2020-10-22 22:51:03 56693 57

原创 Android Material Design 组件集合Demo,附源码地址 :CimoGallery,仅供学习

Android Material Design 实战 :CimoGallery作者:incimo时间:2020/06/14CimoGallery v1.0.1 beta 版本初  为了加深对Android开发的理解。同时在B站上看到了longway777 这位大佬的视频,感觉确实是不可多得的好教材,给了我很多灵感和帮助,因为大佬用的是kotlin写了一个简易版的画廊Demo,于是我就想能不能用Java也实现一个Demo,顺便把开发时常用的一些功能加上,顺便给正在学习的同学们一点帮助,给Andr

2020-08-29 00:04:10 19162 2

转载 Nginx 配置文件说明

########### 每个指令必须有分号结束。##################user administrator administrators; #配置用户或者组,默认为nobody nobody。#worker_processes 2; #允许生成的进程数,默认为1#pid /nginx/pid/nginx.pid; #指定nginx进程运行文件存放地址error_log log/error.log debug; #制定日志路径,级别。这个设置可以放入全局块,http块,serv

2020-08-18 08:42:22 7430

原创 Android: ViewPager2 结合 TabLayout (Java代码模板)

Tab标签名 private static final String[] TAB_LABEL = {"label1","label2","label3"};viewPager2初始化并应用 /** * viewpage2初始化并应用 */ private void initViewpager2() { viewPager2.setAdapter(new FragmentStateAdapter(getParentFragmentManager(

2020-05-23 23:22:57 7806

原创 Android:BottomNavigationView设置noActionbar主题后闪退的解决方法,以及另外两种实现方法

Android Studio自带的BottomNavigationView项目设置了noActionbar这个主题就会闪退,不设置noActionbar的话就无法使用toolbar,蛋疼。下面我会两种BottomNavigationView的实现方法:一种是Android Studio自带的项目实现,使用Jetpack的Navigation做为页面的切换工具,以及说明为什么自带的基础模板不能设...

2020-04-28 17:29:34 22013 6

原创 Android:在service和activity之中,实现音乐播放进度条传递信息的两种方式,MediaPlayer做音乐播放器采坑以及解决办法

实现播放时的进度条显示,或是定时从service获取某些信息,是我们日常开发中经常遇到的需求,下面介绍当音乐再service中运行时,activity如果获取音乐进度信息的两种方式:一、在activity中建立消息接收机制我们需要在activity中建立一个用于接收信息的handler(handler简单的说是在android中可以发送消息和也可以处理消息的一种机制,当然它的用途更加强大,有时...

2020-04-26 15:26:56 21546 1

原创 Android: ConstraintLayout工具类,用于动态修改ConstraintLayout中控件四个方向的依赖关系

最近要用Android做一个课程表,我的思路是用ConstraintLayout中的辅助线画出一个类似的表格布局然后从数据库中读取课程信息,动态生成一个个Botton按钮做为课程的控件(Botton自带Tooltips属性,这样可以浮动显示出课程的详细信息),并且根据每一次课程的上课时间和地点,绘制这次课程四个方向的依赖,达到准确的显示效果。读取课程数量后动态添加Botton简单,但是添加四...

2020-04-19 18:07:15 8446

原创 java计算工具类 :中缀表达式转波兰后缀式并计算出结果

本文原算法原文来自https://blog.csdn.net/jdbfvhxx/article/details/98441580 by @ ^ @对原算法增加了取模运算,并且做了适当的调整,每次运算之后自动清空栈和队列,使其更容易被重复使用:工具类ReversePolishMultiCalc源码如下:import java.util.ArrayList;import java.util...

2020-03-24 02:59:16 248 1

原创 获取照片经纬度(wgs84)转高德经纬度(gcj02)

const pi = 3.14159265358979324;const a = 6378245.0;const ee = 0.00669342162296594323;/** * WGS84坐标转换GCJ02坐标 * @param wgLat:wgs纬度 * @param wgLon:wgs经度 * @return Array[lat:gcj纬度,lon:gcj经度] */export function Wgs84ToGcj02 (wgLat, wgLon){ let mgLat,

2021-11-22 10:37:30 1337

原创 vue 封装组件时,优雅的将子组件属性和方法对父组件暴露

对 el-input 进行封装,封装为 my-input<template> <!-- 使用 $attrs 传入已在父组件中声明但在子组件中未被声明的 props,从而达到当父组件传入的 prop 时,父组件能直接使用子组件的原生属性 --> <!-- 使用 $listeners 传入已在父组件中注册但在子组件中未注册的事件,将父组件中出发的事件直接传递给子组件,从而达到父组件中传入的事件直接在子组件的原生事件中触发 --> <el-input

2021-11-09 11:42:48 5765

原创 cimo 前端组件库

修改下载文件名/** * 保存 * @param {Blob} blob * @param {String} filename 想要保存的文件名称 */function saveAs(blob, filename) { if (window.navigator.msSaveOrOpenBlob) { navigator.msSaveBlob(blob, filename) } else { const link = document.createElement('a'

2021-05-10 10:07:03 364

原创 vue/quasar 实现动态路由

项目地址:vue-quasar-manage动态路由动态路由在之前的项目中,权限的操作是预先在前端的路由元信息中设置好的,像这样{ path: '/', name: 'Home', meta: { roles: ['admin', 'user'], title: '主页', }, component: () => import('@/views/home/Home')}但是最近有不少同学想看看我是如何实现后端返回路由,并在前端显示的。于是就写了个dem

2021-03-20 00:01:57 1406

原创 vue 将 路由转换为 json 字符串

需要注意的是,forEach和map中使用 async/await ,是无效了,弄了一个晚上,结果还是用普通的 for 来实现同步 /** * 将 asyncRouters 的 roles 初始化为空,同时处理 Component 的懒加载 * component: () => import('../views/home/Home') 转换为 component: '../views/home/Home' * @param asyncRouters *

2021-03-18 21:16:28 794

原创 超简单手机连接 vue 项目 localhost

1 启动你的 vue 项目2 手机和电脑在同一局域网3 输入 vue 项目启动时的网址

2021-03-08 01:45:35 395

原创 天地图

<template> <div class="hello"> <el-form label-position="top" label-width="80px" :model="localInfo" style="margin: 20px"> <h3>定位成功</h3> <el-form-item label="纬度"> <el-input v-model="localInfo.

2021-03-05 01:21:42 287 1

原创 基于 JSP 的自动代码生成工具类,自动生成 JavaBean Dao Service Servlet Filter(请求响应编码过滤器)

生成代码目录结构如下:如何使用:在项目目录下新建工具类包util,并在util包中新建 数据库连接工具类DbCon(类名必须为 DbCon)和 代码生成工具类 Automatically修改代码配置,运行Automatically工具类即可代码如下:数据库连接工具类:package com.util;import java.sql.Connection;import java.sql.DriverManager;/** * @author cimo * @create 20

2021-02-27 15:52:34 419

原创 mysql

CREATE VIEW `ths_personbasicInfo_codevalue` AS SELECT*,(SELECT CodeName FROM ths_codevalue WHERE CodeTableID = 'Sex' AND CodeID = ths_nt_personbasiclnfo.PB_XB LIMIT 1) AS sex,(SELECT CodeName FROM ths_codevalue WHERE CodeTableID = 'CodeTable_MZ' AND C

2021-02-26 03:58:45 165

原创 diaplay: none、visiable: hidden、opacity: 0 的区别

diaplay: nonevisiable: hiddenvisiable: hidden是否渲染否是是是否可事件监听否是是性能改变时会引起重排,性能较差改变时会引起重绘,性能较高不会引起重绘。性能较高继承不会被继承 (因为不渲染)会被继承 子元素设置 visiable: visiable 可取消隐藏会被继承 子元素无法设置 opacity: 1 取消隐藏transitin不支持hidden 时会延时隐藏都可延时显示或隐藏...

2021-01-17 17:05:53 485

原创 div 的 7 种 css 居中方式

1、div 往左和往右位移 50 %,再反向位移自身高度和宽度的一半<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> #cernter { background-color: aqua; height: 300px; width: 300px;

2021-01-17 16:18:00 486 1

原创 解决 Ngnix 配置静态资源缓存后,静态资源 404找不到的问题

在使用 Ngnix 配置静态资源时,常有如下设置: location /admin { proxy_pass http://127.0.0.1:8869; } location ~ .*\.(gif|jip|jpeg|png|bmp|swf)$ { expires 30d; } location ~.*\.(js|css)?$ { expires 1h; }但是配置这些设置后,会引起被代理转发的网站(http://127.0.0

2020-12-29 00:16:23 1673

原创 git page 部署脚本

git checkout mastergit branch -d gh-pagesgit branch -D gh-pagesgit push origin --delete gh-pagesnpm run buildgit checkout -b gh-pagesgit add -f distgit commit -m ‘create project’git subtree push --prefix dist origin gh-pages

2020-12-28 14:18:02 211

原创 前端学习路线

写给学弟们的

2020-12-10 21:23:28 274

原创 vue cli 4快速访问 public 文件夹,同时确保打包并部署到 github 上不会 404

在 main.js 中注入 public 文件夹路径原型// 前往 public 文件夹的路径Vue.prototype.$PUBLIC_PATH = process.env.BASE_URL之后正常使用即可: getMsg () { const query = { url: this.$PUBLIC_PATH + 'data/lottieData.md', method: 'get', responseType: 'text'

2020-12-03 01:37:08 1210

原创 使用 jquery 实现 css hover 长期维持效果

1、首先定义 hover 效果.base-style:hover{ color: red}2、在上面的 hover 上添加一个样式一模一样的效果样式.base-style-active,.base-style:hover{ color: red}3、使用 jquery 判断 .base-style是否触发了 hover,如果触发了就给他加上.base-style-active样式,这样触发的hover样式就得到了保留。 $('.base-style').mouseenter(func

2020-11-27 02:24:13 1817

原创 2020-11-12

Menu 菜单components|-Menu |-BaseMenu.vue # 菜单入口 |-BaseMenuItem.vue # 菜单元素菜单的生成依据是路由中的元信息,因此不需要在另外写菜单,定义好路由元信息即可:import layout from '../components/layout/layout'...{ path: '/about_router', // 路由路径

2020-11-17 00:30:48 96

原创 vue 封装 lottie-web

<template> <div id="lottie_box"></div></template><script>import lottie from 'lottie-web'export default { name: 'lottie-web-cimo', data () { return { lottie: {} } }, props: ['animationData', 'path'

2020-11-10 15:46:43 821

原创 2020-11-09-01

tagView在SPA中因为没用了浏览器跳转,所以tagView的存在很有必要tagview位置components|-TagView |-tagView.vue # tagView 源文件 |-tagViewUtils.js # tagView 工具类: 增/删本项目中tagView的作用不只是作为快捷导航使用。同时还作为页面缓存<keep-alive>中的标识使用,即,有 tagView存在的话则对应页面的缓存也存在

2020-11-09 19:43:10 128

原创 vue js验证需要提交的表单数据对象中的属性是否为空

/** * 验证表单要提交的对象的某些属性是否为空 * @param obj 需要提交的对象 * @param args 不需要判断的属性 * @returns boolean */ function isForm (obj, ...args) { let empty = false for (const i in args) { delete obj[args[i]] } for (const key in obj) { // eslint-disable-.

2020-09-29 10:57:50 975

原创 vue + quasar 使用递归实现动态多级菜单

菜单初始化入口 menu.vue,初始化侧边栏菜单组建,<my-q-menu/>才是递归开始<template> <q-drawer v-model="is_hide_" show-if-above bordered content-class="bg-grey-2" :width="240" > <q-scroll-area class="fit"> <!-- 递归实现 循环菜单 --&gt

2020-09-15 16:15:27 2989 1

原创 webRTC 使用 getUserMedia()关闭和开启摄像头

<html><body><video id="webcam"></video><button onClick="openVideo()">开启摄像头</button><button onClick="closeVideo()">关闭摄像头</button></body><script> var video = document.getElementById('web.

2020-09-03 15:14:05 10042

原创 一张表格让你了解cookie、localStorage、sessionStorage、session的区别与使用方式

cookie localStorage sessionStorage session 存储形式 键值对存储,同域名可用 存储位置 客户端 服务器 特点 随请求头一同提交 不随请求头提交,可长时间保存 不随请求头提交,页面关闭即失效 安全 跨域 ...

2020-08-17 17:17:07 7460

原创 idea 2020 设置了自动编译,SpringBoot 热部署依然配置无效 解决方法

我这里遇到的问题是:引入了spring-boot-devtools,设置了idea的自动编译勾选了Registry中的complier.automake.allow.when.app.running后均无效如何解决:在application.yml配置文件中加入如下配置即可:(application.properties同理)spring: devtools: restart: # 设置热部署生效 enabled: true # 设置重启目录

2020-08-02 18:15:39 8712 2

转载 去除json中key的双引号

String json = ""; json = json.replaceAll("\"(\\w+)\"(\\s*:\\s*)", "$1$2"); System.out.println(json);

2020-07-22 02:05:10 10317

原创 Node.js 文件操作笔记

const express = require('express')const fs = require('fs')/** * 同步文件操作 */let fd = fs.openSync('h.txt','w')console.log(fd)//写入内容let str = 'cimo'fs.writeFileSync(fd,str)//退出文件fs.closeSync(fd)/** * 异步文件操作 */ fs.open('h.txt','w',(err,fd)=.

2020-06-29 00:45:15 7461

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除