一、文件上传
在控制器中按下面所示书写
public function upload(){
$this->domain = $_SERVER['HTTP_HOST'];
//获取当前域我, 其实这个是不应该写在这儿(应该是一个全局),我只是做个例子。
$file = $this->require->file('file');
$name = $file->getClientOriginalName(); //文件名,前端传来的文件名,包括了扩展名
$ext = $file->getClientOriginalExtension(); //文件的扩展名,只有扩展名
$path = $file->move('./upload' , $name); //将临时文件移动到指定的目录
$pathAll = $this->domain . '/upload/' . $name;
$arr = [
'path' => $pathAll,
'msg' => '上传成功'
];
return response()->json($arr , 200);
//注:response()->json($arr , 200)
//后面的200为http的状态码。默认就是200,如果想用其他的状态码,请直接写上其他的
}
二、jwt的安装和使用
1、安装
composer require tymon/jwt-auth 1.*@rc
2、配置
# 这条命令会在 config 下增加一个 jwt.php 的配置文件
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
# 这条命令会在 .env 文件下生成一个加密密钥,如:JWT_SECRET=foobar
php artisan jwt:secret
3、 修改 auth.php
//在 guards 部份
'guards' => [
'web' => [
'driver' => 'jwt',
'provider' => 'users', //注意这儿的 users 需要跟下面 providers 部份的 名字一样
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
],
4、修改user.php文件
//在该文件最下面,添加如下代码
public function getJWTIdentifier()
{
return $this->getKey();
}
public function getJWTCustomClaims()
{
return [];
}
5、在控制中使用
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Hash; //存入数据库的密码需要使用 hash加密 Hash::make('123456');
use App\Models\User;
public function setToken(){
//方法一
$u = User::first(); //查询用户表
$token = JWTAuth::fromUser($u);
var_dump($token);
//方法二
$postData = [
'email' => '10aqq.com',
'password' => '123456'
];
$token = JWTAuth::attempt($postData);
}
三、多应用或者叫多模块(admin、index、api)
1、在项目根目下,执行
composer require nwidart/laravel-modules
2、执行完上面的语句后,在项目的 composer.json文件 中加上一行代码
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Modules\\": "Modules/" //注意,只有这一句才是需要加上去的,
}
},
3、再执行下面的语句(常试下,如果不执行能不能跑)
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
4、上面三步执行完之后,我们就可以选择性的添加我们需要的模块了。
php artisan module:make Admin
php artisan module:make Index
php artisan module:make Api
php artisan module:make Test
5、别忘了还有最后一步
composer dump-autoload
之后就会在项目的根目录下看到如图所示(根目录下有一个Modules目录,该目录下会有我创建好的模块)