f_kit 0.0.1
f_kit: ^0.0.1 copied to clipboard
flutter dev kit.
example/lib/main.dart
import 'package:f_kit/db/f_db.dart';
import 'package:f_kit/f_kit.dart';
import 'package:f_kit/utils/f_share.dart';
import 'package:f_kit/utils/f_time.dart';
import 'package:f_kit/widget/f_text.dart';
import 'package:f_kit/widget/f_btn.dart';
import 'package:f_kit/widget/f_dialog_tip.dart';
import 'package:f_kit/widget/f_loading.dart';
import 'package:f_kit/widget/f_dialog_confirm.dart';
import 'package:f_kit/widget/f_dialog_menu.dart';
import 'package:f_kit/utils/fk_toast.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatefulWidget {
const MyApp({super.key});
@override
State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
void aa() {
FKit();
print("--${FTime.ts2line(DateTime.now().millisecondsSinceEpoch)}");
}
@override
Widget build(BuildContext context) {
aa();
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Plugin example app'),
),
body: NewWidget(),
),
);
}
}
class NewWidget extends StatefulWidget {
const NewWidget({
super.key,
});
@override
State<NewWidget> createState() => _NewWidgetState();
}
class _NewWidgetState extends State<NewWidget> {
bool isLoading = false;
@override
Widget build(BuildContext context) {
final GlobalKey k = GlobalKey();
return FLoading(
isLoading: isLoading,
child: Column(
children: [
Text('Running'),
TextButton(
onPressed: () {
FShare.share(context, "text");
},
child: Text('c1')),
FText.base("content"),
FText.base_2("content"),
FText.base_4("content"),
FText.base_6("content"),
FBtn("data", onTap: () {
FDialogTip.show(context, "content");
}),
FBtn("confirm", onTap: () {
FDialogConfirm.show(context, "content");
}),
FBtn(key: k, "menu", onTap: () {
FDialogMenu.showMenu(
context,
k,
const SizedBox(
width: 50,
height: 100,
child: Text("data"),
));
}),
FBtn("loading1", onTap: () {
setState(() {
isLoading = true;
});
}),
FBtn("loading2", onTap: () {
FLoading.show(context);
}),
FBtn("toast1", onTap: () {
FkToast.show("msg");
}),
FBtn("toast2", onTap: () {
FkToast.showCustomToast(context, Text("data"));
}),
FBtn("test", onTap: () async {
int a = 0;
a = await getaaa().catchError((e) {
print('test: $e');
return 11;
}).whenComplete(() {
print('test: complete $a');
}).timeout(const Duration(seconds: 10), onTimeout: () {
print('test: timeout');
return 10;
});
print(a);
}),
FBtn("db", onTap: () {
FDb().rawDelete('DELETE FROM Test WHERE name = ?', ['zhang']).then(
(value) {
if (value == -1) {
print('rawDelete error');
}
print('rawDelete $value');
});
FDb().rawInsert(
'INSERT INTO Test(name, value, num) VALUES(?, ?, ?)',
['zhang', 12345678, 3.1416]).then((value) {
if (value == -1) {
print('rawInsert error');
}
print('rawInsert $value');
});
FDb().rawUpdate(
'UPDATE Test SET name = ?, value = ? WHERE name = ?',
['song', '9876', 'zhang']).then((value) {
if (value == -1) {
print('rawUpdate error');
}
print('rawUpdate $value');
});
FDb().rawQuery('SELECT * FROM Test WHERE name = ?', ['zhang']).then(
(value) {
print('rawQuery $value');
});
}),
],
),
);
}
Future<int> getaaa() async {
await Future.delayed(const Duration(seconds: 15), () {
// 延迟
});
// throw Exception();
return 1;
}
Future<int> getbbb() async {
await Future.delayed(const Duration(seconds: 15), () {
// 延迟
});
return 2;
}
}