基于laravel+vue的基础后台

基于laravel+vue的基础后台, 前后端分离, 欢迎fork&start, 不合理的地方也欢迎批评指正

内置REDIS队列示例+websocket示例

DEMO

ityphp.newbanri.com/#/dashboard

账号 look 密码 123456

PHP

gitee.com/pleaseyang/Ity

github.com/pleaseyang/Ity

VUE

gitee.com/pleaseyang/ItyWeb

github.com/pleaseyang/ItyWeb

API文档

API文档 docs.apipost.cn/view/27e22c203e0d4...

功能模块

代码生成器

代码生成器
新增代码生成器(测试版)。可进行CURD,加快开发效率。

RBAC权限

RBAC权限
整合 laravel-permission 制作的权限角色, 管理员可绑定角色, 也可以单独设置权限

操作记录

操作记录
整合 laravel-activitylog 制作的操作记录, 可查看修改前后的JSON

文件管理

文件管理
仿照 阿里云OSS 界面, 制作的文件管理页面

站内信

站内信
LARAVEL Notifiable Trait 搭建

系统布局

系统布局
vue-element-admin 提供的功能, 二次修改

系统异常

系统异常
获取异常后记录到DB中

备注

master :laravel最新版本的分支. 其余以laravel版本号进行命名

致谢

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 3年前 自动加精
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 49

先占楼,支持楼主开源

3年前 评论
pleaseyang (楼主) 3年前
pleaseyang (楼主) 3年前

点赞支持

3年前 评论
pleaseyang (楼主) 3年前
Herbst (作者) 3年前
pleaseyang (楼主) 3年前

点赞

3年前 评论
pleaseyang (楼主) 3年前
da_house

先支持~~页面感觉 不美观! :grin:

3年前 评论
pleaseyang (楼主) 3年前

好是好,就是Vue的,这个前端框架都跑路了!唉

3年前 评论
pleaseyang (楼主) 3年前
dongzhiyu (作者) 3年前

我的博客www.gouguoyin.cn/ 也是用的larvel+vue开发的

3年前 评论

我看有人说跑路了 啥意思啊 是这个扩展包不更新了哇?

3年前 评论
pleaseyang (楼主) 3年前

file 这种写法不好吗 :pensive:

3年前 评论

:see_no_evil:clone了框架。。。vue dev跑起来。。。admin密码都没说明下。。。

3年前 评论
pleaseyang (楼主) 3年前
zhaogh (作者) 3年前

怎么感觉跟laravue是一样的

3年前 评论
pleaseyang (楼主) 3年前

bug反馈:当把jwt的ttl设置为1分钟后,无痛刷新token存在bug,希望作者核实一下。

操作过程:

1.设置jwt的ttl为1分钟。

2.创建刷新token的middleware,以下是刷新token的中间件代码:

<?php

namespace App\Http\Middleware;

use App\Jobs\Api\SaveLastTokenJob;

use Auth;

use Closure;

use Tymon\JWTAuth\Exceptions\JWTException;

use Tymon\JWTAuth\Exceptions\TokenInvalidException;

use Tymon\JWTAuth\Http\Middleware\BaseMiddleware;

use Tymon\JWTAuth\Exceptions\TokenExpiredException;

use Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException;

class AutoRefreshToken extends BaseMiddleware{

public function handle($request, Closure $next){
    //检查此次请求中是否带有token,如果没有则抛出异常。
    $this->checkForToken($request);
    //如果格式通过,验证是否是专属于这个的token
    //获取当前守护的名称
    $current_guard = Auth::getDefaultDriver();
    //获取当前token
    $token = Auth::getToken();
    //即使过期了,也能获取到token里的载荷信息。
    $payload = Auth::manager()->getJWTProvider()->decode($token->get());
    //如果不包含guard字段或者guard所对应的值与当前的guard守护值不相同,证明是不属于当前guard守护的token
    if(empty($payload['guard']) || $payload['guard'] != $current_guard){
        throw new TokenInvalidException();
    }
    try{
        //检测用户的登录状态,如果正常则通过
        if($this->auth->parseToken()->authenticate()){
            return $next($request);
        }
        throw new UnauthorizedHttpException('jwt-auth','未登录');
    }catch(TokenExpiredException $exception){
        try{
            //刷新用户的token
            $token = $this->auth->refresh();
            //使用一次性登录以保证此次请求的成功
            Auth::onceUsingId($this->auth->manager()->getPayloadFactory()->buildClaimsCollection()->toPlainArray()['sub']);
            //将token存入数据库
            $user = Auth::user();
            SaveLastTokenJob::dispatch($user,$token);
        }catch(JWTException $exception) {
            //如果捕获到此异常,即代表refresh_token也过期了,用户无法刷新令牌,需要重新登录。
            throw new UnauthorizedHttpException('jwt-auth', $exception->getMessage());
        }
    }
    //在响应头中返回新的token
    return $this->setAuthenticationHeader($next($request), $token);
}

}

存在的bug: 当token过期后,这行代码$this->auth->parseToken()->authenticate()始终抛出的是UnauthorizedHttpException的exception,导致该中间件无法捕获TokenExpiredException

期望结果: token过期,应该抛出的是TokenExpiredException

3年前 评论

好像demo的act有些问题

3年前 评论
pleaseyang (楼主) 3年前
heihao (作者) 3年前
pleaseyang (楼主) 3年前

每个开源作者,都是伟大的开始!

3年前 评论
pleaseyang (楼主) 3年前

数据库也不放上去?

3年前 评论
pleaseyang (楼主) 3年前

功能强大,细节流畅

2年前 评论

楼主,npm run dev之后,报这个错误

file

按照错误提示执行:npm install --save e-icon-picker/dist/index.css 还是报错,要怎么解决呢

2年前 评论
pleaseyang (楼主) 2年前
pleaseyang (楼主) 2年前

file

更新了页面缓存与标签固定功能 :grin:

2年前 评论

clone前端后yarn install npm install cnpm i均失败,报错各不相同,百度了半天也没有解决:joy:

1年前 评论
pleaseyang (楼主) 1年前

新增代码生成器(测试版)。可进行 CURD,加快开发效率。

1年前 评论

在其他平台很早就关注你了,最近又看到这篇文章,过来看看有没有新增什么功能,学习学习。有个问题请教下,前端的package.json中dependencies 和 devDependencies依赖不应该根据环境情况保留一个就行了嘛?发现你的源码中这两个配置太多一样的依赖。导致安装前端的时候报了很多WARN。不耻下问 :joy:

2个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!