Git Product home page Git Product logo

halseyspicy / hooks-admin Goto Github PK

View Code? Open in Web Editor NEW
1.7K 12.0 380.0 5.24 MB

🚀🚀🚀 Hooks Admin,基于 React18、React-Router V6、React-Hooks、Redux、TypeScript、Vite2、Ant-Design 开源的一套后台管理框架。

Home Page: https://pro.spicyboy.cn

License: MIT License

HTML 0.73% TypeScript 84.86% Shell 0.06% JavaScript 4.64% Less 9.71%
axios react react-hooks react-redux react-router react-router-dom redux redux-persist redux-promise redux-saga

hooks-admin's Introduction

Hooks-Admin 🚀

介绍 📖

🚀🚀🚀 Hooks Admin,基于 React18、React-Router v6、React-Hooks、Redux && Redux-Toolkit、TypeScript、Vite2、Ant-Design 开源的一套后台管理框架。

🌈 Redux-Toolkit 版本请切换到 Redux-Toolkit 分支上

项目相关文档 📚

Pro 付费版本 🔥

一、在线预览地址 👀

二、Git 仓库地址 (欢迎 Star⭐)

三、🔨🔨🔨 项目功能

  • 🚀 采用最新技术找开发:React18、React-Router v6、React-Hooks、TypeScript、Vite2
  • 🚀 采用 Vite2 作为项目开发、打包工具(配置了 Gzip 打包、跨域代理、打包预览工具…)
  • 🚀 整个项目集成了 TypeScript (完全是为了想学习 🤣)
  • 🚀 使用 redux 做状态管理,集成 immer、react-redux、redux-persist 开发
  • 🚀 集成了两套状态管理,master 分支使用的是 redux || redux-toolkit 分支使用的是 redux-toolkit
  • 🚀 使用 TypeScript 对 Axios 二次封装 (错误拦截、常用请求封装、全局请求 Loading、取消重复请求…)
  • 🚀 支持 Antd 组件大小切换、暗黑 && 灰色 && 色弱模式、i18n 国际化(i18n 暂时没配置所有文件)
  • 🚀 使用 自定义高阶组件 进行路由权限拦截(403 页面)、页面按钮权限配置
  • 🚀 支持 React-Router v6 路由懒加载配置、菜单手风琴模式、无限级菜单、多标签页、面包屑导航
  • 🚀 使用 Prettier 统一格式化代码,集成 Eslint、Stylelint 代码校验规范(项目规范配置)
  • 🚀 使用 husky、lint-staged、commitlint、commitizen、cz-git 规范提交信息(项目规范配置)

四、安装使用步骤 📑

  • Clone:
# Gitee
git clone https://gitee.com/HalseySpicy/Hooks-Admin.git
# GitHub
git clone https://github.com/HalseySpicy/Hooks-Admin.git
  • Install:
npm install
cnpm install

# npm install 安装失败,请升级 nodejs 到 16 以上,或尝试使用以下命令:
npm install --registry=https://registry.npm.taobao.org
  • Run:
npm run dev
npm run serve
  • Build:
# 开发环境
npm run build:dev

# 测试环境
npm run build:test

# 生产环境
npm run build:pro
  • Lint:
# eslint 检测代码
npm run lint:eslint

# prettier 格式化代码
npm run lint:prettier

# stylelint 格式化样式
lint:stylelint
  • commit:
# 提交代码(会自动执行 lint:lint-staged 命令)
npm run commit

五、项目截图

1、登录页:

hooks-login-light

hooks-login-dark

2、首页:

hooks-home-light

hooks-home-dark

六、文件资源目录 📚

Hooks-Admin
├─ .vscode                # vscode推荐配置
├─ public                 # 静态资源文件(忽略打包)
├─ src
│  ├─ api                 # API 接口管理
│  ├─ assets              # 静态资源文件
│  ├─ components          # 全局组件
│  ├─ config              # 全局配置项
│  ├─ enums               # 项目枚举
│  ├─ hooks               # 常用 Hooks
│  ├─ language            # 语言国际化
│  ├─ layouts             # 框架布局
│  ├─ routers             # 路由管理
│  ├─ redux               # redux store
│  ├─ styles              # 全局样式
│  ├─ typings             # 全局 ts 声明
│  ├─ utils               # 工具库
│  ├─ views               # 项目所有页面
│  ├─ App.tsx             # 入口页面
│  ├─ main.tsx            # 入口文件
│  └─ env.d.ts            # vite 声明文件
├─ .editorconfig          # 编辑器配置(格式化)
├─ .env                   # vite 常用配置
├─ .env.development       # 开发环境配置
├─ .env.production        # 生产环境配置
├─ .env.test              # 测试环境配置
├─ .eslintignore          # 忽略 Eslint 校验
├─ .eslintrc.js           # Eslint 校验配置
├─ .gitignore             # git 提交忽略
├─ .prettierignore        # 忽略 prettier 格式化
├─ .prettierrc.js         # prettier 配置
├─ .stylelintignore       # 忽略 stylelint 格式化
├─ .stylelintrc.js        # stylelint 样式格式化配置
├─ CHANGELOG.md           # 项目更新日志
├─ commitlint.config.js   # git 提交规范配置
├─ index.html             # 入口 html
├─ LICENSE                # 开源协议文件
├─ lint-staged.config     # lint-staged 配置文件
├─ package-lock.json      # 依赖包包版本锁
├─ package.json           # 依赖包管理
├─ postcss.config.js      # postcss 配置
├─ README.md              # README 介绍
├─ tsconfig.json          # typescript 全局配置
└─ vite.config.ts         # vite 配置

