首页不刷新

This commit is contained in:
xj.deng
2019-05-30 16:19:46 +08:00
16 changed files with 302 additions and 130 deletions

View File

@ -26,7 +26,9 @@ Language: [English](https://github.com/alibaba/flutter-go/blob/master/README-en.
android下载地址: android下载地址:
<img src="https://img.alicdn.com/tfs/TB1ylxGTMHqK1RjSZFgXXa7JXXa-436-432.png" width="200px">
华为市场已上线master分支上面已上传【FlutterGo.apk】apk包可点击下载
iphone下载地址: AppStore上面进行搜索fluttego iphone下载地址: AppStore上面进行搜索fluttego

Binary file not shown.

View File

@ -1 +1 @@
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"0.0.5","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}] [{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.6","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]

View File

@ -7,21 +7,22 @@
additional functionality it is fine to subclass or reimplement additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. --> FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODE_WORLD_READABLE"/> <uses-permission android:name="android.permission.MODE_WORLD_READABLE" />
<uses-permission android:name="android.permission.MODE_WORLD_WRITEABLE"/> <uses-permission android:name="android.permission.MODE_WORLD_WRITEABLE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application <application
android:name="io.flutter.app.FlutterApplication" android:name="io.flutter.app.FlutterApplication"
android:label="fluttergo" android:label="FlutterGo"
android:usesCleartextTraffic="true" android:icon="@mipmap/ic_launcher_logo"
android:icon="@mipmap/ic_launcher_logo"> android:usesCleartextTraffic="true">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize"> android:windowSoftInputMode="adjustResize">
<!-- This keeps the window background of the activity showing <!-- This keeps the window background of the activity showing
until Flutter renders its first frame. It can be removed if until Flutter renders its first frame. It can be removed if
@ -31,9 +32,36 @@
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame" android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" /> android:value="true" />
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<provider
android:name="vn.hunghd.flutterdownloader.DownloadedFileProvider"
android:authorities="${applicationId}.flutter_downloader.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
<provider
android:name="androidx.work.impl.WorkManagerInitializer"
android:authorities="${applicationId}.workmanager-init"
android:enabled="false"
android:exported="false" />
<provider
android:name="vn.hunghd.flutterdownloader.FlutterDownloaderInitializer"
android:authorities="${applicationId}.flutter-downloader-init"
android:exported="false">
<meta-data
android:name="vn.hunghd.flutterdownloader.MAX_CONCURRENT_TASKS"
android:value="5" />
</provider>
</application> </application>
</manifest> </manifest>

View File

@ -222,6 +222,7 @@
9705A1C41CF9048500538489 /* Embed Frameworks */, 9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */,
C38E5EAE601417DA9DF11753 /* [CP] Embed Pods Frameworks */, C38E5EAE601417DA9DF11753 /* [CP] Embed Pods Frameworks */,
2432F011A7D713E4BFB3DC88 /* [CP] Copy Pods Resources */,
); );
buildRules = ( buildRules = (
); );
@ -300,6 +301,24 @@
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */
2432F011A7D713E4BFB3DC88 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-resources.sh",
"${PODS_CONFIGURATION_BUILD_DIR}/flutter_downloader/FlutterDownloaderDatabase.bundle",
);
name = "[CP] Copy Pods Resources";
outputPaths = (
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/FlutterDownloaderDatabase.bundle",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
3B06AD1E1E4923F5004D2608 /* Thin Binary */ = { 3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;

View File

@ -42,7 +42,7 @@
</AdditionalOptions> </AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Release" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0" launchStyle = "0"

View File

@ -11,4 +11,5 @@ class Api{
static const String GET_USER_INFO = BASE_URL+'getUserInfo';//获取用户信息 static const String GET_USER_INFO = BASE_URL+'getUserInfo';//获取用户信息
static const String RedirectIp = 'http://100.81.211.172/'; static const String RedirectIp = 'http://100.81.211.172/';
static const String VERSION = BASE_URL+'getAppVersion';//检查版本
} }

View File

@ -1,6 +1,10 @@
import 'dart:async';
import 'dart:core';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:fluro/fluro.dart'; import 'package:fluro/fluro.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:url_launcher/url_launcher.dart';
import 'routers/routers.dart'; import 'routers/routers.dart';
import 'routers/application.dart'; import 'routers/application.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart';
@ -36,14 +40,26 @@ class _MyAppState extends State<MyApp> {
bool _isLoading = true; bool _isLoading = true;
@override @override
void initState() { Future initState() {
super.initState(); super.initState();
var platformAandroid =
(Theme.of(context).platform == TargetPlatform.android);
DataUtils.checkVersion({'name': 'FlutterGo'}).then((bool) {
print("返回值back ${bool}");
if (platformAandroid && bool) {
setState(() {});
_UpdateURL();
}
}).catchError((onError) {
print('获取失败:$onError');
});
DataUtils.checkLogin().then((hasLogin) { DataUtils.checkLogin().then((hasLogin) {
setState(() { setState(() {
_hasLogin = hasLogin; _hasLogin = hasLogin;
_isLoading = false; _isLoading = false;
}); });
}).catchError((onError){ }).catchError((onError) {
setState(() { setState(() {
_hasLogin = true; _hasLogin = true;
_isLoading = false; _isLoading = false;
@ -52,22 +68,32 @@ class _MyAppState extends State<MyApp> {
}); });
} }
_UpdateURL() async {
const currUrl =
'https://github.com/alibaba/flutter-go/raw/master/FlutterGo.apk';
if (await canLaunch(currUrl)) {
await launch(currUrl);
} else {
throw 'Could not launch $currUrl';
}
}
showWelcomePage() { showWelcomePage() {
if (_isLoading) { // if (_isLoading) {
return Container( // return Container(
color: const Color(ThemeColor), // color: const Color(ThemeColor),
child: Center( // child: Center(
child: SpinKitPouringHourglass(color: Colors.white), // child: SpinKitPouringHourglass(color: Colors.white),
), // ),
); // );
} else { // } else {
// 判断是否已经登录 // // 判断是否已经登录
if (_hasLogin) { // if (_hasLogin) {
return AppPage(); return AppPage();
} else { // } else {
return LoginPage(); // return LoginPage();
} // }
} // }
} }
@override @override
@ -88,6 +114,7 @@ class _MyAppState extends State<MyApp> {
), ),
), ),
home: new Scaffold(body: showWelcomePage()), home: new Scaffold(body: showWelcomePage()),
//去掉debug logo
debugShowCheckedModeBanner: false, debugShowCheckedModeBanner: false,
onGenerateRoute: Application.router.generator, onGenerateRoute: Application.router.generator,
navigatorObservers: <NavigatorObserver>[Analytics.observer], navigatorObservers: <NavigatorObserver>[Analytics.observer],

View File

@ -59,4 +59,6 @@ class UserInfoControlModel {
Future deleteAll() async{ Future deleteAll() async{
return await sql.deleteAll(); return await sql.deleteAll();
} }
} }

29
lib/model/version.dart Normal file
View File

@ -0,0 +1,29 @@
class Data {
String version;
String name;
Data.fromJson(Map<String, dynamic> json)
: version = json['version'],
name = json['name'];
@override
String toString() {
return 'name: $name ,version: $version';
}
}
class Version {
Data data;
int status;
bool success;
Version.formJson(Map<String, dynamic> json)
: status = json['status'],
success = json['success'],
data = Data.fromJson(json['data']);
@override
String toString() {
return 'status: $status ,success: $success,date: ${data.toString()}';
}
}

View File

@ -1,12 +1,17 @@
import 'dart:async' show Future; import 'dart:async' show Future;
import 'package:flutter_go/model/version.dart';
import 'package:package_info/package_info.dart';
import 'package:url_launcher/url_launcher.dart';
import './net_utils.dart'; import './net_utils.dart';
import '../model/user_info.dart'; import '../model/user_info.dart';
import 'package:flutter_go/api/api.dart'; import 'package:flutter_go/api/api.dart';
class DataUtils { class DataUtils {
// 登陆获取用户信息 // 登陆获取用户信息
static Future doLogin(Map<String, String> params) async {
static Future<UserInfo> doLogin(Map<String, String> params) async {
var response = await NetUtils.post(Api.DO_LOGIN, params); var response = await NetUtils.post(Api.DO_LOGIN, params);
print(response); print(response);
try { try {
@ -39,4 +44,25 @@ class DataUtils {
print('退出登陆 $response'); print('退出登陆 $response');
return response['success']; return response['success'];
} }
/**
* {"status":200,"data":{"version":"0.0.2","name":"FlutterGo"},"success":true}
*/
// 检查版本
static Future<bool> checkVersion(Map<String, String> params) async {
var response = await NetUtils.get(Api.VERSION, params);
Version version = Version.formJson(response);
var currVersion = version.data.version;
PackageInfo packageInfo = await PackageInfo.fromPlatform();
var localVersion = packageInfo.version;
//相同=0、大于=1、小于=-1
// localVersion = '0.0.2';
// currVersion = '1.0.6';
if (currVersion.compareTo(localVersion) == 1) {
return true;
} else {
return false;
}
}
} }

View File

@ -78,7 +78,10 @@ class TabLayout extends StatelessWidget {
//labelPadding: EdgeInsets.all(12.0), //labelPadding: EdgeInsets.all(12.0),
labelPadding: EdgeInsets.only(top: 12.0, left: 12.0, right: 12.0), labelPadding: EdgeInsets.only(top: 12.0, left: 12.0, right: 12.0),
indicatorSize: TabBarIndicatorSize.label, indicatorSize: TabBarIndicatorSize.label,
tabs: _allPages.map((_Page page) => Tab(text: page.labelId)).toList(), tabs: _allPages
.map((_Page page) =>
Tab(text: page.labelId))
.toList(),
); );
} }
} }

View File

@ -37,32 +37,32 @@ class _MyHomePageState extends State<AppPage>
SearchHistoryList searchHistoryList; SearchHistoryList searchHistoryList;
bool isSearch = false; bool isSearch = false;
String appBarTitle = tabData[0]['text']; String appBarTitle = tabData[0]['text'];
List<Widget> list = List(); List<Widget> _list = List();
int _currentIndex = 0; int _currentIndex = 0;
static List tabData = [ static List tabData = [
{'text': '业界动态', 'icon': Icon(Icons.language)}, // {'text': '业界动态', 'icon': Icon(Icons.language)},
{'text': 'WIDGET', 'icon': Icon(Icons.extension)}, {'text': 'WIDGET', 'icon': Icon(Icons.extension)},
{'text': '组件收藏', 'icon': Icon(Icons.favorite)}, {'text': '组件收藏', 'icon': Icon(Icons.favorite)},
{'text': '关于手册', 'icon': Icon(Icons.import_contacts)} {'text': '关于手册', 'icon': Icon(Icons.import_contacts)},
]; ];
List<BottomNavigationBarItem> myTabs = []; List<BottomNavigationBarItem> _myTabs = [];
@override @override
void initState() { void initState() {
super.initState(); super.initState();
initSearchHistory(); initSearchHistory();
for (int i = 0; i < tabData.length; i++) { for (int i = 0; i < tabData.length; i++) {
myTabs.add(BottomNavigationBarItem( _myTabs.add(BottomNavigationBarItem(
icon: tabData[i]['icon'], icon: tabData[i]['icon'],
title: Text( title: Text(
tabData[i]['text'], tabData[i]['text'],
), ),
)); ));
} }
list _list
// ..add(FirstPage()) // ..add(FirstPage())
..add(MainPage()) // ..add(MainPage())
..add(WidgetPage(Provider.db)) ..add(WidgetPage(Provider.db))
..add(CollectionPage()) ..add(CollectionPage())
..add(FourthPage()); ..add(FourthPage());
@ -117,25 +117,28 @@ class _MyHomePageState extends State<AppPage>
}, (value) {}, () {}); }, (value) {}, () {});
} }
renderAppBar(BuildContext context,Widget widget,int index) { renderAppBar(BuildContext context, Widget widget, int index) {
print('renderAppBar=====>>>>>>${index}'); // print('renderAppBar=====>>>>>>${index}');
if(index == 0) { // if (index == 0) {
return null; // return null;
} // }
return AppBar(title: buildSearchInput(context)); return AppBar(title: buildSearchInput(context));
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return new Scaffold( return new Scaffold(
appBar: renderAppBar(context,widget,_currentIndex), appBar: renderAppBar(context, widget, _currentIndex),
body: list[_currentIndex], body: IndexedStack(
index: _currentIndex,
children: _list,
),
bottomNavigationBar: BottomNavigationBar( bottomNavigationBar: BottomNavigationBar(
items: myTabs, items: _myTabs,
//高亮 被点击高亮 //高亮 被点击高亮
currentIndex: _currentIndex, currentIndex: _currentIndex,
//修改 页面 //修改 页面
onTap: _ItemTapped, onTap: _itemTapped,
//shifting :按钮点击移动效果 //shifting :按钮点击移动效果
//fixed固定 //fixed固定
type: BottomNavigationBarType.fixed, type: BottomNavigationBarType.fixed,
@ -145,7 +148,7 @@ class _MyHomePageState extends State<AppPage>
); );
} }
void _ItemTapped(int index) { void _itemTapped(int index) {
setState(() { setState(() {
_currentIndex = index; _currentIndex = index;
appBarTitle = tabData[index]['text']; appBarTitle = tabData[index]['text'];

View File

@ -5,105 +5,105 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: args name: args
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.5.1" version: "1.5.1"
async: async:
dependency: transitive dependency: transitive
description: description:
name: async name: async
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.2.0" version: "2.0.8"
bloc: bloc:
dependency: "direct main" dependency: "direct main"
description: description:
name: bloc name: bloc
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.0" version: "0.12.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
name: boolean_selector name: boolean_selector
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "1.0.4"
charcode: charcode:
dependency: transitive dependency: transitive
description: description:
name: charcode name: charcode
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.2" version: "1.1.2"
city_pickers: city_pickers:
dependency: "direct main" dependency: "direct main"
description: description:
name: city_pickers name: city_pickers
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.0.4" version: "0.0.4"
collection: collection:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.14.11" version: "1.14.11"
cookie_jar: cookie_jar:
dependency: "direct main" dependency: "direct main"
description: description:
name: cookie_jar name: cookie_jar
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.0.0"
csslib: csslib:
dependency: transitive dependency: transitive
description: description:
name: csslib name: csslib
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.16.0" version: "0.16.0"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
name: cupertino_icons name: cupertino_icons
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.2" version: "0.1.2"
dio: dio:
dependency: "direct main" dependency: "direct main"
description: description:
name: dio name: dio
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.3" version: "2.1.3"
event_bus: event_bus:
dependency: "direct main" dependency: "direct main"
description: description:
name: event_bus name: event_bus
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
firebase_analytics: firebase_analytics:
dependency: "direct main" dependency: "direct main"
description: description:
name: firebase_analytics name: firebase_analytics
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0+1" version: "1.2.0+1"
firebase_core: firebase_core:
dependency: "direct main" dependency: "direct main"
description: description:
name: firebase_core name: firebase_core
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.4" version: "0.3.4"
fluro: fluro:
dependency: "direct main" dependency: "direct main"
description: description:
name: fluro name: fluro
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.4.0" version: "1.4.0"
flutter: flutter:
@ -115,21 +115,28 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_bloc name: flutter_bloc
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.11.1" version: "0.11.1"
flutter_downloader:
dependency: "direct main"
description:
name: flutter_downloader
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.7"
flutter_markdown: flutter_markdown:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_markdown name: flutter_markdown
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.0" version: "0.2.0"
flutter_spinkit: flutter_spinkit:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_spinkit name: flutter_spinkit
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
flutter_test: flutter_test:
@ -141,105 +148,126 @@ packages:
dependency: "direct main" dependency: "direct main"
description: description:
name: flutter_webview_plugin name: flutter_webview_plugin
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.3.4" version: "0.3.4"
fluttertoast: fluttertoast:
dependency: "direct main" dependency: "direct main"
description: description:
name: fluttertoast name: fluttertoast
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "3.1.0" version: "3.1.0"
html: html:
dependency: "direct main" dependency: "direct main"
description: description:
name: html name: html
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.14.0+2" version: "0.14.0+2"
image_picker: image_picker:
dependency: "direct main" dependency: "direct main"
description: description:
name: image_picker name: image_picker
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.6.0+2" version: "0.6.0+3"
intl: intl:
dependency: "direct main" dependency: "direct main"
description: description:
name: intl name: intl
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.15.7" version: "0.15.7"
lpinyin: lpinyin:
dependency: transitive dependency: transitive
description: description:
name: lpinyin name: lpinyin
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.7" version: "1.0.7"
markdown: markdown:
dependency: transitive dependency: transitive
description: description:
name: markdown name: markdown
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.3" version: "2.0.3"
matcher: matcher:
dependency: transitive dependency: transitive
description: description:
name: matcher name: matcher
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.5" version: "0.12.3+1"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.6" version: "1.1.6"
open_file:
dependency: "direct main"
description:
name: open_file
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.1+2"
package_info:
dependency: "direct main"
description:
name: package_info
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.0+3"
path: path:
dependency: transitive dependency: transitive
description: description:
name: path name: path
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.6.2" version: "1.6.2"
path_provider: path_provider:
dependency: "direct main" dependency: "direct main"
description: description:
name: path_provider name: path_provider
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.0" version: "1.1.0"
pedantic: pedantic:
dependency: transitive dependency: transitive
description: description:
name: pedantic name: pedantic
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.5.0" version: "1.4.0"
permission_handler:
dependency: "direct main"
description:
name: permission_handler
url: "https://pub.dartlang.org"
source: hosted
version: "3.0.1"
quiver: quiver:
dependency: transitive dependency: transitive
description: description:
name: quiver name: quiver
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.3" version: "2.0.1"
rxdart: rxdart:
dependency: transitive dependency: transitive
description: description:
name: rxdart name: rxdart
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.21.0" version: "0.21.0"
shared_preferences: shared_preferences:
dependency: "direct main" dependency: "direct main"
description: description:
name: shared_preferences name: shared_preferences
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.3" version: "0.4.3"
sky_engine: sky_engine:
@ -251,79 +279,79 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: source_span name: source_span
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.5.5" version: "1.5.4"
sqflite: sqflite:
dependency: "direct main" dependency: "direct main"
description: description:
name: sqflite name: sqflite
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.5" version: "1.1.5"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
name: stack_trace name: stack_trace
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.9.3" version: "1.9.3"
stream_channel: stream_channel:
dependency: transitive dependency: transitive
description: description:
name: stream_channel name: stream_channel
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "1.6.8"
string_scanner: string_scanner:
dependency: transitive dependency: transitive
description: description:
name: string_scanner name: string_scanner
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.0.4" version: "1.0.4"
synchronized: synchronized:
dependency: transitive dependency: transitive
description: description:
name: synchronized name: synchronized
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.1.0"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
name: term_glyph name: term_glyph
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.1.0"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.5" version: "0.2.2"
typed_data: typed_data:
dependency: transitive dependency: transitive
description: description:
name: typed_data name: typed_data
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.6" version: "1.1.6"
url_launcher: url_launcher:
dependency: "direct main" dependency: "direct main"
description: description:
name: url_launcher name: url_launcher
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "5.0.2" version: "5.0.2"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
name: vector_math name: vector_math
url: "https://pub.flutter-io.cn" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.8" version: "2.0.8"
sdks: sdks:
dart: ">=2.2.0 <3.0.0" dart: ">=2.1.0 <3.0.0"
flutter: ">=1.2.1 <2.0.0" flutter: ">=1.2.1 <2.0.0"

View File

@ -7,7 +7,7 @@ description: flutter_go
# Both the version and the builder number may be overridden in flutter # Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively. # build by specifying --build-name and --build-number, respectively.
# Read more about versioning at semver.org. # Read more about versioning at semver.org.
version: 1.0.0 version: 1.0.6
environment: environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0" sdk: ">=2.0.0-dev.68.0 <3.0.0"
@ -28,7 +28,6 @@ dependencies:
# 本地存储、收藏功能 # 本地存储、收藏功能
shared_preferences: ^0.4.3 shared_preferences: ^0.4.3
flutter_spinkit: "^3.1.0" flutter_spinkit: "^3.1.0"
path_provider: ^1.0.0
fluttertoast: ^3.1.0 fluttertoast: ^3.1.0
dio: ^2.0.15 dio: ^2.0.15
flutter_webview_plugin: ^0.3.4 flutter_webview_plugin: ^0.3.4
@ -42,6 +41,11 @@ dependencies:
flutter_bloc: ^0.11.1 flutter_bloc: ^0.11.1
bloc: ^0.12.0 bloc: ^0.12.0
html: ^0.14.0+2 html: ^0.14.0+2
flutter_downloader: ^1.1.7
path_provider: ^1.1.0
permission_handler: ^3.0.0
open_file: ^2.0.1+2
package_info: ^0.4.0+3
dev_dependencies: dev_dependencies:
flutter_test: flutter_test: