[6.x更新]SaiAdmin基于webman+vue3的完整框架,代码自动生成

saithink

SaiAdmin 是一个基于 Webman 的高性能后台管理系统插件。它提供了完整的权限管理、系统配置、代码生成等功能,帮助开发者快速构建企业级应用

技术架构

前端使用 Vue3 + TypeScript + Element Plus + Tailwind CSS

前端框架:Art Design Pro

后端使用 php8 + webman

后端框架:webman

✨ 核心特性

  • 🚀 高性能 - 基于 Webman 常驻内存框架,性能优异
  • 🔐 完整权限系统 - RBAC 权限模型,支持用户、角色、部门、岗位管理
  • 📝 代码生成器 - 一键生成 CRUD 代码,提升开发效率
  • ⚡ 双 ORM 支持 - 同时支持 ThinkORM 和 Eloquent ORM
  • 🔧 插件化架构 - 支持插件扩展,便于功能模块化
  • 📊 系统监控 - 内置服务器监控、缓存管理功能
  • 📋 日志系统 - 完整的登录日志和操作日志记录

官方网址: https://saithink.top

演示地址:http://v6.saithink.top/

根据角色进行体验,不同角色查看不同数据,仅能分配当前角色已有的权限和部门

超级管理员
账号:admin 密码:123456

🛠️ 功能模块

系统管理

模块 说明
用户管理 用户增删改查、密码管理、缓存清理
角色管理 角色 CRUD、菜单权限分配
部门管理 组织架构管理、树形结构
岗位管理 岗位信息维护、Excel 模板导入导出
菜单管理 菜单配置、按钮权限
字典管理 字典类型与字典数据维护
附件管理 文件上传、分类管理、资源移动
系统配置 分组配置、邮件设置、动态参数
日志管理 登录日志、操作日志查询与清理
服务监控 服务器状态、缓存信息、一键清理
数据表维护 数据表结构、表优化、碎片整理

开发工具

模块 说明
代码生成 根据数据表自动生成 CRUD 代码
定时任务 Crontab 任务管理、执行日志

🔧 命令行工具

# 创建基于 SaiAdmin 的 Webman 插件
php webman sai:plugin {插件标识}

# 切换 ORM (ThinkORM / Eloquent)
php webman sai:orm

# 升级 SaiAdmin 框架
php webman sai:upgrade

项目截图







如何安装

本项目是基于webman的插件方式进行开发,对webman项目没有任何侵入性,能够兼容其他webman项目,目前版本支持php8.1+,安装方式如下,具体安装和配置流程可以到官方文档进行查看

官网

https://saithink.top

开源地址

GitHub

完整项目:https://github.com/saithink/saiadmin6.x
saiadmin核心:https://github.com/saithink/saiadmin.git

Gitee

完整项目:https://gitee.com/saigroup/saiadmin6.x
saiadmin核心:https://gitee.com/appsai/saiadmin.git

微信交流群

微信#1群已满,要进1群的请添加好友邀请进群,好友添加备注saiadmin

31453 81 45
81个评论

10bang

不错,感谢分享

  • saithink 2024-01-21

    希望大家喜欢

  • supdger 2024-06-20

    我喜欢,我朋友不喜欢哈哈。因为我后端,他前端,我前端代码搞不了的就找他,所以他不喜欢。

稚出

装完之后,怎么点什么都是服务器资源不存在

xiaozhiyue

感谢分享

  • 暂无评论
muvtou

感谢分享

  • 暂无评论
彭彭

