avatar
文章
63
标签
28
分类
11

主页
标签
分类
归档
关于我
面试题
liang yong gang
搜索
主页
标签
分类
归档
关于我
面试题

liang yong gang

markdown语法
发表于2024-01-04|更新于2024-01-04|基础|markdown
标题(一级标题对应h1)后面得有个空格 123456# 一级标题 对应h1## 二级标题 对应h2### 三级标题 对应h3#### 四级标题 对应h4##### 五级标题 对应h5###### 六级标题 对应h6 效果如下(数字序号1.1.1是我自己加的): 二级标题三级标题四级标题五级标题六级标题引用说明区块1> 此处是引用 此处是引用 代码块少量代码 单行使用<html></html> 大量代码 多行使用123<html> <body></body></html> 图片1![图片描述](url) 分隔符1--- 1*** 强调斜体1*斜体* 斜体 加粗1**加粗** 加粗 删除线1~~删除线~~ 删除线 转义1\\ \ 转义 表格1234|姓名|年龄|性别|学号||:-:|:-:|:-:|:-:||张三|18|男|001| 姓名 年龄 性别 学号 张三 18 男 001 列表无序列表形式一: 123+ a+ b+ c a b c 形式二: 123- a- b- c ...
了解拖拽的原理
发表于2024-01-04|更新于2024-01-04|h5|h5
拖拽的实现核心有4点给需要拖拽的元素加上draggable=true属性给需要拖拽的元素设置ondragstart的事件处理函数可以通过句柄e中以key,value存储我们想要存储的数据e.dataTransfer.setData('device', device) 给放置容器设置ondrop放手事件处理函数可以通过句柄e获取我们之前存储的数据 给放置容器设置ondragover事件dragover事件的默认行为是:“Reset the current drag operation to “none””。也就是说,如果不阻止放置元素的 dragOver 事件,则放置元素不会响应“拖动元素”的“放置行为”。 drag和dropHTML 的 drag & drop 使用了“DOM Event”和从“Mouse Event”继承而来的“drag event” 。一个典型的拖拽操作: 用户选中一个可拖拽的(draggable)元素,并将其拖拽(鼠标按住不放)至一个可放置的(droppable)元素上,然后松开鼠标。在拖动元素期间,一些与拖放相关的事件会被触发,像 d ...
vite判断环境
发表于2023-12-12|更新于2023-12-12|vue|vite
Vite 是一个现代化的前端构建工具,它提供了内置的环境变量来辨别当前环境是生产环境还是开发环境。在 Vite 中,可以通过检查 import.meta.env 对象来获取当前环境的信息。 import.meta.env 对象包含了一些常用的环境变量,其中最重要的是 MODE 变量。MODE 变量表示当前的构建模式,可以是 development(开发模式)或 production(生产模式)。 要判断当前环境是否为生产环境,可以通过以下方式: 12345if (import.meta.env.MODE === 'production') {// 生产环境逻辑} else {// 开发环境逻辑} 在上述代码中,我们通过检查 import.meta.env.MODE 的值来确定当前环境。如果 MODE 的值为 ‘production’,则表示当前是生产环境;否则,表示当前是开发环境。 除了 MODE 变量,import.meta.env 对象还提供了其他一些有用的环境变量,例如: BASE_URL:当前应用的基础 URL。DEV ...
pc端要做一个切换账号的功能?
发表于2023-11-20|更新于2023-11-20|业务实现|业务实现
背景:因为老板有两个手机号,这两个手机号在系统中的权限不一样,所以产品考虑给老板做一个切换账号的功能。说实话这个功能在pc端可是不常见啊。不过这个功能不怎么复杂。 我简单记录一下这个功能是怎么实现的。 我们系统的token是放在cookie中的,为什么放这儿,是因为cookie可以跨子域,靠这个功能我们实现了单点登录。 实现思路:1.我需要往cookie再存一个值accountTokenList来存放多个账号的token。2.每当登录账号是我往accountTokenList的首位塞一个对象,该对象有phone、token等属性。3.点击切换账号的列表时,把accountTokenList中对应账号的token拿出来存到cookie的token中。4.等账号退出时,再把accountTokenList中对应的对象清除。 带来一个问题:当同时打开多个页面或者多个系统时,我在页面A中切了账号,由账号1切换为账号2,然后又切换到B页面,这个时候B页面展示的数据还是之前账号1查出的数据(系统右上角展示的登录用户还是账号1),但是cookie里存的token已经修改为账号2的,再点击查询按钮 ...
ant-design-vue的admin-pro项目是怎么做权限控制的
发表于2023-11-17|更新于2023-11-17|vue|antd
公司的后台管理系统是基于ant-design-vue的vip收费版搭建的项目。下载地址是https://store.antdv.com/items/admin-pro, 收费版和免费版的区别是收费版用的vue3 ts开发的,而免费版用的是vue2开发的。 项目初始化后是怎么创建页面组件(路由)的,权限控制又是怎么做的?我们的项目基于pro-vip做了一些改动,但是架子跟pro-vip是基本差不多的。 在router.beforeEach中获取用户信息及权限信息,并将(路由)权限存到userStore里,下次路由跳转判断userStore中有权限信息就不重新获取用户信息及权限信息了 12345678910111213141516router.beforeEach(async to => { //.... // 判断userStore中有allowRouters,直接返回true if (userStore.allowRouters && userStore.allowRouters.length > 0) { return tr ...
a-table搜索表格数据但不影响表格的数据选中,怎么做?
发表于2023-11-16|更新于2023-11-16|vue|antd
场景:表格数据勾选了某条数据或某几条数据,再通过搜索框搜索数据,此时界面上看不到刚才已勾选的数据,但是点击提交时却需要提交所有刚刚勾选的数据。搜索出来的数据勾选或取消勾选,当重新搜索或重置搜索时,勾选不会受影响。 这就需要做一些特殊操作,不能直接把selectedRowKeys赋值给选中的keys,具体应该怎么处理,请看下文。 12345678910111213<a-table @change="handleTableChange" :row-selection="{ selectedRowKeys: data.selectedRowKeys, onChange: onSelectChange, getCheckboxProps: checkboxPropsFn, }" :loading="data.loading" :columns="data.columns" :data-source="data.dataList" :pag ...
a-tree右侧的checkbox
发表于2023-11-08|更新于2023-11-08|vue|antd
业务场景中,分配职责权限,职责权限是树的结构,需求是树的左侧为新勾选的职责,数的右侧为用户的角色带的职责。如图所示。树用的是ant-design-vue的a-tree,该组件默认是没有右侧的checkbox的,但是它提供的插槽可供开发人员自定义树中每个节点的展示形式。所以我们可以通过插槽的形式自定义树的节点。该需求的难点是右侧checkbox的选中时,实现父级的全选与半选。 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253<a-input v-model:value="data.searchValue" placeholder="权限名称" style="width: 200px; margin: 8px 0" :maxlength="20" @change="searchFn"> <template #suffi ...
gitignore修改了但不生效
发表于2023-09-18|更新于2023-09-18|git|git
gitignore修改了但不生效,一般是由于缓存导致的,可以尝试清除缓存并重新提交 123git rm -r --cached .git add .git commit -m "清除 Git 缓存并重新提交"
github推送代码由于网络原因经常失败的解决办法
发表于2023-08-31|更新于2023-09-05|git|git
github是全球最大的代码托管平台,但是由于墙的原因,在国内访问经常会有问题,虽然国内也有平替比如gitee,但是说实话比github还是差点意思。 最近发现github推送代码总是失败,查看错误日志一般都是由于网络的原因。 于是各种切换网络,使用各种梯子,但总是不能完美解决问题。 今天实在是忍不了,好好搜了一下解决方法。原来可以用ssh的方式解决这个问题。(原先我下载代码一般习惯用http的方式,这下发现它的弊端了。)下面介绍一下用ssh克隆以及推送代码的方法: 1.创建ssh密钥本机是mac电脑,使用ssh命令生成公钥私钥 1ssh-keygen -t rsa -C "公司电脑" -t 指定要创建的密钥类型为rsa-C 注释 敲了该命令会出现 Enter file in which to save the key (/Users/用户名/.ssh/id_rsa):让输入密钥文件名的提示,可以直接回车,默认生成名为 id_rsa 及 id_rsa.pub 的私钥及公钥。 再次出现Enter passphrase (empty for no passphras ...
修改Butterfly主题的一些源码,定制样式
发表于2023-04-18|更新于2024-11-14|进阶|hexo
修改了一些butterfly主题的源码 1.修改posts页面不显示文章的分类的问题发现posts文章页面顶部不显示文章的标签(tags),故阅读了修改了butterfly的相关源码,还提了一个pr给作者,经沟通作者说他有写tags,但是按照设计稿,tags在页面的底部展示。闹了个乌龙。不过我把这个修改放到我的项目里了,个人认为tags放顶部合适。修改的文件目录为 themes/butterfly/layout/includes/header/post-info.pug 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 ...
1234…7
avatar
claus liang
个人博客网站
文章
63
标签
28
分类
11
Follow Me
公告
This is my Blog
最新文章
微信扫码授权场景记录2025-11-21
微信小程序如何给用户推送消息2025-11-20
variableTextarea可插入变量的文本框2025-10-30
sortablejs实现拖拽功能2025-10-29
node基础知识2025-08-08
分类
  • git6
  • h56
  • harmony6
  • node1
  • vue12
  • 业务实现3
  • 前端得懂的运维技能2
  • 基础13
标签
vscode 基础 面试 element 支付 微信小程序 图片 webpack h5 数据结构 hexo gulp 业务实现 canvas 微前端 node harmony vue antd git 微信 typescript 消抖节流 npm linux markdown 诗歌 vite
归档
  • 十一月 20252
  • 十月 20252
  • 八月 20251
  • 七月 20252
  • 五月 20252
  • 三月 20251
  • 一月 20251
  • 十二月 20242
网站资讯
文章数目 :
63
本站总字数 :
68.2k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2019 - 2025 By claus liang
框架 Hexo|主题 Butterfly
京ICP备18012831号 | 去我的主页liangyonggang.com
搜索
数据库加载中