@ -57,7 +57,8 @@ flutter优点主要包括:
|
|||||||
|
|
||||||
### app 预览
|
### app 预览
|
||||||
|
|
||||||
<img src="https://img.alicdn.com/tfs/TB1MoiNExTpK1RjSZFGXXcHqFXa-362-751.gif" width=200> <img src="https://img.alicdn.com/tfs/TB1oeicBhjaK1RjSZFAXXbdLFXa-345-717.gif" width=200> <img src="https://img.alicdn.com/tfs/TB13Xh3BkvoK1RjSZFNXXcxMVXa-345-717.gif" width=200> <img src="https://img.alicdn.com/tfs/TB1MtdSBjDpK1RjSZFrXXa78VXa-345-717.gif" width=200>
|
|
||||||
|
<img src="https://img.alicdn.com/tfs/TB1MoiNExTpK1RjSZFGXXcHqFXa-362-751.gif" width=200> <img src="https://img.alicdn.com/tfs/TB1oeicBhjaK1RjSZFAXXbdLFXa-345-717.gif" width=200> <img src="https://img.alicdn.com/tfs/TB1WJNuBmzqK1RjSZPcXXbTepXa-345-717.gif" width=200> <img src="https://img.alicdn.com/tfs/TB13Xh3BkvoK1RjSZFNXXcxMVXa-345-717.gif" width=200>
|
||||||
|
|
||||||
### Core Team
|
### Core Team
|
||||||
|
|
||||||
|
BIN
assets/app.db
@ -7,6 +7,22 @@
|
|||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
|
0828E495220692B500A59437 /* iPhone Portrait-Retina 4.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E486220692B400A59437 /* iPhone Portrait-Retina 4.png */; };
|
||||||
|
0828E496220692B500A59437 /* iPad Portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E487220692B400A59437 /* iPad Portrait.png */; };
|
||||||
|
0828E497220692B500A59437 /* iPhone X_XS Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E488220692B400A59437 /* iPhone X_XS Landscape.png */; };
|
||||||
|
0828E498220692B500A59437 /* iPhone XS Max Portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E489220692B400A59437 /* iPhone XS Max Portrait.png */; };
|
||||||
|
0828E499220692B500A59437 /* iPhone Portrait-Retina HD 4.7.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E48A220692B400A59437 /* iPhone Portrait-Retina HD 4.7.png */; };
|
||||||
|
0828E49A220692B500A59437 /* iPhone X_XS Portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E48B220692B400A59437 /* iPhone X_XS Portrait.png */; };
|
||||||
|
0828E49B220692B500A59437 /* iPad Landscape@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E48C220692B400A59437 /* iPad Landscape@2x.png */; };
|
||||||
|
0828E49C220692B500A59437 /* iPhone Landscape-Retina HD 5.5.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E48D220692B400A59437 /* iPhone Landscape-Retina HD 5.5.png */; };
|
||||||
|
0828E49D220692B500A59437 /* iPhone Portrait@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E48E220692B400A59437 /* iPhone Portrait@2x.png */; };
|
||||||
|
0828E49E220692B500A59437 /* iPad Portrait@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E48F220692B400A59437 /* iPad Portrait@2x.png */; };
|
||||||
|
0828E49F220692B500A59437 /* iPhone XS Max Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E490220692B400A59437 /* iPhone XS Max Landscape.png */; };
|
||||||
|
0828E4A0220692B500A59437 /* iPad Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E491220692B500A59437 /* iPad Landscape.png */; };
|
||||||
|
0828E4A1220692B500A59437 /* iPhone XR Portrait.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E492220692B500A59437 /* iPhone XR Portrait.png */; };
|
||||||
|
0828E4A2220692B500A59437 /* iPhone Portrait-Retina HD 5.5.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E493220692B500A59437 /* iPhone Portrait-Retina HD 5.5.png */; };
|
||||||
|
0828E4A3220692B500A59437 /* iPhone XR Landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 0828E494220692B500A59437 /* iPhone XR Landscape.png */; };
|
||||||
|
0828E4A52206936100A59437 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0828E4A42206936100A59437 /* Images.xcassets */; };
|
||||||
084A20882202E4FD00428FF5 /* flutter go.png in Resources */ = {isa = PBXBuildFile; fileRef = 084A20872202E4FD00428FF5 /* flutter go.png */; };
|
084A20882202E4FD00428FF5 /* flutter go.png in Resources */ = {isa = PBXBuildFile; fileRef = 084A20872202E4FD00428FF5 /* flutter go.png */; };
|
||||||
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
|
||||||
333E5DAE7FC10AC69FEC26C0 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA792F029EDD7A11295D192 /* libPods-Runner.a */; };
|
333E5DAE7FC10AC69FEC26C0 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = DDA792F029EDD7A11295D192 /* libPods-Runner.a */; };
|
||||||
@ -38,13 +54,25 @@
|
|||||||
/* End PBXCopyFilesBuildPhase section */
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
|
0828E486220692B400A59437 /* iPhone Portrait-Retina 4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone Portrait-Retina 4.png"; sourceTree = "<group>"; };
|
||||||
|
0828E487220692B400A59437 /* iPad Portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPad Portrait.png"; sourceTree = "<group>"; };
|
||||||
|
0828E488220692B400A59437 /* iPhone X_XS Landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone X_XS Landscape.png"; sourceTree = "<group>"; };
|
||||||
|
0828E489220692B400A59437 /* iPhone XS Max Portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone XS Max Portrait.png"; sourceTree = "<group>"; };
|
||||||
|
0828E48A220692B400A59437 /* iPhone Portrait-Retina HD 4.7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone Portrait-Retina HD 4.7.png"; sourceTree = "<group>"; };
|
||||||
|
0828E48B220692B400A59437 /* iPhone X_XS Portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone X_XS Portrait.png"; sourceTree = "<group>"; };
|
||||||
|
0828E48C220692B400A59437 /* iPad Landscape@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPad Landscape@2x.png"; sourceTree = "<group>"; };
|
||||||
|
0828E48D220692B400A59437 /* iPhone Landscape-Retina HD 5.5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone Landscape-Retina HD 5.5.png"; sourceTree = "<group>"; };
|
||||||
|
0828E48E220692B400A59437 /* iPhone Portrait@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone Portrait@2x.png"; sourceTree = "<group>"; };
|
||||||
|
0828E48F220692B400A59437 /* iPad Portrait@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPad Portrait@2x.png"; sourceTree = "<group>"; };
|
||||||
|
0828E490220692B400A59437 /* iPhone XS Max Landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone XS Max Landscape.png"; sourceTree = "<group>"; };
|
||||||
|
0828E491220692B500A59437 /* iPad Landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPad Landscape.png"; sourceTree = "<group>"; };
|
||||||
|
0828E492220692B500A59437 /* iPhone XR Portrait.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone XR Portrait.png"; sourceTree = "<group>"; };
|
||||||
|
0828E493220692B500A59437 /* iPhone Portrait-Retina HD 5.5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone Portrait-Retina HD 5.5.png"; sourceTree = "<group>"; };
|
||||||
|
0828E494220692B500A59437 /* iPhone XR Landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "iPhone XR Landscape.png"; sourceTree = "<group>"; };
|
||||||
|
0828E4A42206936100A59437 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
|
||||||
084A20872202E4FD00428FF5 /* flutter go.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "flutter go.png"; sourceTree = "<group>"; };
|
084A20872202E4FD00428FF5 /* flutter go.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "flutter go.png"; sourceTree = "<group>"; };
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||||
<<<<<<< HEAD
|
|
||||||
=======
|
|
||||||
2D5378251FAA1A9400D5DBA9 /* flutter_assets */ = {isa = PBXFileReference; lastKnownFileType = folder; name = flutter_assets; path = Flutter/flutter_assets; sourceTree = SOURCE_ROOT; };
|
|
||||||
>>>>>>> 12990ce0e83473226cfb16ad9c682c065856d684
|
|
||||||
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
|
||||||
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = "<group>"; };
|
||||||
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
|
||||||
@ -76,6 +104,28 @@
|
|||||||
/* End PBXFrameworksBuildPhase section */
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
/* Begin PBXGroup section */
|
/* Begin PBXGroup section */
|
||||||
|
0828E485220692A700A59437 /* launch */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
0828E491220692B500A59437 /* iPad Landscape.png */,
|
||||||
|
0828E48C220692B400A59437 /* iPad Landscape@2x.png */,
|
||||||
|
0828E48F220692B400A59437 /* iPad Portrait@2x.png */,
|
||||||
|
0828E487220692B400A59437 /* iPad Portrait.png */,
|
||||||
|
0828E48D220692B400A59437 /* iPhone Landscape-Retina HD 5.5.png */,
|
||||||
|
0828E486220692B400A59437 /* iPhone Portrait-Retina 4.png */,
|
||||||
|
0828E48A220692B400A59437 /* iPhone Portrait-Retina HD 4.7.png */,
|
||||||
|
0828E493220692B500A59437 /* iPhone Portrait-Retina HD 5.5.png */,
|
||||||
|
0828E48E220692B400A59437 /* iPhone Portrait@2x.png */,
|
||||||
|
0828E488220692B400A59437 /* iPhone X_XS Landscape.png */,
|
||||||
|
0828E48B220692B400A59437 /* iPhone X_XS Portrait.png */,
|
||||||
|
0828E494220692B500A59437 /* iPhone XR Landscape.png */,
|
||||||
|
0828E492220692B500A59437 /* iPhone XR Portrait.png */,
|
||||||
|
0828E490220692B400A59437 /* iPhone XS Max Landscape.png */,
|
||||||
|
0828E489220692B400A59437 /* iPhone XS Max Portrait.png */,
|
||||||
|
);
|
||||||
|
path = launch;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
0C172CA58CDB230D5DA80034 /* Pods */ = {
|
0C172CA58CDB230D5DA80034 /* Pods */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@ -107,6 +157,7 @@
|
|||||||
97C146E51CF9000F007C117D = {
|
97C146E51CF9000F007C117D = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
0828E485220692A700A59437 /* launch */,
|
||||||
084A20872202E4FD00428FF5 /* flutter go.png */,
|
084A20872202E4FD00428FF5 /* flutter go.png */,
|
||||||
9740EEB11CF90186004384FC /* Flutter */,
|
9740EEB11CF90186004384FC /* Flutter */,
|
||||||
97C146F01CF9000F007C117D /* Runner */,
|
97C146F01CF9000F007C117D /* Runner */,
|
||||||
@ -136,6 +187,7 @@
|
|||||||
97C146F11CF9000F007C117D /* Supporting Files */,
|
97C146F11CF9000F007C117D /* Supporting Files */,
|
||||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
|
||||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
|
||||||
|
0828E4A42206936100A59437 /* Images.xcassets */,
|
||||||
);
|
);
|
||||||
path = Runner;
|
path = Runner;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@ -211,11 +263,27 @@
|
|||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
0828E4A0220692B500A59437 /* iPad Landscape.png in Resources */,
|
||||||
|
0828E4A1220692B500A59437 /* iPhone XR Portrait.png in Resources */,
|
||||||
|
0828E49F220692B500A59437 /* iPhone XS Max Landscape.png in Resources */,
|
||||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
|
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
|
||||||
|
0828E4A3220692B500A59437 /* iPhone XR Landscape.png in Resources */,
|
||||||
|
0828E4A2220692B500A59437 /* iPhone Portrait-Retina HD 5.5.png in Resources */,
|
||||||
|
0828E49A220692B500A59437 /* iPhone X_XS Portrait.png in Resources */,
|
||||||
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
|
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
|
||||||
|
0828E49E220692B500A59437 /* iPad Portrait@2x.png in Resources */,
|
||||||
|
0828E49D220692B500A59437 /* iPhone Portrait@2x.png in Resources */,
|
||||||
|
0828E499220692B500A59437 /* iPhone Portrait-Retina HD 4.7.png in Resources */,
|
||||||
084A20882202E4FD00428FF5 /* flutter go.png in Resources */,
|
084A20882202E4FD00428FF5 /* flutter go.png in Resources */,
|
||||||
|
0828E497220692B500A59437 /* iPhone X_XS Landscape.png in Resources */,
|
||||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
|
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
|
||||||
|
0828E4A52206936100A59437 /* Images.xcassets in Resources */,
|
||||||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
|
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
|
||||||
|
0828E49B220692B500A59437 /* iPad Landscape@2x.png in Resources */,
|
||||||
|
0828E495220692B500A59437 /* iPhone Portrait-Retina 4.png in Resources */,
|
||||||
|
0828E498220692B500A59437 /* iPhone XS Max Portrait.png in Resources */,
|
||||||
|
0828E496220692B500A59437 /* iPad Portrait.png in Resources */,
|
||||||
|
0828E49C220692B500A59437 /* iPhone Landscape-Retina HD 5.5.png in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@ -440,6 +508,7 @@
|
|||||||
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = Launch2;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
DEVELOPMENT_TEAM = RDJKXT446D;
|
DEVELOPMENT_TEAM = RDJKXT446D;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
@ -464,6 +533,7 @@
|
|||||||
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = Launch2;
|
||||||
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
|
||||||
DEVELOPMENT_TEAM = RDJKXT446D;
|
DEVELOPMENT_TEAM = RDJKXT446D;
|
||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
|
6
ios/Runner/Assets.xcassets/Contents.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
20
ios/Runner/Assets.xcassets/Image.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
201
ios/Runner/Assets.xcassets/Launch2.launchimage/Contents.json
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"subtype" : "2688h",
|
||||||
|
"filename" : "iPhone XS Max Portrait.png",
|
||||||
|
"minimum-system-version" : "12.0",
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "12.0",
|
||||||
|
"subtype" : "2688h",
|
||||||
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"subtype" : "1792h",
|
||||||
|
"filename" : "iPhone XR Portrait.png",
|
||||||
|
"minimum-system-version" : "12.0",
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "12.0",
|
||||||
|
"subtype" : "1792h",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"subtype" : "2436h",
|
||||||
|
"filename" : "iPhone X_XS Portrait.png",
|
||||||
|
"minimum-system-version" : "11.0",
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "11.0",
|
||||||
|
"subtype" : "2436h",
|
||||||
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"subtype" : "736h",
|
||||||
|
"filename" : "iPhone Portrait-Retina HD 5.5.png",
|
||||||
|
"minimum-system-version" : "8.0",
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "8.0",
|
||||||
|
"subtype" : "736h",
|
||||||
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"subtype" : "667h",
|
||||||
|
"filename" : "iPhone Portrait-Retina HD 4.7.png",
|
||||||
|
"minimum-system-version" : "8.0",
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"filename" : "iPhone Portrait@2x.png",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"subtype" : "retina4",
|
||||||
|
"filename" : "iPhone Portrait-Retina 4.png",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"filename" : "iPad Portrait.png",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"filename" : "iPad Landscape.png",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"filename" : "iPad Portrait@2x.png",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"filename" : "iPad Landscape@2x.png",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"subtype" : "retina4",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "to-status-bar",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "to-status-bar",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "to-status-bar",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "to-status-bar",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "2x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
After Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 296 KiB |
BIN
ios/Runner/Assets.xcassets/Launch2.launchimage/iPad Portrait.png
Normal file
After Width: | Height: | Size: 110 KiB |
After Width: | Height: | Size: 296 KiB |
After Width: | Height: | Size: 126 KiB |
After Width: | Height: | Size: 159 KiB |
After Width: | Height: | Size: 325 KiB |
After Width: | Height: | Size: 100 KiB |
After Width: | Height: | Size: 243 KiB |
After Width: | Height: | Size: 426 KiB |
After Width: | Height: | Size: 371 KiB |
@ -14,6 +14,18 @@
|
|||||||
"idiom" : "universal",
|
"idiom" : "universal",
|
||||||
"filename" : "flutter go-2.png",
|
"filename" : "flutter go-2.png",
|
||||||
"scale" : "3x"
|
"scale" : "3x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"scale" : "3x"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info" : {
|
"info" : {
|
||||||
|
@ -22,13 +22,7 @@
|
|||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
|
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" image="LaunchImage" translatesAutoresizingMaskIntoConstraints="NO" id="YRO-k0-Ey4">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="1080" height="1920"/>
|
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
||||||
<constraints>
|
|
||||||
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="1920" id="OLo-sE-hO2"/>
|
|
||||||
<constraint firstAttribute="height" constant="1920" id="YT6-bb-oIb"/>
|
|
||||||
<constraint firstAttribute="width" constant="1080" id="n6M-3x-zje"/>
|
|
||||||
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="1080" id="qQn-AH-FYP"/>
|
|
||||||
</constraints>
|
|
||||||
</imageView>
|
</imageView>
|
||||||
</subviews>
|
</subviews>
|
||||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||||
|
@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "landscape",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "iphone",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"subtype" : "retina4",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"orientation" : "portrait",
|
||||||
|
"idiom" : "ipad",
|
||||||
|
"minimum-system-version" : "7.0",
|
||||||
|
"extent" : "full-screen",
|
||||||
|
"scale" : "1x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"version" : 1,
|
||||||
|
"author" : "xcode"
|
||||||
|
}
|
||||||
|
}
|
BIN
ios/launch/iPad Landscape.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
ios/launch/iPad Landscape@2x.png
Normal file
After Width: | Height: | Size: 296 KiB |
BIN
ios/launch/iPad Portrait.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
ios/launch/iPad Portrait@2x.png
Normal file
After Width: | Height: | Size: 296 KiB |
BIN
ios/launch/iPhone Landscape-Retina HD 5.5.png
Normal file
After Width: | Height: | Size: 323 KiB |
BIN
ios/launch/iPhone Portrait-Retina 4.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
ios/launch/iPhone Portrait-Retina HD 4.7.png
Normal file
After Width: | Height: | Size: 159 KiB |
BIN
ios/launch/iPhone Portrait-Retina HD 5.5.png
Normal file
After Width: | Height: | Size: 325 KiB |
BIN
ios/launch/iPhone Portrait@2x.png
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
ios/launch/iPhone XR Landscape.png
Normal file
After Width: | Height: | Size: 167 KiB |
BIN
ios/launch/iPhone XR Portrait.png
Normal file
After Width: | Height: | Size: 243 KiB |
BIN
ios/launch/iPhone XS Max Landscape.png
Normal file
After Width: | Height: | Size: 308 KiB |
BIN
ios/launch/iPhone XS Max Portrait.png
Normal file
After Width: | Height: | Size: 426 KiB |
BIN
ios/launch/iPhone X_XS Landscape.png
Normal file
After Width: | Height: | Size: 266 KiB |
BIN
ios/launch/iPhone X_XS Portrait.png
Normal file
After Width: | Height: | Size: 371 KiB |
@ -2,7 +2,7 @@
|
|||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
import 'package:shared_preferences/shared_preferences.dart';
|
||||||
export 'package:flutter_go/resources/shared_preferences_keys.dart';
|
export 'package:flutter_go/resources/shared_preferences_keys.dart';
|
||||||
///
|
|
||||||
/// 用来做shared_preferences的存储
|
/// 用来做shared_preferences的存储
|
||||||
class SpUtil {
|
class SpUtil {
|
||||||
static SpUtil _instance;
|
static SpUtil _instance;
|
||||||
@ -20,7 +20,6 @@ class SpUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static Future<SpUtil> getInstance() async {
|
static Future<SpUtil> getInstance() async {
|
||||||
print("_instance>>$_instance");
|
|
||||||
if (_instance == null) {
|
if (_instance == null) {
|
||||||
_instance = new SpUtil._();
|
_instance = new SpUtil._();
|
||||||
await _instance._init();
|
await _instance._init();
|
||||||
|
44
lib/widgets/components/Pick/CityPIcker/demo.dart
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
//
|
||||||
|
// Created with Android Studio.
|
||||||
|
// User: 三帆
|
||||||
|
// Date: 05/02/2019
|
||||||
|
// Time: 22:06
|
||||||
|
// email: sanfan.hx@alibaba-inc.com
|
||||||
|
// tartget: xxx
|
||||||
|
//
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:city_pickers/city_pickers.dart';
|
||||||
|
|
||||||
|
class CityPickerDemo extends StatefulWidget {
|
||||||
|
_Demo createState() => _Demo();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _Demo extends State<CityPickerDemo> {
|
||||||
|
String _result;
|
||||||
|
show(context) async {
|
||||||
|
Result temp = await CityPickers.showCityPicker(
|
||||||
|
context: context,
|
||||||
|
// locationCode: '640221',
|
||||||
|
height: 400,
|
||||||
|
);
|
||||||
|
setState(() {
|
||||||
|
_result = "${temp.toString()}";
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Center(
|
||||||
|
child: Column(
|
||||||
|
children: <Widget>[
|
||||||
|
Text("result: ${_result.toString()}"),
|
||||||
|
RaisedButton(
|
||||||
|
onPressed: () {this.show(context);
|
||||||
|
},
|
||||||
|
child: Text("select"),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
43
lib/widgets/components/Pick/CityPIcker/index.dart
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
//
|
||||||
|
// Created with Android Studio.
|
||||||
|
// User: 三帆
|
||||||
|
// Date: 05/02/2019
|
||||||
|
// Time: 22:06
|
||||||
|
// email: sanfan.hx@alibaba-inc.com
|
||||||
|
// tartget: xxx
|
||||||
|
//
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_go/components/widget_demo.dart';
|
||||||
|
import 'demo.dart';
|
||||||
|
const String content0 = '''
|
||||||
|
### **简介**
|
||||||
|
> 显示中国的省市县地区
|
||||||
|
通过函数 **showCityPicker** 调用, 在容器窗口上弹出遮罩层
|
||||||
|
''';
|
||||||
|
const String content1 = '''
|
||||||
|
### **基本用法**
|
||||||
|
- locationCode 初始化地区选择
|
||||||
|
- height 弹出层高度
|
||||||
|
- context 上下文对象
|
||||||
|
''';
|
||||||
|
class Demo extends StatefulWidget {
|
||||||
|
static const String routeName = '/components/Pick/CityPicker';
|
||||||
|
_Demo createState() => _Demo();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _Demo extends State<Demo> {
|
||||||
|
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return WidgetDemo(
|
||||||
|
title: 'CityPicker',
|
||||||
|
codeUrl: '',
|
||||||
|
docUrl: '',
|
||||||
|
contentList: [
|
||||||
|
content0,
|
||||||
|
content1,
|
||||||
|
CityPickerDemo()
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,7 @@ import 'YearPicker/index.dart' as YearPicker;
|
|||||||
import 'DayPicker/index.dart' as DayPicker;
|
import 'DayPicker/index.dart' as DayPicker;
|
||||||
import 'MonthPicker/index.dart' as MonthPicker;
|
import 'MonthPicker/index.dart' as MonthPicker;
|
||||||
import 'ShowdatePicker/index.dart' as ShowdatePicker;
|
import 'ShowdatePicker/index.dart' as ShowdatePicker;
|
||||||
|
import 'CityPIcker/index.dart' as CityPicker;
|
||||||
|
|
||||||
List<WidgetPoint> widgetPoints = [
|
List<WidgetPoint> widgetPoints = [
|
||||||
WidgetPoint(
|
WidgetPoint(
|
||||||
@ -27,4 +28,10 @@ List<WidgetPoint> widgetPoints = [
|
|||||||
routerName: ShowdatePicker.Demo.routeName,
|
routerName: ShowdatePicker.Demo.routeName,
|
||||||
buildRouter: (BuildContext context) => ShowdatePicker.Demo(),
|
buildRouter: (BuildContext context) => ShowdatePicker.Demo(),
|
||||||
),
|
),
|
||||||
|
WidgetPoint(
|
||||||
|
name: 'CityPicker',
|
||||||
|
routerName: CityPicker.Demo.routeName,
|
||||||
|
buildRouter: (BuildContext context) => CityPicker.Demo(),
|
||||||
|
),
|
||||||
|
|
||||||
];
|
];
|
||||||
|
@ -31,6 +31,7 @@ dependencies:
|
|||||||
flutter_webview_plugin: ^0.3.0+2
|
flutter_webview_plugin: ^0.3.0+2
|
||||||
# 日期格式化
|
# 日期格式化
|
||||||
intl: 0.15.7
|
intl: 0.15.7
|
||||||
|
city_pickers: ^0.1.0
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|