- 博客(112)
- 收藏
- 关注
原创 express + vue 部署宝塔
我这里是不同的账号,需要先登录服务器的账号生成授权码给到对应域名的账号。未设置登录远程服务的密码,要先设置密码。根据宝塔的需要端口设置一下云服务的安全组。进入域名账号,进行备案即可。数据库建表,连接数据库。
2025-02-16 02:08:52
227
原创 Dbeaver 下载mysql驱动失败
窗口-首选项-连接-驱动-maven-添加 maven.aliyun.com/repository/public/大概率是maven资源的仓库配置不对。
2025-02-15 21:46:35
1589
1
原创 微信小程序压缩图片
由于wx.compressImage(Object object) iOS 仅支持压缩 JPG 格式图片。2.如果大于则使用canvas进行绘制,并生成新的图片路径。1.获取文件,判断文件是否大于设定的大小。
2025-01-23 19:38:04
867
原创 node express服务器配置orm框架sequilize
搭建服务器直接读取数据库时,有些逻辑会比较麻烦,性能上也不是很好,选用orm框架式一个很好的选择,我这里使用express+sequilize。此时,已经配置好了,下面就可以使用对应的api了。引入到对应的文件中,并声明同步方法。在服务器启动时,执行方法。安装sequilize。
2024-12-21 21:08:12
212
原创 uniapp 使用css实现大转盘
4.使用v-for循环出对应的份数,依次使用transform rotate旋转对应的角度。2.使用要分配的个数,计算出角度,利用正切函数tan计算出角度对应对边长度。3.使用clip-path画出一个扇形。1.一个原型的外壳包裹。
2024-07-29 10:24:39
647
原创 uniapp 小程序注册全局弹窗组件(无需引入,无需写标签)
由于uniapp没有开放根节点,所以一般情况下通过app.components注册,在需要的页面直接写组件标签,但是如果每个页面都需要的话,再每个都加的话会非常的麻烦,于是这里采用vite插件实现,这里满足uniapp+Vue3+vite。
2024-07-13 16:42:29
1737
2
原创 css实现渐进中嵌套渐进的方法
注意:这里的采用的定位方法,所以在内部的元素一律要使用绝对定位,否则会出现层级的问题,z-index只有在定位元素有效。2.需要几个小的块级元素做绝对定位通过渐变+filter模糊来实现。1.有一个底色的背景渐变。
2024-07-11 12:42:50
410
原创 小程序的冷热启动以及强制更新
小程序启动后,此时小程序处于打开状态,用户关闭小程序或离开微信,在短时间内小程序并不会被销毁,此时小程序处于后台状态,这个时候如果用户再次进入到小程序,就是从后台状态切换到前台状态,此时小程序是热启动。但如果用户过了很久都没有再进入小程序,那么这个时候小程序可能被销毁,等用户再次打开这个小程序,此时小程序需要重新加载启动,即冷启动。如果用户是首次打开小程序,小程序也需要重新加载启动,那么这种情况也属于冷启动:冷启动的小程序,会先执行app.js中的onLaunch和onShowonLoadonShow。
2024-04-17 01:06:55
1142
原创 手写前端控制并发任务
当前执行的任务数达到最大值的时候,再继续执行的任务会放入等待队列里,直到当前任务执行结束后,减少一个当前任务数,并且判断队列中是否有任务,如果有则按顺序执行第一个。主要通过异步等待队列执行的原理。
2024-04-16 16:17:27
418
原创 使用var为什么会发生变量提升?
var定义变量时,会执行声明变量和初始化变量,所以已经有了变量实例,但是没有赋值,所以就是undefined,let定义变量时,仅仅执行了变量声明,初始化和赋值是在代码执行时才执行,所以仅仅声明了变量,没有生成变量实例,出现暂时性死区,无法访问到变量,所以就直接报错了。对于代码执行来说,分为两个阶段,准备阶段和执行阶段,准备阶段会创建作用域,作用域链,变量,形参等的声明,但是此时没有执行赋值语句,所以声明的变量为undefined,对于var是undefined,但是对于let定义的变量会直接报错。
2024-04-16 11:25:06
361
原创 手写promise
then方法,then接收两个回调,一个是成功回调,一个是失败回调;当Promise状态为fulfilled执行成功回调,为rejected执行失败回调;Promise状态不可逆,第一次成功就永久为fulfilled,第一次失败就永远状态为rejected;Promise中有throw的话,就相当于执行了reject。执行了resolve,Promise状态会变成fulfilled;执行了reject,Promise状态会变成rejected;Promise中有throw的话,就相当于执行了reject;
2024-04-15 16:04:09
271
原创 express服务器 authorization 前端获取不到的问题
其实这的原因是跨域的问题浏览器无法显示所有的响应头,需要添加设置Access-Control-Expose-Headers即可。服务器生成token 设置在响应头,但是前端获取不到。
2024-04-13 23:21:19
485
原创 手写call,apply,bind,new
如果bind返回的参数 作为构造函数使用,那么这个this的指向就无效了。三种情况都是改变this的指向,不同的是bind返回的是一个函数。
2024-04-13 00:33:35
270
原创 构造函数,原型对象,对象实例 以及原型链的关系
当我们使用构造函数new的方式创建实例对象,此时构造函数的.prototype属性就是实例对象的原型对象,实例对象可以通过.__proto__来访问到原型对象,同时实例对象会继承原型对象的属性方法。当我们访问一个对象的属性,如果当前对象没有这个属性,那么就会去原型上找,如果原型上没有,那就去原型的原型去找,直到找到为止,null是最顶层,这种链式的访问就是原型链。构造函数和原型对象的关系其实是被包含的关系,通过prototype.constructor就和可以访问到构造函数。
2024-04-11 20:18:36
271
原创 关于mysql mac 输入mysql -uroot -p 不能访问的问题
默认shell为zsh,说明安装mysql时部署的全局变量bash的效用没生效,需要配置的为。先查看mac本身安装的shell。退出终端,重新打开后输入。
2024-04-10 17:03:16
489
原创 微信小程序使用iconfont
复制内容到小程序的style文件夹下。进入项目,点击生成代码,或更新代码。进入iconfont,添加至项目。最后引入到app.wxss。
2024-04-09 13:43:52
615
原创 关于uniapp小程序的分包问题
由于使用插件默认会导入到uni_modules文件夹下,根目录下的uni_modules和components下的文件打包时会全部默认打包到主包中,那么这些插件和公共组件也需要分包处理,分包需要的插件可以放置到分包的目录下,分包下创建components文件,放入分包页面所用到的公共组件。对于uni_modules中的插件,如果是页面单独使用,那么可以放在对应分包里的页面文件下单独引入即可。如果分包公共使用的放在分包下的components文件夹下引入使用即可。分包也可以分多个,按照实际情况分包即可。
2024-02-28 21:04:12
3250
原创 自定义搭建管理系统
2.左侧Sider的路由控制,搭配tab组件,以及面包屑,完成路由各种情况的跳转。6.页面开发,主要使用antd,echarts等工具,假数据使用mock假数据。tab控制Sider菜单以及面包屑,包括左右跳转以及关闭全部;4.处理非系统路由,进入500页面,也不出现在layout中。3.路由拦截,登录页面是不可以出现在layout布局中的。1. 基建布局,使用antd的Layout布局。路由的变化控制tab,sider菜单以及面包屑。左侧菜单控制tab以及面包屑;代码:。
2024-02-25 21:08:42
743
原创 react 实现路由拦截
简单介绍下项目背景,我这里做了一个demo,前端使用mock数据,然后实现简单的路由拦截,校验session是否包含用户作为已登录的依据,react-router-dom是v6。不像vue可以设置登录拦截beforeenter,react需要我们自己加。Surpense组件是react组件懒加载的时候,路由跳转了,由于网络原因,组件内容无法及时过去,不添加会报错。
2024-02-18 11:15:48
928
原创 记录关于node接收并解析前端上传excel文件formData踩的坑
尤其要注意formData对象进行append,下面写法有问题,会造成下面的情况,传给后端是非二进制流。这种情况下,文件不会出现在files里,反而会出现在fields里。
2024-02-02 23:33:04
909
原创 vue源码(一)
npm i:添加 --sourcemap此处使用vue的版本是2.6目录:dist 发布目录examples 范例flow 试代码scripts 构建脚本src 源码compiler 编译器相关core 核心代码components 通用组件如keep-aliveglobal-api 全局apiinstance 构造函数等observer 响应式相关utilvdom 虚拟DOM相关......术语解释:runtime 仅包含运行时,不包含编译器。
2024-01-01 17:33:35
948
原创 简单自定义vuex的设计思路
vuex集中式存储管理应用所有组件的状态,并以响应的规则保证状态以可预测的方式 发生变化。步骤:1.Store类,保存选项,_mutations,_actions,getters2.响应式状态:new Vue方式设置响应式。3.get state 和 set state commit dispatch4.install方法 挂载store到vue的原型对象上,所有实例都可以读取到。
2023-12-06 17:26:00
1088
原创 自定义插件vue-router简单实现hashRouter设计思路
此时我们不再使用current来做响应式,使用matched数组获取匹配关系,VueRouter实例创建时调用match方法,获取路由数组,并且在路由发生变化时重新获取路由数组matched。思路:参考源码思路,给当前routerView深度标记,然后根据当前页面路由获取当前路由数组,其中包括一级和二级路由,然后使用depth获取对应的组件,然后并渲染。但是每次都要去遍历循环字典,也不是很合理,我们可以优化一下,缓存一下path和route映射关系。1.挂载 vue.prototype.$router。
2023-12-06 16:56:02
587
原创 vue2框架简易版响应式设计(观察者模式)
添加数据劫持方法// Vue.js//Observer专门用于数据劫持data;get() {console.log(`使用了${key}这个属性`);},set(val) {console.log(`修改了${key}属性`, val);})walk() {})age:11对于data来说,我们自己数据劫持存了一份在$data,并且还将$data中每个数据都再次存在了vue实例上,创建Vue类。//$data上的所有数据都要数据劫持//$data存放所有的数据。
2023-12-03 22:54:16
843
原创 关于数据劫持原理(vue2和vue3)
数据劫持,指的是在访问或者修改对象的某个属性时,通过一段代码拦截这个行为,进行额外的操作或者修改返回结果。
2023-12-03 17:46:31
722
原创 关于qiankun沙箱sandbox(面试题)
完成了一个简易沙箱,但是会遍历window的所有属性,非常消耗性能,方案不是很可取,与此同时,影响了window上的值,如果多个微应用就可能会产生冲,只能激活一个微应用。主应用和子应用,相同的全局变量,可能会发生冲突,子应用和子应用之间,相同的全局变量,也可能会发生冲突。不需要遍历window上的所有属性,性能良好,但是依然改变的是window上的值,但同一时间还是只能激活一个微应用。这种ProxySandBox不需要遍历window上的所有属性,性能良好,同一时间可以激活多个微应用互不干扰。
2023-12-02 22:02:43
1035
原创 Uniapp小程序开发踩坑日记
最近开发一套微信音乐小程序框架使用vue3,但还是要吐槽一下,有时候会突然报错,怎么也调试不好,过段时间自己又好了,这让开发者体验极差。下面说下遇到的一些问题。如果使用vue2 子组件的暴露给父组件的写法会报这个警告。
2023-11-18 20:38:10
797
关于webpack搭建的资源,有问题欢迎指正
2023-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人