mirror of
https://github.com/simon-ding/polaris.git
synced 2026-06-10 03:57:39 +08:00
fix: login
This commit is contained in:
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:quiver/strings.dart';
|
import 'package:quiver/strings.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
|
import 'package:ui/providers/server_response.dart';
|
||||||
|
|
||||||
class APIs {
|
class APIs {
|
||||||
static final _baseUrl = baseUrl();
|
static final _baseUrl = baseUrl();
|
||||||
@@ -49,17 +50,21 @@ class APIs {
|
|||||||
if (dio1 != null) {
|
if (dio1 != null) {
|
||||||
return dio1!;
|
return dio1!;
|
||||||
}
|
}
|
||||||
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
var token = authHeaders["token"];
|
||||||
var token = prefs.getString("token");
|
if (isBlank(token)) {
|
||||||
if (isNotBlank(token)) {
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
authHeaders["Authorization"] = "Bearer $token";
|
var t = prefs.getString("token");
|
||||||
isLoggedIn = true;
|
if (isNotBlank(t)) {
|
||||||
|
authHeaders["Authorization"] = t!;
|
||||||
|
isLoggedIn = true;
|
||||||
|
token = t;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var dio = Dio();
|
var dio = Dio();
|
||||||
dio.interceptors.add(InterceptorsWrapper(
|
dio.interceptors.add(InterceptorsWrapper(
|
||||||
onRequest: (options, handler) {
|
onRequest: (options, handler) {
|
||||||
options.headers['Authorization'] = "Bearer $token";
|
options.headers['Authorization'] = token;
|
||||||
return handler.next(options);
|
return handler.next(options);
|
||||||
},
|
},
|
||||||
onError: (error, handler) {
|
onError: (error, handler) {
|
||||||
@@ -76,4 +81,19 @@ class APIs {
|
|||||||
dio1 = dio;
|
dio1 = dio;
|
||||||
return dio;
|
return dio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Future<void> login(String user, String password) async {
|
||||||
|
var resp = await Dio()
|
||||||
|
.post(APIs.loginUrl, data: {"user": user, "password": password});
|
||||||
|
|
||||||
|
var sp = ServerResponse.fromJson(resp.data);
|
||||||
|
|
||||||
|
if (sp.code != 0) {
|
||||||
|
throw sp.message;
|
||||||
|
}
|
||||||
|
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
||||||
|
var t = sp.data["token"];
|
||||||
|
authHeaders["token"] = "Bearer $t";
|
||||||
|
prefs.setString("token", "Bearer $t");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,16 +36,7 @@ class AuthSettingData extends AutoDisposeAsyncNotifier<AuthSetting> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<void> login(String user, String password) async {
|
Future<void> login(String user, String password) async {
|
||||||
var resp = await Dio()
|
return APIs.login(user, password);
|
||||||
.post(APIs.loginUrl, data: {"user": user, "password": password});
|
|
||||||
|
|
||||||
var sp = ServerResponse.fromJson(resp.data);
|
|
||||||
|
|
||||||
if (sp.code != 0) {
|
|
||||||
throw sp.message;
|
|
||||||
}
|
|
||||||
final SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
||||||
prefs.setString("token", sp.data["token"]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user