This commit is contained in:
quantulr
2023-02-08 23:48:25 +08:00
parent 53ff2fc59b
commit 1b88c226ad
14 changed files with 102 additions and 470 deletions

View File

@ -1,17 +1,9 @@
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:http/http.dart' as http;
import 'package:momo/models/image_list_resp.dart';
import 'package:momo/models/image_resp.dart';
import 'package:momo/provider/token.dart';
// import 'package:flutter_riverpod/flutter_riverpod.dart';
// import 'package:go_router/go_router.dart';
// import 'package:momo/provider/token.dart';
// import 'package:provider/provider.dart';
import 'package:momo/request/http_client.dart';
class Gallery extends ConsumerStatefulWidget {
const Gallery({Key? key}) : super(key: key);
@ -20,15 +12,17 @@ class Gallery extends ConsumerStatefulWidget {
ConsumerState<Gallery> createState() => _GalleryState();
}
class _GalleryState extends ConsumerState<Gallery> {
Future<dynamic> loadImages(tk) async {
http.Response resp = await http.get(
Uri.parse("http://192.168.110.156:8080/image/history"),
headers: {"Authorization": tk});
return resp.body;
}
List<ImageResp> imageList = [];
List<ImageResp> imageList = [];
class _GalleryState extends ConsumerState<Gallery> {
Future<dynamic> loadImages() async {
var resp = await dio.get("/image/history");
if (mounted) {
setState(() {
imageList = ImageListResp.fromJson(resp.data).list;
});
}
}
@override
void dispose() {
@ -36,18 +30,15 @@ class _GalleryState extends ConsumerState<Gallery> {
super.dispose();
}
@override
void initState() {
// TODO: implement initState
super.initState();
loadImages();
}
@override
Widget build(BuildContext context) {
String? tk = ref.watch(tokenProvider);
if (tk != null) {
loadImages(tk).then((bd) {
if (mounted) {
setState(() {
imageList = ImageListResp.fromJson(jsonDecode(bd)).list;
});
}
});
}
return GridView.builder(
itemCount: imageList.length,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
@ -58,7 +49,7 @@ class _GalleryState extends ConsumerState<Gallery> {
context.go("/detail");
},
child: Image.network(
"http://192.168.110.156:8080/image/thumbnail/${imageList[index].file_path}",
"${dio.options.baseUrl}/image/thumbnail/${imageList[index].file_path}",
fit: BoxFit.cover,
),
);