自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 bash & vim 命令

Bash是你与内核对话的解释器,命令多为英语单词的首字母缩写。Vim是一个指令驱动动词 + 范围。

2025-12-25 10:55:25 488

原创 前端分角色控制权限

后端模型const (RoleAdmin Role = 1 // 管理员RoleViewer Role = 0 // 查看者前端类型0= Viewer,1= Admin层级控制方式位置后端路由级后端接口级中间件特定路由前端页面级检查 + 跳转useEffect前端组件级role === 1条件渲染JSX前端菜单级动态菜单Layout.tsx。

2025-12-22 14:20:46 271

原创 前端路由设置

构建一个健壮的前端路由系统,不仅仅是把页面配置进去,更要考虑层级结构、权限控制、用户体验(重定向)以及异常兜底(404)。

2025-12-22 11:44:20 864

原创 分级树形结构异步加载

指定异步加载函数,当用户点击「待加载节点」的展开箭头时,自动触发 loadData 回调,并传入当前节点的信息(如 key、children 等)。不过在项目中,children不是一开始就写好的,要通过调用api逐层获取,通过onloaddata异步加载。只有当用户点击展开某个节点时,才触发该函数去异步请求 / 加载该节点的子数据,而非初始化时加载全量树形数据。它是解决大数据量树形结构性能问题的关键,尤其适用于层级深、数据量大的场景(如本文中的。icon、type这些不是必须的,

2025-12-10 11:01:21 280

原创 泛型的应用:接口参数定义

后端返回的结构是固定的(code, message, data),变化的只有 data 里的内容。如果在每个接口都重复定义 code 和 message,不仅冗余,而且后期如果要改字段名(例如 message 改为 msg),维护成本极高。TypeScript 泛型(Generics)核心是让代码具备类型复用能力,能编写不绑定具体类型、可适配多种类型的通用逻辑,同时保留类型检查。—— 简单说就是「类型层面的参数化」,类比函数接收值参数,泛型接收「类型参数」。

2025-12-10 10:53:07 266

原创 前端状态管理

这份文档经过了校对、润色和排版优化。useRequest。

2025-12-02 12:01:04 921

原创 前后端通信&登录页

​。

2025-11-28 17:50:22 556

原创 前端路由保护

系统采用了前端路由级别和后端API级别的双重防护机制,确保即使未登录用户直接输入testcase地址,也无法绕过认证访问受保护的内容,而是会被立即重定向到登录页。这种设计提供了完整的安全保障。

2025-11-27 16:52:21 713

原创 登录过期重定向时 message不显示

由于是单页应用(SPA)内部切换,页面并没有真正刷新,全局的 Message 组件可能(取决于你的 Layout 结构)不会被销毁。但是旧的数据也不会销毁哦,也不好。需求是在登录超时(401)时清除本地缓存返回登录界面(handleLogout)+ message提醒“登录过期,请重新登录”。重定向的速度比message出现的速度快,导致看不到message了。问题:页面直接跳转,重定向前和后都没有message,它去哪里了呢?方法一:人为给重定向包裹一层延时,但是延时会影响体验。

2025-11-27 15:43:57 185

原创 layout溢出到登录界面

(Global Layout),尝试自动包裹所有页面,即使你在路由里写成了兄弟关系。问题:在登录首页会显示layout的内容。解决办法:给layout的文件改名字。的文件,Umi 有时会默认把它当作。在 Umi 中,如果你在。出现这个问题通常是因为。

2025-11-25 13:02:08 158

原创 前端项目运行后报错TypeError: Cannot read properties of null (reading ‘useRef‘)

这个错误通常是由于项目中存在多个React实例导致的"React多实例"问题。根据你的描述, @antv/g6-react-node 依赖中可能包含了一个独立的React版本。思路:不知道为什么react冲突的报错是 useRef,但是解决冲突就可以解决报错了。参考2:cursor。

2025-11-14 10:04:57 227

原创 自用-记录力扣遇到的语法问题

这俩都是变量定义的问题。题解里一般都是给元素/变量定义成 float('inf'),如果让我来想,第一反应是赋空值,这篇文章。range的范围,不写不知道,这是我一直忽略的问题,它是左闭右开的。python语法忘得差不多了,平时几乎都是边搜边写。介绍了,在需要比较大小时,可以对变量初始赋值成正无穷或负无穷。这里只放问题&语法,不放原题,二刷再总结做题思路吧。range(i,j) 相当于 [i,j)。,做题顺序基本按照上面的来。

2024-08-22 01:27:26 273 2

空空如也

空空如也

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

TA关注的人

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