很棒的分享,好像没有数据权据,建议加上。不知道下面的是否准确,请指教!!!
在BaseModel可以加上

    public function __construct(object|array $data = [])
    {
        parent::__construct($data);
        //注册用户数据权限
        $model = $this;
        self::macro('userDataScope', function (?int $user_id = null) use ($model) {
            //配置文件是否开启数据权限
            if (!config('plugin.saiadmin.saithink.data_scope_enabled')) {
                return $this;
            }
            //获取当前登录用户信息
            if (!$current_user = getCurrentInfo()) {
                throw new \RuntimeException('Data Scope missing user_id');
            }
            //当前登录用户是否超级管理员
            $user_id = $current_user['id'];
            if ($user_id == config('plugin.saiadmin.saithink.SUPER_ADMIN')) {
                return $this;
            }
            //判断模型是否有created_by字段
            if (!in_array('created_by', $model->field)) {
                return $this;
            }
            //用户部门数据权限判断

        });
    }

然后在BaseLogic加判断是否开启用户权限

    /**
     * 搜索器搜索
     * @param array $searchWhere
     * @param bool  $scope
     * @return mixed
     */
    public function search(array $searchWhere = [], $scope = false)
    {
        $withSearch = array_keys($searchWhere);
        $data = $searchWhere;
        foreach ($withSearch as $k => $v) {
            if ($data[$v] === '') {
                unset($data[$v]);
                unset($withSearch[$k]);
            }
        }

        if ($scope) {
            return $this->model->userDataScope()->withSearch($withSearch, $data);
        }

        return $this->model->withSearch($withSearch, $data);
    }

这样在Controller里面调用的时候可以根据具体情况判断是否调用

$query = $this->logic->search($where,true);
  • saithink 2024-01-25

    非常棒,看出来认真研究了的

864328615

后台不需要做数据验证码,看了下源码 数据都是前端传过来就直接入库了

saithink

后台数据验证再这里
截图

  • 864328615 2024-02-01

    不是接口权限 是validate验证

  • saithink 2024-02-01

    后端没有做validate验证,在前端进行的验证

  • saithink 2024-03-12

    目前已经加上了tp的验证器

Jinson

感谢分享

  • 暂无评论
青衣煮茶

支持一下

tangniyuqi

体验了下 真不错

water2023

很棒啊收费不啊

Administration

这个真是不错,666

Forsend

很棒,收藏了!
就是不太会Vue

lllllll

刚准备找个前后端分离项目,就找到了,体验了很不错!

法外狂徒张三

ting丝滑的的 很不错star下

无法埋名

thinkorm么?习惯了

cc

thinkorm 能升级到最新版面么 有withsun 之类的

  • saithink 2024-03-17

    目前如果php版本是8+的话,安装的就是thinkorm3.+版本

huwen945

请问下验证码支持redis保存吗,我看官网好像是直接显示的图片

  • saithink 2024-03-25

    支持,session和redis两种方式都支持,可以在配置文件中选择

putyy

一眼看去如此像 mineadmin 👍

  • saithink 2024-03-29

    基于mineadmin前端+webman后端开发的

xiaobai

不错啊。大赞

xia

很不错的后台管理系统

zhang9966

功能能否增加一些

Blaze

找了几个不同的前后的分离框架研究了下,就这个的确不错!

soueo

做的非常不错,稍微提点用户体验优化,在定时任务那里,定时规则可以做成像宝塔那样选择的感觉会更好一点

  • saithink 2024-04-28

    感谢支持,后期加上类似若依的那种选择方式,方便用户操作

寒尘卉羽

感谢分享,后面有需要首选这个了

AnT2077

感谢分享

ak47f16200

写的不错,哈哈,

  1. 多模块怎么用呢?
  2. controller可以啥都不写只写一个__construct,我就是这么干的。。
  • saithink 2024-05-08

    多模块参照webman的多模块设计,很简单和方便

tangniyuqi

目前有多少人在用呢

德玛西亚

牛逼,祝你JJ增加5CM

zhou604638018

终于等到了

xpwsgg

给你点个赞

xiaodong

数据库配置文件是在这里改么?

PHP黑粉

感谢分享

  • 暂无评论
稚出

点赞

  • 暂无评论
morrow

牛皮

  • 暂无评论
nnly055

厉害,准备下个新项目就用这个搞了