七、浏览器支持

  • 本地开发推荐使用 Chrome 最新版浏览器 Download
  • 生产环境支持现代浏览器,不在支持 IE 浏览器,更多浏览器可以查看 Can I Use Es Module
IE Edge Firefox Chrome Safari
not support last 2 versions last 2 versions last 2 versions last 2 versions

八、项目后台接口 🧩

项目后台接口完全采用 Mock 数据,感谢以下 Mock 平台支持:

九、微信交流群

微信群已超过 200 人,需要加我好友,拉大家进群 🤪

微信二维码

十、捐赠 🍵

如果你正在使用这个项目或者喜欢这个项目的,可以通过以下方式支持我:

  • Star、Fork、Watch 一键三连 🚀
  • 通过微信、支付宝一次性捐款 ❤
微信 支付宝
Alipay QRcode Wechat QRcode

hooks-admin's People

Contributors

ahchi529 avatar halseyspicy avatar limuen avatar yihuaxiang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hooks-admin's Issues

催更

哈哈,大佬维护好了没,等的花儿要谢了

Hooks-Admin 已重构完成,需要请加我微信了解

预览地址:https://pro.spicyboy.cn/#/login

介绍 📖

🚀🚀🚀 Hooks-Admin 一款基于 React18、React-RouterV6、React-Hooks、zustand、TypeScript、Vite4、Ant-Design5 的后台管理框架。

主要功能 🔨

  • 使用 React18 + TypeScript 开发,整个项目使用高质量 Hooks + TypeScript 代码完成
  • 使用 Vite4 作为开发、打包工具(配置 Gzip | Brotli 压缩打包、PWA 应用、Visualizer 包分析…)
  • 使用 React-Router v6.15 全新路由钩子,项目支持多路由(Hash | History)切换、路由懒加载配置
  • 项目菜单、路由权限使用 动态路由 控制,完全根据后端菜单数据动态生成路由
  • 使用 zustand 作为状态管理工具(多仓库),集成 zustand-persist 持久化工具
  • 使用 Ant-Design 5 组件库开发,将 Design Token 注入到 CSS 变量中,方便配置项目主题
  • 项目支持多主题:主题颜色、暗黑模式、灰色模式、色弱模式、紧凑主题、圆角大小配置
  • 项目支持多布局:横向布局、经典布局(可开启菜单分割功能)、纵向布局、分栏布局配置
  • 项目其它功能:菜单手风琴模式、无限级菜单、多标签页(拖拽)、详情页标签、面包屑导航、页面水印、ECharts 组件封装、SVG 图标组件、数据大屏…
  • 使用 Prettier 统一格式化代码,集成 Eslint、Stylelint 代码校验规范
  • 使用 husky、lint-staged、commitlint、czg、cz-git 规范代码提交信息

建议

image
image
是否可以考虑把action和getter单独做成hook,就不用connect这个api了

【重构】使用 redux-toolkit + antd5 重构 Hooks-Admin

React18、React-Router V6、React-Hooks、Redux-Toolkit、TypeScript、Vite4、Ant-Design5

1、使用 redux-toolkit + antd5 重构 Hooks-Admin
2、使用动态路由重构现在路由逻辑
3、使用 antd5 暗黑模式
4、新增多种主题配置
5、增加表格封装示例

cancelToken 在0.22.0 开始已经废弃,建议更改为AbortController的方式

如题,并且路由跳转之前默认取消所有的请求,并不十分合理,比如menuList级别的request ,如果被提前终止会导致bug
path: src/routers/utils/authRouter.tsx
// * 在跳转路由之前,清除所有的请求 axiosCanceler.removeAllPending();

建议addPending时添加header判断

// axiosCanceler.addPending(config) // 修改为 config.headers!.notAllowCancel || axiosCanceler.addPending(config);

登录报错

3:38:54 PM [vite] http proxy error: 15:38:54
Error: self signed certificate in certificate chain
at TLSSocket.onConnectSecure (node:_tls_wrap:1532:34)
at TLSSocket.emit (node:events:527:28)
at TLSSocket._finishInit (node:_tls_wrap:946:8)
at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:727:12)

为什么我登录会报这个错误?我把npm config set strict-ssl false这样设置了也不可以,求解。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.