feat: 添加riverpod

This commit is contained in:
2026-07-27 17:27:53 +08:00
parent 86a464b58f
commit dda8a97c12
6 changed files with 501 additions and 4 deletions
+16 -2
View File
@@ -1,10 +1,24 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_study/views/LoginPageProvider.dart';
class HomePage extends StatelessWidget { class HomePage extends ConsumerStatefulWidget {
const HomePage({super.key}); const HomePage({super.key});
@override @override
ConsumerState<ConsumerStatefulWidget> createState() {
return _HomePageState();
}
}
class _HomePageState extends ConsumerState<HomePage> {
late final currentLoginUser = ref.watch(loginUserProvider);
@override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold(body: Center(child: Text("Home"))); return Scaffold(
appBar: AppBar(title: Text("欢迎${currentLoginUser.username}")),
body: Center(child: Text("Home")),
);
} }
} }
+27 -1
View File
@@ -1,10 +1,21 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/widget_previews.dart'; import 'package:flutter/widget_previews.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_study/views/LoginPageProvider.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
class LoginPage extends StatelessWidget { class LoginPage extends ConsumerStatefulWidget {
const LoginPage({super.key}); const LoginPage({super.key});
@override
ConsumerState<LoginPage> createState() {
return _LoginPageState();
}
}
class _LoginPageState extends ConsumerState<LoginPage> {
late final currentUser = ref.watch(loginUserProvider);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
@@ -24,6 +35,12 @@ class LoginPage extends StatelessWidget {
flex: 4, flex: 4,
child: TextField( child: TextField(
decoration: const InputDecoration(hintText: '请输入用户名'), decoration: const InputDecoration(hintText: '请输入用户名'),
controller: TextEditingController(
text: currentUser.username,
),
onChanged: (value) {
ref.read(loginUserProvider).username = value;
},
), ),
), ),
], ],
@@ -36,6 +53,15 @@ class LoginPage extends StatelessWidget {
flex: 4, flex: 4,
child: TextField( child: TextField(
decoration: const InputDecoration(hintText: '请输入密码'), decoration: const InputDecoration(hintText: '请输入密码'),
controller: TextEditingController(
text: currentUser.password,
),
onChanged: (value) {
ref.read(loginUserProvider.notifier).update((oldValue) {
oldValue.password = value;
return oldValue;
});
},
obscureText: true, obscureText: true,
), ),
), ),
+20
View File
@@ -0,0 +1,20 @@
import 'package:flutter_riverpod/legacy.dart';
// 当前的登录用户
final loginUserProvider = StateProvider<LoginUser>((ref) {
print("LoginUserProvider");
final loginUser = LoginUser();
loginUser.username = "admin";
loginUser.password = "password";
loginUser.token = null;
return loginUser;
});
// 生成token
class LoginUser {
String? username;
String? password;
String? token;
}
+2 -1
View File
@@ -1,11 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'HomePage.dart'; import 'HomePage.dart';
import 'LoginPage.dart'; import 'LoginPage.dart';
void main() { void main() {
runApp(MainApp()); runApp(ProviderScope(child: MainApp()));
} }
class MainApp extends StatelessWidget { class MainApp extends StatelessWidget {
+432
View File
@@ -1,6 +1,54 @@
# Generated by pub # Generated by pub
# See https://dart.dev/tools/pub/glossary#lockfile # See https://dart.dev/tools/pub/glossary#lockfile
packages: packages:
_fe_analyzer_shared:
dependency: transitive
description:
name: _fe_analyzer_shared
sha256: "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "92.0.0"
analysis_server_plugin:
dependency: transitive
description:
name: analysis_server_plugin
sha256: "44adba4d74a2541173bad4c11531d2a4d22810c29c5ddb458a38e9f4d0e5eac7"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "0.3.4"
analyzer:
dependency: transitive
description:
name: analyzer
sha256: "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "9.0.0"
analyzer_buffer:
dependency: transitive
description:
name: analyzer_buffer
sha256: ff4bd291778c7417fe53fe24ee0d0a1f1ffe281a2d4ea887e7094f16e36eace7
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "0.3.0"
analyzer_plugin:
dependency: transitive
description:
name: analyzer_plugin
sha256: "6645a029da947ffd823d98118f385d4bd26b54eb069c006b22e0b94e451814b5"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "0.13.11"
args:
dependency: transitive
description:
name: args
sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.7.0"
async: async:
dependency: transitive dependency: transitive
description: description:
@@ -17,6 +65,38 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "2.1.2" version: "2.1.2"
build:
dependency: transitive
description:
name: build
sha256: "45d14a0fb23e018d8287c32fc98d726ce466b231928ed9b9200f29bd3ccd39ae"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.0.7"
build_config:
dependency: transitive
description:
name: build_config
sha256: f2c223156a26eea323e6244b85141d76413a80aeee9fe0b380773789fabaf8ae
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.3.1"
built_collection:
dependency: transitive
description:
name: built_collection
sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "5.1.1"
built_value:
dependency: transitive
description:
name: built_value
sha256: "34e4067d30ce212937df995f03b69992eea683539ceeac7f679a1f1eba055b56"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "8.12.6"
characters: characters:
dependency: transitive dependency: transitive
description: description:
@@ -25,6 +105,22 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.4.1" version: "1.4.1"
checked_yaml:
dependency: transitive
description:
name: checked_yaml
sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.0.4"
cli_config:
dependency: transitive
description:
name: cli_config
sha256: ac20a183a07002b700f0c25e61b7ee46b23c309d76ab7b7640a028f18e4d99ec
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "0.2.0"
clock: clock:
dependency: transitive dependency: transitive
description: description:
@@ -33,6 +129,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.1.2" version: "1.1.2"
code_builder:
dependency: transitive
description:
name: code_builder
sha256: "6a6cab2ba4680d6423f34a9b972a4c9a94ebe1b62ecec4e1a1f2cba91fd1319d"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.11.1"
collection: collection:
dependency: transitive dependency: transitive
description: description:
@@ -41,6 +145,38 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.19.1" version: "1.19.1"
convert:
dependency: transitive
description:
name: convert
sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.1.2"
coverage:
dependency: transitive
description:
name: coverage
sha256: "956a3de0725ca232ad353565a8290d3357592bf4250f6f298a185e2d949c5d3d"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.15.1"
crypto:
dependency: transitive
description:
name: crypto
sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.0.7"
dart_style:
dependency: transitive
description:
name: dart_style
sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.1.3"
fake_async: fake_async:
dependency: transitive dependency: transitive
description: description:
@@ -49,6 +185,22 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.3.3" version: "1.3.3"
file:
dependency: transitive
description:
name: file
sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "7.0.1"
fixnum:
dependency: transitive
description:
name: fixnum
sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.1.1"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
@@ -62,6 +214,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "6.0.0" version: "6.0.0"
flutter_riverpod:
dependency: "direct main"
description:
name: flutter_riverpod
sha256: "4e166be88e1dbbaa34a280bdb744aeae73b7ef25fdf8db7a3bb776760a3648e2"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.3.1"
flutter_test: flutter_test:
dependency: "direct dev" dependency: "direct dev"
description: flutter description: flutter
@@ -72,6 +232,30 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
freezed_annotation:
dependency: transitive
description:
name: freezed_annotation
sha256: "7294967ff0a6d98638e7acb774aac3af2550777accd8149c90af5b014e6d44d8"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.1.0"
frontend_server_client:
dependency: transitive
description:
name: frontend_server_client
sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.0.0"
glob:
dependency: transitive
description:
name: glob
sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.1.3"
go_router: go_router:
dependency: "direct main" dependency: "direct main"
description: description:
@@ -88,6 +272,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.6.0" version: "1.6.0"
http_multi_server:
dependency: transitive
description:
name: http_multi_server
sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.2.2"
http_parser: http_parser:
dependency: transitive dependency: transitive
description: description:
@@ -96,6 +288,22 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "4.1.2" version: "4.1.2"
io:
dependency: transitive
description:
name: io
sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.0.5"
json_annotation:
dependency: transitive
description:
name: json_annotation
sha256: "2a743920d81b7910627f68ee2c9ac1fc0bfee32b9fc3403587d7c6791ca12f80"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.12.0"
leak_tracker: leak_tracker:
dependency: transitive dependency: transitive
description: description:
@@ -160,6 +368,38 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.17.0" version: "1.17.0"
mime:
dependency: transitive
description:
name: mime
sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.0.0"
mockito:
dependency: transitive
description:
name: mockito
sha256: eff30d002f0c8bf073b6f929df4483b543133fcafce056870163587b03f1d422
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "5.6.4"
node_preamble:
dependency: transitive
description:
name: node_preamble
sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.0.2"
package_config:
dependency: transitive
description:
name: package_config
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.2.0"
path: path:
dependency: transitive dependency: transitive
description: description:
@@ -168,11 +408,131 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.9.1" version: "1.9.1"
pool:
dependency: transitive
description:
name: pool
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.5.2"
pub_semver:
dependency: transitive
description:
name: pub_semver
sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.2.0"
pubspec_parse:
dependency: transitive
description:
name: pubspec_parse
sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.5.0"
riverpod:
dependency: transitive
description:
name: riverpod
sha256: "8c22216be8ad3ef2b44af3a329693558c98eca7b8bd4ef495c92db0bba279f83"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.2.1"
riverpod_analyzer_utils:
dependency: transitive
description:
name: riverpod_analyzer_utils
sha256: e55bc08c084a424e1bbdc303fe8ea75daafe4269b68fd0e0f6f1678413715b66
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.0.0-dev.9"
riverpod_annotation:
dependency: "direct main"
description:
name: riverpod_annotation
sha256: "16471a1260b94e939394d78f1c63a9350936ac4a68c9fbdab40be47268c0b04f"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.0.2"
riverpod_generator:
dependency: "direct dev"
description:
name: riverpod_generator
sha256: "6f9220534d7a353b53c875ea191a84d28cb4e52ac420a66a1bd7318329d977b0"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.0.3"
riverpod_lint:
dependency: "direct dev"
description:
name: riverpod_lint
sha256: "64e8debf5b719a37d48b9785dd595d34133fdcd84b8fd07157a621c54ab2156f"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.1.3"
shelf:
dependency: transitive
description:
name: shelf
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.4.2"
shelf_packages_handler:
dependency: transitive
description:
name: shelf_packages_handler
sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.0.2"
shelf_static:
dependency: transitive
description:
name: shelf_static
sha256: c87c3875f91262785dade62d135760c2c69cb217ac759485334c5857ad89f6e3
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.1.3"
shelf_web_socket:
dependency: transitive
description:
name: shelf_web_socket
sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.0.0"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
source_gen:
dependency: transitive
description:
name: source_gen
sha256: ec37cc0e6694374cbef59ed79685572c870a54ede6fa30a3e420feb3adffea02
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "4.2.3"
source_map_stack_trace:
dependency: transitive
description:
name: source_map_stack_trace
sha256: c0713a43e323c3302c2abe2a1cc89aa057a387101ebd280371d6a6c9fa68516b
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.1.2"
source_maps:
dependency: transitive
description:
name: source_maps
sha256: "190222579a448b03896e0ca6eca5998fa810fda630c1d65e2f78b3f638f54812"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "0.10.13"
source_span: source_span:
dependency: transitive dependency: transitive
description: description:
@@ -189,6 +549,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.12.1" version: "1.12.1"
state_notifier:
dependency: transitive
description:
name: state_notifier
sha256: b8677376aa54f2d7c58280d5a007f9e8774f1968d1fb1c096adcb4792fba29bb
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.0.0"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
@@ -213,6 +581,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.2.2" version: "1.2.2"
test:
dependency: transitive
description:
name: test
sha256: "280d6d890011ca966ad08df7e8a4ddfab0fb3aa49f96ed6de56e3521347a9ae7"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.30.0"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
@@ -221,6 +597,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "0.7.10" version: "0.7.10"
test_core:
dependency: transitive
description:
name: test_core
sha256: "0381bd1585d1a924763c308100f2138205252fb90c9d4eeaf28489ee65ccde51"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "0.6.16"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
@@ -245,6 +629,14 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "15.2.0" version: "15.2.0"
watcher:
dependency: transitive
description:
name: watcher
sha256: "1398c9f081a753f9226febe8900fce8f7d0a67163334e1c94a2438339d79d635"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.2.1"
web: web:
dependency: transitive dependency: transitive
description: description:
@@ -253,6 +645,46 @@ packages:
url: "https://mirror.sjtu.edu.cn/dart-pub/" url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted source: hosted
version: "1.1.1" version: "1.1.1"
web_socket:
dependency: transitive
description:
name: web_socket
sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.0.1"
web_socket_channel:
dependency: transitive
description:
name: web_socket_channel
sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.0.3"
webkit_inspection_protocol:
dependency: transitive
description:
name: webkit_inspection_protocol
sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "1.2.1"
yaml:
dependency: transitive
description:
name: yaml
sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "3.1.3"
yaml_edit:
dependency: transitive
description:
name: yaml_edit
sha256: "07c9e63ba42519745182b88ca12264a7ba2484d8239958778dfe4d44fe760488"
url: "https://mirror.sjtu.edu.cn/dart-pub/"
source: hosted
version: "2.2.4"
sdks: sdks:
dart: ">=3.11.5 <4.0.0" dart: ">=3.11.5 <4.0.0"
flutter: ">=3.38.0" flutter: ">=3.38.0"
+4
View File
@@ -10,11 +10,15 @@ dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
go_router: ^17.3.0 go_router: ^17.3.0
flutter_riverpod: ^3.2.1
riverpod_annotation: ^4.0.2
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
sdk: flutter sdk: flutter
flutter_lints: ^6.0.0 flutter_lints: ^6.0.0
riverpod_generator: ^4.0.3
riverpod_lint:
dependency_overrides: dependency_overrides:
http: ^1.2.0 http: ^1.2.0