Commit bb96ff8c authored by 杜欣's avatar 杜欣

temp

parent 561c8986
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
sdk.dir=/Users/apple/Library/Android/sdk
flutter.sdk=/Users/apple/Downloads/flutter
sdk.dir=/Users/gengmei/Library/Android/sdk
flutter.sdk=/Users/gengmei/flutter
flutter.buildMode=debug
flutter.versionName=1.0.0
flutter.versionCode=1
\ No newline at end of file
Flutter crash report; please file at https://github.com/flutter/flutter/issues.
## command
flutter run -d AKC0218316000622
## exception
RpcException: JSON-RPC error -32000: There are no running service protocol handlers.
```
package:json_rpc_2/src/client.dart 110:64 Client.sendRequest
package:json_rpc_2/src/peer.dart 79:15 Peer.sendRequest
package:flutter_tools/src/vmservice.dart 316:13 VMService._sendRequest
package:flutter_tools/src/vmservice.dart 851:60 VM.invokeRpcRaw
===== asynchronous gap ===========================
package:flutter_tools/src/vmservice.dart 872:49 VM.invokeRpc
===== asynchronous gap ===========================
package:flutter_tools/src/vmservice.dart 941:12 VM.runInView
package:flutter_tools/src/vmservice.dart 1455:20 FlutterView.runFromSource
===== asynchronous gap ===========================
package:flutter_tools/src/run_hot.dart 372:24 HotRunner._launchInView
package:flutter_tools/src/run_hot.dart 387:19 HotRunner._launchFromDevFS
===== asynchronous gap ===========================
package:flutter_tools/src/run_hot.dart 458:11 HotRunner._restartFromSources
===== asynchronous gap ===========================
package:flutter_tools/src/run_hot.dart 546:46 HotRunner.restart
===== asynchronous gap ===========================
package:flutter_tools/src/run_hot.dart 277:24 HotRunner.handleTerminalCommand
===== asynchronous gap ===========================
package:flutter_tools/src/resident_runner.dart 898:15 ResidentRunner.processTerminalInput
===== asynchronous gap ===========================
dart:async/zone.dart 1132:38 _rootRunUnary
dart:async/zone.dart 1029:19 _CustomZone.runUnary
dart:async/zone.dart 931:7 _CustomZone.runUnaryGuarded
dart:async/stream_impl.dart 336:11 _BufferingStreamSubscription._sendData
dart:async/stream_impl.dart 263:7 _BufferingStreamSubscription._add
dart:async/broadcast_stream_controller.dart 375:20 _SyncBroadcastStreamController._sendData
dart:async/broadcast_stream_controller.dart 250:5 _BroadcastStreamController.add
dart:async/broadcast_stream_controller.dart 474:11 _AsBroadcastStreamController.add
dart:async/zone.dart 1132:38 _rootRunUnary
dart:async/zone.dart 1029:19 _CustomZone.runUnary
dart:async/zone.dart 931:7 _CustomZone.runUnaryGuarded
dart:async/stream_impl.dart 336:11 _BufferingStreamSubscription._sendData
dart:async/stream_impl.dart 263:7 _BufferingStreamSubscription._add
dart:async/stream_transformers.dart 68:11 _SinkTransformerStreamSubscription._add
dart:async/stream_transformers.dart 15:11 _EventSinkWrapper.add
dart:convert/string_conversion.dart 236:11 _StringAdapterSink.add
dart:convert/string_conversion.dart 241:7 _StringAdapterSink.addSlice
dart:convert/string_conversion.dart 312:20 _Utf8ConversionSink.addSlice
dart:convert/ascii.dart 252:17 _ErrorHandlingAsciiDecoderSink.addSlice
dart:convert/ascii.dart 238:5 _ErrorHandlingAsciiDecoderSink.add
dart:convert/chunked_conversion.dart 72:18 _ConverterStreamEventSink.add
dart:async/stream_transformers.dart 120:24 _SinkTransformerStreamSubscription._handleData
dart:async/zone.dart 1132:38 _rootRunUnary
dart:async/zone.dart 1029:19 _CustomZone.runUnary
dart:async/zone.dart 931:7 _CustomZone.runUnaryGuarded
dart:async/stream_impl.dart 336:11 _BufferingStreamSubscription._sendData
dart:async/stream_impl.dart 263:7 _BufferingStreamSubscription._add
dart:async/stream_controller.dart 764:19 _SyncStreamController._sendData
dart:async/stream_controller.dart 640:7 _StreamController._add
dart:async/stream_controller.dart 586:5 _StreamController.add
dart:io-patch/socket_patch.dart 1786:41 _Socket._onData
dart:async/zone.dart 1136:13 _rootRunUnary
dart:async/zone.dart 1029:19 _CustomZone.runUnary
dart:async/zone.dart 931:7 _CustomZone.runUnaryGuarded
dart:async/stream_impl.dart 336:11 _BufferingStreamSubscription._sendData
dart:async/stream_impl.dart 263:7 _BufferingStreamSubscription._add
dart:async/stream_controller.dart 764:19 _SyncStreamController._sendData
dart:async/stream_controller.dart 640:7 _StreamController._add
dart:async/stream_controller.dart 586:5 _StreamController.add
dart:io-patch/socket_patch.dart 1335:33 new _RawSocket.<fn>
dart:io-patch/socket_patch.dart 856:14 _NativeSocket.issueReadEvent.issue
dart:async/schedule_microtask.dart 41:21 _microtaskLoop
dart:async/schedule_microtask.dart 50:5 _startMicrotaskLoop
dart:isolate-patch/isolate_patch.dart 116:13 _runPendingImmediateCallback
dart:isolate-patch/isolate_patch.dart 173:5 _RawReceivePortImpl._handleMessage
```
## flutter doctor
```
[✓] Flutter (Channel stable, v1.7.8+hotfix.4, on Mac OS X 10.14.6 18G87, locale zh-Hans-CN)
• Flutter version 1.7.8+hotfix.4 at /Users/gengmei/flutter
• Framework revision 20e59316b8 (9 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at /Users/gengmei/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 10.3, Build version 10G8
• CocoaPods version 1.7.5
[✓] iOS tools - develop for iOS devices
• ios-deploy 1.9.4
[✓] Android Studio (version 3.4)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin version 39.0.1
• Dart plugin version 183.6270
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[✓] VS Code (version 1.38.1)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.4.1
[✓] Connected device (3 available)
• CLT AL01 • AKC0218316000622 • android-arm64 • Android 9 (API 28)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
• iPhone Xʀ • F628F199-078C-4B19-AC7F-732EEB157FDD • ios • com.apple.CoreSimulator.SimRuntime.iOS-12-4
(simulator)
• No issues found!
```
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
// This is a generated file; do not edit or check into version control.
FLUTTER_ROOT=/Users/apple/Downloads/flutter
FLUTTER_APPLICATION_PATH=/Users/apple/lsy/gmalpha_flutter
FLUTTER_ROOT=/Users/gengmei/flutter
FLUTTER_APPLICATION_PATH=/Users/gengmei/Documents/workspace/gmalpha_flutter
FLUTTER_TARGET=lib/main.dart
FLUTTER_BUILD_DIR=build
SYMROOT=${SOURCE_ROOT}/../build/ios
......
File mode changed from 100644 to 100755
PODS:
- Flutter (1.0.0)
- flutter_boost (0.0.1):
- Flutter
- xservice_kit
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- gengmei_flutter_plugin (0.0.1):
- Flutter
- path_provider (0.0.1):
- Flutter
- sqflite (0.0.1):
- Flutter
- FMDB (~> 2.7.2)
- xservice_kit (0.0.1):
- Flutter
DEPENDENCIES:
- Flutter (from `.symlinks/flutter/ios-release`)
- flutter_boost (from `.symlinks/plugins/flutter_boost/ios`)
- gengmei_flutter_plugin (from `.symlinks/plugins/gengmei_flutter_plugin/ios`)
- path_provider (from `.symlinks/plugins/path_provider/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
- xservice_kit (from `.symlinks/plugins/xservice_kit/ios`)
SPEC REPOS:
https://github.com/cocoapods/specs.git:
- FMDB
EXTERNAL SOURCES:
Flutter:
:path: ".symlinks/flutter/ios-release"
flutter_boost:
:path: ".symlinks/plugins/flutter_boost/ios"
gengmei_flutter_plugin:
:path: ".symlinks/plugins/gengmei_flutter_plugin/ios"
path_provider:
:path: ".symlinks/plugins/path_provider/ios"
sqflite:
:path: ".symlinks/plugins/sqflite/ios"
xservice_kit:
:path: ".symlinks/plugins/xservice_kit/ios"
SPEC CHECKSUMS:
Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a
flutter_boost: 0e85ea37c74ed39ee7b91a35612afa1605557484
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
gengmei_flutter_plugin: 9461e8644c06c4a0e38292ddcca1cc55e6ac6156
path_provider: f96fff6166a8867510d2c25fdcc346327cc4b259
sqflite: ff1d9da63c06588cc8d1faf7256d741f16989d5a
xservice_kit: a2f1b35addc126fce8687aeb183ab0c1ada5b7f3
PODFILE CHECKSUM: 7f6a4806cddf47207b1cc19727536fd9f167aaa3
COCOAPODS: 1.7.4
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
File mode changed from 100644 to 100755
/*
* @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/ActivityReportModel/ActivityReportRouterImpl.dart';
@Router("ActivityReportModel", ActivityReportRouterImpl)
abstract class ActivityReportRouter implements RouterBaser{
Widget getActivityReportPage(String cookie, int id, int type);
}
\ No newline at end of file
/*
* @author dx
* @date 2019-09-17
**/
import 'package:flutter/widgets.dart';
import 'package:gmalpha_flutter/ActivityReportModel/ActivityReportRouter.dart';
import 'package:gmalpha_flutter/ActivityReportModel/page/ActivityReportPage.dart';
class ActivityReportRouterImpl implements ActivityReportRouter {
@override
Widget getActivityReportPage(String cookie, int id, int type) {
return ActivityReportPage(cookie, id, type);
}
}
/*
* @author dx
* @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/commonModel/live/BaseModel.dart';
import 'package:gmalpha_flutter/commonModel/live/LiveData.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
import 'package:gmalpha_flutter/commonModel/toast/toast.dart';
class ActivityReportModel extends BaseModel {
LiveData<ActivityReportEntity> activityReportLive = new LiveData();
final String cookie;
ActivityReportModel(this.cookie, int id, [int type]);
init(BuildContext context, int id, int type) {
Map<String, dynamic> headMap = new Map();
headMap.putIfAbsent("Cookie", () => cookie);
DioUtil().addHead = headMap;
ActivityReportRepository.getInstance().getActivityReport(id, type).listen((value) {
if (value != null) {
activityReportLive.notifyView(value);
}
}).onError((error) {
Toast.show(context, "${error.toString()}");
print(error);
});
}
@override
void dispose() {
activityReportLive.dispost();
}
}
\ No newline at end of file
This diff is collapsed.
import 'dart:async';
import 'package:flutter/material.dart';
class AnimatedListSample extends StatefulWidget {
@override
_AnimatedListSampleState createState() => new _AnimatedListSampleState();
}
class _AnimatedListSampleState extends State<AnimatedListSample> {
final GlobalKey<AnimatedListState> _listKey = new GlobalKey<AnimatedListState>();
List _list;
int _selectedItem;
int _nextItem;
@override
void initState() {
super.initState();
_nextItem = 0;
}
Widget _buildItem(BuildContext context, int index, Animation<double> animation) {
return new CardItem(
animation: animation,
item: _list[index],
selected: _selectedItem == _list[index],
onTap: () {
setState(() {
_selectedItem = _selectedItem == _list[index] ? null : _list[index];
});
},
);
}
@override
Widget build(BuildContext context) {
List list = [1,2,3,4,5,6];
list.forEach((item){
var index = list.indexOf(item);
var _timer = Timer(Duration(seconds: 1 + index), (){
final int index = _selectedItem == null ? _list.length : _list.indexOf(_selectedItem);
_list.insert(index, _nextItem++);
});
});
return new MaterialApp(
home: new Scaffold(
appBar: new AppBar(
title: const Text('AnimatedList')
),
body: new Padding(
padding: const EdgeInsets.all(16.0),
child: new AnimatedList(
key: _listKey,
initialItemCount: _list.length,
itemBuilder: _buildItem,
),
),
),
);
}
}
class CardItem extends StatelessWidget {
const CardItem({
Key key,
@required this.animation,
this.onTap,
@required this.item,
this.selected: false
}) : assert(animation != null),
assert(item != null && item >= 0),
assert(selected != null),
super(key: key);
final Animation<double> animation;
final VoidCallback onTap;
final int item;
final bool selected;
@override
Widget build(BuildContext context) {
TextStyle textStyle = Theme.of(context).textTheme.display1;
if (selected)
textStyle = textStyle.copyWith(color: Colors.lightGreenAccent[400]);
return new Padding(
padding: const EdgeInsets.all(2.0),
child: new SizeTransition(
axis: Axis.vertical,
sizeFactor: animation,
child: new GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: onTap,
child: new SizedBox(
height: 128.0,
child: new Card(
color: Colors.primaries[item % Colors.primaries.length],
child: new Center(
child: new Text('Item $item', style: textStyle),
),
),
),
),
),
);
}
}
\ No newline at end of file
/*
* @author dx
* @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:rxdart/rxdart.dart';
class ActivityReportRepository {
ActivityReportRemote _remote;
ActivityReportLocal _local;
static ActivityReportRepository _userRepository;
ActivityReportRepository._() {
_remote = ActivityReportRemote.getInstance();
_local = ActivityReportLocal.getInstance();
}
static ActivityReportRepository getInstance() {
if (_userRepository == null) {
_userRepository = ActivityReportRepository._();
}
return _userRepository;
}
Observable<ActivityReportEntity> getActivityReport(int id, int type) {
return _remote.getActivityReport(id, type).map((value) {
if (value != null) {
}
return value;
});
}
}
/*
* @author dx
* @date 2019-09-17
**/
class ActivityReportLocal {
static ActivityReportLocal _userRemote;
ActivityReportLocal._() {}
static ActivityReportLocal getInstance() {
if (_userRemote == null) {
_userRemote = new ActivityReportLocal._();
}
return _userRemote;
}
}
/*
* @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:rxdart/rxdart.dart';
class ActivityReportRemote {
static ActivityReportRemote _userRemote;
ActivityReportRemote._() {}
static ActivityReportRemote getInstance() {
if (_userRemote == null) {
_userRemote = new ActivityReportRemote._();
}
return _userRemote;
}
Observable<ActivityReportEntity> getActivityReport(int id, int type) {
return ActivityReportApiImpl().getActivityReport(id, type);
}
}
/*
* @author dx
* @date 2019-09-17
**/
import 'package:gmalpha_flutter/ActivityReportModel/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';
@ServiceCenter()
abstract class ActivityReportApi{
@Get("api/v1/survey_question/report")
ActivityReportEntity getActivityReport(@Query('survey_record_id') int id, @Query('type') int type);
}
\ 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:gmalpha_flutter/ActivityReportModel/service/remote/entity/ActivityReportEntity.dart';
import 'package:gmalpha_flutter/commonModel/net/DioUtil.dart';
class ActivityReportApiImpl {
factory ActivityReportApiImpl() => _sharedInstance();
static ActivityReportApiImpl _instance;
ActivityReportApiImpl._() {}
static ActivityReportApiImpl _sharedInstance() {
if (_instance == null) {
_instance = ActivityReportApiImpl._();
}
return _instance;
}
Observable<ActivityReportEntity> getActivityReport(int id, int type) {
return Observable.fromFuture(DioUtil().get('api/v1/survey_question/report',
data: {'survey_record_id': id, 'type': type})).map((value) {
if (value.statusCode == 200) {
Map map = json.decode(value.toString());
return ActivityReportEntity.fromJson(map);
} else {
throw HttpException("statusCode error :${value.statusCode}");
}
});
}
}
/*
* @author dx
* @date 2019-09-17
**/
class ActivityReportEntity {
String message;
int error;
int errorCode;
Data data;
ActivityReportEntity({this.message, this.error, this.errorCode, this.data});
ActivityReportEntity.fromJson(Map<String, dynamic> json) {
message = json['message'];
error = json['error'];
errorCode = json['error_code'];
data = json['data'] != null ? new Data.fromJson(json['data']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['message'] = this.message;
data['error'] = this.error;
data['error_code'] = this.errorCode;
if (this.data != null) {
data['data'] = this.data.toJson();
}
return data;
}
}
class Data {
int surveyRecordId;
String type;
Report report;
Data({this.surveyRecordId, this.type, this.report});
Data.fromJson(Map<String, dynamic> json) {
surveyRecordId = json['survey_record_id'];
type = json['type'];
report =
json['report'] != null ? new Report.fromJson(json['report']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['survey_record_id'] = this.surveyRecordId;
data['type'] = this.type;
if (this.report != null) {
data['report'] = this.report.toJson();
}
return data;
}
}
class Report {
Share share;
List<Cards> cards;
Report({this.share, this.cards});
Report.fromJson(Map<String, dynamic> json) {
share = json['share'] != null ? new Share.fromJson(json['share']) : null;
if (json['cards'] != null) {
cards = new List<Cards>();
json['cards'].forEach((v) {
cards.add(new Cards.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.share != null) {
data['share'] = this.share.toJson();
}
if (this.cards != null) {
data['cards'] = this.cards.map((v) => v.toJson()).toList();
}
return data;
}
}
class Share {
double cost;
double beat;
double rank;
String range;
Share({this.cost, this.beat, this.rank, this.range});
Share.fromJson(Map<String, dynamic> json) {
cost = json['cost'];
beat = json['beat'];
rank = json['rank'];
range = json['range'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['cost'] = this.cost;
data['beat'] = this.beat;
data['rank'] = this.rank;
data['range'] = this.range;
return data;
}
}
class Cards {
int id;
String name;
String description;
String guide;
String protocol;
List<Drafts> drafts;
Cards(
{this.id,
this.name,
this.description,
this.guide,
this.protocol,
this.drafts});
Cards.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
description = json['description'];
guide = json['guide'];
protocol = json['protocol'];
if (json['drafts'] != null) {
drafts = new List<Drafts>();
json['drafts'].forEach((v) {
drafts.add(new Drafts.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
data['description'] = this.description;
data['guide'] = this.guide;
data['protocol'] = this.protocol;
if (this.drafts != null) {
data['drafts'] = this.drafts.map((v) => v.toJson()).toList();
}
return data;
}
}
class Drafts {
int id;
Image image;
Drafts({this.id, this.image});
Drafts.fromJson(Map<String, dynamic> json) {
id = json['id'];
image = json['image'] != null ? new Image.fromJson(json['image']) : null;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
if (this.image != null) {
data['image'] = this.image.toJson();
}
return data;
}
}
class Image {
String imageUrl;
String videoUrl;
int width;
int height;
Image({this.imageUrl, this.videoUrl, this.width, this.height});
Image.fromJson(Map<String, dynamic> json) {
imageUrl = json['image_url'];
videoUrl = json['video_url'];
width = json['width'];
height = json['height'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['image_url'] = this.imageUrl;
data['video_url'] = this.videoUrl;
data['width'] = this.width;
data['height'] = this.height;
return data;
}
}
\ No newline at end of file
......@@ -8,6 +8,8 @@ import "package:gmalpha_flutter/PrestigeModel/PrestigeImpl.dart";
import "package:gmalpha_flutter/PrestigeModel/PrestigeRouter.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";
......@@ -42,6 +44,7 @@ class RouterCenterImpl {
void init() {
map.putIfAbsent("prestigeModel", () => PrestigeImpl());
map.putIfAbsent("albumModel", () => AlbumRouterImpl());
map.putIfAbsent("ActivityReportModel", () => ActivityReportRouterImpl());
map.putIfAbsent("messageModel", () => MessageRouterImpl());
map.putIfAbsent("userModel", () => UserRouterImpl());
}
......@@ -64,6 +67,13 @@ class RouterCenterImpl {
return map["albumModel"] as AlbumRouter;
}
ActivityReportRouter findActivityReportRouter() {
if (map["ActivityReportModel"] == null) {
return null;
}
return map["ActivityReportModel"] as ActivityReportRouter;
}
MessageRouter findMessageRouter() {
if (map["messageModel"] == null) {
return null;
......
......@@ -188,6 +188,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.1"
flutter_screenutil:
dependency: "direct main"
description:
name: flutter_screenutil
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.6.0"
flutter_test:
dependency: "direct dev"
description: flutter
......
......@@ -30,6 +30,7 @@ dependencies:
flutter_boost: ^0.0.420
gengmei_flutter_plugin: ^0.0.730
cached_network_image: ^1.1.1
flutter_screenutil:
dev_dependencies:
......@@ -63,6 +64,12 @@ flutter:
- images/message_like.png
- images/arrow_right.png
- images/message_noti.png
- images/black_person.png
- images/dark_grey_person.png
- images/golden_person.png
- images/light_grey_person.png
- images/you_icon.png
- images/right_icon.png
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.io/assets-and-images/#resolution-aware.
......
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