laravel结合vue添加权限的实现示例

admin3年前PHP教程76
目录
一、添加(权限)节点1.1、引入vue1.2、添加模版(vue、jquery)1.3、添加节点控制器逻辑1.4、模型中定义修改器1.5、效果:

 

一、添加(权限)节点

 

1.1、引入vue

使用vue进行界面管理,实现添加功能
我们在这个目录下存入vue.js:

 

1.2、添加模版(vue、jquery)

resources/admin/node/create.blade.php:

<!--_meta 作为公共模版分离出去--><!DOCTYPE HTML><html><head><meta charset="utf-8"><meta name="renderer" content="webkit|ie-comp|ie-stand"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /><meta http-equiv="Cache-Control" content="no-siteapp" /><link rel="Bookmark" href="/favicon.ico"><link rel="Shortcut Icon" href="/favicon.ico" /><link rel="stylesheet" type="text/css" href="/admin/static/h-ui/css/H-ui.min.css" /><link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/H-ui.admin.css" /><link rel="stylesheet" type="text/css" href="/admin/lib/Hui-iconfont/1.0.8/iconfont.css" /><link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/skin/default/skin.css" id="skin" /><link rel="stylesheet" type="text/css" href="/admin/static/h-ui.admin/css/style.css" /><title>添加节点</title></head><body><nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 用户中心 <span class="c-gray en">&gt;</span> 添加节点 <a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" placeholder="路由别名" name="route_name"></div></div><div class="row cl"><label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>是否菜单:</label><div class="formControls col-xs-8 col-sm-9 skin-minimal"><div class="radio-box"><input type="radio" v-model="info.is_menu" value="1"><label for="sex-1">是</label></div><div class="radio-box"><input type="radio" v-model="info.is_menu" value="0"><label for="sex-2">否</label></div></div></div><div class="row cl"><div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3"><input class="btn btn-primary radius" type="submit" value="添加节点"></div></div></form></article><!--_footer 作为公共模版分离出去--><script type="text/javascript" src="/admin/lib/jquery/1.9.1/jquery.min.js"></script><script type="text/javascript" src="/admin/lib/layer/2.4/layer.js"></script><script type="text/javascript" src="/admin/static/h-ui/js/H-ui.min.js"></script><script type="text/javascript" src="/admin/static/h-ui.admin/js/H-ui.admin.js"></script><!--/_footer 作为公共模版分离出去--><!--请在下方写此页面业务相关的脚本--><script type="text/javascript" src="/admin/lib/My97DatePicker/4.8/WdatePicker.js"></script><script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/jquery.validate.js"></script><script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/validate-methods.js"></script><script type="text/javascript" src="/admin/lib/jquery.validation/1.14.0/messages_zh.js"></script><!-- vue --><script src="/js/vue.js"></script><script type="text/javascript">new Vue({el: ".page-container",data: {info: {_token: "{{csrf_token()}}",pid: 0,name: "",route_name: "",is_menu: 0,}},methods: {// dopost (e) {// let url = e.target.action// $.post(url, this.info).then((res) => {// console.log(res);// })// }async dopost (e) {let url = e.target.actionlet res = await $.post(url, this.info)if (res.status == 1) {location.href ="{{route("admin.node.index")}}"}else {layer.msg(res.msg,{icon: 2, time:1000});}},changePid (e) {let pid = e.target.value || 0;this.info.pid = pid;}},mounted() {}})</script></body></html>

 

1.3、添加节点控制器逻辑

/** * Store a newly created resource in storage. * * @paramIlluminateHttpRequest$request * @return IlluminateHttpResponse */public function store(Request $request){// 异常处理try {// 后台验证$this -> validate($request, ["name" => "required|unique:roles,name"]);}catch (Exception $e) {return ["status" => 20002, "msg" => "验证不通过!"];}// 入库Node::create($request -> except("_token"));return ["status" => 1, "msg" => "添加节点成功!"];}

 

1.4、模型中定义修改器

<?phpnamespace AppModels;use IlluminateDatabaseEloquentModel;class Node extends Base{//模型中定义修改器 设置route_name 可以为null方法名set+字段名驼峰式public function setRouteNameAttribute($value){// 如果字段值为null,则设置为空字符串,修改和添加时生效 store 或 update$this->attributes["route_name"] = empty($value) ? "" : $value;}}

 

1.5、效果:

到此这篇关于laravel结合vue添加权限的实现示例的文章就介绍到这了,更多相关laravel vue添加权限内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

PHP队列场景以及实现代码实例详解

为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上),但是一个业务场景可能会同时处理两个表的操作。在这种场景下,事务的提交会变得相对复杂,因为多个节点(库...

Laravel的加密解密与哈希实例讲解

一、加密解密当你的应用程序中需要用到加密和解密的地方时可以使用Laravel自带的加密解密工具。Laravel 的加密机制使用的是 OpenSSL 所提供的 AES-256 和 AES-128 加密。...

解决Laravel使用验证时跳转到首页的问题

当我们在使用validate等方法进行验证时,如果是错误,则会返回首页1、直接在请求头中在请求头header中,accept使用appclication/json,使HTTP请求的接受返回只能是jso...

新加坡服务器延迟大怎么解决

新加坡服务器延迟大怎么解决?如果你使用的是网络游戏或视频会议等需要低延迟的应用,而在连接新加坡服务器时遇到了延迟问题,以下是一些可能有助于解决延迟问题的方法:更换ISP(互联网服务提供商):你可以尝试...

如何用RabbitMQ和Swoole实现一个异步任务系统

目录系统介绍事件生产者任务调度器消费者正常任务延迟任务自定义调度器系统介绍从图中可以看到,我们这个系统是一个基于事件的异步任务系统。就是说当一个事件产生时,生产者将事件抛给调度器,调度器负责查询事件下...

PHP函数__autoload失效原因及解决方法

1、利用sprintf()函数来格式化,语法“sprintf("%.小数位数f",$num)”。?123456<?phpheader("Co...