SaiAdmin基于webman+vue3的完整框架,代码自动生成,丝滑+优雅

saithink

saiadmin是一款基于vue3 + webman 的极速开发框架,前端开发采用JavaScript,后端采用PHP,两种高效开发语言将会擦出什么样的火花?

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

演示地址: SaiAdmin
演示账号:admin
演示密码:123456

文章底部有git地址和微信交流群

项目介绍

1. 内置了完整的权限体系,包括:菜单、用户、角色、部门等权限控制。也包括了日常的系统监控、字典代码、数据表维护、定时任务、代码生成器等功能。
2. 后端分层为三层Controller,Logic,Model;增加了Validate验证器;

Controller 负责处理用户的输入和管理应用程序的流程;
Logic 负责应用的核心功能和规则,确保应用能够按照预期的方式工作;
Model 使应用程序的数据访问和操作逻辑组织得更加清晰和易于维护;
Validate 验证器采取thinkphp的think-validate;

3. 数据库采用Mysql,缓存采用 文件缓存Redis 两种方式,只需要在配置文件选择即可
4. 前后端都有鉴权方式,确保数据的安全性
5. 附带代码生成功能,能够一键生成前后端所有代码,并可以批量下载代码

项目截图








如何安装

后端安装

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

composer require saithink/saiadmin

如果php版本是7.X无法直接安装的,可以采取以下命令进行安装

composer require -W saithink/saiadmin

前端安装

git clone https://github.com/saithink/saiadmin-vue.git
# 或
git clone https://gitee.com/appsai/saiadmin-vue.git

# 进入项目目录
cd saiadmin-vue
# 安装依赖
yarn install
# 开发模式启动
yarn dev
# 前端打包
yarn build

开源地址

GitHub

前端:https://github.com/saithink/saiadmin-vue.git
后端:https://github.com/saithink/saiadmin.git

Gitee

前端:https://gitee.com/appsai/saiadmin-vue.git
后端:https://gitee.com/appsai/saiadmin.git

微信交流群

4615 24 21
24个评论

10bang

不错,感谢分享

稚出

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

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

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

lly888

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 6天前

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

saithink

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