xzz的驿站

Archives

2024 / 12

每次调用 processItems,都会压入一个新的调用帧到调用栈中, 如果递归深度过大(例如处理一个包含 10,000 个元素的数组),调用栈可能会耗尽,从而引发 堆栈溢出错误 function processItems(items) { if (items.length === 0) ret
开启静态文件服务, 同时开启cors允许跨域访问, 需要注意的是,静态目录和打包后目录不同,生产环境部署时需要进行处理 // app.module.ts import { ServeStaticModule } from '@nestjs/serve-static'; @Module({ im
前端根据权限控制展示与否, 后端拦截接口是否允许调用. 本案例使用token存储用户角色id数组, 根据roleIds从权限表里查询出所有的权限名,从而进行拦截, 权限名采用LOG_DELETE MENU_UPDATE形式, 方便维护定位管理 创建Permissions装饰器 import { Se
框架表格语言无论怎么改都是英文的No Data, 原因是二次封装的Table组件在props里定义了默认值 // 文件 src\components\Table\src\Table.vue // emptyText: propTypes.string.def('No Data'), // 改成根据

2024 / 11

setState 执行机制 思考: setState 到底是异步还是同步? 答案: 都是! 在 React 的生命周期和合成事件处理器之内: 异步! 为什么要这样设计? setState 会将状态更新推入一个队列,多个调用会被合并成一次 render,提升性能; 保持 state 和 props 的
在多个组件有共用数据时,结合redux封装高阶组件,实现逻辑复用,简化代码,做下笔记理解学习高阶组件的思想! 通过脚手架快速生成项目文件 npx create-react-app learn // 或者 npm i create-react-app create-react-app learn 使

2024-11-22

阅读学习优秀源码,分析实现原理, 路由采用后端动态返回策略, 会略去多余代码 文件LoginForm.vue, 主要方法signIn和getRole // 登录 const signIn = async () => { const formRef = await
文件permission.ts router.beforeEach(async (to, from, next) => { // 用户权限路由 app 用户信息store const permissionStore = usePermissionStoreWithOut() const
微信小程序上传大文件 微信小程序内部文件处理都要经由api, uniapp开发api文档, 微信官方api文档 上传小于10m的普通文件,可以使用wx.uploadFile, 超出大小会无响应超时 uni.uploadFile({ url, // 自己的后端接口地址

2024-11-08

服务器配置 改名 sudo hostnamectl set-hostname xzz2021 添加用户并给予管理员权限, 删除用户 #root用户添加用户 adduser newuser #其它用户 sudo adduser newuser #-aG是使newuser加到sudo用组 userm