SaiAdmin基于webman+vue3的完整框架,代码自动生成,增加Vue免编译

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. 附带代码生成功能,能够一键生成前后端所有代码,可以直接生成到项目中,也可以下载代码
6. 支持生成apidoc文档格式控制器
7. 支持vue免编译功能,远程加载后端vue文件

项目截图








如何安装

后端安装

本项目是基于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

微信交流群

由于微信群已满,请添加好友邀请进群,好友添加备注saiadmin

8534 41 27
41个评论

10bang

不错,感谢分享

  • saithink 2024-01-21

    希望大家喜欢

  • supdger 26天前

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

稚出

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

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两种方式都支持,可以在配置文件中选择

一眼看去如此像 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

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

  • xiaodong 2024-05-22

    好的谢谢找到了

  • z 22天前

    请问下你配置成功了吗

yajie

感谢分享

  • 暂无评论
稚出

点赞

  • 暂无评论
morrow

牛皮

  • 暂无评论
567

我也点个赞 大佬牛皮

  • 暂无评论
nnly055

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

  • 暂无评论
liudada1204

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

jiaruo

make

  • 暂无评论
Dawson

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

  • saithink 16天前

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

qq375139026

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

  • saithink 12天前

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

saithink

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