- 博客(351)
- 资源 (3)
- 收藏
- 关注
原创 单点登录SSO
具体而言,集成系统作为 OAuth 的客户端应用,需要提供一些信息给门户网站,例如注册客户端应用并获得客户端ID和客户端密钥等凭证,然后将用户重定向到门户网站的认证页面,以便用户进行身份验证并授权客户端应用访问特定资源。一旦用户完成身份验证和授权,门户网站将向客户端应用颁发访问令牌,并将访问令牌发送给客户端应用,后者可以使用该令牌来访问受保护的资源服务器。然而,OAuth服务端在验证客户端应用的身份时,可能会使用其他方式来确保客户端应用的真实性和安全性,而不仅仅依赖于用户代理值。
2023-09-03 23:43:59
311
原创 Window常用命令
第一步:查看端口占用情况:打开cmd,输入netstat -ano | findstr 服务端口号第二步:打开任务管理器-详细信息,根据PID找到任务,结束任务即可清理每日产生的系统垃圾清理电脑磁盘垃圾自动清理当前所有的系统垃圾解决方法:win + R 输入gpedit.msc进入组策略如果电脑找不到gpedit.msc。
2023-04-12 21:53:48
825
1
原创 WebSocket详解-02
心跳重连机制:前端在WS连接成功的情况下,开始执行心跳函数,首先向服务器端发送ping信息, 服务器内若收到信息则会返回pong信息。对于client发送server的心跳: * 如果<cx>为0(client不能发送心跳)或者<sy>为0(server不想接收心跳),将不起任何作用。heartbeat.outgoing:客户端发给服务端的心跳,* 0表示它不能发送心跳 * 否则它是能保证两次心跳的最小毫秒数。对于server发送client的心跳:心跳频率为MAX(<cy>,<sx>)毫秒数.
2023-04-12 21:34:29
2117
原创 页面布局基础知识
静态布局,也称为固定布局,是一种传统网页设计。页面布局使用绝对长度单位,采用固定宽度。忽略浏览器实际,网页布局始终按照最初写代码时的布局来显示。
2023-04-11 22:27:19
1238
原创 CSS基础知识点-01
但有时会发现,伪元素使用了单个冒号,这是由于旧版本的W3C规范并未对此进行特别区分,因此目前绝大多数的浏览器都支持使用这两种方式表示伪元素。当鼠标点击激活a链接时,同时满足:link、:hover、:active三种状态,要显示a标签激活时的样式,必须将:active声明放到:link和:hover之后。因此得出LVHA这个顺序。伪类一般匹配元素的一些特殊状态,,如hover、link等,而伪元素一般匹配的特殊的位置,比如after、before等。content属性是伪元素独有的,可以修改伪元素的内容。
2023-04-11 21:16:20
600
原创 CSS常用代码片段-01
word-wrap和word-break配合使用可以有效解决换行问题。如下代码所示,实现多行文本超出,末行显示省略号。如下代码所示,实现单行文本溢出显示省略号。利用box-reflect实现文字倒影。固定宽度的块状元素中,内容换行如下所示。如下代码所示,实现文字垂直排列。如下两段代码任选其一。
2023-04-09 01:46:49
234
原创 使用Node搭建一个简单的Web服务
2、运行npm install http-server -g 安装http-server。备注:http-server是一个用于处理HTTP请求的服务器,可以用来提供Web服务。1、在指定目录下打开cmd,运行npm init,将生成一个package.json文件。http-server默认以index.html文件为入口文件。第一步:使用npm init创建Node工程,安装http-server。执行npm run serve即可启动项目。使用Node搭建一个简单的Web服务。
2023-03-22 00:22:24
519
原创 前端小知识-01
如果用户已经在该网站登录过,并且浏览器中保存了该网站登录状态的cookie,那么再次登录时,就可以直接使用cookie中保存的登录状态了,而无需再次输入用户名和密码。通过获取cookie中的登录状态,可以判断当前用户是否处于登录状态,如果是,则可以直接跳转到已登录的页面,如果不是,则需要进行登录操作,这样可以提高用户体验,并避免用户重复登录带来的不便。当子页面和主页面的域名不同时,会受到浏览器同源策略的限制,子页面无法直接访问主页面的cookie,也无法访问自己域名下的cookie。
2023-03-18 15:02:49
8481
原创 ES6—const关键字
一、概述 const是ES6新增的关键字,作用是声明一个只读的常量。注意,常量标识符一般用大写字母表示。const A = 100;A = 200; // 报错:Uncaught TypeError: Assignment to constant variable 使用const声明常量有如下四个特点。1)声明时必须立即赋值,之后不允许修改常量值2)不允许重复声明3)块儿级作用域4)不存在变量提升二、详解声明时必须立即赋值 ...
2021-09-27 23:07:34
866
原创 ES6—let关键字
一、概述 let是ES6新增的关键字,作用是声明变量。let a; // 单个声明变量let b, c, d; // 批量声明变量let e = 100; // 单个声明变量并赋值let f = 100, g = 200, h = []; // 批量声明并赋值使用let声明的变量有如下四个特点。1)不允许重复声明2)块级作用域3)不存在变量提升4)不影响作用域链二、详解不允许重复声明 如下代码所示,let不允许在相同...
2021-09-23 23:21:06
348
原创 ES6—简介
一、概述概念ES6全称ECMAScript 6.0,是Javascript语言的下一代标准,2015年6月正式发布。 注意,ES6即是一个历史名词,也是一个泛指,含义是5.1版本之后的下一代Javascript标准,涵盖了ES6、ES7、ES8等。什么是ECMA ECMA中文名称为欧洲计算机制造商协会,该组织的目的是评估、开发和认可电信和计算机标准,1994年更名为Ecma国际。ECMAScript和JavaScript是什么关系...
2021-09-22 14:11:48
545
原创 查询数组中最大值
目录一、概述二、详解一、概述提供三种获取数组最大值的方法。二、详解方法1:排序法let arr = [4, 5, 6, 2, 3, 1];arr.sort(function (a, b) { return a-b;}); // [1, 2, 3, 4, 5, 6]let min = arr[0]; // 1let max = arr[arr.length - 1]; // 6方法2:使用Math.min和Math.maxv...
2021-09-04 23:49:23
135
原创 Vue—单页面应用与多页面应用的区别
目录一、概念二、区别一、概念多页面应用多页面应用,翻译为multi-page application,简称MPA。多页面应用是指每次页面跳转时,后台服务器都会返回一个新的HTML文档。单页面引用单页面应用,翻译为single-page application,简称SPA。单页面应用不像多页面应用,每次页面跳转时都会请求一个新的HTML文档,单页面应用只会请求一个HTML文档。页面内容变化时,仅仅在刷新页面中的组件。用vue-cli可以搭建基...
2021-09-04 23:27:15
1172
原创 postMessage详解
目录一、概述二、详解一、概述作用 该方法是HTML5引入的API,可以通过异步方式实现跨源通信,多用于窗口间数据通信。它提供了一种受控机制来规避不同源脚本无法通信的限制,只要正确使用,这种方法很安全。 什么是跨源 同源即指相同的协议、域名或IP、端口号。浏览器具有同源限制,同源脚本可以相互通信,一般非同源(跨源)的脚本文件禁止相互通信。二、详解语法示例-发送程序&...
2021-08-21 16:35:34
4705
转载 WebSocket详解-01
目录一、概述二、详解一、概述WebSocket的定义 WebSocket是Html5提供的一种在单个TCP连接上进行双向通信的协议,解决了客户端和服务端之间的实时通信问题。浏览器和服务器只需要完成一次握手,二者之间就可以创建一个持久性的TCP连接,从而实现双向实时通信。WebSocket的优点 很多网站利用AJAX轮询实现数据推送,轮询是在特定时间间隔,由浏览器主动发起请求,将服务器的数据拉回来。轮询需要不断向服务器发送请求,会占用很多带宽和服...
2021-06-28 14:51:50
2111
原创 React—JSX详解
目录一、概述二、用法一、概述什么是表达式JS中表达式是运行之后会返回一个值的代码片段。什么是JSXJSX是React提供的语法糖,是JS和XML结合的一种格式,是一种JS语法扩展。JSX允许在JS中编写HTML,创建虚拟DOM。浏览器执行JSX语句时,遇到小括号(小括号有时可以省略),当HTML解析,遇到花括号,当JS解析。JSX语句本身是一个表达式,编译后会成为一个普通JS对象。注意,JSX表达式的最外层肯定是一对标签。如下代码所示,花括号中只能添加表达式,不能
2021-06-17 09:59:49
202
原创 初探GPU硬件加速
目录一、概述二、基本概念三、硬件加速的启用四、拓展一、概述项目开发中遇到因启用硬件加速导致的闪屏问题,特此整理相关基础知识,已备后续查阅。二、基本概念概念1:什么是GPUGPU是显卡上的一块芯片,英文全称Graphics Processing Unit,翻译为图形处理单元。GPU是相对于CPU的一个概念,现代计算机中图形处理的重要性日益提高,GPU是一个可以专门用来处理图形的核心处理器,现代浏览器大多可以利用GPU来加速页面渲染。 注意,图形渲染是GPU问世的初衷,但
2021-06-03 20:39:37
7700
原创 Vue—路由传参的几种方式
目录一、概述二、详解一、概述$route为当前路由对象。$router为全局路由实例,即VueRouter实例。二、详解如下图所示,以子组件接收参数的方式为标准,路由传参可分为三种方法。方法一:利用动态路由传参如下代码所示,配置路由。{path: '/a/:num', name: A, component: A}父组件中执行切换路由操作及传参,如下代码所示。// 方法1:使用router-link路由导航<router-link to="/a
2021-04-03 19:54:58
288
原创 Vue-Vant—全局路由拦截
一、概述定义路由时,使用requireAuth字段可以开启路由拦截功能,进入路由前进行判断,一般用来判断是否登录,如果已经登录,则顺利进入路由,若没有登录,则跳转到登录页。二、详解开启路由拦截拦截后的判断...
2021-03-25 09:43:47
389
原创 DatePicker组件—常用功能示例
目录一、概述二、详解一、概述ElementUI框架中日期选择器的常用操作。二、详解示例1:禁止选择今天之后的日期如下代码所示,添加picker-options属性,即可实现目标需求。<template> <el-date-picker v-model="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="date".
2021-03-16 14:16:01
342
原创 Dialog组件—弹窗拖拽功能
目录一、概述二、详解一、概述问题:ElementUI框架中的Dialog弹窗组件没有提供可拖拽功能,开发中需要自己实现。二、详解解决方案Vue中自定义指令实现弹窗的拖拽功能。代码示例创建一个drag.js文件,文件中定义一个拖拽的全局指令,代码如下所示。import Vue from 'vue';/** * v-dialogDrag 弹窗拖拽指令 */Vue.directive('dialogDrag', { // 钩子函数,第一.
2021-03-08 15:27:51
984
原创 Vue—常用组件记录
一、概述记录Vue中常用的组件。二、详解序号 名称 说明 参考地址 1 vue-tree-color 树状结构图 https://www.cnblogs.com/10ve/p/12573772.html 2 vue-draggable-resizable 拖拽组件 https://www.cnblogs.com/wangweizhang/p/112
2021-03-04 17:51:10
186
原创 Vue—package.json文件详解
一、概述package.json是项目初始化时,根目录下自动生成的配置文件,定义了项目的基本配置信息以及需要依赖的各种模块。package.json配置文件中包含许多元信息,例如项目名称、版本等,npm install命令就是根据该配置文件下载具体的依赖包。二、详解三、拓展:版本号版本号一般包含三部分,分别是主版本、次要版本和补丁版本。一般次要版本号发生变化,即代表项目有重大更新。拓展1:波浪号版本号前使用波浪号,表示版本范围,大致匹配某个版本。版本号 版本..
2021-01-28 23:30:19
1638
2
原创 Vue-Vant—打包apk
目录一、概述二、详解三、拓展一、概述App采用混合开发模式,技术选型为Vue+Vant,本文详细研究项目打包Apk的流程。Vue项目打包Apk有两种最常用的方法,其一使用Dcloud-HbuilderX打包Apk,其二使用Cordova打包Apk。注意,本文只介绍HbuilderX打包,Cordova忽略。二、详解第一步:下载HbuildX如下图所示,下载HbuilderX,地址为:https://www.dcloud.io/。第二步:项目设置publicP
2021-01-18 16:34:01
5037
1
原创 Vue-Vant—纯JS实现rem与px换算
一、概述不利用插件,手写JS实现rem与px的换算。已知1rem等于根标签的字体大小。二、详解如下代码所示,假设640的设计稿,设定1rem等于10px。; (function (win) { // 获取根标签 var docEl = document.documentElement; // 定时器 var _t; function refreshFn() { // 获取窗口的宽度 var _width = docEl.getBoundingClien
2021-01-14 21:46:05
769
原创 VSCode—用户片段功能
目录一、概述二、详解三、实例一、概述项目开发中,存在很多重复代码,可将其抽取出来定义成自己的代码片段,提高编码效率,实现快捷开发。二、详解详解1:选择并打开代码片段文件详解2:删除代码片段文件代码片段文件创建后会一直保存在本地电脑中,无法直接在VSCode中执行删除操作,必须手动删除。如下图所示,开启VSCode的导航路径,根据路径找到代码片段文件所在位置,直接删除即可。详解3:选择或创建代码片段文件用户手动创建的代码片段分为两种类
2021-01-05 15:12:31
3685
1
原创 VSCode—配置代码发光效果
目录一、概述二、详解一、概述推荐一个VSCode主题,即SynthWave '84,该主题搭配Custom CSS and JS插件,可以设置很炫酷的代码发光效果。二、详解第一步:安装主题SynthWave '84如下图所示,安装主题插件后,在文件-首选项-颜色主题中选择SynthWave '84。第二步:安装插件Custom CSS and JS Loader该插件可以用来加载自定义的CSS或JS文件。第三步:设置自定义CSS文件,并在VSC.
2021-01-04 23:40:43
4235
原创 Vue—babel.config.js配置文件详解
一、概述Babel是一个JS编译器,主要作用是将ECMAScript 2015+ 版本的代码,转换为向后兼容的JS语法,以便能够运行在当前和旧版本的浏览器或其他环境中。Vue项目中普遍使用ES6语法,若要求兼容低版本浏览器,就需要引入Babel插件,将ES6转换为ES5。二、详解Vue3.0项目根目录中存在babel.config.js文件,即为Babel的配置文件,作用于整个项目。具体用法暂时不多赘述,详情请参考Babel中文文档:https://www.babeljs.cn/。..
2021-01-04 15:43:36
43340
3
01 postman工具
2018-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人