React 后台管理系统

后台管理系统

2.1、技术栈

测试接口环境:nodejs

前端:

react.js

redux react-redux redux-thunk

react-router-dom@5

styled-components/sass(node-sass)

ui组件库 ant-design Ant Design - 一套企业级 UI 设计语言和 React 组件库

axios/fetch

sessionStorage/localStorage/cookie

webpack配置(装饰器配置和代理的设置等等)[create-react-app]

npm i -D http-proxy-middleware @babel/plugin-proposal-decorators redux-devtools-extension customize-cra react-app-rewired

npm i -S redux react-redux redux-thunk styled-components react-router-dom@5 react-transition-group axios prop-types immutable redux-immutable 

----------------------------------------
//这是mock
npm i -g json-server

npm i -S antd

yarn add antd

一定要先安装

npm i -D babel-plugin-import

yarn add babel-plugin-import -dev

React 后台管理系统_第1张图片

 不想按需的话

直接引用

全局做 [国际化处理]

React 后台管理系统_第2张图片

日历组件需要单速处理

日历默认是英文

[快速上手]

yarn add moment

React 后台管理系统_第3张图片

1.4、登录

1.4.1、定义登录路由

React 后台管理系统_第4张图片

 

 

 拆出去写一个配置式路由

React 后台管理系统_第5张图片

 后

React 后台管理系统_第6张图片

 配置式 静态路由表

React 后台管理系统_第7张图片


 登录

React 后台管理系统_第8张图片

 React 后台管理系统_第9张图片

React 后台管理系统_第10张图片

 登录验证

 React 后台管理系统_第11张图片

 

 React 后台管理系统_第12张图片

拆出来

React 后台管理系统_第13张图片

 React 后台管理系统_第14张图片

 React 后台管理系统_第15张图片

 登录请求

React 后台管理系统_第16张图片

 React 后台管理系统_第17张图片

 React 后台管理系统_第18张图片

 React 后台管理系统_第19张图片

 React 后台管理系统_第20张图片

React 后台管理系统_第21张图片

 React 后台管理系统_第22张图片

 React 后台管理系统_第23张图片

 React 后台管理系统_第24张图片

 message第二个参数是秒数

React 后台管理系统_第25张图片

登录错误防抖

React 后台管理系统_第26张图片

 React 后台管理系统_第27张图片


界面布局

React 后台管理系统_第28张图片

 React 后台管理系统_第29张图片

 React 后台管理系统_第30张图片

 退出登录

Modal对话框

React 后台管理系统_第31张图片

 

 React 后台管理系统_第32张图片

 React 后台管理系统_第33张图片

  

子路由

React 后台管理系统_第34张图片

 React 后台管理系统_第35张图片

 React 后台管理系统_第36张图片

 React 后台管理系统_第37张图片

 React 后台管理系统_第38张图片

 React 后台管理系统_第39张图片

 React 后台管理系统_第40张图片

 React 后台管理系统_第41张图片


后台防

自定义router

 React 后台管理系统_第42张图片

 React 后台管理系统_第43张图片

React 后台管理系统_第44张图片

  引入


BUG--左侧菜单高亮--刷新页面跳回首页

先在最上面解构出来location

React 后台管理系统_第45张图片

 看官方Api文档改成

React 后台管理系统_第46张图片


面包屑导航

cssinjs

 React 后台管理系统_第47张图片

 React 后台管理系统_第48张图片

 React 后台管理系统_第49张图片

 

 表格 

 React 后台管理系统_第50张图片

 React 后台管理系统_第51张图片

 React 后台管理系统_第52张图片

 React 后台管理系统_第53张图片

 React 后台管理系统_第54张图片

 React 后台管理系统_第55张图片

 React 后台管理系统_第56张图片

 React 后台管理系统_第57张图片

 React 后台管理系统_第58张图片

 


 添加用户 模态框

