├── android
├── gradle.properties
├── app
│ ├── src
│ │ ├── main
│ │ │ ├── res
│ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── mipmap-xxxhdpi
│ │ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values
│ │ │ │ │ └── styles.xml
│ │ │ │ └── drawable
│ │ │ │ │ └── launch_background.xml
│ │ │ ├── kotlin
│ │ │ │ └── com
│ │ │ │ │ └── lht
│ │ │ │ │ └── flutter_android_fun
│ │ │ │ │ └── MainActivity.kt
│ │ │ └── AndroidManifest.xml
│ │ ├── debug
│ │ │ └── AndroidManifest.xml
│ │ └── profile
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
├── gradle
│ └── wrapper
│ │ └── gradle-wrapper.properties
├── settings.gradle
└── build.gradle
├── ios
├── Flutter
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── AppFrameworkInfo.plist
├── Runner
│ ├── Runner-Bridging-Header.h
│ ├── Assets.xcassets
│ │ ├── LaunchImage.imageset
│ │ │ ├── LaunchImage.png
│ │ │ ├── LaunchImage@2x.png
│ │ │ ├── LaunchImage@3x.png
│ │ │ ├── README.md
│ │ │ └── Contents.json
│ │ └── AppIcon.appiconset
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-83.5x83.5@2x.png
│ │ │ └── Contents.json
│ ├── AppDelegate.swift
│ ├── Base.lproj
│ │ ├── Main.storyboard
│ │ └── LaunchScreen.storyboard
│ └── Info.plist
├── Runner.xcworkspace
│ └── contents.xcworkspacedata
└── Runner.xcodeproj
│ ├── project.xcworkspace
│ └── contents.xcworkspacedata
│ ├── xcshareddata
│ └── xcschemes
│ │ └── Runner.xcscheme
│ └── project.pbxproj
├── images
├── icon_index.png
└── icon_second.png
├── lib
├── main.dart
├── net
│ ├── EnvConf.dart
│ └── DioUtils.dart
├── conf
│ └── ColorConf.dart
├── page
│ ├── login
│ │ ├── login_action.dart
│ │ ├── login_view.dart
│ │ ├── login_state.dart
│ │ ├── login_effect.dart
│ │ ├── login_reducer.dart
│ │ └── login_page.dart
│ └── main
│ │ ├── second
│ │ ├── action.dart
│ │ ├── view.dart
│ │ ├── state.dart
│ │ ├── effect.dart
│ │ ├── reducer.dart
│ │ └── component.dart
│ │ ├── index
│ │ ├── index_adapter
│ │ │ ├── action.dart
│ │ │ ├── reducer.dart
│ │ │ └── adapter.dart
│ │ ├── index_view.dart
│ │ ├── banner_component
│ │ │ ├── banner_action.dart
│ │ │ ├── banner_state.dart
│ │ │ ├── banner_effect.dart
│ │ │ ├── banner_component.dart
│ │ │ ├── banner_reducer.dart
│ │ │ └── banner_view.dart
│ │ ├── index_action.dart
│ │ ├── index_state.dart
│ │ ├── index_component.dart
│ │ ├── index_reducer.dart
│ │ └── index_effect.dart
│ │ ├── main_action.dart
│ │ ├── main_reducer.dart
│ │ ├── main_page.dart
│ │ ├── main_effect.dart
│ │ ├── main_state.dart
│ │ └── main_view.dart
├── global_state
│ ├── global_store.dart
│ ├── global_action.dart
│ ├── global_state.dart
│ └── global_reducer.dart
├── domain
│ └── entity
│ │ └── BannerInfoBean.dart
└── app.dart
├── web
└── index.html
├── .metadata
├── test
└── widget_test.dart
├── .gitignore
├── pubspec.yaml
├── pubspec.lock
└── README.md
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 |
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include "Generated.xcconfig"
2 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
--------------------------------------------------------------------------------
/images/icon_index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/images/icon_index.png
--------------------------------------------------------------------------------
/images/icon_second.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/images/icon_second.png
--------------------------------------------------------------------------------
/lib/main.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | import 'app.dart';
4 |
5 | void main() => runApp(createApp());
6 |
--------------------------------------------------------------------------------
/lib/net/EnvConf.dart:
--------------------------------------------------------------------------------
1 | class EnvConf {
2 | // uat
3 | static String url = "https://www.wanandroid.com/";
4 |
5 | // release
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/lib/conf/ColorConf.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 |
3 | class ColorConf {
4 | static const Color48586D = Color(0XFF48586D);
5 | static const Color8048586D = Color(0X8048586D);
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LinHuanTanLy/FishReduxFunAndroid/HEAD/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/web/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | flutter_android_fun
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/lib/page/login/login_action.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 |
3 | //TODO replace with your own action
4 | enum loginAction { action }
5 |
6 | class loginActionCreator {
7 | static Action onAction() {
8 | return const Action(loginAction.action);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
7 |
--------------------------------------------------------------------------------
/lib/page/main/second/action.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 |
3 | //TODO replace with your own action
4 | enum SecondAction { action }
5 |
6 | class SecondActionCreator {
7 | static Action onAction() {
8 | return const Action(SecondAction.action);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/lib/page/login/login_view.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | import 'login_action.dart';
5 | import 'login_state.dart';
6 |
7 | Widget buildView(loginState state, Dispatch dispatch, ViewService viewService) {
8 | return Container();
9 | }
10 |
--------------------------------------------------------------------------------
/lib/page/main/index/index_adapter/action.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 |
3 | //TODO replace with your own action
4 | enum ListIndexAction { action }
5 |
6 | class ListIndexActionCreator {
7 | static Action onAction() {
8 | return const Action(ListIndexAction.action);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/lib/page/login/login_state.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 |
3 | class loginState implements Cloneable {
4 |
5 | @override
6 | loginState clone() {
7 | return loginState();
8 | }
9 | }
10 |
11 | loginState initState(Map args) {
12 | return loginState();
13 | }
14 |
--------------------------------------------------------------------------------
/lib/page/main/second/view.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 | import 'package:flutter/material.dart';
3 |
4 | import 'action.dart';
5 | import 'state.dart';
6 |
7 | Widget buildView(SecondState state, Dispatch dispatch, ViewService viewService) {
8 | return Container(child: Text('second'),);
9 | }
10 |
--------------------------------------------------------------------------------
/lib/page/main/second/state.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 |
3 | class SecondState implements Cloneable {
4 |
5 | @override
6 | SecondState clone() {
7 | return SecondState();
8 | }
9 | }
10 |
11 | SecondState initState(Map args) {
12 | return SecondState();
13 | }
14 |
--------------------------------------------------------------------------------
/.metadata:
--------------------------------------------------------------------------------
1 | # This file tracks properties of this Flutter project.
2 | # Used by Flutter tool to assess capabilities and perform upgrades etc.
3 | #
4 | # This file should be version controlled and should not be manually edited.
5 |
6 | version:
7 | revision: 68587a0916366e9512a78df22c44163d041dd5f3
8 | channel: unknown
9 |
10 | project_type: app
11 |
--------------------------------------------------------------------------------
/lib/page/main/second/effect.dart:
--------------------------------------------------------------------------------
1 | import 'package:fish_redux/fish_redux.dart';
2 | import 'action.dart';
3 | import 'state.dart';
4 |
5 | Effect buildEffect() {
6 | return combineEffects(