From 2da50de0510d626b1ad589298a27dedd5ae44284 Mon Sep 17 00:00:00 2001 From: WinUser01 Date: Mon, 24 Jan 2022 00:06:30 +0800 Subject: [PATCH] =?UTF-8?q?hyzp=5Fybqx-Commit083=EF=BC=9A=E5=9C=A8?= =?UTF-8?q?=E2=80=9C=E6=88=91=E7=9A=84=E2=80=9D=E9=A1=B5=E9=9D=A2=E5=B7=B2?= =?UTF-8?q?=E7=BB=8F=E6=B7=BB=E5=8A=A0=E2=80=9C=E8=BD=AF=E4=BB=B6=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E2=80=9D=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E6=89=AB=E6=8F=8F=E4=BA=8C=E7=BB=B4=E7=A0=81=E4=B8=8B=E8=BD=BD?= =?UTF-8?q?=E3=80=81=E6=88=96=E8=80=85=E7=94=A8=E6=B5=8F=E8=A7=88=E5=99=A8?= =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E3=80=82=E4=BD=86=E8=BF=98=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC=E5=A4=84=E7=90=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/copy.png | Bin 0 -> 4823 bytes assets/images/download.png | Bin 0 -> 4883 bytes lib/pages/tabs/page4_myMsics_new.dart | 14 +- lib/pages/tabs/page6_download.dart | 246 ++++++++++++++++++++++++++ pubspec.lock | 14 ++ pubspec.yaml | 3 + 6 files changed, 276 insertions(+), 1 deletion(-) create mode 100644 assets/images/copy.png create mode 100644 assets/images/download.png create mode 100644 lib/pages/tabs/page6_download.dart diff --git a/assets/images/copy.png b/assets/images/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..7f2273518c2078b68f910e5d5b6e13f296e89591 GIT binary patch literal 4823 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 SS5O2fm#&tPW|R7@*#7|pKe6Bd literal 0 HcmV?d00001 diff --git a/assets/images/download.png b/assets/images/download.png new file mode 100644 index 0000000000000000000000000000000000000000..bfacef3d61b050d6a2835ba74f3ee593c06ca740 GIT binary patch literal 4883 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 literal 0 HcmV?d00001 diff --git a/lib/pages/tabs/page4_myMsics_new.dart b/lib/pages/tabs/page4_myMsics_new.dart index 861dbf7..9151013 100644 --- a/lib/pages/tabs/page4_myMsics_new.dart +++ b/lib/pages/tabs/page4_myMsics_new.dart @@ -12,6 +12,7 @@ import 'package:hyzp_ybqx/pages/Login/FaceReg.dart'; import 'package:hyzp_ybqx/pages/MyMsics/05_updated/MyUpdatedNew.dart'; import 'package:hyzp_ybqx/pages/Works/TJXX/tj_data.dart'; import 'package:hyzp_ybqx/pages/tabs/page5_userManager.dart'; +import 'package:hyzp_ybqx/pages/tabs/page6_download.dart'; import 'package:hyzp_ybqx/widget/JdButton.dart'; import 'package:package_info/package_info.dart'; import 'package:path_provider/path_provider.dart'; @@ -53,7 +54,9 @@ class _Page4_MyMsicsNewState extends State //try_setState(); //避免异常报错 try_setState() { try { - setState(() {}); + if (mounted) { + setState(() {}); + } } catch (e) { print('setState(() {})异常:${e}'); } @@ -188,6 +191,11 @@ class _Page4_MyMsicsNewState extends State leadColor: _greenColor, onTapFun: OnTap_MyUpdate, bBadge: bNewVer), + _getListTile('软件下载', + leadPath: 'assets/images/download.png', + leadColor: _deepBlueColor, + onTapFun: OnTap_download, + bBadge: bNewVer), _getListTile('关于', leadPath: 'assets/images/关于.png', leadColor: _deepBlueColor, onTapFun: OnTap_MyAbout) @@ -471,6 +479,10 @@ class _Page4_MyMsicsNewState extends State Navigator.of(context).push(MaterialPageRoute(builder: (context) => page5_userManager())); } + OnTap_download() { + Navigator.of(context).push(MaterialPageRoute(builder: (context) => page6_download())); + } + OnTap_modify_password() { Navigator.of(context).push(MaterialPageRoute(builder: (context) => ModifyPassword())); } diff --git a/lib/pages/tabs/page6_download.dart b/lib/pages/tabs/page6_download.dart new file mode 100644 index 0000000..f3ca509 --- /dev/null +++ b/lib/pages/tabs/page6_download.dart @@ -0,0 +1,246 @@ +import 'package:badges/badges.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:fluttertoast/fluttertoast.dart'; +import 'package:hyzp_ybqx/pages/Login/FaceReg.dart'; +import 'package:hyzp_ybqx/pages/Login/ModifyPassword.dart'; +import 'package:qr_flutter/qr_flutter.dart'; +import 'package:url_launcher/url_launcher.dart'; + +import '../../components/commonFun.dart'; +import '../../components/dioFun.dart'; +import '../../widget/JdButton.dart'; + +class page6_download extends StatefulWidget { + page6_download({Key key}) : super(key: key); + + _LoginPageState createState() => _LoginPageState(); +} + +class _LoginPageState extends State { + dispose() { + super.dispose(); + } + + String download_url; + + @override + void initState() { + super.initState(); + getNewverUrl().then((value) { + download_url = value['downurl']; + print('_mapVer = ${download_url}'); + if (mounted) { + setState(() {}); + } + }); + } + + //////// + static onNullFun() {} + + Widget _getListTile(title, + {String leadPath = '', + Color leadColor, + onTapFun = onNullFun, + onLongPressFun = onNullFun, + size = 16.0, + bool bBadge = false}) { + return Column( + children: [ + ListTile( + leading: bBadge + ? Badge( + position: BadgePosition.topEnd(top: -7, end: -12), + badgeContent: null, + child: Image.asset( + leadPath, + height: ScreenUtil().setHeight(78), + fit: BoxFit.fitHeight, + ), + ) + : Image.asset( + leadPath, + height: ScreenUtil().setHeight(78), + fit: BoxFit.fitHeight, + ), + title: new Text( + title, + style: TextStyle(fontSize: size, decoration: TextDecoration.underline), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + trailing: Image.asset('assets/images/copy.png', height: 30, fit: BoxFit.fitHeight), + contentPadding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 0), + enabled: true, + onTap: onTapFun, + onLongPress: onLongPressFun, + ), + // Divider( + // height: 1.0, + // ), + ], + ); + } + + List _listViewUser = []; + + Color _greenColor = Color.fromRGBO(36, 206, 192, 1); //绿色 + Color _deepBlueColor = Color.fromRGBO(79, 118, 230, 1); //深蓝 + Color _deepGreyColor = Color.fromRGBO(116, 139, 161, 1); //深灰 + Color _ligthBlueColor = Color.fromRGBO(80, 159, 245, 1); //亮蓝 + + OnTap_FaceReg() async { + Navigator.of(context).push(MaterialPageRoute(builder: (context) => FaceReg())); + } + + OnTap_modify_password() { + Navigator.of(context).push(MaterialPageRoute(builder: (context) => ModifyPassword())); + } + + OnTap_download_apk() { + _launchUrl(download_url); + } + + _launchUrl(String url) async { + if (await canLaunch(url)) { + await launch(url); + } else { + setState(() { + // _status = 'Unable to launch url $url'; + Fluttertoast.showToast( + msg: 'Unable to launch url $url!', + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.CENTER, + ); + }); + } + } + + //////// + + @override + Widget build(BuildContext context) { + return Scaffold( + appBar: PreferredSize( + preferredSize: Size.fromHeight(ScreenUtil().setHeight(173)), // 设置appBar高度 + // 设置appBar高度 + child: AppBar( + automaticallyImplyLeading: false, + centerTitle: true, + titleSpacing: 0.0, + //设置title的左边距 + flexibleSpace: Container( + //SizedBox(height: ScreenUtil().statusBarHeight), //显示顶部状态栏 + // SizedBox(height: ScreenUtil().setHeight(10)), //显示顶部状态栏 + padding: EdgeInsets.only(top: ScreenUtil().statusBarHeight), //留出顶部状态栏高度 + child: Container( + //height: ScreenUtil().setHeight(173), + decoration: BoxDecoration( + gradient: LinearGradient( + begin: Alignment.centerLeft, + end: Alignment.centerRight, + colors: [ + Color.fromRGBO(12, 186, 156, 1), + Color.fromRGBO(39, 127, 235, 1), + ], + ), + ), + // decoration: BoxDecoration( + // gradient: LinearGradient(colors: [ + // Color(0xFF0018EB), + // Color(0xFF01C1D9), + // ], begin: Alignment.bottomCenter, end: Alignment.topCenter), + // ), + ), + ), + title: Padding( + padding: EdgeInsets.only(left: 0, right: 0), + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + getIconAndTextButton( + iconColor: Colors.white, + iconData: Icons.chevron_left_outlined, + onPress: () { + Navigator.pop(context); + }, + ), + Expanded( + child: Text("apk软件下载", + style: TextStyle(color: Colors.white, fontSize: 20), + textAlign: TextAlign.center, + overflow: TextOverflow.ellipsis), + ), + SizedBox(width: 50), + ], + ), + ), + ), + ), + body: null == download_url || download_url.isEmpty + ? getMoreWidget(color: Colors.black38) + : Container( + padding: EdgeInsets.only(top: 20, bottom: 20, left: 20, right: 20), + child: ListView( + children: [ + Center( + child: Container( + margin: EdgeInsets.only(top: 30), + height: ScreenUtil().setWidth(160), + width: ScreenUtil().setWidth(160), + //child: Image.asset('assets/images/user.png', fit: BoxFit.cover), + child: Image.asset('assets/images/ybsthbj.png', fit: BoxFit.fitHeight), + ), + ), + SizedBox(height: 30), + Text('扫描二维码下载', textAlign: TextAlign.center, style: TextStyle(fontSize: 20)), + + //原文链接:https://blog.csdn.net/houruoyu3/article/details/112314090 + // Text("普通二维码"), + // SizedBox(height: 20,), + // QrImage(data: "这是普通二维码",size: 100,), + // Text("中间有图片的二维码"), + // SizedBox(height: 10), + // QrImage( + // data: "这是中间有图的二维码", + // size: 100, + // embeddedImage: NetworkImage( + // "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2491682377,1019940373&fm=26&gp=0.jpg"), + // ), + Center( + child: QrImage( + //data: download_url, //二维码文本内容 + data: "http://125.64.218.67:9909/downloads/hyzp_ybqx_1.4.13_20220121.apk", + size: 200, + // embeddedImage: AssetImage('assets/images/ybsthbj.png'), + ), + ), + SizedBox(height: 30), + Text('网址下载', textAlign: TextAlign.center, style: TextStyle(fontSize: 20)), + //账户管理项目 + _getListTile(download_url, + size: 20.0, + leadPath: 'assets/images/download.png', + leadColor: _deepBlueColor, + onTapFun: OnTap_download_apk), + // _getListTile('人脸注册', + // leadPath: 'assets/images/人脸注册.png', + // leadColor: _ligthBlueColor, + // onTapFun: OnTap_FaceReg), + SizedBox(height: 60), + JdButton( + height: ScreenUtil().setHeight(382), + //height: 126, + text: "返回", + color: Colors.blueAccent, + onTop: () { + Navigator.pop(context); + }, + ) + ], + ), + ), + ); + } +} diff --git a/pubspec.lock b/pubspec.lock index ee58270..f856dfb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -641,6 +641,20 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "4.3.3" + qr: + dependency: transitive + description: + name: qr + url: "https://pub.flutter-io.cn" + source: hosted + version: "1.3.0" + qr_flutter: + dependency: "direct main" + description: + name: qr_flutter + url: "https://pub.flutter-io.cn" + source: hosted + version: "3.2.0" rational: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 5744dab..cd47d0e 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -167,6 +167,9 @@ dependencies: flutter_superplayer: path: .\lib\my_flutter_superplayer + # 二维码生成 https://pub.dev/packages/qr_flutter + qr_flutter: ^3.2.0 + dev_dependencies: flutter_test: sdk: flutter