React 后台管理系统_第59张图片

 React 后台管理系统_第60张图片

 React 后台管理系统_第61张图片React 后台管理系统_第62张图片

 React 后台管理系统_第63张图片

 React 后台管理系统_第64张图片

 React 后台管理系统_第65张图片

 

 模态框 -表单

React 后台管理系统_第66张图片

  方案1  隐藏模态框自己的

 

 方案2 使用模态框的按钮

React 后台管理系统_第67张图片

 React 后台管理系统_第68张图片

 用表单的自定义hook,使用表单的实例

useForm完成表单实例获取

React 后台管理系统_第69张图片


 拆出去

 React 后台管理系统_第70张图片

React 后台管理系统_第71张图片

 React 后台管理系统_第72张图片

 React 后台管理系统_第73张图片

 React 后台管理系统_第74张图片

 总结: form表单 父传子 透传

React 后台管理系统_第75张图片

React 后台管理系统_第76张图片


 Bug表单内容清空

 初始化

监听模态框的显示和隐藏

React 后台管理系统_第77张图片


 React 后台管理系统_第78张图片

React 后台管理系统_第79张图片

 React 后台管理系统_第80张图片

 React 后台管理系统_第81张图片

 React 后台管理系统_第82张图片


 上传头像

React 后台管理系统_第83张图片

 React 后台管理系统_第84张图片

 React 后台管理系统_第85张图片

 React 后台管理系统_第86张图片

 React 后台管理系统_第87张图片

 记得把这个截图发给后端

React 后台管理系统_第88张图片

 React 后台管理系统_第89张图片

 React 后台管理系统_第90张图片

 React 后台管理系统_第91张图片

 React 后台管理系统_第92张图片

 React 后台管理系统_第93张图片

 React 后台管理系统_第94张图片

React 后台管理系统_第95张图片

React 后台管理系统_第96张图片


富文本编辑器    braft-editor

这个优点在于 数据修改方便

因为不是操作Dom的

 

 react专用富文本 braft-editor

富文本要传html

官方文档

手册

 React 后台管理系统_第97张图片

 React 后台管理系统_第98张图片

 React 后台管理系统_第99张图片

 React 后台管理系统_第100张图片

 React 后台管理系统_第101张图片

 React 后台管理系统_第102张图片

富文本加边框

React 后台管理系统_第103张图片


 拆出去代理 

 

React 后台管理系统_第104张图片

React 后台管理系统_第105张图片

React 后台管理系统_第106张图片

 拆出 表单上传的服务器路径

React 后台管理系统_第107张图片

 React 后台管理系统_第108张图片


表单项验证通过后进行网络请求

React 后台管理系统_第109张图片

post要记得在url后面传userData

React 后台管理系统_第110张图片

 

React 后台管理系统_第111张图片

 React 后台管理系统_第112张图片

 点击添加发送网络请求: 要做防抖!!

React 后台管理系统_第113张图片

 React 后台管理系统_第114张图片

 React 后台管理系统_第115张图片


BUG富文本再次点开不重置不清空

 React 后台管理系统_第116张图片

 React 后台管理系统_第117张图片

 React 后台管理系统_第118张图片


列表分页

React 后台管理系统_第119张图片

 React 后台管理系统_第120张图片

 

React 后台管理系统_第121张图片

React 后台管理系统_第122张图片

 useEffect需要回收不能有返回值,但是可以写自执行函数,自执行函数没有返回值,自执行函数内可以写async和await

 React 后台管理系统_第123张图片


列表修改(路由版)

默认不是严格匹配,所以写在上面

React 后台管理系统_第124张图片

 不是直接渲染的组件,需要使用useHistory

React 后台管理系统_第125张图片

Bug子路由高亮

React 后台管理系统_第126张图片


封装面包屑跳转 

 React 后台管理系统_第127张图片

React 后台管理系统_第128张图片

React 后台管理系统_第129张图片

React 后台管理系统_第130张图片

React 后台管理系统_第131张图片

 React 后台管理系统_第132张图片


 用户修改表单

