import 'dart:async';
import 'dart:convert';
import 'package:douyin_demo/models/PostsModel.dart';
import 'package:douyin_demo/widgets/WebRequest.dart';
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:provider/provider.dart';
class PostsGalleryProvider with ChangeNotifier {
List<PostsModel> model1 = List<PostsModel>();
List<PostsModel> model2 = List<PostsModel>();
double _len1 = 0;
double _len2 = 0;
List<PostsModel> posts = List<PostsModel>();
PostsGalleryProvider() {
getPosts(0, 0);
// notifyListeners();
}
dispose(){
super.dispose();
}
Future getPosts(orderType, ifRefresh) async {
Uri url = await WebRequest().generate('posts/getPosts', {
"openId": "ol_BV4zcyVJaOBtOTD5AfpkFERww",
"dataFrom": "0",
"count": "30",
"refreshTime": DateTime.now().toString(),
"currentSel": "1",
"ulo": "0",
"ula": "0"
});
var response = await http.get(url);
//.then((response) {
// var post = json.decode(response.body)["result"];
setGalleryModel(response.body);
notifyListeners();
}
setGalleryModel(String items) {
var result = List<PostsModel>();
var posts = json.decode(items)["result"];
// result.add(posts);
for (var item in posts) {
result.add(PostsModel.fromJson(item));
}
for (var item in result) {
if (_len1 <= _len2) {
item.makerName="";
item.picsPath="";
item.postsLocation="";
item.postsReaded=0;
model1.add(item);
_len1 += item.picsRate;
} else {
model2.add(item);
_len2 += item.picsRate;
}
}
// notifyListeners();
}
}