diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 18a0d08..993bc4b 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -4,6 +4,8 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; use App\Providers\RouteServiceProvider; +use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; use Illuminate\Foundation\Auth\AuthenticatesUsers; class LoginController extends Controller @@ -37,4 +39,16 @@ class LoginController extends Controller { $this->middleware('guest')->except('logout'); } + + public function login(Request $request) + { + $credentials = $request->only('name', 'password'); + + if (Auth::attempt($credentials)) { + // 通过认证.. + return response()->json(['token' => '']); + }else { + return response()->json(['error' => 'auth login fail']); + } + } } diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index 69efd5f..e48e455 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -8,6 +8,8 @@ use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; +use Faker\Generator as Faker; +use Illuminate\Support\Str; class RegisterController extends Controller { @@ -50,9 +52,10 @@ class RegisterController extends Controller protected function validator(array $data) { return Validator::make($data, [ - 'name' => ['required', 'string', 'max:255'], - 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], + 'name' => ['required', 'string', 'unique:users', 'max:255'], + 'email' => ['string', 'email', 'max:255', 'unique:users'], 'password' => ['required', 'string', 'min:8', 'confirmed'], + 'role_id' => ['required', 'numeric', 'exists:roles,id'], ]); } @@ -60,14 +63,17 @@ class RegisterController extends Controller * Create a new user instance after a valid registration. * * @param array $data - * @return \App\Models\User + * @return User */ protected function create(array $data) { + $faker = new Faker(); + return User::create([ 'name' => $data['name'], - 'email' => $data['email'], + 'email' => $data['email'] ?? $faker->unique()->safeEmail, 'password' => Hash::make($data['password']), + 'api_token' => Str::random(60), ]); } } diff --git a/app/Http/Controllers/Goods/GoodsBrandsController.php b/app/Http/Controllers/Goods/GoodsBrandsController.php new file mode 100644 index 0000000..f147810 --- /dev/null +++ b/app/Http/Controllers/Goods/GoodsBrandsController.php @@ -0,0 +1,44 @@ +paginate(); + + return GoodsBrandResource::collection($goodsBrands); + } + + public function store(Request $request) + { + $request->validate([ + 'name' => 'required|string|unique:users|max:255', + ]); + + GoodsBrand::created(); + } + + public function show($id) + { + $columns = ['*']; + $goodsBrand = GoodsBrand::query()->find($id, $columns); + + return GoodsBrandResource::collection($goodsBrand); + } + + public function update() + { + + } + + public function destory() + { + + } +} diff --git a/app/Http/Controllers/Goods/GoodsTypesController.php b/app/Http/Controllers/Goods/GoodsTypesController.php new file mode 100644 index 0000000..55b0a76 --- /dev/null +++ b/app/Http/Controllers/Goods/GoodsTypesController.php @@ -0,0 +1,10 @@ +validate([ + 'name' => 'required|string|unique:users|max:255', + 'password' => 'required|string|min:8|confirmed', + ]); + $user = new User(); + $user->name = $request->name; + $user->password = $request->password; + } + + public function show($id) + { + return User::query()->find($id); + } + + public function update() + { + + } + + public function destory() + { + + } +} diff --git a/app/Http/Resources/GoodsBrandResource.php b/app/Http/Resources/GoodsBrandResource.php new file mode 100644 index 0000000..9d73b57 --- /dev/null +++ b/app/Http/Resources/GoodsBrandResource.php @@ -0,0 +1,19 @@ + 'datetime', ]; + + public function setPasswordAttribute($value) + { + $this->attributes['password'] = Hash::make($value); + } } diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index fa9360e..fa3372e 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -19,10 +19,11 @@ use Illuminate\Support\Str; $factory->define(User::class, function (Faker $faker) { return [ - 'name' => $faker->name, + 'name' => 'erpAdmin', 'email' => $faker->unique()->safeEmail, 'email_verified_at' => now(), 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password + 'api_token' => Str::random(60), 'remember_token' => Str::random(10), ]; }); diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index a91e1d3..5a3b4fa 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -19,6 +19,7 @@ class CreateUsersTable extends Migration $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); + $table->string('api_token', 80)->unique()->nullable()->default(null); $table->rememberToken(); $table->timestamps(); }); diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 91cb6d1..a58fc82 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -12,5 +12,6 @@ class DatabaseSeeder extends Seeder public function run() { // $this->call(UsersTableSeeder::class); + factory(\App\Models\User::class)->create(); } } diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php new file mode 100644 index 0000000..06755ee --- /dev/null +++ b/resources/views/home.blade.php @@ -0,0 +1,71 @@ + + +
+ + + +