React 后台管理系统_第133张图片

 React 后台管理系统_第134张图片

 重现按钮

React 后台管理系统_第135张图片

 React 后台管理系统_第136张图片

 React 后台管理系统_第137张图片

 React 后台管理系统_第138张图片

 React 后台管理系统_第139张图片

 React 后台管理系统_第140张图片

 先删掉初始值设置

 React 后台管理系统_第141张图片

 React 后台管理系统_第142张图片

 React 后台管理系统_第143张图片

 React 后台管理系统_第144张图片

 改完记得跳转回列表页


 BUG,在 第五页 修改完后 要 回到第五页 而不是第一页

 React 后台管理系统_第145张图片

 React 后台管理系统_第146张图片

 React 后台管理系统_第147张图片

 React 后台管理系统_第148张图片

 在第n页点击修改,跳转到修改页,改完后点击提交修改,跳回到第n页

可以通过地址栏的? seach字符串,或状态,或stirage,或隐式传参

React 后台管理系统_第149张图片

 React 后台管理系统_第150张图片

 React 后台管理系统_第151张图片

 React 后台管理系统_第152张图片


 BUG想要F5刷新变成第一页

所以找到一个刷新丢失 的地方存标识 布尔值

React 后台管理系统_第153张图片

 React 后台管理系统_第154张图片

 React 后台管理系统_第155张图片

React 后台管理系统_第156张图片


后端中间件,完成接口安全!!!!!!!!!!!!!!!

接口安全: 就是登录时 复制了 你网络请求的接口,退出登录后再在地址栏粘贴访问

不让他访问,是后端做的

要在头信息携带token

然后再通过响应头把新的token返回来

React 后台管理系统_第157张图片

 登陆以外的都要携带token

React 后台管理系统_第158张图片

 React 后台管理系统_第159张图片

 响应要获取最新的

 React 后台管理系统_第160张图片

取消网络请求    防抖

通过数组把请求地址存进去

数组内只要存在就阻止请求

React 后台管理系统_第161张图片


权限--[ rbac ] 基于角色的权限控制    //动态创建路由组件

动态渲染菜单权限

React 后台管理系统_第162张图片

 React 后台管理系统_第163张图片

 React 后台管理系统_第164张图片

 然后调用函数()

{ creatMenuItem() }

路由权限

React 后台管理系统_第165张图片

路由本身就是动态渲染的所以直接用组件判断就行

React 后台管理系统_第166张图片

 React 后台管理系统_第167张图片

 React 后台管理系统_第168张图片


 数据不是写死的

前台只有这个 

 React 后台管理系统_第169张图片

   其实后台返回的是这个

React 后台管理系统_第170张图片

 就是对象合并

后台返回的带标识标记

前台提供组件页面引用

然后合并


按钮权限

1.单页面版(不推荐)

React 后台管理系统_第171张图片

 要改一个地方让所有的都变

2.封装公共组件方案

 React 后台管理系统_第172张图片

React 后台管理系统_第173张图片

 React 后台管理系统_第174张图片

 React 后台管理系统_第175张图片

React 后台管理系统_第176张图片

React 后台管理系统_第177张图片

 React 后台管理系统_第178张图片

3.高阶组件方案

 React 后台管理系统_第179张图片

 React 后台管理系统_第180张图片

 React 后台管理系统_第181张图片


百度的Echarts -或者- 阿里的AntV

 React 后台管理系统_第182张图片

React 后台管理系统_第183张图片

 

React 后台管理系统_第184张图片

 React 后台管理系统_第185张图片

 React 后台管理系统_第186张图片

 然后在示例里面找,然后复制粘贴

在配置项里按照说明改

推荐用插件!!!

 

 

React 后台管理系统_第187张图片

把示例里的代码全c过来,写在return里{}

React 后台管理系统_第188张图片

React 后台管理系统_第189张图片


react-saga

你可能感兴趣的:(javascript,前端,react.js)