Commit f7cc33c15d354345ba8d65a093d2ee1fbde9051b

Authored by gaiyaguang
1 parent 8f45b79c

2020-07-30

... ... @@ -43,8 +43,8 @@ android {
applicationId "com.naji.one_key"
minSdkVersion 21
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
versionCode 7
versionName "1.0.7"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
ndk {
... ...
... ... @@ -55,6 +55,8 @@ PODS:
- Flutter
- url_launcher_web (0.0.1):
- Flutter
- webview_flutter (0.0.1):
- Flutter
- WechatOpenSDK (1.8.7.1)
DEPENDENCIES:
... ... @@ -80,6 +82,7 @@ DEPENDENCIES:
- url_launcher (from `.symlinks/plugins/url_launcher/ios`)
- url_launcher_macos (from `.symlinks/plugins/url_launcher_macos/ios`)
- url_launcher_web (from `.symlinks/plugins/url_launcher_web/ios`)
- webview_flutter (from `.symlinks/plugins/webview_flutter/ios`)
SPEC REPOS:
https://github.com/CocoaPods/Specs.git:
... ... @@ -135,6 +138,8 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/url_launcher_macos/ios"
url_launcher_web:
:path: ".symlinks/plugins/url_launcher_web/ios"
webview_flutter:
:path: ".symlinks/plugins/webview_flutter/ios"
SPEC CHECKSUMS:
audioplayers: 84f968cea3f2deab00ec4f8ff53358b3c0b3992c
... ... @@ -164,6 +169,7 @@ SPEC CHECKSUMS:
url_launcher: a1c0cc845906122c4784c542523d8cacbded5626
url_launcher_macos: fd7894421cd39320dce5f292fc99ea9270b2a313
url_launcher_web: e5527357f037c87560776e36436bf2b0288b965c
webview_flutter: d2b4d6c66968ad042ad94cbb791f5b72b4678a96
WechatOpenSDK: 6a4d1436c15b3b5fe2a0bd383f3046010186da44
PODFILE CHECKSUM: a5c9f5cbedb217afa5108d75ed888500ab689803
... ...
... ... @@ -383,7 +383,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/RunnerProfile.entitlements;
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 5;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
... ... @@ -396,7 +396,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.0.5;
MARKETING_VERSION = 1.0.7;
PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine;
PRODUCT_NAME = "一键订";
PROVISIONING_PROFILE_SPECIFIER = "OneKey Distribution Profile";
... ... @@ -526,7 +526,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 5;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
... ... @@ -539,7 +539,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.0.5;
MARKETING_VERSION = 1.0.7;
PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine;
PRODUCT_NAME = "一键订";
PROVISIONING_PROFILE_SPECIFIER = "Push Development Profile";
... ... @@ -558,7 +558,7 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 5;
CURRENT_PROJECT_VERSION = 7;
DEVELOPMENT_TEAM = 8J59HM8B82;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
... ... @@ -571,7 +571,7 @@
"$(inherited)",
"$(PROJECT_DIR)/Flutter",
);
MARKETING_VERSION = 1.0.5;
MARKETING_VERSION = 1.0.7;
PRODUCT_BUNDLE_IDENTIFIER = com.naji.reserveLine;
PRODUCT_NAME = "一键订";
PROVISIONING_PROFILE_SPECIFIER = "OneKey Distribution Profile";
... ...
... ... @@ -2,8 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key></key>
<string></string>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
... ... @@ -84,5 +82,7 @@
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>io.flutter.embedded_views_preview</key>
<true/>
</dict>
</plist>
... ...
... ... @@ -74,7 +74,7 @@ class MyAppState extends State<MyApp>{
appId: "wx85aa3cdd0f791e65",
doOnAndroid: true,
doOnIOS: true,
universalLink: "https://xt04.colorcun.com/link/");
universalLink: "https://xt04.colorcun.com/link/OneKey/");
var result = await isWeChatInstalled;
LogUtil.v("is installed $result");
}
... ...
... ... @@ -75,7 +75,7 @@ class MyPageState extends State<MyPage>{
},),
MyDivider(double.infinity,ScreenUtil().setHeight(1),color: MyColours.color_f3f3f3,),
MyItem(title:"帮助与反馈",content:"",callback: (){
Utils.goHelp();
Utils.goHelp(context);
},),
MyDivider(double.infinity,ScreenUtil().setHeight(1),color: MyColours.color_f3f3f3),
GestureDetector(
... ...
import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:one_key/widgets/app_bar.dart';
import 'package:webview_flutter/webview_flutter.dart';
class WebViewPage extends StatefulWidget {
@override
_WebViewPageState createState() => _WebViewPageState();
}
class _WebViewPageState extends State<WebViewPage> {
final Completer<WebViewController> _controller =
Completer<WebViewController>();
@override
Widget build(BuildContext context) {
return Scaffold(
// We're using a Builder here so we have a context that is below the Scaffold
// to allow calling Scaffold.of(context) so we can show a snackbar.
appBar: AppBar(
title: const Text('一键订'),
// This drop down menu demonstrates that Flutter widgets can be shown over the web view.
),
body: Builder(builder: (BuildContext context) {
return WebView(
initialUrl: "https://support.qq.com/product/152856",
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
// TODO(iskakaushik): Remove this when collection literals makes it to stable.
// ignore: prefer_collection_literals
javascriptChannels: <JavascriptChannel>[
_toasterJavascriptChannel(context),
].toSet(),
navigationDelegate: (NavigationRequest request) {
if (request.url.startsWith('https://www.youtube.com/')) {
print('blocking navigation to $request}');
return NavigationDecision.prevent;
}
print('allowing navigation to $request');
return NavigationDecision.navigate;
},
onPageStarted: (String url) {
print('Page started loading: $url');
},
onPageFinished: (String url) {
print('Page finished loading: $url');
},
gestureNavigationEnabled: true,
);
}),
);
}
JavascriptChannel _toasterJavascriptChannel(BuildContext context) {
return JavascriptChannel(
name: 'Toaster',
onMessageReceived: (JavascriptMessage message) {
Scaffold.of(context).showSnackBar(
SnackBar(content: Text(message.message)),
);
});
}
}
\ No newline at end of file
... ...
... ... @@ -42,6 +42,7 @@ class UpdateModel {
.request<List>(context, Method.get, HttpUrl.check_update, data: params)
.catchError((error) {
print(error.toString());
Utils.showToast("当前已是最新版本");
});
if (baseResp.code == Constant.status_success) {
LogUtil.v(baseResp.data);
... ... @@ -54,7 +55,11 @@ class UpdateModel {
"content": dataMap["content"].toString()
});
showUpdateDialog(context, version);
}else{
Utils.showToast(baseResp.msg??"当前已是最新版本");
}
}else{
Utils.showToast(baseResp.msg??"当前已是最新版本");
}
// if(Platform.isAndroid){
//
... ...
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:jpush_flutter/jpush_flutter.dart';
... ... @@ -10,7 +9,6 @@ import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/utils/log_util.dart';
import 'package:one_key/utils/navigator_util.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/MyDivider.dart';
... ...
... ... @@ -8,6 +8,7 @@ import 'package:one_key/pages/detail/handle_online_page.dart';
import 'package:one_key/pages/detail/notebook_detail_page.dart';
import 'package:one_key/pages/sms/sms_page.dart';
import 'package:one_key/pages/table/select_table_page.dart';
import 'package:one_key/pages/webview/webview_page.dart';
import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:one_key/utils/log_util.dart';
... ... @@ -66,3 +67,9 @@ var handleSmsHandler = new Handler(
return SmsPage(rid);
});
// 浏览网页
var handleWebviewHandler = new Handler(
handlerFunc: (BuildContext context, Map<String, List<Object>> params) {
return WebViewPage();
});
... ...
import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';
import 'package:one_key/pages/login/login_page.dart';
import 'package:one_key/utils/log_util.dart';
import 'route_handles.dart';
... ... @@ -12,6 +13,7 @@ class Routes {
static String select_table="/select_table";//选择桌位
static String invication="/invication";//邀请函
static String sms="/sms";//发短信
static String webview="/webview";//网页
static void configureRoutes(Router router) {
... ... @@ -27,5 +29,6 @@ class Routes {
router.define(select_table, handler: handleSelectTableHandler);
router.define(invication, handler: handleInvicationHandler);
router.define(sms, handler: handleSmsHandler);
router.define(webview, handler: handleWebviewHandler);
}
}
... ...
... ... @@ -173,8 +173,8 @@ class DialogUtil {
decoration: BoxDecoration(
color: MyColours.color_2bb5b7),
headerPadding: EdgeInsets.zero,
formatButtonVisible: false,
centerHeaderTitle: true,
formatButtonVisible: true,
centerHeaderTitle: false,
titleTextBuilder: (dateTime, _) {
return dateTime.year.toString() +
"年-" +
... ... @@ -183,7 +183,7 @@ class DialogUtil {
},
titleTextStyle: TextStyle(
color: MyColours.color_ffffff,
fontSize: ScreenUtil().setSp(32)),
fontSize: ScreenUtil().setSp(30)),
leftChevronIcon:
const Icon(Icons.chevron_left, color: Colors.white),
rightChevronIcon:
... ...
... ... @@ -58,4 +58,9 @@ class NavigatorUtil {
static void goSmsPage(BuildContext context,String rid) {
_navigateTo(context,"${Routes.sms}?rid=$rid");
}
/// 浏览器
static void goWebviewPage(BuildContext context) {
_navigateTo(context,"${Routes.webview}");
}
}
... ...
... ... @@ -10,8 +10,10 @@ import 'package:fluttertoast/fluttertoast.dart';
import 'package:flutter/services.dart';
import 'package:fluwx/fluwx.dart';
import 'package:one_key/utils/log_util.dart';
import 'package:one_key/utils/navigator_util.dart';
import 'package:package_info/package_info.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:webview_flutter/webview_flutter.dart';
class Utils {
static void showToast(String msg) {
... ... @@ -81,13 +83,8 @@ class Utils {
}
//跳转拨打电话页面
static goHelp() async {
String url="https://support.qq.com/product/152856";
if(await canLaunch(url)){
await launch(url);
}else{
LogUtil.e("Could not launch $url");
}
static goHelp(BuildContext context) async {
NavigatorUtil.goWebviewPage(context);
}
//获取应用版本昊
... ...
... ... @@ -309,7 +309,7 @@ packages:
name: fluwx
url: "https://pub.flutter-io.cn"
source: hosted
version: "2.0.9"
version: "2.1.0"
front_end:
dependency: transitive
description:
... ... @@ -819,6 +819,13 @@ packages:
url: "https://pub.flutter-io.cn"
source: hosted
version: "1.1.0"
webview_flutter:
dependency: "direct main"
description:
name: webview_flutter
url: "https://pub.flutter-io.cn"
source: hosted
version: "0.3.22+1"
xml:
dependency: transitive
description:
... ...
... ... @@ -64,7 +64,7 @@ dependencies:
# 日历
table_calendar: ^2.2.1
# 微信SDK
fluwx: ^2.0.9
fluwx: ^2.1.0
#网页,短信,电话
url_launcher: ^5.4.2
# 滚轮选择器
... ... @@ -79,12 +79,15 @@ dependencies:
package_info: ^0.4.0+18
# 获取设备信息
device_info: ^0.4.2+4
# webview
webview_flutter: ^0.3.22+1
dev_dependencies:
flutter_test:
sdk: flutter
json_model: ^0.0.2
build_runner: ^1.0.0
json_serializable: ^2.0.0
... ...