{"id":16422682,"url":"https://github.com/itwanger/paicoding-admin","last_synced_at":"2025-04-07T12:07:26.242Z","repository":{"id":73356695,"uuid":"538170097","full_name":"itwanger/paicoding-admin","owner":"itwanger","description":"🚀🚀🚀 paicoding-admin，技术派管理端，基于 React18、React-Router v6、React-Hooks、Redux、TypeScript、Vite3、Ant-Design 5.x、Hook Admin、ECharts 的一套社区管理系统，够惊艳哦。","archived":false,"fork":false,"pushed_at":"2024-08-09T14:16:06.000Z","size":3784,"stargazers_count":196,"open_issues_count":4,"forks_count":58,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-12T07:37:16.815Z","etag":null,"topics":["ant-design","react","typescript","vite"],"latest_commit_sha":null,"homepage":"https://paicoding.com/admin-view","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itwanger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-18T16:29:18.000Z","updated_at":"2024-09-26T19:10:15.000Z","dependencies_parsed_at":"2024-08-09T15:43:42.633Z","dependency_job_id":"b43547a5-2224-41f5-9291-0da5ffd6b91f","html_url":"https://github.com/itwanger/paicoding-admin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itwanger%2Fpaicoding-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itwanger","download_url":"https://codeload.github.com/itwanger/paicoding-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ant-design","react","typescript","vite"],"created_at":"2024-10-11T07:37:22.755Z","updated_at":"2025-04-07T12:07:26.213Z","avatar_url":"https://github.com/itwanger.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# paicoding-admin 🚀\n\n## 介绍 📖\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://paicoding.com/\"\u003e\n    \u003cimg src=\"https://cdn.tobebetterjavaer.com/images/README/1681354262213.png\" alt=\"技术派\" width=\"400\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n🚀🚀🚀 paicoding-admin，技术派管理端，基于 React18、React-Router v6、React-Hooks、Redux、TypeScript、Vite3、Ant-Design 5.x、Hook Admin、ECharts 的一套社区管理系统，够惊艳哦。\n\u003cbr\u003e\u003cbr\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://paicoding.com/article/detail/15\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-学习圈子-green.svg?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://paicoding.com/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-首页-critical?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/itwanger/paicoding-admin\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/技术派-管理端-yellow.svg?style=for-the-badge\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://gitee.com/itwanger/paicoding-admin\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/码云-项目地址-blue.svg?style=for-the-badge\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 一、在线预览地址 👀\n\n- Link：[https://paicoding.com/admin](https://paicoding.com/admin)\n\n## 二、Git 仓库地址 (欢迎 Star⭐)\n\n- GitHub：[https://github.com/itwanger/paicoding-admin](https://github.com/itwanger/paicoding-admin)\n- 码云：[https://gitee.com/itwanger/paicoding-admin](https://gitee.com/itwanger/paicoding-admin)\n\n## 三、🔨🔨🔨 项目功能\n\n- 🚀 采用最新技术找开发：React18、React-Router v6、React-Hooks、TypeScript、Vite3\n- 🚀 采用 Vite3 作为项目开发、打包工具（配置了 Gzip 打包、跨域代理、打包预览工具……）\n- 🚀 整个项目集成了 TypeScript （学期来很酷哦 🤣）\n- 🚀 使用 redux 做状态管理，集成 immer、react-redux、redux-persist 开发\n- 🚀 使用 TypeScript 对 Axios 整个二次封装 （全局错误拦截、常用请求封装、全局请求 Loading、取消重复请求……）\n- 🚀 支持 Antd 组件大小切换、暗黑 \u0026\u0026 灰色 \u0026\u0026 色弱模式\n- 🚀 使用 自定义高阶组件 进行路由权限拦截（403 页面）、页面按钮权限配置\n- 🚀 支持 React-Router v6 路由懒加载配置、菜单手风琴模式、无限级菜单、多标签页、面包屑导航\n- 🚀 使用 Prettier 统一格式化代码，集成 Eslint、Stylelint 代码校验规范（项目规范配置）\n- 🚀 使用 husky、lint-staged、commitlint、commitizen、cz-git 规范提交信息（项目规范配置）\n\n## 四、安装使用步骤 📑\n\n### Clone：\n\n```text\n# GitHub\ngit clone https://github.com/itwanger/paicoding-admin.git\n```\n\n### Install：\n\n```text\nnpm install\ncnpm install\n\n# npm install 安装失败，请升级 nodejs 到 16 以上，或尝试使用以下命令：\nnpm install --registry=http://registry.npmmirror.com\n\n# npm install 如果出现 npm ERR! code ECONNRESET 错误，可尝试执行以下命令后再安装\nnpm config set registry http://registry.npmjs.org/\n```\n\n### Run：\n\n将技术派的后端代码和前端代码拉到本地后，先启动 Redis 和服务端端。然后再启动 admin 端，可以通过 VSCode 来进行开发。\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230605110431.png)\n\n```text\nnpm run dev\n```\n\n会自动在浏览器打开 [http://127.0.0.1:3301](http://127.0.0.1:3301)，如下所示。\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230605110616.png)\n\n本地的用户名和密码均为 admin 和 admin 。\n\n如果遇到 nodejs 环境的问题实在无法启动，可能是一些依赖包的问题，可以尝试删除 node_modules 文件夹，重新安装依赖包。如果仍然无法解决，可以通过以下方式获取我已经打包好的 node_modules 安装包。\n\n异常堆栈：\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20231116201935.png)\n\n解决方法 1：升级 nodejs 到 18 以上，升级 npm 到 9 以上，然后重新 install。\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20231116202024.png)\n\n解决方法 2：删除 node_modules 文件夹，在「沉默王二」公众号后台回复「node」下载 node_modules 依赖包。\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20231116202230.png)\n\n然后覆盖你本地的 node_modules 包，然后再执行 `npm run dev` 就可以运行起来了。\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20231116202239.png)\n\n### Build：\n\n```text\n# 生产环境\nnpm run build:pro\n```\n\n## 五、项目截图\n\n### 1、数据统计页（ECharts 真强大）：\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602150500.png)\n\n### 2、运营配置页（Ant 的图片上传组件不错哦）：\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602150909.png)\n\n### 3、文章管理页：\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602154026.png)\n\n### 4、专栏配置页（自定义下拉框挺好玩的）：\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602154134.png)\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602154222.png)\n\n### 5、教程配置页（防抖支持搜索的下拉框、自定义支持分页、搜索的下拉框不错哦）\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602154904.png)\n\n![](https://cdn.tobebetterjavaer.com/stutymore/README-20230602155018.png)\n\n## 六、文件资源目录 📚\n\n```text\npacoding-admin\n├─ .vscode                # vscode推荐配置\n├─ public                 # 静态资源文件（忽略打包）\n├─ src\n│  ├─ api                 # API 接口管理\n│  ├─ assets              # 静态资源文件\n│  ├─ components          # 全局组件\n│  ├─ config              # 全局配置项\n│  ├─ enums               # 项目枚举\n│  ├─ hooks               # 常用 Hooks\n│  ├─ language            # 语言国际化\n│  ├─ layouts             # 框架布局\n│  ├─ routers             # 路由管理\n│  ├─ redux               # redux store\n│  ├─ styles              # 全局样式\n│  ├─ typings             # 全局 ts 声明\n│  ├─ utils               # 工具库\n│  ├─ views               # 项目所有页面\n│  ├─ App.tsx             # 入口页面\n│  ├─ main.tsx            # 入口文件\n│  └─ env.d.ts            # vite 声明文件\n├─ .editorconfig          # 编辑器配置（格式化）\n├─ .env                   # vite 常用配置\n├─ .env.development       # 开发环境配置\n├─ .env.production        # 生产环境配置\n├─ .env.test              # 测试环境配置\n├─ .eslintignore          # 忽略 Eslint 校验\n├─ .eslintrc.js           # Eslint 校验配置\n├─ .gitignore             # git 提交忽略\n├─ .prettierignore        # 忽略 prettier 格式化\n├─ .prettierrc.js         # prettier 配置\n├─ .stylelintignore       # 忽略 stylelint 格式化\n├─ .stylelintrc.js        # stylelint 样式格式化配置\n├─ CHANGELOG.md           # 项目更新日志\n├─ commitlint.config.js   # git 提交规范配置\n├─ index.html             # 入口 html\n├─ LICENSE                # 开源协议文件\n├─ lint-staged.config     # lint-staged 配置文件\n├─ package-lock.json      # 依赖包包版本锁\n├─ package.json           # 依赖包管理\n├─ postcss.config.js      # postcss 配置\n├─ README.md              # README 介绍\n├─ tsconfig.json          # typescript 全局配置\n└─ vite.config.ts         # vite 配置\n```\n\n## 七、项目后台接口 🧩\n\n\u003e 依托于技术派项目，一个基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等技术栈实现的社区系统，采用主流的互联网技术架构、全新的 UI 设计、支持一键源码部署，拥有完整的文章\u0026教程发布/搜索/评论/统计流程等，代码完全开源，没有任何二次封装，是一个非常适合二次开发/实战的现代化社区项目 👍 。\n\n- 网站首页：[https://paicoding.com/](https://paicoding.com/)\n- 源码地址：[https://github.com/itwanger/paicoding](https://github.com/itwanger/paicoding)\n\n## 八、生产环境部署\n\n1、执行 `npm run build:pro`，生成 dist 目录\n\n2、将 dist 目录上传到服务器的 `/home/admin/` 目录下\n\n3、如果采用 Nginx 的话，请在 server 节点下进行 location 配置。\n\n```\nlocation ^~ /admin {\n\talias /home/admin/dist/; # 根 目 录\n\tindex index.html;\n}\n```\n\n### launch.sh\n\n辅助 shell 脚本，针对 mac/linux 用户而言，提供更好的使用姿势\n\n0. 前提说明\n\n当 launch.sh 执行时，提示 `$‘\\r‘: command not found`时，主要原因是 windows 系统编写的 shell 脚本，每行结尾是`\\r\\n`， 而 linux 的结尾是`\\n`，可以通过下面几种方式进行处理\n\n```bash\n# case1\nsed -i 's/\\r//' launch.sh\n\n# case2\n# sudo apt-get install -y dos2unix\nsudo yum install -y dos2unix\ndos2unix launch.sh\n```\n\n1.安装依赖：\n\n```bash\n./launch.sh install\n```\n\n2.本地启动：\n\n```bash\n./launch.sh server\n```\n\n3.打包上传服务器，并使他生效\n\n```bash\n# 下面这个动作，包含以下几步\n# 1. 打包 -\u003e 生成 dist 目录， 压缩为 dist.tar.gz 包\n# 2. 上传到服务器\n# 3. 将之前旧的静态资源备份，然后解压新的上传包\n./launch.sh pro\n```\n\n## 九、友情链接\n\n- [toBeBetterjavaer](https://github.com/itwanger/toBeBetterJavaer) ：一份通俗易懂、风趣幽默的 Java 学习指南，内容涵盖 Java 基础、Java 并发编程、Java 虚拟机、Java 企业级开发、Java 面试等核心知识点。学 Java，就认准二哥的 Java 进阶之路 😄\n- [paicoding](https://github.com/itwanger/paicoding) ：⭐️ 一款好用又强大的开源社区，基于 Spring Boot、MyBatis-Plus、MySQL、Redis、ElasticSearch、MongoDB、Docker、RabbitMQ 等主流技术栈，附详细教程，包括 Java、Spring、MySQL、Redis、微服务\u0026分布式、消息队列等核心知识点。学编程，就上技术派 😁。\n\n## 十、star 趋势图\n\n[![Star History Chart](https://api.star-history.com/svg?repos=itwanger/paicoding-admin\u0026type=Date)](https://star-history.com/#itwanger/paicoding-admin\u0026Date)\n\n## 十一、许可证\n\n[Apache License 2.0](https://github.com/itwanger/paicoding/blob/main/License)\n\nCopyright (c) 2022-2023 技术派（沉默王二、楼仔、一灰、小超）\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitwanger%2Fpaicoding-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitwanger%2Fpaicoding-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitwanger%2Fpaicoding-admin/lists"}