MCPcopy
hub / github.com/HalseySpicy/Hooks-Admin

github.com/HalseySpicy/Hooks-Admin @main sqlite

repository ↗ · DeepWiki ↗
245 symbols 586 edges 129 files 4 documented · 2%
README

Hooks-Admin 🚀

介绍 📖

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

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

项目相关文档 📚

Pro 付费版本 🔥

  • 有需要请加底部微信了解、购买

  • Link:https://pro.spicyboy.cn

一、在线预览地址 👀

  • Link:https://hooks.spicyboy.cn

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

  • Gitee:https://gitee.com/HalseySpicy/Hooks-Admin

  • GitHub:https://github.com/HalseySpicy/Hooks-Admin

三、🔨🔨🔨 项目功能

  • 🚀 采用最新技术找开发: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 平台支持:

  • FastMock: https://www.fastmock.site/
  • EasyMock:https://mock.mengxuegu.com/

九、微信交流群

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

微信二维码

十、捐赠 🍵

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

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

Extension points exported contracts — how you extend this code

SvgProps (Interface)
(no doc)
src/components/svgIcon/index.tsx
Props (Interface)
(no doc)
src/layouts/components/Header/components/PasswordModal.tsx
ChartProp (Interface)
(no doc)
src/views/dataScreen/components/AgeRatioChart.tsx
MenuProps (Interface)
(no doc)
src/redux/modules/menu/action.ts
Result (Interface)
(no doc)
src/api/interface/index.ts
MenuOptions (Interface)
(no doc)
src/typings/global.d.ts
MetaProps (Interface)
(no doc)
src/routers/interface/index.ts
Props (Interface)
(no doc)
src/layouts/components/Header/components/InfoModal.tsx

Core symbols most depended-on inside this repo

lazyLoad
called by 31
src/routers/utils/lazyLoad.tsx
useEcharts
called by 16
src/hooks/useEcharts.ts
is
called by 9
src/utils/is/index.ts
getBrowserLang
called by 4
src/utils/util.ts
searchRoute
called by 4
src/utils/util.ts
updateCollapse
called by 4
src/redux/modules/menu/action.ts
setThemeConfig
called by 4
src/redux/modules/global/action.ts
post
called by 4
src/api/index.ts

Shape

Function 199
Interface 30
Method 9
Class 4
Enum 3

Languages

TypeScript100%

Modules by API surface

src/utils/is/index.ts19 symbols
src/utils/util.ts15 symbols
src/layouts/components/Menu/index.tsx8 symbols
src/api/interface/index.ts7 symbols
src/api/index.ts7 symbols
src/api/helper/axiosCancel.ts7 symbols
src/utils/getEnv.ts6 symbols
src/redux/modules/menu/action.ts6 symbols
src/redux/interface/index.ts6 symbols
src/views/form/validateForm/index.tsx5 symbols
src/views/form/basicForm/index.tsx5 symbols
src/layouts/components/Tabs/index.tsx5 symbols

Dependencies from manifests, versioned

@commitlint/cli17.0.2 · 1×
@commitlint/config-conventional17.0.2 · 1×
@types/node17.0.41 · 1×
@types/react18.0.0 · 1×
@types/react-dom18.0.0 · 1×
@types/react-router-dom5.3.3 · 1×
@types/redux-promise0.5.29 · 1×
@typescript-eslint/eslint-plugin5.27.1 · 1×
@typescript-eslint/parser5.27.1 · 1×
@vitejs/plugin-react1.3.0 · 1×
antd4.22.2 · 1×
autoprefixer10.4.7 · 1×

For agents

$ claude mcp add Hooks-Admin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact