Commit abc54df5 authored by 朱璇's avatar 朱璇

Merge branch 'test' of git.wanmeizhensuo.com:linshengyu/gm_flutter into zx/gmFlutter

parents b14e5400 cc889c68
...@@ -16,7 +16,7 @@ import 'package:gm_flutter/ClueModel/page/top/TopPage.dart'; ...@@ -16,7 +16,7 @@ import 'package:gm_flutter/ClueModel/page/top/TopPage.dart';
class ClueRouterImpl implements ClueRouter { class ClueRouterImpl implements ClueRouter {
@override @override
Widget getProjectDetailsPage() { Widget getProjectDetailsPage() {
return ProjectDetailsPage(); return ProjectDetailsPage(1);
} }
@override @override
...@@ -31,7 +31,7 @@ class ClueRouterImpl implements ClueRouter { ...@@ -31,7 +31,7 @@ class ClueRouterImpl implements ClueRouter {
@override @override
Widget getPlansCompareFeed() { Widget getPlansCompareFeed() {
return PlansCompareFeedPage(); return PlansCompareFeedPage(123,1);
} }
@override @override
......
...@@ -10,9 +10,9 @@ class PlansCompareFeedModel extends BaseModel { ...@@ -10,9 +10,9 @@ class PlansCompareFeedModel extends BaseModel {
LiveData<PlansCompareFeed> liveData = LiveData(); LiveData<PlansCompareFeed> liveData = LiveData();
RxDispose rxDispose = RxDispose(); RxDispose rxDispose = RxDispose();
void init() { void init(int _planType, int _planId) {
ClueApiImpl.getInstance() ClueApiImpl.getInstance()
.getPlansCompareFeed(DioUtil.getInstance().getDio(), 123, 1) .getPlansCompareFeed(DioUtil.getInstance().getDio(), _planId, _planType)
.listen((event) { .listen((event) {
liveData.notifyView(event); liveData.notifyView(event);
}) })
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
**/ **/
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
import 'package:gm_flutter/ClueModel/page/PlansCompareFeed/PlansCompareFeedModel.dart'; import 'package:gm_flutter/ClueModel/page/PlansCompareFeed/PlansCompareFeedModel.dart';
import 'package:gm_flutter/ClueModel/server/entity/PlansCompareFeed.dart'; import 'package:gm_flutter/ClueModel/server/entity/PlansCompareFeed.dart';
import 'package:gm_flutter/commonModel/base/BaseComponent.dart'; import 'package:gm_flutter/commonModel/base/BaseComponent.dart';
...@@ -14,6 +15,11 @@ import 'CallBackCompareItem.dart'; ...@@ -14,6 +15,11 @@ import 'CallBackCompareItem.dart';
import 'PlansCompareFeedItemView.dart'; import 'PlansCompareFeedItemView.dart';
class PlansCompareFeedPage extends StatefulWidget { class PlansCompareFeedPage extends StatefulWidget {
int _planType;
int _planId;
PlansCompareFeedPage(this._planType, this._planId);
@override @override
State<StatefulWidget> createState() => _PlansCompareFeedState(); State<StatefulWidget> createState() => _PlansCompareFeedState();
} }
...@@ -28,7 +34,7 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage> ...@@ -28,7 +34,7 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
void initState() { void initState() {
super.initState(); super.initState();
_model = new PlansCompareFeedModel(); _model = new PlansCompareFeedModel();
_model.init(); _model.init(widget._planType, widget._planId);
_compareColor = Color(0xFFCCCCCC); _compareColor = Color(0xFFCCCCCC);
_setCompare = Set(); _setCompare = Set();
} }
...@@ -101,7 +107,9 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage> ...@@ -101,7 +107,9 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
onClickCompare() { onClickCompare() {
if (_compareColor == Color(0xFFCCCCCC)) return; if (_compareColor == Color(0xFFCCCCCC)) return;
setState(() { setState(() {
print("onClickCompare=====_compareColor$_compareColor"); Map<String, dynamic> map = {};
map["ids"] = _setCompare;
FlutterBoost.singleton.open("sample", urlParams: map);
}); });
} }
......
...@@ -16,9 +16,9 @@ class ProjectDetailsModel extends BaseModel { ...@@ -16,9 +16,9 @@ class ProjectDetailsModel extends BaseModel {
LiveData<ProjectDetailsItem> liveData = LiveData(); LiveData<ProjectDetailsItem> liveData = LiveData();
RxDispose rxDispose = RxDispose(); RxDispose rxDispose = RxDispose();
void init() { void init(int _planId) {
ClueApiImpl.getInstance() ClueApiImpl.getInstance()
.getProjectDetails(DioUtil.getInstance().getDio(), 123) .getProjectDetails(DioUtil.getInstance().getDio(), _planId)
.listen((event) { .listen((event) {
liveData.notifyView(event); liveData.notifyView(event);
}) })
......
...@@ -13,6 +13,10 @@ import 'package:gm_flutter/commonModel/base/BaseState.dart'; ...@@ -13,6 +13,10 @@ import 'package:gm_flutter/commonModel/base/BaseState.dart';
import '../../server/entity/ProjectDetailsItem.dart'; import '../../server/entity/ProjectDetailsItem.dart';
class ProjectDetailsPage extends StatefulWidget { class ProjectDetailsPage extends StatefulWidget {
int _planId;
ProjectDetailsPage(this._planId);
@override @override
State<StatefulWidget> createState() => _ProjectDetailsState(); State<StatefulWidget> createState() => _ProjectDetailsState();
} }
...@@ -24,7 +28,7 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> { ...@@ -24,7 +28,7 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> {
void initState() { void initState() {
super.initState(); super.initState();
_model = new ProjectDetailsModel(); _model = new ProjectDetailsModel();
_model.init(); _model.init(widget._planId);
} }
@override @override
...@@ -58,12 +62,24 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> { ...@@ -58,12 +62,24 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> {
} }
ProjectDetailsItem item = data.data; ProjectDetailsItem item = data.data;
if (item == null || item.data == null || item.data.groups == null) { if (item == null || item.data == null || item.data.groups == null) {
return emptyItem(MediaQuery.of(context).size.width, return emptyItem(MediaQuery
MediaQuery.of(context).size.height); .of(context)
.size
.width,
MediaQuery
.of(context)
.size
.height);
} }
if (item.error != 0) { if (item.error != 0) {
return errorItem(MediaQuery.of(context).size.width, return errorItem(MediaQuery
MediaQuery.of(context).size.height, () {}); .of(context)
.size
.width,
MediaQuery
.of(context)
.size
.height, () {});
} }
return ListView.builder( return ListView.builder(
itemCount: item.data.groups.length, itemCount: item.data.groups.length,
......
...@@ -20,6 +20,7 @@ import 'package:gm_flutter/commonModel/base/BaseUtil.dart'; ...@@ -20,6 +20,7 @@ import 'package:gm_flutter/commonModel/base/BaseUtil.dart';
import 'package:gm_flutter/commonModel/eventbus/SimpleEventBus.dart'; import 'package:gm_flutter/commonModel/eventbus/SimpleEventBus.dart';
import 'package:gm_flutter/commonModel/util/DartUtil.dart'; import 'package:gm_flutter/commonModel/util/DartUtil.dart';
import 'package:gm_flutter/commonModel/view/baseRefreshIndicator.dart'; import 'package:gm_flutter/commonModel/view/baseRefreshIndicator.dart';
import 'package:gm_flutter/main.mark.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart'; import 'package:pull_to_refresh/pull_to_refresh.dart';
class LevelOnePage extends StatefulWidget { class LevelOnePage extends StatefulWidget {
...@@ -40,14 +41,11 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -40,14 +41,11 @@ class LevelOneState extends BaseState<LevelOnePage>
TabController tabController; TabController tabController;
int index=0; int index = 0;
static const MethodChannel _methodChannel = MethodChannel('gm_method_channel');
@override @override
void initState() { void initState() {
super.initState(); super.initState();
_methodChannel.invokeMethod("WHAT ","www");
_model.init(() { _model.init(() {
_initTabBar(); _initTabBar();
}); });
...@@ -57,7 +55,8 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -57,7 +55,8 @@ class LevelOneState extends BaseState<LevelOnePage>
if (tabController != null) { if (tabController != null) {
tabController.removeListener(tabControlerListener); tabController.removeListener(tabControlerListener);
} }
tabController = TabController(initialIndex: index,length: _model.tabsList.length, vsync: this); tabController = TabController(
initialIndex: index, length: _model.tabsList.length, vsync: this);
tabController.addListener(tabControlerListener); tabController.addListener(tabControlerListener);
setState(() {}); setState(() {});
} }
...@@ -71,7 +70,6 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -71,7 +70,6 @@ class LevelOneState extends BaseState<LevelOnePage>
super.dispose(); super.dispose();
} }
void tabControlerListener() { void tabControlerListener() {
if (index != tabController.index) { if (index != tabController.index) {
index = tabController.index; index = tabController.index;
...@@ -163,9 +161,10 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -163,9 +161,10 @@ class LevelOneState extends BaseState<LevelOnePage>
List<Widget> list = []; List<Widget> list = [];
var d = MediaQueryData.fromWindow(window).padding.top; var d = MediaQueryData.fromWindow(window).padding.top;
for (int i = 0; i < _model.tabsList.length; i++) { for (int i = 0; i < _model.tabsList.length; i++) {
list.add(extend.NestedScrollViewInnerScrollPositionKeyWidget(Key("Tab${i}"), list.add(extend.NestedScrollViewInnerScrollPositionKeyWidget(
LevelOneList(planId, _model.tabsList[i].tabType, kToolbarHeight + d)) Key("Tab${i}"),
); LevelOneList(
planId, _model.tabsList[i].tabType, kToolbarHeight + d)));
} }
final double statusBarHeight = MediaQuery.of(context).padding.top; final double statusBarHeight = MediaQuery.of(context).padding.top;
final double pinnedHeaderHeight = statusBarHeight + kToolbarHeight; final double pinnedHeaderHeight = statusBarHeight + kToolbarHeight;
...@@ -356,6 +355,13 @@ class LevelOneState extends BaseState<LevelOnePage> ...@@ -356,6 +355,13 @@ class LevelOneState extends BaseState<LevelOnePage>
GestureDetector( GestureDetector(
onTap: () { onTap: () {
//TODO //TODO
Map<String, dynamic> map = {};
map["page_name"] = "plan_home";
map["referrer_link"] = [];
RouterCenterImpl()
.findMainRouter()
.buriedEvent("on_click_navbar_search", map);
}, },
behavior: HitTestBehavior.opaque, behavior: HitTestBehavior.opaque,
child: baseText("了解更多", 12, Color(0xff3FB5AF)), child: baseText("了解更多", 12, Color(0xff3FB5AF)),
......
...@@ -19,11 +19,11 @@ import 'package:gm_flutter/ClueModel/server/entity/DiscussLowPriceAuthBean.dart' ...@@ -19,11 +19,11 @@ import 'package:gm_flutter/ClueModel/server/entity/DiscussLowPriceAuthBean.dart'
@ServiceCenter() @ServiceCenter()
abstract class ClueApi { abstract class ClueApi {
@Get("/api/janus/plans/plan_detail") @Get("/api/janus/plans/plan_detail")
ProjectDetailsItem getProjectDetails(@Query("plan_id") double plan_id); ProjectDetailsItem getProjectDetails(@Query("plan_id") int plan_id);
@Get("/api/janus/plans/compare_feed") @Get("/api/janus/plans/compare_feed")
PlansCompareFeed getPlansCompareFeed( PlansCompareFeed getPlansCompareFeed(
@Query("plan_id") double plan_id, @Query("plan_type") double plan_type); @Query("plan_id") int plan_id, @Query("plan_type") int plan_type);
@Get("api/janus/plans/plan_feed") @Get("api/janus/plans/plan_feed")
LevelOneFeedList getLevelOneList(@Query("plan_id") int plan_id, LevelOneFeedList getLevelOneList(@Query("plan_id") int plan_id,
......
...@@ -41,7 +41,7 @@ class ClueApiImpl { ...@@ -41,7 +41,7 @@ class ClueApiImpl {
return _instance; return _instance;
} }
Stream<ProjectDetailsItem> getProjectDetails(Dio _dio, double plan_id) { Stream<ProjectDetailsItem> getProjectDetails(Dio _dio, int plan_id) {
return Stream.fromFuture(get(_dio, '/api/janus/plans/plan_detail', data: { return Stream.fromFuture(get(_dio, '/api/janus/plans/plan_detail', data: {
'plan_id': plan_id, 'plan_id': plan_id,
})).flatMap((value) { })).flatMap((value) {
...@@ -56,7 +56,7 @@ class ClueApiImpl { ...@@ -56,7 +56,7 @@ class ClueApiImpl {
} }
Stream<PlansCompareFeed> getPlansCompareFeed( Stream<PlansCompareFeed> getPlansCompareFeed(
Dio _dio, double plan_id, double plan_type) { Dio _dio, int plan_id, int plan_type) {
return Stream.fromFuture(get(_dio, '/api/janus/plans/compare_feed', data: { return Stream.fromFuture(get(_dio, '/api/janus/plans/compare_feed', data: {
'plan_id': plan_id, 'plan_id': plan_id,
'plan_type': plan_type, 'plan_type': plan_type,
......
...@@ -19,7 +19,6 @@ class DemoState extends State<DemoPage> { ...@@ -19,7 +19,6 @@ class DemoState extends State<DemoPage> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
flutterChannel.invokeMethod("method!!!", "wwww");
} }
@override @override
......
...@@ -12,4 +12,6 @@ abstract class MainRouter extends RouterBaser { ...@@ -12,4 +12,6 @@ abstract class MainRouter extends RouterBaser {
void init(); void init();
Widget getTestPage(); Widget getTestPage();
void buriedEvent(String name, Map<String, dynamic> map);
} }
...@@ -18,4 +18,9 @@ class MainRouterImpl implements MainRouter { ...@@ -18,4 +18,9 @@ class MainRouterImpl implements MainRouter {
Widget getTestPage() { Widget getTestPage() {
return TestPage(); return TestPage();
} }
@override
void buriedEvent(String name, Map<String, dynamic> map) {
MainManager.getInstance().buriedEvent(name, map);
}
} }
...@@ -7,7 +7,9 @@ import 'package:flutter_boost/flutter_boost.dart'; ...@@ -7,7 +7,9 @@ import 'package:flutter_boost/flutter_boost.dart';
import 'package:gm_flutter/commonModel/base/BaseUtil.dart'; import 'package:gm_flutter/commonModel/base/BaseUtil.dart';
class MainManager { class MainManager {
MethodChannel flutterChannel;
EventChannel flutterEvent;
bool isInit = false;
MainManager._() {} MainManager._() {}
...@@ -21,9 +23,24 @@ class MainManager { ...@@ -21,9 +23,24 @@ class MainManager {
} }
startInit() { startInit() {
if (isInit) {
return;
}
isInit = true;
print("LSY STATEINIT METHOD AND CHANNEL ");
flutterChannel = MethodChannel('gm_method_channel');
flutterEvent = EventChannel('gm_method_event');
flutterEvent.receiveBroadcastStream().listen((data) { flutterEvent.receiveBroadcastStream().listen((data) {
print("LSY FLUTTER EVENT ${data}"); print("LSY FLUTTER EVENT ${data}");
}); });
flutterChannel.invokeMethod("WHAT ","www"); }
void buriedEvent(String name, Map<String, dynamic> map) {
if (!isInit) {
return;
}
if (flutterChannel != null) {
flutterChannel.invokeMethod("buried-${name}", map);
}
} }
} }
...@@ -8,6 +8,4 @@ import 'dart:ui'; ...@@ -8,6 +8,4 @@ import 'dart:ui';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
const flutterChannel = const MethodChannel('gm_method_channel');
const flutterEvent = const EventChannel('flutter_plugin_event');
const bool isDebug = !const bool.fromEnvironment("dart.vm.product"); const bool isDebug = !const bool.fromEnvironment("dart.vm.product");
...@@ -39,7 +39,6 @@ void main() { ...@@ -39,7 +39,6 @@ void main() {
SharedPreferences.getInstance().then((value) { SharedPreferences.getInstance().then((value) {
sharedPreferences = value; sharedPreferences = value;
}); });
// RouterCenterImpl().findMainRouter().init();
}, (Object error, StackTrace stack) { }, (Object error, StackTrace stack) {
//TODO //TODO
print("lsy EEEEEE ${error.toString()} ${stack.toString()}"); print("lsy EEEEEE ${error.toString()} ${stack.toString()}");
...@@ -70,12 +69,7 @@ class MyApp extends State<MyAppWidget> { ...@@ -70,12 +69,7 @@ class MyApp extends State<MyAppWidget> {
.addBoostContainerLifeCycleObserver((state, settings) { .addBoostContainerLifeCycleObserver((state, settings) {
print("LSY ${state}"); print("LSY ${state}");
if (state == ContainerLifeCycle.Init) { if (state == ContainerLifeCycle.Init) {
const EventChannel flutterEvent = const EventChannel('flutter_plugin_event'); RouterCenterImpl().findMainRouter().init();
flutterEvent.receiveBroadcastStream().listen((data) {
print("LSY FLUTTER EVENT ${data}");
});
MethodChannel flutterChannel = const MethodChannel('gm_method_channel');
flutterChannel.invokeMethod("FFINIT", "Fff");
} }
}); });
// FlutterBoost.singleton.addBoostNavigatorObserver(TestBoostNavigatorObserver()); // FlutterBoost.singleton.addBoostNavigatorObserver(TestBoostNavigatorObserver());
......
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