我正在获取 csrf 令牌并在控制台中打印响应数据,但如何使用响应数据使用户保持登录状态。我正在使用状态代码登录,即,如果状态代码为 200,则在此之后移动到登录状态,我想保持仅当用户想注销时才登录和注销
我看过很多例子,但没有一个对我的情况有帮助。
就我而言,我使用的是 csrf 令牌并且无法保持登录状态,并且我还使用了登录表单。
登录页面.dart
import 'dart:io';
import 'package:cookie_jar/cookie_jar.dart';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:jignasa/home_screen.dart';
import 'package:jignasa/logindata.dart';
import 'package:path_provider/path_provider.dart';
class LoginPage extends StatefulWidget {
static String tag = 'login-page';
@override
_LoginPageState createState() => new _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
LoginRequestData _loginData = LoginRequestData();
bool _validate = false;
bool _obscureText = true;
var username, password;
@override
Widget build(BuildContext context) {
return Scaffold(
// backgroundColor: Colors.white,
body: SingleChildScrollView(
child: …Run Code Online (Sandbox Code Playgroud) 登录后我从 URL 收到响应,但我只能在控制台中打印数据,但如何从该响应中获取邮件和姓名
我已经尝试过未来的响应,但是当我收到未来的响应但它返回错误时
登录页面.dart
import 'dart:io';
import 'package:cookie_jar/cookie_jar.dart';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:path_provider/path_provider.dart';
import 'globals.dart' as globals;
class LoginPage extends StatefulWidget {
static String tag = 'login-page';
@override
_LoginPageState createState() => new _LoginPageState();
}
class _LoginPageState extends State<LoginPage> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
LoginRequestData _loginData = LoginRequestData();
bool _validate = false;
bool _obscureText = true;
var username, password;
@override
Widget build(BuildContext context) {
return Scaffold(
// backgroundColor: Colors.white,
body: SingleChildScrollView(
child: Container(
color: Colors.lightGreen[500],
child: …Run Code Online (Sandbox Code Playgroud) 我正在使用 Listview.separated 并使用google_mobile_ads作为集成广告的包。我按照此处的示例进行操作,但没有得到我所需要的确切内容。我在separatorBuilder 中调用了横幅广告,但它要么在每第n 行之后给出分隔符或广告。
我需要在 listview.separated 中每隔 4 行插入一次。
ListView.separated(
scrollDirection: Axis.vertical,
shrinkWrap: true,
controller: _scrollController,
itemCount: articleslist.length + 1,
itemBuilder: (BuildContext context, int index) {
if (index == articleslist.length) {
_loading = true;
return Center(
child: Row(
children: [
Container(
padding: EdgeInsets.all(5),
child: CircularProgressIndicator(
color: Colors.deepOrange[800],
),
),
SizedBox(
width: 15,
),
Text(
'Articles are being loaded...',
style: TextStyle(color: Colors.deepOrange[800]),
)
],
),
);
} else {
Text(
'No data to load',
style: TextStyle(color: …Run Code Online (Sandbox Code Playgroud) 我有纬度和经度列表,我将它们存储在数据库中。我希望这些纬度和经度在带有标记的颤动地图中表示。
我使用 sqlite 保存纬度和经度的代码
homeScreen.dart
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => new _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
List<Note> items = new List();
DatabaseHelper db = new DatabaseHelper();
LatLng _center ;
Position currentLocation;
MapController _mapctl = MapController();
Future<Position> locateUser() async {
try{
return await Geolocator()
.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
}on PlatformException catch(e){
currentLocation = null;
}
return currentLocation;
}
getUserLocation() async {
currentLocation = await locateUser();
setState(() {
_center = LatLng(currentLocation.latitude, currentLocation.longitude);
});
print('center $_center');
}
@override
void …Run Code Online (Sandbox Code Playgroud)