# catchAdmin
**Repository Path**: uniapp-view-base/catchAdmin
## Basic Information
- **Project Name**: catchAdmin
- **Description**: 🚀🚀 CatchAdmin 🔥是一款基于 Thinkphp6.x 和 Element UI 开发的权限管理系统,在 Thinkphp6.x Service 服务基础上,实现系统模块完全接耦。随时卸载安装模块。提供了完成的权限和数据权限等功能,大量内置的开发工具提升你的开发体验。支持云上传,短信平台的配置,敏感词,以及定时任务等等功能。官网地址:
- **Primary Language**: PHP
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: https://www.catchadmin.com
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 387
- **Created**: 2022-08-19
- **Last Updated**: 2022-08-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
CatchAdmin
是一款基于thinkphp framework和
element admin开发而成的后台管理系统。因为 thinkphp 的简单高效,文档齐全。在看了很多 thinkphp 生态中的后台管理系统,发现没有一款合适的前后端分离系统。遂开发了 CatchAdmin。
基于新版 thinkphp6 服务者的特性,后台的每个模块都可以独立成一个服务,模块之间的功能职责更加清晰。同时后台也兼顾了后台开发前端页面,减少了前端页面代码的输出。将表格和表单都封装成了后台组件,可在后台中通过 Json 数据轻松渲染出前端页面,大大提高了开发效率。CatchAdmin 同时也提供 Http 客户端,Excel 的导入导出,敏感词检测,大量的内置 commands 等一系列组件工具,提高使用后台的开发体验。
文档 |
演示地址 |
接口文档 |
项目源码 |
看云分析
扩展
## 功能
- [x] `用户管理` 后台用户管理
- [x] `部门管理` 配置公司的部门结构,支持树形结构
- [x] `岗位管理` 配置后台用户的职务
- [x] `菜单管理` 配置系统菜单,按钮等等
- [x] `角色管理` 配置用户担当的角色,分配权限
- [x] `数据字典` 管理后台表结构
- [x] `操作日志` 后台用户操作记录
- [x] `登录日志` 后台系统用户的登录记录
- [x] `代码生成` 生成 API 端的 CURD 操作
- [x] `敏感词` 支持敏感词配置
- [x] `附件管理` 可管理上传的文件
- [x] `定时任务` 可管理定时任务,而不依赖于 Crontab
- [x] `短信平台` 短信云管理,支持 阿里大于,腾讯云,Ucloud,Submail
- [x] `云上传` 支持云上传,七牛,OSS,腾讯
- [ ] `微信管理`
## 项目地址
- [小程序前端 UniApp 项目地址](https://gitee.com/my_hujinchen/uniapp-u-view-base)
- [后台前端 Vue 项目地址](https://gitee.com/my_hujinchen/catchdmin_vue)
- [后端 PHP 项目地址](https://gitee.com/my_hujinchen/catchAdmin)
- 这3个都是配套使用的,可以基于这基础上开发。
## 支持创作
如果项目对你有帮助,可以订阅支持我❤️。你的每一份支持是对我最大的鼓励。开源不易,感谢支持。可以通过使用 [**🎉 爱发电**](https://afdian.net/@jaguarjack)订阅支持创作。
## 预览
## 环境要求
- php7.1+ (需以下扩展)
- [x] mbstring
- [x] json
- [x] openssl
- [x] xml
- [x] pdo
- nginx
- mysql
### 如何安装
> 安装之前请确保已安装 Composer
#### 下载项目
- 通过 Git 下载(推荐)
```shell
git clone https://gitee.com/jaguarjack/catchAdmin && cd catchAdmin
curl -sS https://install.phpcomposer.com/installer | php
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
composer install --ignore-platform-reqs
```
- composer 安装
```shell
composer create-project jaguarjack/catchadmin:dev-master
```
#### 安装
下载完成之后通过命令来进行安装, 一键安装 🚀
```shell
php think catch:install
```
## 体验地址
[体验地址](http://vue.catchadmin.com)
- 账号: catch@admin.com
- 密码: catchadmin
[catchadmin 文档地址](http://doc.catchadmin.com)
### 系列文章
如果是刚开始使用 thinkphp6, 以下文章可能会对你有些许帮助,文章基于 RC3 版本。整体架构是不变的。
- [Tp6 启动分析](https://www.kancloud.cn/akasishikelu/thinkphp6/1129385)
- [Tp6 Request 解析](https://www.kancloud.cn/akasishikelu/thinkphp6/1134496)
- [TP6 应用初始化](https://www.kancloud.cn/akasishikelu/thinkphp6/1130427)
- [Tp6 中间件分析](https://www.kancloud.cn/akasishikelu/thinkphp6/1136616)
- [Tp6 请求流程](https://www.kancloud.cn/akasishikelu/thinkphp6/1136608)
### Who used
- [uctoo 应用开发管理后台](https://gitee.com/uctoo/uctoo)
### Talking
- [论坛讨论](http://bbs.catchadmin.com)
- 可以提 `ISSUE`,请按照 `issue` 模板提问
- 加入 Q 群 `302266230` 前请先 star 项目支持一下, 备注填写用户名 + 平台。例如: JaguarJack Github
### Thanks
- 感谢 [JetBrains](https://www.jetbrains.com) 提供生产力巨高的 `PHPStorm`和`WebStorm`
> 排名不分先后
- [top-think/think](https://github.com/top-think/think)
- [element-admin](https://panjiachen.gitee.io/vue-element-admin-site/zh/)
- [thans/tp-jwt-auth](https://packagist.org/packages/thans/tp-jwt-auth)
- [jaguarjack/think-filesystem-cloud](https://github.com/yanwenwu/think-filesystem-cloud)
- [overtrue/wechat](https://github.com/overtrue/wechat)
- [jaguarjack/migration-generator](https://github.com/yanwenwu/migration-generator)
- [phpoffice/phpspreadsheet](https://github.com/PHPOffice/PhpSpreadsheet)
# 数据迁移工具使用方法:
### 1、先通过命令 创建 Migration
```shell
php think catch-migrate:create module MigrationName
```
参数
--必选参数 module, 模块名称
--必选参数 MigrationName,大驼峰法命名
示例:
```shell
php think catch-migrate:create permissions RoleHasPermissions
```
如果已经存在migration文件,可以删除在使用命令创建,或者直接在文件中修改
### 2、在创建完migrations,需要先设计表结构
在模块的 模块名/database/migrations/xxx.php 下的change方法中写。
### 3、在创建表
```shell
php think catch-migrate:run module
```
使用该命令可以在数据库生成对应的表。然后数据库的migrations这张表会默认添加一条数据。
如果已经存在对应记录的话,可以先删除那条记录后,再删除对应的表,再运行这命令。
### 3.1、如果需要在创建表时,默认生成一些数据的话
在模块的 模块名/database/seeds/xxxSeed.php 下的run方法中写上对应的数据
命令:
```shell
php think catch-seed:run module
```
### 4、创建模型
当你创建表成功后,还需要生成对应的模型
```shell
php think create:model moduleName modelName
```
参数
--moduelName 模块名称
--modelName 模型名称
可选参数 --softDelete 值:SOFTDELETE 软删除参数之后,使用的模型会有区别,请注意
模型名称和模块名称都是必须的,模型名称还必须是驼峰规则,不然会找不到表,例如你的表名是user_role,那么你的模型名称就应该是 UserRole 这样的驼峰命名,这是约定。