liudada1204

嗨喽有个小问题,布局选择混合模式下,系统设置点不开

jiaruo

make

  • 暂无评论
Dawson

saiadmin 安装好了 怎么访问后台 或者说后台的路由是什么

  • saithink 2024-06-30

    建议看一下官网,上面有安装和使用说明

qq375139026

看着是不错, 前端是用的mine-admin的前端吧。 我觉得吧,这个用了还是提及一下吧~~

  • saithink 2024-07-04

    感谢评论,在官网上专门写了的

happy

一键生成代码后,还要配置路由吗?
生成了提示服务器资源不存在,看了下是访问的url提示404

  • saithink 2024-07-28

    按照文档设置好路径,不需要再配置路由

  • happy 2024-07-29

    我是按文档弄的,不行,你们测试可以吗

happy

截图
这是我自己加的,不是框架里面的,如果实现点击切换,能调用接口

  • happy 2024-07-28

    而且带上搜索框的条件

huihui14569

这个有做接口权限的验证吗?

qq7467466

这个框架和MineAdmin很像

  • saithink 2024-08-12

    是的,1.0-2.0前端使用的就是mineadmin的前端

TomMilk

部署就卡住了
1 报错test数据库找不到 : 数据库配置在config\thinkorm.php ,不在config\database.php
2 报错xx表找不到 要导入sql文件
3账号admin 密码123456
4前端执行yarn dev打开网址 提示网络连接错误 : 前端项目里没配置后端接口网址转发

文档能不能写的详细些呀

无法埋名

和hyperf的mineadmin什么区别?

  • saithink 2024-08-20

    3.x版本的前端已取消ma的封装模式,采取arco design原装表单,后端webman和hyper天然有区别

misfeng

大佬,有考虑出thinkphp版本的吗

  • saithink 2024-08-21

    本来就是从thinkphp转过来的,thinkphp也有很多类似框架

  • 德玛西亚 2024-08-21

    webman的代码开发逻辑上跟用tp没啥区别,直接用就行了

wz_8849

tongyi

感谢分享

  • 暂无评论
kzhzjdyw888

这个项目的贡献对社区的影响深远,真心佩服开发者的付出。

xiaodong

好用牛逼轰轰的

  • 暂无评论
xiaodong

这个接口找不到
http://localhost:8888/dev/core/dept/accessDept
composer 与gitee上的代码不同步composer3.0.1版本

  • saithink 2024-09-06

    确定安装的后端是最新版,用官方源,不行的话就到git上去下载

  • xiaodong 2024-09-06

    我php8.0.2 composer 后端代码下载下来的是3.0.1,我切换到3.x.dev还是每一这个接口,我用git上的替换掉了谢谢

dsx5ds

开源可以商用么,感觉不错,

  • 暂无评论
sanergo

其实一直没搞懂一个后台为什么还要去前后端分离?
对于90%以上的项目来说,后台基本就是运营用来看数据的地方,基本不对外开放(就算对外开放也够用)。现有的webman admin绝对够用了,而且还方便部署和管理。
所以是真不太理解,难道大家都是属于那10%的这部分吗?

  • dsx5ds 2024-09-06

    看使用环境吧,比如企业内部来说,多部门岗位这个框架更有优势,其次是vue的响应模式可以让那些数据录入等非编程人员更舒服,老板看着也开心啊

  • wz_8849 2024-09-06

    是的,我也 不喜欢 后端 的 前台代码 还需要打包。

  • ieras 2024-09-11

    其实大部分公司项目来说 都是分离的。。。

liudada1204

按本地安装教程来的,3.0.1.update.sql导入数据库时报错,windows环境,用的navicat

php版本7.3.4,启动时报错

TomMilk

请问哪些网站用的这款框架开发的?
有案例吗?

misfeng

关联模型 搜索的话 有点难搞呢,用的搜索器不知道怎么加

tesla

