Вопросы

Flutter / Dart получает изображение / данные из API на основе токена входа пользователя

Я пытаюсь получить некоторые данные и изображение из моего собственного Api, созданного с помощью laravel. Перед отображением изображения требуется маркер аутентификации. Я не уверен, почему изображение не отображается. Нужна помощь в этом. Мне нужно получить изображение карты пользователя с помощью следующей конечной точки (/ api / card). Метод — GET, и требуется токен JWT.

Я попытался использовать if else case, если пользователь успешно войдет в систему, он будет перенаправлен на страницу карты участника, к сожалению, он все еще показывает 401 ошибку аутентификации 401 failed.

import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:_membership/Login_page.dart';
import 'package:_membership/homeScreen.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:http/http.dart' as http;
import 'saveCurrentLogin.dart';



class GetMemberCard extends StatefulWidget {

  @override
  _GetMemberCardState createState() => _GetMemberCardState();
}

class _GetMemberCardState extends State<GetMemberCard> {
  bool _isLoggedIn = false;

  @override
  void initState() {
    _checkIfLoggedIn();
    super.initState();
  }
  void _checkIfLoggedIn() async{
    // check if token is there
    SharedPreferences localStorage = await SharedPreferences.getInstance();
    var token = localStorage.getString('token');
    if(token!= null){
      setState(() {
        _isLoggedIn = true;
      });
    }
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: _isLoggedIn ? HomeScreen() :  CardHome(),
      ),

    );
  }
}


class CardHome extends StatefulWidget {
  @override
  _CardHomeState createState() => _CardHomeState();
}

class _CardHomeState extends State<CardHome> {
  var userData;

  @override
  void initState() {
    _getUserInfo();
    super.initState();
  }

  void _getUserInfo() async {
    SharedPreferences localStorage = await SharedPreferences.getInstance();
    var userJson = localStorage.getString('user');
    var user = json.decode(userJson);
    setState(() {
      userData = user;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        backgroundColor: Colors.grey[200],
        body: Container(
            width: 200,
            height: 200,
            child: Image.network(userData != null ? '${userData['token']}' : 'https://example/api/card',

            )));
  }




}

Журнал ошибок прилагается

Performing hot reload...
Syncing files to device Android SDK built for x86...
Reloaded 35 of 732 libraries in 483ms.
E/flutter (22764): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The getter 'length' was called on null.
E/flutter (22764): Receiver: null
E/flutter (22764): Tried calling: length
E/flutter (22764): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
E/flutter (22764): #1      _parseJson (dart:convert-patch/convert_patch.dart:28:28)
E/flutter (22764): #2      JsonDecoder.convert (dart:convert/json.dart:493:36)
E/flutter (22764): #3      JsonCodec.decode (dart:convert/json.dart:151:41)
E/flutter (22764): #4      _CardHomeState._getUserInfo (package:pkc/pkc_membership/membership_card.dart:66:21)
E/flutter (22764): <asynchronous suspension>
E/flutter (22764): #5      _CardHomeState.initState (package:pkc/pkc_membership/membership_card.dart:59:5)
E/flutter (22764): #6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4068:58)
E/flutter (22764): #7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (22764): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #9      Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (22764): #10     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3961:16)
E/flutter (22764): #11     Element.rebuild (package:flutter/src/widgets/framework.dart:3738:5)
E/flutter (22764): #12     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3924:5)
E/flutter (22764): #13     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (22764): #14     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #15     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (22764): #16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3961:16)
E/flutter (22764): #17     Element.rebuild (package:flutter/src/widgets/framework.dart:3738:5)
E/flutter (22764): #18     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3924:5)
E/flutter (22764): #19     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (22764): #20     ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4314:11)
E/flutter (22764): #21     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #22     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5233:32)
E/flutter (22764): #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (22764): #25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3961:16)
E/flutter (22764): #26     Element.rebuild (package:flutter/src/widgets/framework.dart:3738:5)
E/flutter (22764): #27     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3924:5)
E/flutter (22764): #28     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4088:11)
E/flutter (22764): #29     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (22764): #30     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #31     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (22764): #32     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3961:16)
E/flutter (22764): #33     Element.rebuild (package:flutter/src/widgets/framework.dart:3738:5)
E/flutter (22764): #34     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3924:5)
E/flutter (22764): #35     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (22764): #36     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #37     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (22764): #38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3961:16)
E/flutter (22764): #39     Element.rebuild (package:flutter/src/widgets/framework.dart:3738:5)
E/flutter (22764): #40     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3924:5)
E/flutter (22764): #41     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4088:11)
E/flutter (22764): #42     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3919:5)
E/flutter (22764): #43     Element.inflateWidget (package:flutter/src/widgets/framework.dart:3101:14)
E/flutter (22764): #44     Element.updateChild (package:flutter/src/widgets/framework.dart:2904:12)
E/flutter (22764): #45     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5127:14)
E/flutter (22764): #46     Element.inflateWidget (packag
Читать:
Аутентификация Api тестового полета Amadeus с помощью Javascript Fetch

Похожие записи

Клонирование GitLab не выполнено

admin

KNITRO.jl не загружается на Julia 1.0

admin

почему базовый указатель может указывать на производный объект только при публичном наследовании?

admin

django async ORM исполнитель sync_to_async заменяет concurrent.futures.ThreadPoolExecutor при использовании gevent

admin

Провайдер Terraform для создания таблиц кассандры

admin

Скомпилированный проект с файлами .lib, но когда я запускаю, Windows жалуется, что dll не найдена

admin