首页 > 解决方案 > 我可以获取数据,但是当我在 1-2 天后不使用该应用程序时,获取数据不再有效。(扑)

问题描述

//我做错了吗?我开始获取数据,但在 1-2 天不使用该应用程序后,获取数据不再有效。

Future<List<TopCourses>> fetchTopCourseList() async {
    final prefs = await SharedPreferences.getInstance();
    final accessToken = prefs.getString('access_token');
    final response = await client.get(
      URL_STUDENT_GET_TOP_COURSES,
      headers: {
        "Content-Type": "application/json",
        "Accept": "application/json",
        "Authorization": "Bearer " + accessToken,
      },
    );
    if (response.statusCode < 200 || response.statusCode > 400) {
      throw Exception('Failed to Load');
    } else {
      return compute(topcourseFromJson, response.body);
    }
  }
List<TopCourses> topcourseFromJson(String str) {
  final jsonData = json.decode(str);
  return new List<TopCourses>.from(
      jsonData["top"].map((x) => TopCourses.fromJson(x)));
}

标签: apihttpflutter

解决方案


accessToken已过期,或者accessToken您尝试从中获取的SharedPreferences内容已从您的应用数据中删除。

  • 尝试检查您的访问令牌不为空

  • 并且令牌尚未过期


推荐阅读