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

admin3年前PHP教程28
目录
一、添加(权限)节点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类型GPU服务器通常配备高性能的专业GPU,如NVIDIATesla、AMDRadeonInstinct等。这些GPU设计用于高性能...

图文详解laravel多对多关联模型

关联模型(多对多)多对多关系(抽象)例:一篇文章可能有多个关键词,一个关键词可能被多个文章使用。 关键词表:字段id主键字段keyword关键词文章与关键词的关系表: 字段id主键----字...

美国站群服务器用SSD盘好还是机械盘好

美国站群服务器用SSD盘好还是机械盘好?不管站群服务器出自哪个服务商,不论租借站群服务器的费用,回根结底,租借站群服务器是为了满足网站和运用需求。所以,公司或开发人员需要从多维把握自己的网站或运用需求...

高防服务器一般多少钱?租用泉州电信高防服务器大概费用多少钱?

高防服务器一般多少钱?高防服务器是专门针对网站被挂木马、入侵,以及黑客攻击等造成的网站瘫痪或无法正常访问的情况而推出的一种服务。那么,高防服务器的价格是多少呢?今天小编就来为大家解答这个问题。首先,我...

关于PHP数组迭代器的使用方法实例

近来在开发一个视力筛查电子报告系统的产品,这个产品的作用是自动提取视力筛查过程中得到的屈光检查数据,并结合数据自动生成通俗易懂且专业的电子报告,以方便家长可以通过公众号或h5链接查阅。要实现这个需求,...

如何让PHP的代码更安全

目录概述越权漏洞1. 水平越权2. 垂直越权3. 上下文越权JWT 的 Token 需要二次加密LFI (本地文件包含)XSSCSRF (跨站请求伪造)概述攻击者通过构造恶意SQL命令发送到数据库,如...