自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

用尽一切奔向 "你"

博客主要内容是日常学习笔记以及技术上一些总结。如有那些总结不对的地方,希望能够及时指出,大家一起进步!!

  • 博客(206)
  • 资源 (5)
  • 问答 (2)
  • 收藏
  • 关注

原创 通过Vite2.0创建前端项目(Vue3、Vue2、React)

一、 Vite 创建 Vue3 项目打开 cmd 运行 npm init @vitejs/app项目目录文件及其分类package.json 文件内容在 Vite 中是不支持 eslink 语法校验的,需要自己配置。npm run dev 启动项目 此时就已经通过Vite2.0来曾经项目成功。补充:项目中三个文件(index.html、main.js、App.vue)的关系因此在 Vite2 搭建的项目中,index.html 是必须存在的,不能删除。接下来,在

2021-09-14 17:19:44 420

原创 vue全家桶搭建前端页面注意细节及遇到的难题

一、使用vue脚手架创建项目不懂点这里下载相关插件二、插件注册具体细节(以下操作是在 main.js)element-ui ( PC端组件库 )// main.js文件中import 'element-ui/lib/theme-chalk/index.css'// 按需加载import { Message } from 'element-ui'import { Button } from 'element-ui'// 在 html 中直接<el-button>&l

2021-06-10 18:03:29 1048 6

原创 第二天:继续完善路由层(router)及数据层(controller)