求大佬把携程加到框架中

  • saithink 2024-10-11

    安装兔子大佬的协程插件就可以使用协程了

dsx5ds

hasone 等 怎么加with查询getlist呢

破建站的

前后端本地都安装了 体验是真不错 可惜 thinkorm实在用不惯 尝试改造发现工作量巨大 大佬有考虑弄个 laravel orm 的版本吗

  • gddd 2024-10-12

    +1 希望支持laravel orm

  • saithink 2024-10-12

    laravel orm是强大一些,后续有时间了再弄吧

  • beita 2025-09-16

    期待laravel系的orm,之前一直用laravel,来回切换写法挺别扭

wocall

总之,牛逼

  • 暂无评论
小七他哥

不懂就问,为啥我看响应标头里面的 server 是 nginx ?

  • saithink 2024-10-24

    线上的后端是用nginx做了代理

z

composer require saithink/saiadmin 这个全新安装,php8.1的能安装到saiadmin3.1的版本, PHP8.2的安装saiadmin却是1.0的,两个是一样的吗

miraclesev

支持大佬,越来越好

yidong_2024

好用 有颜值

uniapp

好用,JavaScript真香

  • 暂无评论
tinyboy

怎么不把UI换成element plus呢

  • 暂无评论
Ace华

免编译版本可以详细说明怎么安装,部署吗?找了半天,只有一句话,demo就是用的免编译,其他没有了

  • saithink 2025-03-03

    你好,感谢提出的建议,目前免编译文档已经更新,对应的技术栈还有开源地址都已说明

xia

不错不错,代码生成器很好使

z

移动端能再兼容下显示问题就嘎嘎香了

  • saithink 2025-05-10

    5.x版本已经对移动端做了兼容

深蓝

安装完成后,进入安装页面http://192.168.190.16:8888/core/install
直接就跳转到下面这个地址,提示要登陆
http://192.168.190.16:8888/install#/login?redirect=/dashboard

并且由于没有配置数据库,所以webman后台一直报数据库连接错误。这个初始化安装是否有一个控制变量的。我是按照文档来的,是哪里没有搞好吗?

  • 深蓝 2025-06-30

    "name": "saithink/saiadmin",
    "version": "5.0.6",

  • saithink 2025-07-01

    首先、报连接错误不会影响安装,有问题可以到官网加我,在交流群里面和群友进行交流

TomMilk

文档有待完善,不知道从哪里入手

lxin

正在使用,非常不错,特地过来支持下。

18227948197

plugin\saiadmin\process\Task这个在数据库为安装之前,启动会报错

  • lxin 2025-08-11

    忽略这个,安装好之后,生成了.env文件就好了。

  • saithink 2025-08-11

    5.1增加了判断,没安装之前不查询数据库

keroppi

仪表盘可以定制是任何指定的页面吗?而不是工作台或统计页这两个

  • saithink 2025-08-17

    在路由js文件里面,指定了仪表盘的路由,你可以修改路由指定的组件

知名坤

相当丝滑,纵享丝滑。
———————————————来自不知名的知名坤

qiangzai

相当不错,我以前的项目不行了,需要修改,结果找的前端不会修,没办法,后来找到这个,起初只是看着样子还不错,我现在一个项目都写完了,用了2周时间,整体感觉还不错,我都是直接生成页面,让前端去修改,所需接口基本不需要动,太棒了。

  • saithink 2025-09-16

    感谢认可,前端用的是vue+JavaScript,相对而言还是很好理解,基本功能改起来问题不大

littlesouse

好用好用

  • 暂无评论
卷心菜

hyperf有一个mineadmin,之前有一个版本和你这个登录页面非常像

  • saithink 2025-11-23

    是的,大部分借鉴了mineadmin的前端

beita

大佬,啥时候出个laravel orm + elementPlus的

saithink

版本更新6.x

  • 暂无评论

saithink

710
积分
0
获赞数
0
粉丝数
2023-02-22 加入
🔝