安装多个版本的JDK并切换
概述有时候需要学习一下其它版本的JDK,那么就需要安装多个JDK了,然后通过修改环境变量来实现切换JDK的版本,我这里安装的是JDK1.8和JDK11两个版本,继续安装其它的版本也是一样的步骤
下载
版本
阿里云盘链接
JDK1.8.0_202
阿里云盘分享 (aliyundrive.com)
JDK11.0.18
阿里云盘分享 (aliyundrive.com)
配置环境JAVA_HOME直接引用要切换的JDK的安装路径,JAVA_HOME_8和JAVA_HOME_11是JDK的安装路径
Path变量的设置和博客Java 环境配置 | LeDao’s Blog (zoutl.cn)的一样就行,Path变量的设置要放在第一行
变量名
变量值
说明
JAVA_HOME
%JAVA_HOME_8%
用于切换JDK版本
JAVA_HOME_8
D:\Java\jdk1.8.0_202
jdk1.8.0_202的安装路径
JAVA_HOME_11
D:\Java\jdk11.0.18
dk11.0.18的安装路径
切换JDK直接修改JAVA_HOME这 ...
TypeScript的安装和使用
介绍TypeScript 是JavaScript的一个超集,支持ES6标准,由微软开发的自由和开源的编程语言,TypeScript的设计目标是开发大型应用,它可以编译成纯JavaScript,编译出来的JavaScript可以运行在任何浏览器上
安装我是使用npm命令安装,命令如下:
1npm install -g typescript
查看是否安装成功,输入下面命令查看版本号,出现版本号说明安装成功
1tsc -v
测试首先新建一个名为test.ts的文件,内容如下:
12let message: string = "Hello World!!";console.log(message);
在上面ts文件所在文件夹打开cmd命令窗口,输入下面命令编译这个ts文件,会在该文件所在文件夹生成一个test.js的文件(用来运行,而不是运行ts文件,ts文件只是用来编译生成js文件的)
1tsc test.ts
使用Node.js的命令运行js文件,会输出Hello World!!
1node test.js
配置TypeScript是有一个名为tsconfi ...
CSS中margin和padding的区别
区别margin对整个标签起作用,是外边距;而padding对标签的内容起作用,是内边距
下图中div2使用了margin和padding,margin是div2和div1的边距,padding是div2和div3的边距
使用margin
语法结构
说明
margin-left:10px
左外边距
margin-right:10px
右外边距
margin-top:10px
上外边距
margin-bottom:10px
下外边距
margin:10px
四边统一外边距
margin:10px 20px
上下、左右外边距
margin:10px 20px 30px
上、左右、下外边距
margin:10px 20px 30px 40px
上、右、下、左外边距
padding
语法结构
说明
padding-left:10px
左内边距
padding-right:10px
右内边距
padding-top:10px
上内边距
padding-bottom:10px
下内边距
padding:10px
四边统一内边距 ...
使用JSON Server快速搭建服务端接口
介绍JSON Server的作用是用来模拟服务端接口数据,一般用在前后端分离后,前端人员可以不依赖API开发,而在本地搭建一个JSON服务,自己产生测试数据
安装和启动安装使用npm安装,安装命令如下:
1npm install -g json-server
启动要在JSON数据文件所在的文件夹打开cmd命令窗口并使用以下命令,启动命令如下所示,默认端口是3000,使用的数据文件是db.json(没有这个文件会自动新建,名称可以自己改掉)
1json-server --watch db.json
如果要修改端口加上--port参数,后面接端口号,下面命令的端口号是1314
1json-server --watch --port 1314 db.json
相关启动参数如下表所示
参数
简写
默认值
说明
--config
-c
指定配置文件
[默认值: “json-server.json”]
--port
-p
设置端口 [默认值: 3000]
Number
--host
-H
设置域 [默认值: “0.0.0.0”]
String
--watch
-w
W ...
Microsoft Office Excel隔行设置背景颜色
概述隔行设置背景颜色可以让Excel表格更易读,平时数据少的时候可以按住CTRL键同时使用鼠标选中要设置背景颜色的单元格(虽然简单,但是操作起来容易出现漏选或多选),所以最好还是通过设置规则来实现隔行设置背景颜色比较好
实现过程选中单元格首先选中所有要隔行设置背景颜色的单元格,不用选上表头
新建规则根据下图打开新建规则界面
根据下图填写规则公式和选择背景颜色及其它样式,最后点击确定即可
关于公式=MOD(ROW(),2)=0的解释:行数除以2取余,余数为0(这里的行数从表头开始数,也就是说表头是第1行),该公式的取反公式为:=MOD(ROW(),2)=1,用哪个公式根据自己的情况选择
JavaScript使用Promise保证程序按顺序执行(上面的代码执行完才会执行下面的)
概述有时候下面的代码有参数需要从上面执行的异步函数中获取,但是当异步函数没有执行完时,下面的代码就执行完了(此时参数为空),从而出错
由于JavaScript是单线程的,所以代码的执行是同步的,代码从上至下执行,这里贴一下JavaScript代码的执行顺序:(原因可以查看下面的JavaScript运行机制)
同步代码,包括promise的构造函数
promise.then()中的代码
setTimeout函数,关于该函数的等待时间:最小值不得小于4毫秒,如果低于这个值,则默认是4毫秒
JavaScript运行机制同步代码(包括promise的构造函数)在执行栈中执行,同时异步任务按顺序进入异步任务队列(队列是先进先出的),然后将异步任务分配到微任务队列(nextTick,Promise.then())和任务队列(DOM,AJAX,setTimeout,setImmediate)
同步代码执行完毕后,微任务队列中的异步任务依次进入执行栈并执行,每次进入一个,执行完毕后再进入下一个,这就是Event Loop(事件循环),最后执行任务队列的异步任务
解决办法我们可以使用Promise ...
封装Axios请求
概述封装了Axios请求,可以添加请求拦截器以便在发送请求之前做些什么(例如统一加JWT请求头给后端验证),还可以添加响应拦截器以便对响应数据做点什么
代码实现安装Axios1npm install axios
封装Axios请求封装了三个方法:get请求、post请求、文件上传
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123/** * 引入axios */import axios from "axios";/** * 请求的IP地址和端口 * @type {string} * ...
Java生成和验证JWT
JWT介绍关于JWT的详细介绍可以查看博客:JSON Web Token 入门教程 - 阮一峰的网络日志 (ruanyifeng.com)
或者直接去官网了解(官网可直接解码JWT):JSON Web Tokens - jwt.io
代码实现引入依赖该依赖的接口文档网址为:JWT - java-jwt 4.2.1 javadoc
123456<!-- https://mvnrepository.com/artifact/com.auth0/java-jwt --><dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>4.2.1</version></dependency>
生成和验证我把JWT的生成和验证封装成了一个工具类,以方便调用
12345678910111213141516171819202122232425262728293031323 ...
微信小程序结合Java实现登录
概述微信小程序通过wx.login函数登录时,会返回一个code,后端拿到这个code向微信接口服务请求可以拿到openid,后端根据openid在数据库中查询这个登录的用户是否存在,不存在则向数据库新增这个用户的信息然后返回给微信小程序,微信小程序使用wx.setStorageSync函数保存用户的信息以保持登录状态
实现流程图
代码实现获取code并传给后端requestUtil是封装的wx.request方法,详情查看博客:微信小程序封装请求的地址(IP地址以及端口)和方法 | LeDao’s Blog (zoutl.cn)
12345678910111213141516171819202122//当顾客未登录时if (!wx.getStorageSync('currentCustomer')) { //登录 wx.login({ success: (res) => {//登录成功 //请求后端,给后端发送code以获取openid requestUtil({ url: '/custome ...
微信小程序商城
项目地址前台小程序代码:a6678696/mall-wx: 微信小程序商城前台 (github.com)
后台管理系统代码:a6678696/mall-web: 微信小程序商城后台 (github.com)
服务端代码:a6678696/mall-admin: 微信小程序商城服务端 (github.com)
使用的技术
所属项目
技术
版本
说明
服务端
MySQL
5.6
数据库
Spring Boot
2.2.6.RELEASE
后端项目框架
Mybatis-Plus
3.5.3.1
持久层框架
Druid
1.2.15
数据库连接池
Gson
2.10
Java对象序列化/反序列化库
Commons IO
2.11.0
用于协助开发IO功能
Hutool
5.8.11
Java工具类库
java-jwt
4.2.1
Java推荐的JWT依赖
后台
Vite
4.0.0
前端构建工具
Vue.js
3.2.45
前端JavaScript框架
Vue Router
4.1.6
Vue.js 的官方路由
Axio ...