Curso Flutter y Laravel App de Turismo

Proceso de Registro

Implementación del Proceso de registro de un usuario de tipo empresa, lección dividida en 03 partes: Lógica JWT Laravel, Formulario Flutter y Testing

Lección 30 del Curso Flutter y Laravel App de Turismo

Proceso de Registro

POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO DE POR VIDA
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Flutter y Laravel App de Turismo

Registro de una empresa mediante el aplicativo móvil en Flutter

DESCRIPCIÓN DE LA LECCIÓN

Implementación del Proceso de registro de un usuario de tipo empresa, lección dividida en 03 partes:

  • Lógica JWT Laravel
  • Formulario Flutter
  • Testing y UI

Primera parte:

Ruta para invocar el método de registro

Route::post('/registro',[App\Http\Controllers\Api\AuthController::class, 'registro']);
<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;
use Auth;
use Spatie\Permission\Models\Role;

class AuthController extends Controller
{
    public function registro(Request $request){
       $password_plano =$request->password;

       $password_encriptado = bcrypt($password_plano);

       $request->request->add(['password'=>$password_encriptado]);
       // creacion del usuario:empresa
       $user = User::create($request->all());
       $user->assignRole("empresa");

       $request->request->add(['password'=>$password_plano]);

        return $this->login($request);
    }
    public function login(Request $request){
        $input = $request->only("email","password");
        $token = null;
        if(!$token = JWTAuth::attempt($input)){
            return response()->json([
                'success' => false,
                'mensaje' => 'credenciales incorrectas'
            ], 401);
        }
        $user = Auth::user();
        return response()->json([
            'success' => true,
            'user' => $user,
            'token' =>$token
        ], 200);

    }
    public function logout(Request $request){       
        JWTAuth::invalidate(JWTAuth::parseToken($request->token));
        return response()->json([
            'success' => true
        ], 200);
    }


}

 

Segunda parte se refiere al diseño del formulario y proceso de registro ademas de la implementación de un método en la API

import 'dart:convert';
...

class pantallaRegistro extends StatefulWidget {
  @override
  _pantallaRegistroState createState() => _pantallaRegistroState();
}

class _pantallaRegistroState extends State<pantallaRegistro> {
  TextEditingController _nombre = TextEditingController();
  TextEditingController _email = TextEditingController();
  TextEditingController _password = TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text("REGISTRO"),
        ),
        backgroundColor: Colors.amber,
        body: Container(
          padding: EdgeInsets.all(20),
          child:Card(
            elevation: 20,
            child:  Padding(
              padding: EdgeInsets.all(20),
              child: Column(
                mainAxisSize: MainAxisSize.min,
                children: [
                  TextField(
                    controller: _nombre,
                    decoration: InputDecoration(hintText: "Nombre :"),
                  ),
                  TextField(
                      controller: _email,
                      decoration: InputDecoration(hintText: "Correo :")),
                  TextField(
                    controller: _password,
                    decoration: InputDecoration(hintText: "Password :"),
                    obscureText: true,
                  ),
                  FlatButton(
                   ....
                  )
                ],
              ),
            ),
          ),
        ));
  }

  void _registro() async {
    // validacion
    var datos = {
      'name': _nombre.text,
      'email': _email.text,
      'password': _password.text
    };

    var respuesta = await Api().registro(datos, "registro");
    var contenido = json.decode(respuesta.body);
    if (contenido['success']) {
    ...
      print(contenido['token']);
      //

    } else {
      print(contenido['mensaje']);
    }
  }
}

 

Api.dart


  // registro
  registro(_data,String _url2) async {
    var ruta = _url1+_url2 ;
    return await http.post(
        Uri.http(_dominio, ruta),
        body :json.encode(_data),
        headers: {
          'Content-type' : 'application/json',
          'Accept' : 'application/json',
        }
    );
  }

POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO DE POR VIDA
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Flutter y Laravel App de Turismo

51 visitas

Lecciones del curso

11. Rutas y Controlador para el Rol Empresa
12. Gestión para el Rol Empresa
13. Rutas FrontEnd
14. Página Principal
15. Página Rutas
16. Página Lugar
17. Página Empresa
18. Entorno de desarrollo
19. Pantalla Inicio
20. Api Service
21. Implementación de los Modelos
22. Implementación de un DBmanager
24. Pantalla Lista de Rutas
25. Pantalla Lista de Empresas
26. Pantalla Empresa
27. Pantalla Lista Lugares Turísticos
28. Pantalla Lugar Turístico
29. Pantalla Foto360
30. Proceso de Registro
31. Proceso de Login - Logout
32. Panel Administración Empresa
33. CRUD Insertar una Empresa
34. CRUD Editar una Empresa
35. CRUD Borrar una empresa
36. Diseño en Laravel
37. Diseño de la app Flutter
VER MÁS CURSOS
Logo Codea App

Develop your code

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados CODEA APP | Cursos de programación avanzados con proyectos reales | 2020 - 2021