上一篇接着上一篇完善路由一、创建数据模型作用:统一规定返回数据到客户端时,数据的格式保存一致在src文件下创建model文件夹并在其目录下创建resModel.js文件class BaseModel { /* data是返回到客户端的数据(对象类型),message是错误信息(字符串类型) 如果errno=0,请求成功 通过data来获取数据 如果errno=-1,请求失败 通过message来获取错误的具体原因 */ construc

2021-02-27 14:32:29 1186 2

原创 微信小程序获取微信运动步数(30天)

一、微信小程序获取微信运动步数思路:第一步先获取临时code(通过wx.login()api接口获取到)。第二步获取会话密钥session_keyhttps://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code)secret appid在微信公众公众平台获取即可代码实现获取code session_k

2020-08-28 11:32:30 3955 1

原创 微信小程序后台管理系统(后端)笔记

一、前期框架的搭建后台采用的框架为Koa2框架,编程软件为vs code,node环境步骤一:创建一个空文件步骤二:在vs code打开该文件,并按ctrl+`打开终端步骤三:输入命令npm init(初始化package.json),也可以用npm init -y(直接默认初始化package.json)*步骤四:输入命令npm install koa(下载koa)二、获取AcessToken(接口调用凭证)      获取

2020-08-20 19:36:21 3661

原创 【明年找到好工作】:面试题打卡第六天(vue2篇)

1、computed 基本使用2、watch基本使用3、区别computed:watch:已上面为例子,如何单纯监听 info 中 age的变化### 二、事件绑定1、基本使用2、注意1、基本使用四、v-show和v-if 的区别1、基本使用2、注意从原理看:v-if:动态创建和销毁(即声明周期会重新执行一遍)v-show:纯CSS样式的显示和隐藏(即声明周期不会重新执行一遍)从性能看:v-if:需要更高的切换开销v-show:性能好1、基本使用六、遍历数组及对象1、基本使用七

2022-09-24 10:47:43 277

原创 【sciter】封装穿梭器组件总结

以下穿梭器组件分为两种,一种是树形结构穿梭器,另外一种是列表结构穿梭器。最终实现的效果:调用方可以通过抛出方法,对组件进行初始化,配置参数。组件根据参数生成相关组件。穿梭器实现的功能点对数据项进行操作增加:点击增加按钮,可以从左容器中获取到被选中的数据项,并将其添加到右容器中。此时左容器中的数据项为禁止状态删除:点击删除按钮,可以从右容器中获取到被选中的数据项,并将其添加到左容器中。此时左容器中的数据项后根据右容器传递过来的数据项进行匹配解除禁止状态。

2022-09-22 20:01:01 174

原创 【sciter】组件封装总结

1、如何确保样式不发生覆盖由于组件封装使用的是原生能力(html,css,js)。因此在使用类名时添加一个前缀码(shuttle)。}2、如何确保一个页面中使用多个一样的组件时组件不发生冲突场景引入:在某些情况下,更新数据,将数据显示在页面中,需要手动去生成DOM元素往页面添加。(虽然可以使用),但这有缺点,后面会在细讲。在渲染DOM时,需要绑定事件对象,这里就引出一个问题 this 指向的问题。处理不好就会出现this指向出现两种不同的情况(指向事件本身或组件本身),这里后面也会细讲。

2022-09-20 19:16:26 160

原创 【sciter】 组件化编程解决事件冒泡不生效

"通过原生dom生成"

2022-09-13 19:53:05 94

原创 【明年找到好工作】:面试题打卡第五天

数字证书是指在互联网通讯中标志通讯各方身份信息的一个数字认证人们可以在网上用它来识别对方的身份。它的出现,是为了避免身份被篡改冒充的。

2022-09-07 20:03:56 176

原创 【明年找到好工作】:面试题打卡第四天

CSRF(跨站请求伪造)攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨域请求,利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击网站执行某项操作的目的。XSS(跨站脚本攻击)是一种代码注入攻击,攻击者通过在目标网站上注入恶意脚本,使之在用户的浏览器上运行,获取敏感信息(Cookie、sessionID)在请求地址中添加token并验证;,如果在构建过程中遇到js脚本或外部js链接,则会停止DOM树,来执行和下载js代码,这就会造成阻塞。

2022-09-02 20:27:16 108

原创 【明年找到好工作】:面试题打卡第三天

1、如果服务器使用协商缓存,第一次发送请求从服务端获取到资源后,会将资源在本地进行缓存。如果在浏览器本地缓存中缓存了文件,若后台打开了该文件,并进行编辑,但最终保存内容没有发生变化,但此时。4、若不一致,服务器就会返回给浏览器200的状态码,并且返回最新的资源和新的资源标识符。3、到达服务器,看是否命中协商缓存,命中则返回304,否则服务器会返回新的资源。1、第一次请求资源时,服务器返回资源,并在响应头部中注入回传资源的缓存参数。2、第二次请求时(相同资源),浏览器会先查看该资源的缓存参数,通过判断。

2022-09-01 19:23:17 185

原创 【明年找到好工作】:面试题打卡第二天

1、声明位于文档中的最前面位置,处于标签之前2、告知浏览器文档使用哪种HTML或XHTML规范3、重点:告知浏览器按照何种规范解析页面4、严格模式下:页面排版及JS解析是以该浏览器支持的最高标志来执行5、混杂模式下:不严格按照标志执行,主要用来兼容旧浏览器,向后兼容6、Doctype 不存在或格式不正确会导致文档以混杂模式呈现。...

2022-08-30 20:52:26 174

原创 【明年找到好工作】:面试题打卡第一天

在http1.x中,使用的是文本形式进行传输,如果在header中需要携带cookie,则每次传输都传输重复数据。在http1.x的首部信息会被封装到Headers帧中,而Rquest Body则封装搭配Data帧中。因此,在页面需要请求很多资源时,队头会出现阻塞,只有等待前面资源加载完毕后才会加载下一个资源。而在http2.0中,基于二进制分帧,将http消息拆分成独立的帧(在不破坏信息的前提下),2、TCP提供可靠的服务(通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达)...

2022-08-29 22:03:22 526

原创 双指针算法(更新中....)

双指针算法顾名思义就是采用左右指针,对数组、字符串进行查找或排序。常见的采用双指针算法方式有以下几个。这里主要是使用第三种方法(双指针),其他两种方法可以看这里。根据前面几点要求,此时 A 所站位置为坑,B为其填坑。首先,一连串待排序的数值指的是该排萝卜的大小。从中间向两边进行扩散,两边向中间进行集合。两工人挖萝卜的方向,及其萝卜是否符合规则。一方坑为空时,另外一方先开始为其填坑。俩个工人相遇,则结束该次填坑。......

2022-08-05 20:13:32 854

原创 【sciter】:窗口通信

原理使用管道流的方式进行数据传送。

2022-07-20 19:42:08 68

原创 【vue3】:Excel导入导出解决方案

拖拽主要是实现一个拖拽的一个过程,上传解析跟方法一一样。方式一点击按钮,选中文件,进行上传。方式一点击按钮,选中文件,进行上传。json转二维数组工具函数。方式二拖拽文件进行上传。生成数据结构,发送给后端。方法二拖拽文件进行上传。...

2022-07-19 20:26:50 444

原创 【vue3】:全局搜索解决方案

需求用户通过搜索框进行全局搜索,与当前系统路由进行匹配,用户点击匹配结果,可以跳转到该路径下的页面。这里需要借助第三方库fuse.js。

2022-07-14 20:24:12 484

原创 应用打包及多端兼容总结

在window打包好Mac以及Linux后,在window中测试没有太大问题。在window系统中打包支持其他系统的应用,打包不成功。重启一下打包工具,此时就可以在window中打包其它系统的应用。,在window以及Mac是支持的。主要问题出现在Linux、Mac。第一个问题Linux和Mac。修改位置assemble方法。第二个问题Linux和Mac。第三个问题Linux。第四个问题Linux。第五个问题Linux。...

2022-07-14 19:38:12 179

原创 【vue3】:全屏解决方案

在原生 API 中有两个方法可以实现页面的全屏操作具体实现:https://developer.mozilla.org/zh-CN/docs/Web/API/Fullscreen_API在这里并不使用的是原生 API 而是使用

2022-07-12 20:08:03 618

原创 【vue3】:主题色解决方案

修改主题色关键点是 色值不能写死。在该解决方案中,主要涉及的是 element-plus 以及 非 element-plus 的主题色修改。对于非 element-plus 解决方法如下:1、全局定义scss变量,页面绑定该变量,通过修改该变量值,从而使页面主题色进行修改。2、并且该变量要实现响应式,永久保存(避免页面刷新色值被覆盖)。因此需要结合本地缓存以及vuex将值保存好。3、初始时通过 getters 获取主题色的同时,使用 generateColors 函数生成新的色值表,与 scss色值表 进行

2022-07-10 16:29:57 339

原创 数据可视化【highchart】——散点图

基本案例基于案例修改后效果图如下:代码:

2022-07-10 13:41:07 29

原创 数据可视化【highchart】—— 曲线图

基本案例基于案例修改后效果图如下:代码:

2022-07-10 13:28:48 85

原创 数据可视化【highchart】——横向柱状图

基本案例基于案例修改后效果图如下:代码:

2022-07-10 13:15:53 96

原创 趁上班摸鱼时间学会了vue3

1、可以通过 、来定义响应式变量* reactiveref 和 reactive 的区别2、、、三者的使用现象:(1)未点击按钮前,页面显示为 “Jack”,(2)当点击按钮后,控制台输出 “msg1: Tom; obj1: Jack”, 页面也更新为"Tom"现象:(1)未点击按钮前,页面显示为 “Jack”,(2)当点击按钮后,控制台输出" msg2: Tom;obj2: Tom;", 页面没有变化现象:(1)未点击按钮前,页面显示为 “Jack - 男”,(2)当点击按钮后,控制台输出

2022-07-08 20:38:46 430

原创 上班摸鱼时间学会了Mockjs

启动 node main.js上面案例只是把 mock 可以生成的数据类型都基本罗列出来,以及自定义生成数据。但具体配置细节这里没有细讲。如:这里写了也是cv,因此没有这个必要。而且文档更加详细,可以通过下面链接进行查看https://github.com/nuysoft/Mock/wiki很简单的,不是很难的。...

2022-07-06 16:54:42 88

原创 【vue3】:国际化解决方案

element plus非 element plus下载 根据不同 locale 使用加载不同的语言文件,element plus 无需手动加载,只需设置 或者 即可语言文件i18n实例对象全局注册 i18n对象在中使用在中使用在中使用

2022-07-04 20:39:00 158

原创 【sciter】: 基于 sciter 封装通知栏组件

方案一:原本是每创建一条通知即创建一个window窗口,但通过测试发现:关键代码:注意细节:方案二:使用 dom 来代替 window 窗口,并将其定位到屏幕右下角关键代码:注意细节:两者比较:综上:目前该组件使用的是方案二。将 tools 文件夹存放在项目根路径在main.htm文件中分别导入 tools 的及......

2022-07-04 19:49:37 79

原创 【sciter Bug篇】多行隐藏

分析总结:1、前者将字符串当成了一个单词,导致 sciter 并不会出现换行。并且这种情况在网页也会出现,属于正常情况。2、但在 sciter 中更为特殊的是一连串使用中文时,同样也会出现前者的情况。而在网页中是不会出现该问题的。在 sciter 中:相比较于英文字符,中文字符会出现省略号,而英文是直接全部字符展示出来,并不会出现省略号在网页中:...

2022-07-04 19:45:18 54

原创 vue3基本使用笔记(更新中)

# vue-router# vuexuser 模块快捷获取值 getters在入口文件中注册 user 模块及 getters在页面中使用

2022-06-26 16:54:41 171

原创 【vue3】:前端登录功能解决方案

# 配置接口代理# 封装 axios 模块# 基于 localstorage 封装保存服务端返回的 # 封装 接口请求 模块# 封装登录请求动作单独将有关用户部分的请求封装到 中的模块中在 store 入口文件中注册 user 模块# 登录鉴权在访问项目时,需要判断用户是否已经登录了,登录了则直接进入到主页。反则,跳转到登录到页面。使用 前置路由来进行登录鉴权...

2022-06-26 16:14:57 168

原创 【vue3】:Icon 图标处理方案

图标无非是两种图标,及因此:我们需要封装一个可以兼容和的组件基本代码引入 中的文件,并全局注册组件在 src 目录下创建 icons文件夹,并在其目录下创建svg文件夹用于存放图标,及注册文件 将 引入到在加载的图标中,需要使用及修改webpack才能加载出图标loader:svg-sprite-loader@6.0.9基本使用...

2022-06-25 21:46:44 495

原创 【sciter】: sciter-fs模块扫描文件API的使用及其注意细节

#异步API#需要注意的地方1、使用同步扫描API1.1 如果该路径下的文件数或者目录数过多时,由于是同步扫描,会导致sciter此时占用大量CPU资源去扫描,进而会出现窗口卡死,或者闪退。1.2 解决方法使用异步扫描2、使用异步扫描API 时2.1 如果当前扫描的目录中文件数或者目录数过多,在执行遍历(for)时,速度会很慢。导致调用方通过控制台输出数据时,会造成错觉以为没扫出文件。但实际上是有在执行,并且相比较同步扫描,最大的优势是:不会卡死。如果怕等待该目录全部数据扫描完毕再执行下一步操作(

2022-06-24 15:58:06 66

原创 [sciter]:sciter如何使用i18实现桌面应用多语言切换及其利弊

使用,语言文件 langs/en.js语言文件 langs/zh.js# 页面 app.htm#使用 iframe 加载 i18 及 页面#sciter使用i8不足的地方在加载语言文件时,是全部重新加载文件,并不会单独加载语言文件。进而可能会导致一些数据丢失。解决办法:(1)将一些变量保存在全局变量中(窗口),只要窗口不关闭,该变量一直存在(2)对于一些比较复杂的数据结构可以使用storage,类似于浏览器中的,。但根据sdk所给的案例,运行会出现报错的情况。综上:以上只能解决数据

2022-06-24 15:15:37 124

原创 【sciter】原生js封装一条实时加载数据的滚动条

原生js封装一条实时加载的滚动条

2022-06-03 08:59:59 59 1

原创 sciter路由

# 路由Asideclass Aside extends Element { asideId; list; constructor(props) { super(); this.asideId = props.asideId; this.list = props.list; this.navigateto = props.navigateto; } render() { return

2022-05-17 19:42:54 71 4

原创 sciter滚动触底加载数据

<table id="#table"> <thead><thead> <!-- this 是组件 --> <tbody onscroll={this.scroll}></tbody></table>function scroll() { timerId && clearInterval(timerId); timerId = setTimeout(() => {

2022-05-13 09:02:14 56

原创 sciter组件更新与事件绑定

组件更新方法一:给组件绑定 key 值,当执行render() 方法时,产生一个随机数,使其更新class App extrend Element { render() { return <List key={Math.random()} /> }}只要 key 改变,组件 List中的所有元素(组件的组件)都会更新,并且组件中 css文件会重新加载原生 DOM 元素也可以绑定 key 值,使其元素下的所有元素更新方法二:通过 this.com

2022-05-13 09:01:22 71

原创 sciter实现异步扫描系统文件信息

APIimport * as sys from "@sys";// 读取 parentPath 目录下的信息let list = sys.fs.$readdir(parentPath);// 读取文件信息let info = sys.fs.$stat(parentPath + list[0].name);思路完善之前的设计思路有一个地方考虑的不是很充分,没有对异步任务的数量进行控制,导致一旦启动扫描任务,目录嵌套过深,会把整个sciter卡死掉。由此:封装了另外一个Limit类

2022-05-10 20:37:52 79

原创 sciter扫描文件设计思路

创建线程,加载线程文件功能点一:扫描文件初始化环境(1)接收到路径,并读取该路径下的文件(未判断是否为文件或目录),拼接绝对路径,再将其一次性压入路径栈(filestack)(2)启动定时器执行扫描文件启动扫描:步骤一:判断路径栈(filestack)是否为空,并且当前正在扫描的集合(fsSet)是否为空为空,清除扫描定时器(timerID),结束扫描不为空,进入步骤二步骤二:从路径栈中取出栈顶,读取该路径下信息若为文件:保存到全局文件数组(list)中若为目录:不做任何操作,结

2022-05-05 20:56:16 185

软件工程期末设计(校园教务系统)

后端:servlet+tomcat+Mysql+navicat数据库可视化+myeclipse 前端:jsp+html+ajax+Bootstrap+jquery

2021-01-14

Vue-DevTools插件下载

免费下载

2020-11-26

对Storage进行封装

该资源涉及的内容有1、获取缓存mall下的全部模块。2、获取某一个模块下的key中的value值。3、增加key。4、在与user同级下添加一个key。5、在user模块下添加一个key。等功能模块

2020-11-26

微信小程序获取微信运动30天运动步数

该资源是一个小例子,获取微信运动30天运动步数。使用微信开发软件进行开发,涉及到的技术有云函数,以及第三插件的使用,最后还涉及微信小程序对请求回来的进行解密。

2020-11-26

Android期末小项目

期末小项目涉及的内容有用户登录注册模块,通讯录模块,个人信息模块,精彩视频推荐模块。涉及到的开发软件是Android studio

2020-11-20

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

TA关注的人

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