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

admin3年前PHP教程53
目录
一、添加(权限)节点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之深入理解架构布局讲解

本文基于《php 内核剖析》与 《php7底层设计与源码实现》所记笔记。对php内核的深入理解有助于我们对php的整体认识,对于业务层初期发展我们可以只了解基本语言的逻辑就可以写出符合业务的代码,但是...

马来西亚服务器为什么比美国服务器贵

马来西亚服务器为什么比美国服务器贵?有几个可能的原因导致马来西亚服务器比美国服务器贵:市场需求:马来西亚可能没有像美国那么多的服务器提供商和数据中心。由于市场竞争较少,价格可能会相对较高。劳动力成本:...

GPU服务器在图像处理与渲染方面有何优势美国GPU服务器市场应用场景有哪些

随着计算机技术的发展,人们对图形和图像的处理要求也越来越高,尤其现在兴起的3D技术,使图形图像处理和3D计算已经应用到了各种视频游戏,电影产业,医疗成像,空间探索,远程通信等各个方面。现在风靡的大型3...

网络安全为什么如此重要?美国电信高防服务器如何防御网络攻击?

网络安全至关重要,因为它保护所有形式的数据和信息,如敏感数据、个人识别信息(PII)、受保护的健康信息(PHI)、知识产权、信息以及和工业信息系统。如果没有广泛的网络安全战略和计划,和组织就无法抵御数...

韩国站群服务器更适合部署哪些业务?租用韩国站群服务器适合哪些行业购买?

最近不少客户都来咨询韩国多ip服务器、韩国站群服务器的问题,对于站群服务器,有些用户还是不是太了解,下面就来简单介绍以下韩国站群服务器更适合部署哪些业务以及哪家比较好?韩国站群服务器更适合部署哪些业务...

ajax的核心(ajax和json的区别)

ajax的核心是什么ajax的核心是数据获取技能“XMLHttpRequest”,它是JavaScript的一个目标。经过XMLHttpRequest可在不改写页面的情况下恳求特定URL,获取数据,让...