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

admin3年前PHP教程25
目录
一、添加(权限)节点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添加权限内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

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

相关文章

选择GPU服务器的几个参数考量租用美国GPU服务器怎么选择

目前,GPU服务器主要应用于科学计算、视频编解码等不同场景领域。它可以为应用提供非凡的加速计算能力,将应用程序计算密集的工作负载转移到GPU。根据MarketGrowthInsight的数据,到202...

php floor()函数案例详解

floor() 函数向下舍入为最接近的整数。语法floor(x)参数描述x必需。一个数。说明返回不大于 x 的下一个整数,将 x 的小数部分舍去取整。floor...

gpu运算服务器怎么样如何选择韩国gpu服务器租用

无论是CPU还是GPU,在进行计算时,都需要用核心(Core)来做算术逻辑运算,比如加减乘。核心中有ALU(逻辑运算单元)和寄存器等电路。在进行计算时,一个核心只能顺序执行某项任务。所以为了同时并行地...

GPU服务器和普通服务器区别租用美国显卡服务器有什么优势

GPU服务器又被称为显卡服务器,是基于GPU的应用于视频编解码、深度学习、科学计算等多种场景的快速、稳定、弹性的计算服务。GPU加速计算可以提供非凡的应用程序性能,能将应用程序计算密集部分的工作负载转...

PHP创建简单RPC服务案例详解

RPC 定义RPC(Remote Procedure Call)即远程过程调用,指被调用方法的具体实现不在程序运行本地,而是在别的某个地方。主要应用于不同的系统之间的远程通信和相互调用。如 A 调用...

租用国外站群服务器对网站有哪些好处

租用国外站群服务器对网站的好处有:1、国外站群服务器有直连线路,访问速度稳定,有利于网站的SEO优化;2、国外站群服务器硬件配置可靠,且支持高并发多线程工作,能让站群网站跑的更稳定;3、无需备案,能快...