Commit 3c1a8ce5 authored by 林生雨's avatar 林生雨

commit

parent 7177940b
......@@ -140,7 +140,8 @@ class AlbumModel extends BaseModel {
_mainValue = value;
_dirList.clear();
_mainValue.forEach((k, v) {
_dirList.add(DirBean(k, v.length, File(v[0].path)));
_dirList.add(DirBean(
k == MainDir ? MainDirExplain : k, v.length, File(v[0].path)));
});
albumLive.notifyView(_mainValue[_nowDirName]);
});
......@@ -153,29 +154,29 @@ class AlbumModel extends BaseModel {
void initScanImages(BuildContext context) {
titleData.notifyView(MainDirExplain);
selectSizeLive.notifyView(_selectList.length + _selectVideoList.length);
_listen = GengmeiFlutterPlugin.phoneImagesEvent
.receiveBroadcastStream()
.listen(_onEvent, onError: _onError);
AlbumRepository.getInstance().scanPhoneImg().listen((value) {
if (value != null) {
_mainValue = value;
selectSizeLive.notifyView(_selectList.length + _selectVideoList.length);
value.forEach((key, eachValue) {
if (Platform.isIOS) {
eachValue.sort((a, b) {
if (a.dataToken == 0 && b.dataToken != 0) {
return -b.dataToken;
} else if (a.dataToken != 0 && b.dataToken == 0) {
return -a.dataToken;
} else if (a.dataToken == 0 && b.dataToken == 0) {
return 0;
} else {
return b.dataToken - a.dataToken;
}
});
}
if (eachValue != null && !eachValue.isEmpty) {
if (key == MainDir) {
if (Platform.isIOS) {
eachValue.sort((a, b) {
if (a.dataToken == 0 && b.dataToken != 0) {
return -b.dataToken;
} else if (a.dataToken != 0 && b.dataToken == 0) {
return -a.dataToken;
} else if (a.dataToken == 0 && b.dataToken == 0) {
return 0;
} else {
return b.dataToken - a.dataToken;
}
});
}
_dirList.add(DirBean(
MainDirExplain, eachValue.length, File(eachValue[0].path)));
albumLive.notifyView(eachValue);
......@@ -513,45 +514,19 @@ class AlbumModel extends BaseModel {
}
}
bool previewItemClick = false;
void previewItem(BuildContext context, int index, String pageName) {
String path;
if (Platform.isAndroid) {
path = albumLive.data[index].realPath;
if (albumLive.data[index].isVideo) {
GengmeiFlutterPlugin.playAlbumVideo(path);
} else {
Navigator.push(context, CustomRoute(AlbumPreviewPage(path, pageName)));
}
String path = Platform.isAndroid
? albumLive.data[index].realPath
: albumLive.data[index].path;
print("LSY $path");
if (albumLive.data[index].isVideo) {
GengmeiFlutterPlugin.playAlbumVideo(path);
} else {
path = albumLive.data[index].path;
if (albumLive.data[index].isVideo) {
GengmeiFlutterPlugin.playAlbumVideo(path);
} else {
if (previewItemClick) {
return;
}
previewItemClick = true;
iosItem(path, context, (value) {
var realPath = value["realImagePath"];
Navigator.push(
context, CustomRoute(AlbumPreviewPage(realPath, pageName)));
});
}
GengmeiFlutterPlugin.previewImage(path);
// Navigator.push(
// context,
// CustomRoute(
// AlbumPreviewPage(path, albumLive.data[index].size, pageName)));
}
}
void iosItem(String path, BuildContext context, Function fun) {
GengmeiFlutterPlugin.ios_album_item(path).then((value) {
if (value != null) {
fun(Map<String, String>.from(value));
}
previewItemClick = false;
}).catchError((error) {
Toast.debugShow(context, error.toString());
previewItemClick = false;
print(error);
});
}
}
......@@ -176,9 +176,9 @@ class AlbumState extends BasePage<AlbumPage>
@override
void dispose() {
_model.dispose();
controller.dispose();
super.dispose();
_model.dispose();
}
mainView() {
......@@ -214,6 +214,7 @@ class AlbumState extends BasePage<AlbumPage>
int newIndex = _model.showCamera ? index - 1 : index;
if (imgList.data[newIndex] == null ||
imgList.data[newIndex].path == null ||
imgList.data[newIndex].path.isEmpty ||
imgList.data[newIndex].realPath == null && Platform.isAndroid) {
return Icon(
Icons.photo,
......
......@@ -6,22 +6,54 @@ import 'dart:io';
import 'dart:typed_data';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:gengmei_flutter_plugin/gengmei_flutter_plugin.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
class AlbumPreviewModel extends BaseModel{
class AlbumPreviewModel extends BaseModel {
var imageLive = LiveData<String>();
final String imgPath;
int size;
AlbumPreviewModel(this.imgPath);
AlbumPreviewModel(this.imgPath, this.size);
// scareImage() async{
// final Uint8List bytes = await File(imgPath).readAsBytes();
// return await instantiateImageCodec(bytes,targetHeight: 520,targetWidth: 520);
getPreviewImage(BuildContext context) {
print("IMAGE SIZE ===> $size");
// if (size != 0 && size < 1024 * 1024*3 && Platform.isAndroid) {
// imageLive.notifyView(imgPath);
// } else {
// int a = DateTime.now().millisecondsSinceEpoch;
// iosItem(imgPath, context, (value) {
// var realPath = value["realImagePath"];
// imageLive.notifyView(realPath);
// print("TIME ${DateTime.now().millisecondsSinceEpoch - a}");
// });
// }
}
// Future<Codec> _loadAsync(ResizeFileImage key) async {
// assert(key == this);
// final Uint8List bytes = await file.readAsBytes();
// if (bytes.lengthInBytes == 0) return null;
// return await instantiateImageCodec(bytes,
// targetHeight: this.targetHeight, targetWidth: this.targetWidth);
// }
// void iosItem(String path, BuildContext context, Function fun) {
// GengmeiFlutterPlugin.previewImage(path).then((value) {
// if (value != null) {
// fun(Map<String, String>.from(value));
// }
// }).catchError((error) {
// Toast.debugShow(context, error.toString());
// print(error);
// });
// }
@override
void dispose() {
// TODO: implement dispose
imageLive.dispost();
}
}
\ No newline at end of file
}
......@@ -14,8 +14,8 @@ class AlbumPreviewPage extends StatefulWidget {
AlbumPreviewModel _model;
String fromPage;
AlbumPreviewPage(String imgPath, this.fromPage) {
_model = AlbumPreviewModel(imgPath);
AlbumPreviewPage(String imgPath, int size, this.fromPage) {
_model = AlbumPreviewModel(imgPath,size);
}
@override
......@@ -28,27 +28,49 @@ class AlbumPreviewState extends State<AlbumPreviewPage> {
AlbumPreviewState(this._model, this.fromPage);
@override
void initState() {
super.initState();
_model.getPreviewImage(context);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: baseAppBar(backClick: () {
return WillPopScope(
onWillPop: () {
Navigator.pop(context);
}),
body: Container(
alignment: Alignment.center,
width: double.maxFinite,
height: double.maxFinite,
child: DragScaleContainer(
doubleTapStillScale: false,
child: new Image.file(
File(
_model.imgPath,
),
fit: BoxFit.fitWidth,
)),
));
},
child: Scaffold(
appBar: baseAppBar(backClick: () {
Navigator.pop(context);
}),
body: Container(
alignment: Alignment.center,
width: double.maxFinite,
height: double.maxFinite,
child: StreamBuilder(
stream: _model.imageLive.stream,
initialData: _model.imageLive.data,
builder: ((con, data) {
if (data.data == null) {
return loadingItem();
}
return DragScaleContainer(
doubleTapStillScale: false,
child: new Image.file(
File(
_model.imgPath,
),
fit: BoxFit.fitWidth,
));
})))));
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
// @override
// String pageName() {
// return "album_preview";
......
......@@ -4,28 +4,25 @@
// RouterCenterGenerator
// **************************************************************************
//NewMessageRouterImpl is resign : true
//PrestigeImpl is resign : true
//MainRouterImpl is resign : true
//BuriedImpl is resign : true
//AlbumRouterImpl is resign : true
//ActivityReportRouterImpl is resign : true
//MessageRouterImpl is resign : true
//NewMessageRouterImpl is resign : true
//UserRouterImpl is resign : true
//WebRouterImpl is resign : true
import "package:gmalpha_flutter/NewMessageModel/NewMessageRouterImpl.dart";
import "package:gmalpha_flutter/NewMessageModel/NewMessageRouter.dart";
import "package:gmalpha_flutter/PrestigeModel/PrestigeImpl.dart";
import "package:gmalpha_flutter/PrestigeModel/PrestigeRouter.dart";
import "package:gmalpha_flutter/MainModel/MainRouterImpl.dart";
import "package:gmalpha_flutter/MainModel/MainRouter.dart";
import "package:gmalpha_flutter/BuriedLib/BuriedImpl.dart";
import "package:gmalpha_flutter/BuriedLib/BuriedRouter.dart";
import "package:gmalpha_flutter/AlbumModel/AlbumRouterImpl.dart";
import "package:gmalpha_flutter/AlbumModel/AlbumRouter.dart";
import "package:gmalpha_flutter/ActivityReportModel/ActivityReportRouterImpl.dart";
import "package:gmalpha_flutter/ActivityReportModel/ActivityReportRouter.dart";
import "package:gmalpha_flutter/messageModel/MessageRouterImpl.dart";
import "package:gmalpha_flutter/messageModel/MessageRouter.dart";
import "package:gmalpha_flutter/userModel/UserRouterImpl.dart";
import "package:gmalpha_flutter/userModel/UserRouter.dart";
import "package:gmalpha_flutter/MessageModel/NewMessageRouterImpl.dart";
import "package:gmalpha_flutter/MessageModel/NewMessageRouter.dart";
import "package:gmalpha_flutter/UserModel/UserRouterImpl.dart";
import "package:gmalpha_flutter/UserModel/UserRouter.dart";
import "package:gmalpha_flutter/WebModel/WebRouterImpl.dart";
import "package:gmalpha_flutter/WebModel/WebRouter.dart";
import "package:gmalpha_flutter/Annotations/RouterCenterRestore.dart";
import "package:gmalpha_flutter/Annotations/RouterBaser.dart";
......@@ -54,31 +51,23 @@ class RouterCenterImpl {
}
void init() {
map.putIfAbsent("NewMessageModel", () => NewMessageRouterImpl());
map.putIfAbsent("prestigeModel", () => PrestigeImpl());
map.putIfAbsent("MainModel", () => MainRouterImpl());
map.putIfAbsent("buried_router", () => BuriedImpl());
map.putIfAbsent("albumModel", () => AlbumRouterImpl());
map.putIfAbsent("ActivityReportModel", () => ActivityReportRouterImpl());
map.putIfAbsent("messageModel", () => MessageRouterImpl());
map.putIfAbsent("userModel", () => UserRouterImpl());
map.putIfAbsent("NewMessageModel", () => NewMessageRouterImpl());
map.putIfAbsent("UserModel", () => UserRouterImpl());
map.putIfAbsent("WebModel", () => WebRouterImpl());
}
RouterBaser getModel(String modelName) {
return map[modelName];
}
NewMessageRouter findNewMessageRouter() {
if (map["NewMessageModel"] == null) {
return null;
}
return map["NewMessageModel"] as NewMessageRouter;
}
PrestigeRouter findPrestigeRouter() {
if (map["prestigeModel"] == null) {
MainRouter findMainRouter() {
if (map["MainModel"] == null) {
return null;
}
return map["prestigeModel"] as PrestigeRouter;
return map["MainModel"] as MainRouter;
}
BuriedRouter findBuriedRouter() {
......@@ -95,24 +84,24 @@ class RouterCenterImpl {
return map["albumModel"] as AlbumRouter;
}
ActivityReportRouter findActivityReportRouter() {
if (map["ActivityReportModel"] == null) {
NewMessageRouter findNewMessageRouter() {
if (map["NewMessageModel"] == null) {
return null;
}
return map["ActivityReportModel"] as ActivityReportRouter;
return map["NewMessageModel"] as NewMessageRouter;
}
MessageRouter findMessageRouter() {
if (map["messageModel"] == null) {
UserRouter findUserRouter() {
if (map["UserModel"] == null) {
return null;
}
return map["messageModel"] as MessageRouter;
return map["UserModel"] as UserRouter;
}
UserRouter findUserRouter() {
if (map["userModel"] == null) {
WebRouter findWebRouter() {
if (map["WebModel"] == null) {
return null;
}
return map["userModel"] as UserRouter;
return map["WebModel"] as WebRouter;
}
}
/*
* @author lsy
* @date 2019-09-30
**/
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
class EmptyPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Container(),
),
);
}
}
/*
* @author lsy
* @date 2019-09-16
* @author dx
* @date 2019-09-17
**/
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/Annotations/RouterBaser.dart';
import 'package:gmalpha_flutter/Annotations/anno/Router.dart';
import 'package:gmalpha_flutter/PrestigeModel/PrestigeImpl.dart';
import 'package:gmalpha_flutter/MainModel/MainRouterImpl.dart';
@Router("prestigeModel", PrestigeImpl,true)
abstract class PrestigeRouter implements RouterBaser {
Widget getReputationsPage(int userId,String userName,String fromPage);
@Router("MainModel", MainRouterImpl, true)
abstract class MainRouter implements RouterBaser {
}
/*
* @author dx
* @date 2019-09-17
**/
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/MainModel/MainRouter.dart';
class MainRouterImpl implements MainRouter {
}
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/Annotations/RouterBaser.dart';
import 'package:gmalpha_flutter/Annotations/anno/Router.dart';
import 'package:gmalpha_flutter/NewMessageModel/NewMessageRouterImpl.dart';
import 'package:gmalpha_flutter/MessageModel/NewMessageRouterImpl.dart';
@Router("NewMessageModel", NewMessageRouterImpl, true)
abstract class NewMessageRouter implements RouterBaser {
......
import 'package:flutter/widgets.dart';
import 'package:gmalpha_flutter/NewMessageModel/NewMessageRouter.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/attention/AttentionPage.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/focusPage/FocusPage.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/likePage/LikePage.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/messagePage/MessagePage.dart';
import 'package:gmalpha_flutter/MessageModel/NewMessageRouter.dart';
import 'package:gmalpha_flutter/MessageModel/page/attention/AttentionPage.dart';
import 'package:gmalpha_flutter/MessageModel/page/focusPage/FocusPage.dart';
import 'package:gmalpha_flutter/MessageModel/page/likePage/LikePage.dart';
import 'package:gmalpha_flutter/MessageModel/page/messagePage/MessagePage.dart';
class NewMessageRouterImpl implements NewMessageRouter {
@override
......
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
......
......@@ -2,9 +2,9 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/attention/AttentionListItem.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/attention/AttentionModel.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/page/attention/AttentionListItem.dart';
import 'package:gmalpha_flutter/MessageModel/page/attention/AttentionModel.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseComponent.dart';
import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
......@@ -2,7 +2,7 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/NewMessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/MessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/commonModel/base/AppBase.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/commonModel/base/AppBase.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
......
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/focusPage/FocusListItem.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/focusPage/FocusModel.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/page/focusPage/FocusListItem.dart';
import 'package:gmalpha_flutter/MessageModel/page/focusPage/FocusModel.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
......
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/common.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/MessageModel/page/common.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/commonModel/base/AppBase.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
......
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/likePage/LikeListItem.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/likePage/LikeModel.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/page/likePage/LikeListItem.dart';
import 'package:gmalpha_flutter/MessageModel/page/likePage/LikeModel.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseComponent.dart';
import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/MessageRepository.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
......
......@@ -2,12 +2,12 @@ import 'dart:async';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/messagePage/MessageModel.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/messagePage/common.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/util/Jump.dart';
import 'package:gmalpha_flutter/MessageModel/page/messagePage/MessageModel.dart';
import 'package:gmalpha_flutter/MessageModel/page/messagePage/common.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/util/Jump.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/commonModel/eventbus/GlobalEventBus.dart';
import 'package:gmalpha_flutter/commonModel/eventbus/event/LoginEvent.dart';
......
......@@ -2,8 +2,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/util/message_date.dart';
import 'package:gmalpha_flutter/commonModel/base/AppBase.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
......
import 'package:gmalpha_flutter/NewMessageModel/service/local/MessageLocal.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/MessageRemote.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/local/MessageLocal.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/MessageRemote.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:rxdart/rxdart.dart';
class MessageRepository {
......
import 'package:gmalpha_flutter/NewMessageModel/service/remote/api/MessageApi.serv.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/api/MessageApi.serv.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:rxdart/rxdart.dart';
class MessageRemote {
......
......@@ -2,12 +2,12 @@
import 'package:gmalpha_flutter/Annotations/anno/Get.dart';
import 'package:gmalpha_flutter/Annotations/anno/Query.dart';
import 'package:gmalpha_flutter/Annotations/anno/ServiceCenter.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/UnreadMessageEntity.dart';
@ServiceCenter()
abstract class MessageApi{
......
......@@ -14,12 +14,12 @@ import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/NewMessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/MyMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/UnreadMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LatestMessageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/LikePageEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/AttentionEntity.dart';
import 'package:gmalpha_flutter/MessageModel/service/remote/entity/FocusPageEntity.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
......
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/attention/AttentionPage.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/focusPage/FocusPage.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/likePage/LikePage.dart';
import 'package:gmalpha_flutter/MessageModel/page/attention/AttentionPage.dart';
import 'package:gmalpha_flutter/MessageModel/page/focusPage/FocusPage.dart';
import 'package:gmalpha_flutter/MessageModel/page/likePage/LikePage.dart';
import 'package:gmalpha_flutter/commonModel/base/AppBase.dart';
import 'package:gmalpha_flutter/res/anim/Anim.dart';
......
/*
* @author lsy
* @date 2019-09-16
**/
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/PrestigeModel/PrestigeRouter.dart';
import 'package:gmalpha_flutter/PrestigeModel/page/reputation/ReputationsPage.dart';
class PrestigeImpl implements PrestigeRouter {
@override
Widget getReputationsPage(int userId,String userName,String fromPage) {
return ReputationsPage(userId,userName,fromPage);
}
}
/*
* @author lsy
* @date 2019-09-16
**/
import 'package:gmalpha_flutter/PrestigeModel/service/local/PresitigeLocal.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/PrestigeRemote.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/entity/PrestigeEntity.dart';
import 'package:rxdart/rxdart.dart';
class PrestigeRepository {
PrestigeRemote _remote;
PresitigeLocal _local;
static PrestigeRepository _userRepository;
PrestigeRepository._() {
_remote = PrestigeRemote.getInstance();
_local = PresitigeLocal.getInstance();
}
static PrestigeRepository getInstance() {
if (_userRepository == null) {
_userRepository = PrestigeRepository._();
}
return _userRepository;
}
Observable<PrestigeEntity> getReputations(int userId) {
return _remote.getReputations(userId).map((value) {
if (value != null) {
}
return value;
});
}
}
/*
* @author lsy
* @date 2019-09-16
**/
class PresitigeLocal {
static PresitigeLocal _userRemote;
PresitigeLocal._() {}
static PresitigeLocal getInstance() {
if (_userRemote == null) {
_userRemote = new PresitigeLocal._();
}
return _userRemote;
}
}
/*
* @author lsy
* @date 2019-09-16
**/
import 'package:gmalpha_flutter/PrestigeModel/service/remote/api/PrestigeApi.serv.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/entity/PrestigeEntity.dart';
import 'package:rxdart/rxdart.dart';
class PrestigeRemote {
static PrestigeRemote _userRemote;
PrestigeRemote._() {}
static PrestigeRemote getInstance() {
if (_userRemote == null) {
_userRemote = new PrestigeRemote._();
}
return _userRemote;
}
Observable<PrestigeEntity> getReputations(int userId) {
return PrestigeApiImpl().getReputations(userId);
}
}
/*
* @author lsy
* @date 2019-09-16
**/
import 'package:gmalpha_flutter/Annotations/anno/Get.dart';
import 'package:gmalpha_flutter/Annotations/anno/Query.dart';
import 'package:gmalpha_flutter/Annotations/anno/ServiceCenter.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/entity/PrestigeEntity.dart';
@ServiceCenter()
abstract class PrestigeApi{
@Get("api/v1/reputations")
PrestigeEntity getReputations(@Query("user_id")int userId);
}
\ No newline at end of file
// GENERATED CODE - DO NOT MODIFY BY HAND
// **************************************************************************
// ServiceGenerator
// **************************************************************************
import 'dart:convert';
import 'dart:io';
import 'package:rxdart/rxdart.dart';
import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/entity/PrestigeEntity.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
class PrestigeApiImpl {
factory PrestigeApiImpl() => _sharedInstance();
static PrestigeApiImpl _instance;
PrestigeApiImpl._() {}
static PrestigeApiImpl _sharedInstance() {
if (_instance == null) {
_instance = PrestigeApiImpl._();
}
return _instance;
}
Observable<PrestigeEntity> getReputations(int userId) {
return Observable.fromFuture(
DioUtil().get('api/v1/reputations', data: {'user_id': userId}))
.flatMap((value) {
if (value != null && value.statusCode == 200) {
return Observable.fromFuture(
compute(pasePrestigeEntity, value.toString()));
} else {
return Observable.fromFuture(null);
}
});
}
}
PrestigeEntity pasePrestigeEntity(String value) {
return PrestigeEntity.fromJson(json.decode(value));
}
......@@ -61,7 +61,7 @@ class TestPage extends StatelessWidget {
Navigator.push(
context,
new CustomRoute(RouterCenterImpl()
.findActivityReportRouter()
.findWebRouter()
?.getActivityReportPage(300, 1, '')));
}, "报告页面");
}
......@@ -71,7 +71,7 @@ class TestPage extends StatelessWidget {
Navigator.push(
context,
new CustomRoute(RouterCenterImpl()
.findPrestigeRouter()
.findUserRouter()
?.getReputationsPage(1, "ww", "ww")));
}, "专家声望页面");
}
......@@ -81,12 +81,8 @@ class TestPage extends StatelessWidget {
Navigator.push(
context,
new CustomRoute(RouterCenterImpl().findAlbumRouter()?.getAlbumPage(
"com.example.gmalpha_flutter",
true,
9,
null,
false,
"test",maxVideoCount: 1)));
"com.example.gmalpha_flutter", true, 9, null, false, "test",
maxVideoCount: 1)));
}, "相册页面");
}
......
......@@ -6,9 +6,9 @@
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/Annotations/RouterBaser.dart';
import 'package:gmalpha_flutter/Annotations/anno/Router.dart';
import 'package:gmalpha_flutter/userModel/UserRouterImpl.dart';
import 'package:gmalpha_flutter/UserModel/UserRouterImpl.dart';
@Router("userModel", UserRouterImpl, true)
@Router("UserModel", UserRouterImpl, true)
abstract class UserRouter implements RouterBaser {
Widget getUserPage();
......@@ -16,5 +16,7 @@ abstract class UserRouter implements RouterBaser {
Widget getCommentPage(String refer);
Widget getReputationsPage(int userId, String userName, String fromPage);
void loginChangeUserID(String userId);
}
......@@ -3,10 +3,11 @@
* @date 2019-09-03
**/
import 'package:flutter/src/widgets/framework.dart';
import 'package:gmalpha_flutter/userModel/UserRouter.dart';
import 'package:gmalpha_flutter/userModel/page/comment/CommentSuggestPage.dart';
import 'package:gmalpha_flutter/userModel/page/userSetting/UserSettingPage.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/UserModel/UserRouter.dart';
import 'package:gmalpha_flutter/UserModel/page/comment/CommentSuggestPage.dart';
import 'package:gmalpha_flutter/UserModel/page/reputation/ReputationsPage.dart';
import 'package:gmalpha_flutter/UserModel/page/userSetting/UserSettingPage.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.user.dart';
class UserRouterImpl implements UserRouter {
@override
......@@ -26,4 +27,9 @@ class UserRouterImpl implements UserRouter {
void loginChangeUserID(String userId) {
UserEntityImpl().saveuserId("");
}
@override
Widget getReputationsPage(int userId, String userName, String fromPage) {
return ReputationsPage(userId,userName,fromPage);
}
}
......@@ -6,7 +6,7 @@ import 'package:flutter/cupertino.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
import 'package:gmalpha_flutter/userModel/service/UserRepository.dart';
import 'package:gmalpha_flutter/UserModel/service/UserRepository.dart';
class CommentModel extends BaseModel {
String refer;
......
......@@ -13,7 +13,7 @@ import 'package:gmalpha_flutter/commonModel/base/BaseComponent.dart';
import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseUtil.dart';
import 'package:gmalpha_flutter/res/value/ALColors.dart';
import 'package:gmalpha_flutter/userModel/page/comment/CommentModel.dart';
import 'package:gmalpha_flutter/UserModel/page/comment/CommentModel.dart';
class CommentSuggestPage extends StatefulWidget {
var _model;
......
......@@ -9,9 +9,9 @@ import 'package:flutter/foundation.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
import 'package:gmalpha_flutter/commonModel/util/IsolateUtil.dart';
import 'package:gmalpha_flutter/userModel/page/country/CountryJson.dart';
import 'package:gmalpha_flutter/userModel/service/UserRepository.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/UserModel/page/country/CountryJson.dart';
import 'package:gmalpha_flutter/UserModel/service/UserRepository.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CountryBean.dart';
class CountryModel extends BaseModel {
LiveData<CountryBean> liveData = new LiveData();
......
......@@ -8,8 +8,8 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseComponent.dart';
import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
import 'package:gmalpha_flutter/res/GMRes.dart';
import 'package:gmalpha_flutter/userModel/page/country/CountryModel.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/UserModel/page/country/CountryModel.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CountryBean.dart';
class CountryPage extends StatefulWidget {
CountryModel _model;
......
......@@ -4,11 +4,11 @@
**/
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/PrestigeRepository.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/entity/PrestigeEntity.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
import 'package:gmalpha_flutter/UserModel/service/UserRepository.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/PrestigeEntity.dart';
class ReputationsModel extends BaseModel {
LiveData<PrestigeEntity> prestigeLive;
......@@ -25,7 +25,7 @@ class ReputationsModel extends BaseModel {
init(BuildContext context) {
titleLive.notifyView(userName);
PrestigeRepository.getInstance().getReputations(userId).listen((value) {
UserRepository.getInstance().getReputations(userId).listen((value) {
if (value != null) {
prestigeLive.notifyView(value);
}
......
......@@ -6,13 +6,13 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/PrestigeModel/page/reputation/ReputationsModel.dart';
import 'package:gmalpha_flutter/PrestigeModel/service/remote/entity/PrestigeEntity.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseComponent.dart';
import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/res/GMRes.dart';
import 'package:gmalpha_flutter/UserModel/page/reputation/ReputationsModel.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/PrestigeEntity.dart';
class ReputationsPage extends StatefulWidget {
ReputationsModel _model;
......
......@@ -14,9 +14,9 @@ import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/net/Api.dart';
import 'package:gmalpha_flutter/commonModel/picker/loadingPicker.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
import 'package:gmalpha_flutter/userModel/service/UserRepository.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/userModel/util/JumpUtil.dart';
import 'package:gmalpha_flutter/UserModel/service/UserRepository.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/UserModel/util/JumpUtil.dart';
import '../../../commonModel/live/LiveData.dart';
......
......@@ -10,7 +10,6 @@ import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gmalpha_flutter/NewMessageModel/page/messagePage/common.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseBuried.dart';
import 'package:gmalpha_flutter/commonModel/base/BaseComponent.dart';
......@@ -18,10 +17,10 @@ import 'package:gmalpha_flutter/commonModel/base/BasePage.dart';
import 'package:gmalpha_flutter/commonModel/net/Responce/SimpleResponce.dart';
import 'package:gmalpha_flutter/commonModel/picker/base/BasePickerComponent.dart';
import 'package:gmalpha_flutter/res/GMRes.dart';
import 'package:gmalpha_flutter/userModel/page/userSetting/UserSettingModel.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/userModel/util/JumpUtil.dart';
import 'package:gmalpha_flutter/UserModel/page/userSetting/UserSettingModel.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/UserModel/util/JumpUtil.dart';
class UserSettingPage extends StatefulWidget {
UserSettingModel _model;
......
......@@ -3,16 +3,17 @@
* @date 2019-09-04
**/
import 'package:gmalpha_flutter/commonModel/net/Responce/SimpleResponce.dart';
import 'package:gmalpha_flutter/userModel/service/local/UserLocal.dart';
import 'package:gmalpha_flutter/userModel/service/remote/UserRemote.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserResultBean.dart';
import 'package:gmalpha_flutter/UserModel/service/local/UserLocal.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/UserRemote.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/PrestigeEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserResultBean.dart';
import 'package:rxdart/rxdart.dart';
class UserRepository {
......@@ -68,4 +69,12 @@ class UserRepository {
return value;
});
}
Observable<PrestigeEntity> getReputations(int userId) {
return _remote.getReputations(userId).map((value) {
if (value != null) {
}
return value;
});
}
}
......@@ -2,12 +2,8 @@
* @author lsy
* @date 2019-09-04
**/
import 'package:gmalpha_flutter/userModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.user.dart'
as prefix0;
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserResultBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.user.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserResultBean.dart';
class UserLocal {
static UserLocal _userRemote;
......
......@@ -3,13 +3,14 @@
* @date 2019-09-04
**/
import 'package:gmalpha_flutter/commonModel/net/Responce/SimpleResponce.dart';
import 'package:gmalpha_flutter/userModel/service/remote/api/UserApi.serv.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserResultBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/api/UserApi.serv.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/PrestigeEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserResultBean.dart';
import 'package:rxdart/rxdart.dart';
import 'entity/CountryBean.dart';
......@@ -51,4 +52,8 @@ class UserRemote {
Observable<SimpleResponce> userLogout(String userId) {
return UserApiImpl().logout(userId);
}
Observable<PrestigeEntity> getReputations(int userId) {
return UserApiImpl().getReputations(userId);
}
}
......@@ -7,13 +7,14 @@ import 'package:gmalpha_flutter/Annotations/anno/Post.dart';
import 'package:gmalpha_flutter/Annotations/anno/Query.dart';
import 'package:gmalpha_flutter/Annotations/anno/ServiceCenter.dart';
import 'package:gmalpha_flutter/commonModel/net/Responce/SimpleResponce.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserResultBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/PrestigeEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/TestUserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserEntity.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserResultBean.dart';
@ServiceCenter()
abstract class UserApi {
......@@ -46,4 +47,7 @@ abstract class UserApi {
@Post("api/account/logout/")
SimpleResponce logout(@Query("user_id") String user_id);
@Get("api/v1/reputations")
PrestigeEntity getReputations(@Query("user_id")int userId);
}
......@@ -14,12 +14,13 @@ import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UserResultBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/userModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UserResultBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CommentBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/CountryBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/UploadTokenBean.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/SetUserBean.dart';
import 'package:gmalpha_flutter/commonModel/net/Responce/SimpleResponce.dart';
import 'package:gmalpha_flutter/UserModel/service/remote/entity/PrestigeEntity.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
......@@ -116,6 +117,19 @@ class UserApiImpl {
}
});
}
Observable<PrestigeEntity> getReputations(int userId) {
return Observable.fromFuture(
DioUtil().get('api/v1/reputations', data: {'user_id': userId}))
.flatMap((value) {
if (value != null && value.statusCode == 200) {
return Observable.fromFuture(
compute(pasePrestigeEntity, value.toString()));
} else {
return Observable.fromFuture(null);
}
});
}
}
UserResultBean paseUserResultBean(String value) {
......@@ -141,3 +155,7 @@ SetUserBean paseSetUserBean(String value) {
SimpleResponce paseSimpleResponce(String value) {
return SimpleResponce.fromJson(json.decode(value));
}
PrestigeEntity pasePrestigeEntity(String value) {
return PrestigeEntity.fromJson(json.decode(value));
}
......@@ -7,8 +7,8 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/res/anim/Anim.dart';
import 'package:gmalpha_flutter/userModel/page/comment/CommentSuggestPage.dart';
import 'package:gmalpha_flutter/userModel/page/country/CountryPage.dart';
import 'package:gmalpha_flutter/UserModel/page/comment/CommentSuggestPage.dart';
import 'package:gmalpha_flutter/UserModel/page/country/CountryPage.dart';
void jumpToComment(BuildContext context, String refer) {
Navigator.push(context, new CustomRoute(CommentSuggestPage(refer)));
......
......@@ -6,9 +6,9 @@
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/Annotations/RouterBaser.dart';
import 'package:gmalpha_flutter/Annotations/anno/Router.dart';
import 'package:gmalpha_flutter/ActivityReportModel/ActivityReportRouterImpl.dart';
import 'package:gmalpha_flutter/WebModel/WebRouterImpl.dart';
@Router("ActivityReportModel", ActivityReportRouterImpl,true)
abstract class ActivityReportRouter implements RouterBaser {
@Router("WebModel", WebRouterImpl, true)
abstract class WebRouter implements RouterBaser {
Widget getActivityReportPage(int id, int type, String fromPage);
}
......@@ -3,10 +3,10 @@
* @date 2019-09-17
**/
import 'package:flutter/widgets.dart';
import 'package:gmalpha_flutter/ActivityReportModel/ActivityReportRouter.dart';
import 'package:gmalpha_flutter/ActivityReportModel/page/ActivityReportPage.dart';
import 'package:gmalpha_flutter/WebModel/WebRouter.dart';
import 'package:gmalpha_flutter/WebModel/page/ActivityReportPage.dart';
class ActivityReportRouterImpl implements ActivityReportRouter {
class WebRouterImpl implements WebRouter {
@override
Widget getActivityReportPage(int id, int type,String fromPage) {
return new ActivityReportPage(id, type,fromPage);
......
......@@ -3,8 +3,8 @@
* @date 2019-09-17
**/
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/ActivityReportRepository.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/ActivityReportRepository.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
......
......@@ -6,9 +6,9 @@ import 'dart:async';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart' as IMAGE;
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/ActivityReportModel/page/ActivityReportModel.dart';
import 'package:gmalpha_flutter/WebModel/page/ActivityReportModel.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/commonModel/GMBase.dart';
import 'package:gmalpha_flutter/res/GMRes.dart';
......
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
class AnimatedListSample extends StatefulWidget {
final List<Cards> pictorialList;
......
......@@ -3,9 +3,9 @@
* @date 2019-09-17
**/
import 'package:gmalpha_flutter/ActivityReportModel/service/local/ActivityReportLocal.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/ActivityReportRemote.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/local/ActivityReportLocal.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/ActivityReportRemote.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:rxdart/rxdart.dart';
class ActivityReportRepository {
......
......@@ -2,8 +2,8 @@
* @author dx
* @date 2019-09-17
**/
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/api/ActivityReportApi.serv.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/api/ActivityReportApi.serv.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:rxdart/rxdart.dart';
class ActivityReportRemote {
......
......@@ -2,7 +2,7 @@
* @author dx
* @date 2019-09-17
**/
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/Annotations/anno/Get.dart';
import 'package:gmalpha_flutter/Annotations/anno/Query.dart';
import 'package:gmalpha_flutter/Annotations/anno/ServiceCenter.dart';
......
......@@ -14,7 +14,7 @@ import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/WebModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
......
......@@ -5,7 +5,6 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/ActivityReportModel/page/ActivityReportPage.dart';
import 'package:gmalpha_flutter/commonModel/picker/base/DialogRouter.dart';
class BaseCenterPicker extends StatefulWidget {
......
This diff is collapsed.
import 'package:flutter/material.dart';
import 'dart:ui' as ui;
import 'package:flutter/services.dart';
void main(){
return runApp(new InviteSuccessPage());
}
class InviteSuccessPage extends StatelessWidget{
@override
Widget build(BuildContext context) {
// TODO: implement build
return MaterialApp(
debugShowCheckedModeBanner: false,
home: InviteSuccessContent(),
theme: ThemeData(
primaryColor: Colors.white,
highlightColor: Colors.white,
splashColor: Colors.white70)
);
}
}
class InviteSuccessContent extends StatelessWidget {
BuildContext context;
void onLeadingClick() {
Navigator.pop(context);
}
@override
Widget build(BuildContext context) {
this.context = context;
// TODO: implement build
return Scaffold(
backgroundColor: Colors.white,
appBar: AppBar(
elevation: 0.0,
leading: IconButton(
icon: Icon(Icons.arrow_back_ios), onPressed: onLeadingClick),
),
body: Container(
child: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
SizedBox(width: 10.0, height: 70.0),
Image(image: AssetImage('assets/image/1.0x/icon_invite_code_verify_success.png')),
SizedBox(width: 10.0, height: 40.0),
Text("帮助好友解锁成功",
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
SizedBox(width: 10.0, height: 10.0),
Text("同时你已获赠3个可对比明星",
style: TextStyle(fontSize: 14, fontWeight: FontWeight.bold)),
SizedBox(width: 10.0, height: 50.0),
RaisedButton(
color: Colors.white,
child: Padding(
padding: EdgeInsets.fromLTRB(0, 15, 0, 15),
child: Text(
"去试试",
style: TextStyle(fontWeight: FontWeight.bold),
)),
elevation: 0.0,
padding: EdgeInsets.fromLTRB(50, 0, 50, 0),
onPressed: () {
},
shape: Border(
top: BorderSide(color: Colors.black, width: 2.0),
right: BorderSide(color: Colors.black, width: 2.0),
bottom: BorderSide(color: Colors.black, width: 2.0),
left: BorderSide(color: Colors.black, width: 2.0)),
),
SizedBox(width: 10.0, height: 130.0),
],
)),
));
}
}
......@@ -3,7 +3,6 @@ import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:gmalpha_flutter/Annotations/RouterCenterRestore.mark.dart';
import 'package:gmalpha_flutter/Error_Page.dart';
import 'package:gmalpha_flutter/TestPage.dart';
......@@ -80,7 +79,7 @@ class _MyAppState extends State<MyApp> {
"prestige": (pageName, params, _) {
print("PARAMS!! ${params}");
int userId = int.parse(params["userId"]);
return RouterCenterImpl().findPrestigeRouter()?.getReputationsPage(
return RouterCenterImpl().findUserRouter()?.getReputationsPage(
userId, params["userName"], params["fromPage"]);
},
"user_setting": (pageName, params, _) {
......@@ -92,7 +91,7 @@ class _MyAppState extends State<MyApp> {
"activity_report": (pageName, params, _) {
print("PARAMS!! ${params}");
return RouterCenterImpl()
.findActivityReportRouter()
.findWebRouter()
?.getActivityReportPage(
params["survey_record_id"] == null
? null
......@@ -135,7 +134,7 @@ class _MyAppState extends State<MyApp> {
theme: new ThemeData(
primaryColor: Colors.white,
backgroundColor: ALColors.ColorFFFFFF,
accentColor: ALColors.ColorFFFFFF,
accentColor: ALColors.ColorE4E4E4,
textTheme: TextTheme(
//设置Material的默认字体样式
body1: TextStyle(color: Color(0xFF888888), fontSize: 16.0),
......
/*
* @author lsy
* @date 2019-09-03
**/
import 'package:flutter/cupertino.dart';
import 'package:gmalpha_flutter/Annotations/RouterBaser.dart';
import 'package:gmalpha_flutter/Annotations/anno/Router.dart';
import 'package:gmalpha_flutter/messageModel/MessageRouterImpl.dart';
@Router("messageModel",MessageRouterImpl,true)
abstract class MessageRouter implements RouterBaser{
void openMessagePage(Map map,BuildContext context);
Widget getMessagePage(Map map);
}
\ No newline at end of file
/*
* @author lsy
* @date 2019-09-03
**/
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/messageModel/MessageRouter.dart';
import 'package:gmalpha_flutter/messageModel/home/message_home.dart';
class MessageRouterImpl implements MessageRouter {
@override
void openMessagePage(Map map, BuildContext context) {
Navigator.pushReplacement(context,
new MaterialPageRoute(builder: (context) => MessageHomePage(map)));
}
@override
Widget getMessagePage(Map map) {
return MessageHomePage(map);
}
}
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/commonModel/list_item.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class AttentionList extends StatefulWidget {
@override
_AttentionListState createState() => _AttentionListState();
}
class _AttentionListState extends State<AttentionList> {
@override
Widget build(BuildContext context) {
// TODO: implement build
return null;
}
// @override
// List<ListItem> messageList = List<ListItem>();
// List<ListItem> dataArr = List<ListItem>();
// int pageIndex = 1;
// List<String> data1 = [];
// RefreshController _refreshController =
// RefreshController(initialRefresh: true);
// void _onRefresh() async{
// pageIndex = 1;
// List<ListItem> newdataArr = List<ListItem>();
// newdataArr = await _fetchListData();
// if (mounted) setState(() {
// dataArr = newdataArr;
// });
// _refreshController.refreshCompleted();
// }
// void _onLoading() async{
// pageIndex ++;
// List<ListItem> newData = List<ListItem>();
// newData = await _fetchMesssageList();
// if (mounted) setState(() {
// this.dataArr.addAll(newData);
// });
// _refreshController.loadComplete();
// }
// Future<List<ListItem>> _fetchMesssageList() async {
// List<Message> messageList = List<Message>();
// BaseResp<List> baseresp = await DioUtil().request<List>(Method.get, "api/v1/reply/my", queryParameters: {'page': pageIndex, 'count': 10});
// if (baseresp.code != 0) {
// return new Future.error(baseresp.msg);
// }
// if (baseresp.data != null) {
// messageList = baseresp.data.map((value) {
// return Message.fromJson(value);
// }).toList();
// }
// _refreshController.refreshCompleted();
// return messageList;
// }
// Future<List<ListItem>> _fetchListData() async {
// List<ListItem> dataArr = List<ListItem>();
// List<ListItem> messageData = await _fetchMesssageList();
// messageData.forEach((item) {
// dataArr.add(item);
// });
// return dataArr;
// }
// @override
// Widget build(BuildContext context) {
// return Scaffold(
// appBar: new AppBar(
// title: new Text('消息'),
// ),
// body: new Container(
// child: SmartRefresher(
// child: _createListView(),
// controller: _refreshController,
// enablePullDown: true,
// enablePullUp: true,
// header: WaterDropHeader(),
// onRefresh: (){
// _onRefresh();
// },
// onLoading: () {
// _onLoading();
// }
// ),
// )
// );
// }
// Widget _createListView() {
// List<ListItem> dataArr = this.dataArr;
// return ListView.builder(
// shrinkWrap: true,
// key: new PageStorageKey('message-list'),
// itemCount: dataArr.length,
// itemBuilder: (context,index) {
// ListItem item = dataArr[index];
// if (item is Message) {
// return new MessageItem(onPressed: (){}, message:item);
// } else if (item is NotificationItem){
// return new MessageNotificationItem(onPressed: (){}, notification: item);
// } else {
// return Text('类型错误');
// }
// },
// );
// }
}
\ No newline at end of file
import 'package:flutter/material.dart';
class AttentionListItem extends StatefulWidget {
@override
_AttentionListItemState createState() => _AttentionListItemState();
}
class _AttentionListItemState extends State<AttentionListItem> {
@override
Widget build(BuildContext context) {
return Container(
);
}
}
import 'package:flutter/material.dart';
import 'package:dio/dio.dart';
import 'package:gmalpha_flutter/messageModel/home/message_notification_item.dart';
import 'package:gmalpha_flutter/messageModel/model/message/message.dart';
// import 'package:gmalpha_flutter/model/message/message.dart' as prefix0;
import 'message_item.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:gmalpha_flutter/commonModel/list_item.dart';
class MessageHomePage extends StatefulWidget {
final Map params;
MessageHomePage(this.params);
@override
_MessageHomePageState createState() => _MessageHomePageState(params);
}
class _MessageHomePageState extends State<MessageHomePage> {
final Map nativeCookie;
_MessageHomePageState(this.nativeCookie);
List<ListItem> messageList = List<ListItem>();
List<ListItem> dataArr = List<ListItem>();
int pageIndex = 1;
@override
void initState() {
if (nativeCookie.keys.length > 0) {
BaseOptions options = DioUtil.getDefOptions();
Map cookie = this.nativeCookie;
print('----22222222222222-----');
Map<String, dynamic> newCookie = {'Cookie': cookie['Cookie']};
options.baseUrl = cookie['host'] + '/';
print('----33333333333----');
HttpConfig config = new HttpConfig(options: options, nativeCookie:newCookie);
DioUtil().setConfig(config);
}
super.initState();
}
RefreshController _refreshController =
RefreshController(initialRefresh: true);
void _onRefresh() async{
pageIndex = 1;
List<ListItem> newdataArr = List<ListItem>();
newdataArr = await _fetchListData();
if (mounted) setState(() {
dataArr = newdataArr;
});
_refreshController.refreshCompleted();
}
void _onLoading() async{
pageIndex ++;
List<ListItem> newData = List<ListItem>();
newData = await _fetchMesssageList();
if (mounted) setState(() {
this.dataArr.addAll(newData);
});
_refreshController.loadComplete();
}
Future<List<ListItem>> _fetchMesssageList() async {
// List<Message> messageList = List<Message>();
// BaseResp<List> baseresp = await DioUtil().request<List>(Method.get, "api/v1/reply/my", queryParameters: {'page': pageIndex, 'count': 10});
// if (baseresp.code != 0) {
// return new Future.error(baseresp.msg);
// }
//
// if (baseresp.data != null) {
// messageList = baseresp.data.map((value) {
// return Message.fromJson(value);
// }).toList();
// }
_refreshController.refreshCompleted();
return messageList;
}
Future<List<ListItem>> _fetchNewestInfo() async {
List<ListItem> notiData = List<ListItem>();
// BaseRespR noteResp = await DioUtil().requestR(Method.get, 'api/v1/push/newest/info');
// Map noteData = noteResp.data;
// String noteContent = noteData['content'];
// NotificationItem noteItem = NotificationItem('images/message_noti.png', noteContent, 0, '通知');
// notiData.add(noteItem);
//
// BaseRespR likeResp = await DioUtil().requestR(Method.get, 'api/v1/message/unread',queryParameters: {'type': 0});
// print(likeResp);
// Map likeData = likeResp.data;
// String likeContent = '';
// NotificationItem likeItem = NotificationItem('images/message_like.png', likeContent, likeData['count'], 'Like');
// if (likeItem.count > 0) {
// likeItem.content = '有${likeItem.count}个人Like了你';
// } else {
// likeItem.content = '还没有人给你Like哦~';
// }
// notiData.add(likeItem);
// BaseRespR attentionResp = await DioUtil().requestR(Method.get, 'api/v1/message/unread',queryParameters: {'type': 1});
// Map attData = attentionResp.data;
// String attContent = '';
// NotificationItem attItem = NotificationItem('images/message_att.png', attContent, attData['count'], '关注');
// if (attItem.count > 0) {
// attItem.content = '有${attItem.count}个人关注了你';
// } else {
// attContent = '还没有人给你关注哦~';
// }
// notiData.add(attItem);
// this.dataArr = dataArr;
return notiData;
}
Future<List<ListItem>> _fetchListData() async {
List<ListItem> dataArr = List<ListItem>();
dataArr = await _fetchNewestInfo();
List<ListItem> messageData = await _fetchMesssageList();
messageData.forEach((item) {
dataArr.add(item);
});
return dataArr;
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: new AppBar(
title: new Text('消息'),
),
body: new Container(
child: SmartRefresher(
child: _createListView(),
controller: _refreshController,
enablePullDown: true,
enablePullUp: true,
header: WaterDropHeader(),
onRefresh: (){
_onRefresh();
},
onLoading: () {
_onLoading();
}
),
)
);
}
Widget _createListView() {
List<ListItem> dataArr = this.dataArr;
return ListView.builder(
shrinkWrap: true,
key: new PageStorageKey('message-list'),
itemCount: dataArr.length,
itemBuilder: (context,index) {
ListItem item = dataArr[index];
if (item is Message) {
return new MessageItem(onPressed: (){}, message:item);
} else if (item is NotificationItem){
return new MessageNotificationItem(onPressed: (){}, notification: item);
} else {
return Text('类型错误');
}
},
);
}
}
import 'package:flutter/material.dart';
import 'package:gmalpha_flutter/messageModel/model/message/message.dart';
class MessageItem extends StatelessWidget {
final Message message;
VoidCallback onPressed;
MessageItem({Key key, this.message, this.onPressed}) : super(key: key);
@override
Widget build(BuildContext context) {
var thumbImg = new Container(
width: 42,
height: 42,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: new DecorationImage(
image: new NetworkImage(message.icon),
)
),
);
var contentImg = new Container(
width: 48,
height: 48,
decoration: BoxDecoration(
image: new DecorationImage(
image: new NetworkImage(message.repliedContent.content),
)
),
);
var titleRow = new Row (
children: <Widget>[
new Row (
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Text(message.name, style: TextStyle(color: Color(0xff323232), fontWeight: FontWeight.bold, fontSize: 13)),
new Padding (
padding: EdgeInsets.only(left: 8, right: 8),
child: Text('评论了你', style: TextStyle(color: Color(0xff323232), fontSize: 13)),
)
],
),
],
);
String timeStr() {
DateTime dateTime = DateTime.fromMicrosecondsSinceEpoch((message.time*1000*1000).toInt(), isUtc: false);
String time = dateTime.toString();
time = time.substring("yyyy-".length, "yyyy-MM-dd".length);
return time;
}
var contenRow = new Row (
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
new Expanded(
child: new Text(message.content, maxLines: 2, textAlign: TextAlign.start, overflow: TextOverflow.ellipsis, style: TextStyle(color: Color(0xff323232), fontSize: 13, )),
)
],
// mainAxisSize: ,
// children: <Widget>[
// ],
// padding: EdgeInsets.only(right: ),
// mainAxisAlignment: MainAxisAlignment.start,
);
var timeRow = new Row(
children: <Widget>[
new Text(timeStr(), maxLines: 1, overflow: TextOverflow.ellipsis, style: TextStyle(color: Color(0xff8e8e8e), fontSize: 10, )),
],
);
return new GestureDetector(
onTap: onPressed,
// onTap: timeStr(),
child: new Container(
child: new Column(
children: <Widget>[
new Row(
children: <Widget>[
new Padding(
padding: const EdgeInsets.only(left: 16, top: 20),
child: new Container(
child: new Center(
child: thumbImg,
),
),
),
new Expanded(
flex: 1,
child: new Padding(
padding: const EdgeInsets.only(left: 10,right: 10, top: 10, bottom: 10),
child: new Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
titleRow,
// Text(message.content, maxLines: 2, textAlign: TextAlign.left, overflow: TextOverflow.ellipsis, style: TextStyle(color: Color(0xff323232), fontSize: 13, )),
contenRow,
timeRow,
],
),
),
),
new Padding(
padding: const EdgeInsets.only(right: 16),
child: new Container(
child: new Center(
child: contentImg,
),
),
)
],
)
],
),
),
);
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment