抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

一些经验自动刷新问题:用 vue-cli 建立的vue项目,配合 webpack 测试时, webpack 可以自动更新浏览器输出结果,但是 vue.js 的数据修改,是不会显示在浏览器中的,必须手动刷新才行.比如下面例子 12345678910111213141516171819<template> <div class="hello"> ...

今天遇到这个 !~id.indexOf('category-detail') 以前没碰到过,不是很理解.后来一查明白了,这是位移运算符. 运算符就是完成操作的一系列符号,它有七类:赋值运算符 =,+=,-=,*=,/=,%=,<<=,>>=,|=,&=、算术运算符 +,-,*,/,++,--,%、比较运算符 >,<,<=,&g...

前言我因为手动安装npm造成系统里存在两个npm,而nodejs自带npm全局包位置不是很喜欢,所以手动改一下.下面是文章里写的办法,我用命令可以改,不知道他为啥非得改文件. 第二次安装这次安装也出现了下面文章说的使用命令安装不上的问题,通过命令查看配置文件 npm config ls -l 原来是 C:\Program Files 这个空格的问题.使用命令后,用户配置文件C:\Users\...

Route::auth(); 5.2新加的用于生成auth路由

Auth::guard($guard) 试图从本地缓存中获取保护 官方直译是这么写的 但还是不明白啥意思 而且这也是5.2新加的
有点懂这个guard了 主要用这个机制应对同一应用不同登录验证 比如前台用户登录和后台管理员登录 就可以放在两个表里然后配置不同的guard

5.2和5.1的Auth部分变化很大,两个config/auth.php配置就有很大区别

5.2把单独Auth/Guard 类 拆成了三个,SessionGuard和TokenGuard,GuardHelpers.
GuardHelpers主要是共有方法,另外两个是根据不同驱动,也就是登录信息保存方法.
同时也就是根据pc和移动的登录验证分成了两个类.


laravel是区分大小写的,即使在windows下如果url路径写错(大小写不一致),也会造成找不到页面错误

TaskRepository 分担查询数据库内容的工作 其实放到model也可以 不过这样解耦 以后方便改吧

1
2
3
4
5
6
7
RouteServiceProvider --> $router->model('task','App\Task'); #路由绑定模型 还得需要前边 路由的配合
Route::delete('tasks/{task}','TaskController@destroy'); #再说明一次 task是指第一个参数 也就是起得名字

AuthServiceProvider --> protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
'App\Task' => 'App\Policies\TaskPolicy',
];

关联策略的 策略是用于检查是否有权限进行这个操作

1
2
3
4
public function destroy(User $user, Task $task)
{
return $user->id === $task->user_id;
}
1
$this->authorize('destroy',$task);

调用策略验证 同名功能 其实可以不用第一个参数

默认策略必须在AuthServiceProvider这个支持者里进行设定才能应用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php

namespace App\Providers;

use App\Post;
use App\Policies\PostPolicy;
use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*应用策略映射
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
//放在这里直接映射了 下面就不用在boot里挨个写了 那样太凌乱了
Post::class=>PostPolicy::class,
];

/**
* Register any application authentication / authorization services.
*
* @param \Illuminate\Contracts\Auth\Access\Gate $gate
* @return void
*/
public function boot(GateContract $gate)
{
parent::registerPolicies($gate);

//定义权限
$gate->define('update-post',function($user,$post){
return $user->id === $post->user_id;
});
//也可以这么写
//$gate->define('update-post', 'PostPolicy@update');
}

原因就是chart.js需要Chart.bundle.js支持. 不过 vue-admin 把chart.js设置成不解析依赖的了,所以就会报错.这个配置就在 79 行. webpace.base.conf.js 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495...