
小轮子
文章平均质量分 53
秀秀_heo
一个学习前端开发的大学生,博客为自己的学习笔记,仅供个人学习使用。
展开
-
组件库二次封装——透传问题
这样写有一些问题,一是繁琐,二是可能传递的插槽个数不同,导致不同的渲染逻辑(业务要求)。在 vue 中 ref 是无法透传的,在 react 中可以通过 forwardRef 获取子组件。所以我们只能将子组件内部的原组件库 ref 挂载到外部 二次封装的组件 ref 上。透传的优先级会比组件自身的属性和事件优先级低。属性和事件的透传需要借助一个内置 api。插槽的本质是一个函数。原创 2025-06-04 16:31:53 · 42 阅读 · 0 评论 -
Tree 树形组件封装
所以我们需要让 ts 配置(tsconfig.json)为支持 jsx 语法。packages\Tree\style\index.tsx (暂时无样式编写)package.json (通过 npm init -y 生成)tsconfig.json(通过 tsc --init 生成)原因是 node 项目模块化未指定类型。原创 2025-06-02 08:28:00 · 358 阅读 · 0 评论 -
自动获取新版本 js 静态文件
代码里有静态js文件,发布一个版本1.0在真实环境,再修改重新发布2.0,用户如何得到新版本?• 用户无感知自动更新:旧版本文件仍保留在服务器,新版本通过新哈希文件名触发请求。属性:明确告知浏览器文件内容永久不变,避免重复验证(需配合哈希文件名使用)。• 注意:需手动更新版本号,且部分浏览器可能缓存带参数的URL(需配合。根据文件内容生成哈希,内容不变时哈希值不变,最大化利用缓存。• 自动加载带新哈希的文件,旧用户逐步过渡到新版本。• 协商缓存补充:对无哈希的普通文件使用。头,确保内容变化后触发更新。原创 2025-05-21 16:06:19 · 343 阅读 · 0 评论 -
高级下拉选择框组件封装
历时一个月(没错,我比较菜,进度较慢,但80%工作都是我做的,而且同时还在改其他bug,做其他需求),我们终于把这个组件做出来了。因为,我和我的导师决定封装一个高级下拉选择框组件,来替换到之前公司所有普通下拉框。原创 2025-05-13 17:18:43 · 694 阅读 · 0 评论 -
Token 安全性
攻击者通过 XSS 攻击注入恶意脚本窃取客户端 Token,或利用网络嗅探截获未加密的 Token(常见于 HTTP 协议环境)。若 Token 未采用签名或加密(如 JWT 未签名),攻击者可伪造合法 Token 或篡改已有 Token 的权限字段(如提升用户角色)。• 短有效期与刷新机制:访问 Token 有效期建议设为 15-60 分钟,搭配刷新 Token(长期有效但限制使用频率)实现无感续期。• 防重放机制:在 Token 中添加时间戳(Timestamp)或一次性随机数(Nonce)。原创 2025-05-13 15:16:49 · 386 阅读 · 0 评论 -
下拉框加载更多
通过判断滚动条位置是否接近容器底部,触发数据加载逻辑。• 浏览器原生API,性能优于滚动事件监听。为触发加载的阈值,通常设为5-10px)仅渲染可视区域内容,适合万级数据场景(如。• 分页参数管理(page/size)• 自定义指令监听下拉框滚动。• 滚动事件节流(如用。原创 2025-05-13 14:52:33 · 410 阅读 · 0 评论 -
前端实现支付跳转以及回跳
点击支付 a 标签跳转到支付页面进行支付。输入账号密码支付完成之后会回跳到回跳地址。原创 2024-02-08 23:46:18 · 1352 阅读 · 0 评论 -
封装图片预览组件
思路:维护一个数组图片列表,鼠标划入小图记录当前小图下标值,通过下标值在数组中取对应图片,显示到大图位置。步骤:放大镜功能拆解:利用获取到当前的鼠标在盒子内的相对位置(useMouselnElement) ,控制滑块跟随鼠标移动(left/top)。2. 右侧大图放大效果实现效果:为实现放大效果,大图的宽高是小图的两倍思路:大图的移动方向和滑块移动方向相反,且数值为2倍3. 鼠标移入控制滑块和大图显示隐藏思路:鼠标移入盒子(isOutside) ,滑块和大图才显示(v-show)props原创 2024-02-07 16:35:31 · 504 阅读 · 0 评论 -
调用高德地图 api 开发地图组件
【代码】调用高德地图 api 开发地图组件。原创 2025-02-04 13:03:27 · 339 阅读 · 0 评论 -
Echarts 封装通用组件
相关文件可以去我的 gitee 下载:https://gitee.com/hao-xiugong/management-vue-ts。原创 2025-02-02 12:15:02 · 566 阅读 · 0 评论 -
按钮权限控制
接上文权限控制:https://blog.youkuaiyun.com/XiugongHao/article/details/145337904?原创 2025-02-02 12:08:00 · 210 阅读 · 0 评论 -
后台管理系统通用页面抽离=>高阶组件+配置文件+hooks
【代码】后台管理系统通用页面抽离=>高阶组件+配置文件+hooks。原创 2025-02-02 11:51:43 · 655 阅读 · 0 评论 -
根据接口规范封装网络请求和全局状态管理
axios (request)封装见:https://blog.youkuaiyun.com/XiugongHao/article/details/143449863。原创 2025-02-02 11:40:02 · 338 阅读 · 0 评论 -
本地存储封装工具类
【代码】本地存储封装工具类。原创 2025-02-02 11:30:00 · 208 阅读 · 0 评论 -
菜单映射的工具函数整合
【代码】菜单映射的工具函数整合。原创 2025-02-02 11:25:56 · 359 阅读 · 0 评论 -
RBAC 权限控制 - 前端
然后就可以在登录后触发 action 执行添加路由的操作(见上userLoginAction)但是像上面这样做有个问题,刷新页面路由会丢失,因此我们写一个方法使动态路由持久化。userMenus:=>动态展示菜单(系统总览/核心技术/用户管理/角色管理/)③菜单信息:根据角色获取对应的菜单树。动态路由:根据用户的权限信息,动态的添加路由(而不是一次性注册所有路由)①登录后,②获取用户信息(角色、部门)、token,③获取菜单信息。弊端:每增加一个角色,都要增加key/value。然后将菜单映射成路由对象。原创 2025-01-24 10:56:31 · 524 阅读 · 0 评论 -
【JavaScript】实现拖拽功能并持久化
为需要拖拽的元素添加 mousedown、mousemove和mouseup 事件监听器。在 mousedown事件处理函数中,记录⿏标按下时的位置,以及⿏标相对于元素的位置。在 mousemove 事件处理函数中,计算⿏标移动的距离,并更新元素的位置。在 mouseup 事件处理函数中,移除 mousemove 和 mouseup 事件监听器。原创 2024-04-24 16:12:04 · 734 阅读 · 0 评论 -
音乐播放器歌词滚动效果实现
【代码】音乐播放器歌词滚动效果实现。原创 2024-03-20 12:34:47 · 478 阅读 · 0 评论