读书管理后台开发项目-8.菜单权限新增编辑API开发 新增菜单功能前端开发开发此处页面:阅读代码发现页面由 formSchema 变量动态生成,于是将其改造为如下数据 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 export const formSchema: FormSc 2024-09-29 #web #Vue.js #Typescript #Vite #Nest.js
读书管理后台开发项目-7.菜单权限页面开发 前端组件配置将vben中的权限管理路由添加至后端目录的data文件中,再在前端的views/system/permission中添加菜单管理组件(vben中已经封装好了,可以直接复制) 然后在routes/modules/demo/permission.ts中添加路由配置,并关联对应名称的组件最后记得配置i18n的国际化语言库 1234567891 2024-09-26 #web #Vue.js #Typescript #Vite #Nest.js
读书管理后台开发项目-6.管理后台前端权限 前端的权限管理通常是左侧菜单部分的展示权限,以及基于功能的权限vben实际上是动态生成了路由,然后再展示在左边的菜单栏,所以要编写权限相关的代码可以从动态生成路由处着手 buildRoutesAction方法分析 vben通过动态生成路由,控制菜单栏展示权限。核心方法是buildRoutesAction,该方法根据路由的meta.role属性过滤路由,从而生成不同角色的菜单。搜索这个方法的签名可以 2024-09-25 #web #Vue.js #Typescript #Vite
读书管理后台开发项目-5.登录功能后端开发 1.登录时序图 2.请求守卫开发建立如下auth目录结构 12345//public.decorator.tsimport {SetMetadata} from '@nestjs/common';export const IS_PUBLIC_KEY = 'isPublic'export const Public = () => Se 2024-09-24 #web #Typescript #Nest.js
读书管理后台开发项目-4.数据库接入 1.后端业务模块设计与拆分模块设计: 创建用户模块 12nest g controller usernest g module user 12345678910import { Controller, Get, Param, ParseIntPipe } from '@nestjs/common';@Controller('user')e 2024-09-24 #web #Typescript #Nest.js
读书管理后台开发项目-3.Nest框架搭建 1.Nest框架搭建使用官方推荐的CLI搭建 12npm i -g @nestjs/clinest new imooc-nest-admin 2.Nest实现Restful API 2.1 Get方法传参方式:Param获得Get方法中的参数如果使用Param装饰器则对应获取restful Api参数使用方法是直接在get方法函数中@Param级联参数同样使用@Param 2.2 Post方法传 2024-09-23 #web #Typescript #Nest.js
小慕读书管理后台开发项目-2.前端框架搭建 1.前端框架下载和启动在vue-vben-admin官方仓库中克隆代码到本地磁盘然后安装依赖 1pnpm install 2.vben三种运行模式2.1 npm run serve很常见的运行方式,实际上就是调用vite运行 2.2 preview模式"preview": "npm run build && vite preview" 会先 2024-09-23 #web #Vue.js #Typescript #Vite
小慕读书管理后台开发项目-1.需求分析与技术架构 1.管理后台需求分析 1.1 登录页面 1.2 权限控制 1.3 图书管理 2.管理后台项目架构设计 域名:阿里云租用域名 服务器:租用阿里云服务器 Web服务:Nginx 2.1技术选型2.2 前端 框架:vue-ven-admin 核心库: Vue3全家桶(Vue+vue+router4+pinia)、Vite、ant-design-vue、windicss 2.3 后端 框架:NestJ 2024-09-23 #web #Vue.js #Typescript #Vite
使用IIFE优化性能 1.问题引入考虑一个兼容浏览器事件添加的代码段 123456789function addEvent(ele, eventName, handler){ if(ele.addEventListener){ ele.addEventListener(eventName, handler) }else if(ele.attachEvent) 2023-07-16 #javascript #IIFE
threejs-16:galaxy-generate 1.准备工作创建一个星系工厂函数 1234567/*Galaxy generate */const generateGalaxy = () => { console.log("generate the galaxy")} 创建一个 parameter 对象,将会包含星系所有的参数 123const parameter = {} 2023-04-01 #three.js #web #javascript