From fa705507ba574c857b1667553737d23b1b7ff495 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 12 五月 2022 12:06:31 +0800 Subject: [PATCH] 后端模板代码优化 --- src/main/resources/code/flutter_module/lib/ui/mine/person_info.dart | 567 +++++++++++++++++++++----------------------------------- 1 files changed, 215 insertions(+), 352 deletions(-) diff --git a/src/main/resources/code/flutter_module/lib/ui/mine/person_info.dart b/src/main/resources/code/flutter_module/lib/ui/mine/person_info.dart index 8fb2a50..4344b2c 100644 --- a/src/main/resources/code/flutter_module/lib/ui/mine/person_info.dart +++ b/src/main/resources/code/flutter_module/lib/ui/mine/person_info.dart @@ -1,19 +1,24 @@ -import 'dart:ui'; import 'dart:io'; +import 'dart:ui'; + import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_module/utils/wx_util.dart'; +import 'package:image_picker/image_picker.dart'; +import 'package:package_info/package_info.dart'; + +import '../../api/http.dart'; import '../../api/user_api.dart'; import '../../model/user/user_info.dart'; -import '../../ui/widget/button.dart'; -import '../../ui/widget/video_item.dart'; -import '../../utils/image_util.dart'; -import '../../api/http.dart'; import '../../ui/common/browser.dart'; +import '../../ui/widget/button.dart'; import '../../ui/widget/dialog.dart'; import '../../ui/widget/nav.dart'; +import '../../ui/widget/video_item.dart'; import '../../utils/cache_util.dart'; import '../../utils/config_util.dart'; import '../../utils/event_bus_util.dart'; +import '../../utils/image_util.dart'; import '../../utils/pageutils.dart'; import '../../utils/push_util.dart'; import '../../utils/setting_util.dart'; @@ -21,8 +26,7 @@ import '../../utils/ui_constant.dart'; import '../../utils/ui_utils.dart'; import '../../utils/user_util.dart'; -import 'package:package_info/package_info.dart'; -import 'package:image_picker/image_picker.dart'; +import 'login.dart'; void main() { runApp(MyApp()); @@ -64,17 +68,18 @@ String? editPortrait; String? editNickName; - int? editSex; - DateTime? editBirthday; - String? editSign; @override void initState() { super.initState(); - UserUtil.getUserInfo().then((value) { - setState(() { - _user = value; - }); + getUserInfo(); + } + + void getUserInfo() async { + await UserUtil.updateUserInfo(context); + UserInfo? temp = await UserUtil.getUserInfo(); + setState(() { + _user = temp; }); } @@ -92,124 +97,138 @@ @override Widget build(BuildContext context) { return Scaffold( - backgroundColor: const Color(0xFFDADADA), + backgroundColor: const Color(0xFFF3F3F3), body: _user == null ? Container() : Column( - children: [ - TopNavBar( - title: "涓汉淇℃伅", - rightText: canSave() ? "淇濆瓨" : null, - rightClick: canSave() - ? () { - //淇濆瓨 - UserApiUtil.updateUserInfo(context, - nickName: editNickName, - sex: editSex, - birthDay: editBirthday == null - ? null - : "${editBirthday!.year}/${editBirthday!.month}/${editBirthday!.day}", - sign: editSign, - portraitPath: editPortrait) - .then((value) { - if (value == null) { - return; - } + children: [ + TopNavBar( + title: "涓汉淇℃伅", + rightText: canSave() ? "淇濆瓨" : null, + rightClick: canSave() + ? () { + //淇濆瓨 + UserApiUtil.updateUserInfo(context, + nickName: editNickName, + portraitPath: editPortrait) + .then((value) { + if (value == null) { + return; + } - if (value["IsPost"] == "true") { - ToastUtil.toast("淇敼鎴愬姛", context); - popPage(context); - } else { - ToastUtil.toast(value["Error"], context); - } - }); - } - : null, - ), - Expanded( - child: SingleChildScrollView( - child: Column(children: [ - Container( - height: 10, - color: const Color(0xFFDADADA), - ), - getPortraitItemView(onClick: () { - //閫夋嫨澶村儚 - selectImg(); - }), - getCommonItemView( - title: "鏄电О", - content: editNickName ?? _user!.nickname!, - onClick: () { - showEditNickName(editNickName ?? _user!.nickname!); - }), - getCommonItemView( - title: "鎬у埆", - content: - _getSexDesc((editSex ?? int.parse(_user!.sex!))), - onClick: () { - showEditSex(editSex ?? int.parse(_user!.sex!)); - }), - getCommonItemView( - title: "鐢熸棩", - content: _getBirthDay(), - onClick: () { - showEditBirthDay((editBirthday ?? - ((_user!.birthday == null || - _user!.birthday!.isEmpty) - ? null - : parseDate(_user!.birthday!)))); - }), - getCommonItemView( - title: "閭", - content: _user!.email!, - onClick: () {}, - canIn: false), - getCommonItemView( - title: "ID", - content: _user!.id!, - onClick: () {}, - canIn: false), - Container( - height: 10, - color: const Color(0xFFDADADA), - ), - getSignItemView(onClick: () { - showEditSign(editSign ?? _user!.sign); - }), - ]))), - ], - )); + if (value["code"] == 0) { + ToastUtil.toast("淇敼鎴愬姛", context); + popPage(context); + } else { + ToastUtil.toast(value["msg"], context); + } + }); + } + : null, + ), + Expanded( + child: SingleChildScrollView( + child: Column(children: [ + Container( + height: 10, + ), + Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + width: 15, + height: 50 * 4 + + (DimenUtil.getOnePixel(context)) * 3 * 2, + alignment: Alignment.center, + color: Colors.white, + ), + Expanded( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + getPortraitItemView(onClick: () { + //閫夋嫨澶村儚 + selectImg(); + }), + getCommonItemView( + title: "鏄电О", + content: editNickName ?? _user!.nickname!, + onClick: () { + showEditNickName( + editNickName ?? _user!.nickname!); + }), + getCommonItemView( + title: "ID", + content: _user!.id!, + onClick: () {}, + canIn: false) + ])) + ]), + Container( + height: 14, + ), + Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + width: 15, + height: 50 * 2 + + (DimenUtil.getOnePixel(context)) * 1 * 2, + alignment: Alignment.center, + color: Colors.white, + ), + Expanded( + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + getCommonItemView( + title: "鎵嬫満鍙�", + content: + StringUtil.isNullOrEmpty(_user!.phone) + ? "鏈坊鍔�" + : _user!.phone!, + onClick: () { + if (StringUtil.isNullOrEmpty( + _user!.phone)) { + //鎵嬫満鍙风粦瀹� + NavigatorUtil.navigateToNextPage( + context, + LoginPage( + title: "", + bindPhone: true, + ), (data) { + getUserInfo(); + }); + } + }, + canIn: + StringUtil.isNullOrEmpty(_user!.phone)), + getCommonItemView( + title: "寰俊鎺堟潈", + content: StringUtil.isNullOrEmpty( + _user!.wxNickName) + ? "鍘绘巿鏉�" + : _user!.wxNickName!, + onClick: () { + if (!StringUtil.isNullOrEmpty( + _user!.wxNickName)) { + return; + } + WXAuthUtil.startAuth(context); + }, + canIn: StringUtil.isNullOrEmpty( + _user!.wxNickName)) + ])) + ]), + ]))), + ], + )); } bool canSave() { - return editNickName != null || - editSex != null || - editBirthday != null || - editSign != null || - editPortrait != null; - } - - String _getSexDesc(int? sex) { - switch (sex) { - case 1: - return "鐢�"; - case 2: - return "濂�"; - } - return "鏈煡"; - } - - String _getBirthDay() { - DateTime? date = (editBirthday ?? - ((_user!.birthday == null || _user!.birthday!.isEmpty) - ? null - : parseDate(_user!.birthday!))); - if (date == null) { - return "璇烽�夋嫨鍑虹敓鏃ユ湡"; - } - - return "${date.year}/${date.month}/${date.day}"; + return editNickName != null || editPortrait != null; } DateTime parseDate(String date) { @@ -220,19 +239,22 @@ Widget getCommonItemView( {required String title, - String content = "", - required GestureTapCallback onClick, - bool canIn = true}) { + String content = "", + required GestureTapCallback onClick, + bool canIn = true}) { return Container( - height: 53, - margin: const EdgeInsets.fromLTRB(0, 0, 0, 1), + height: 50, + margin: EdgeInsets.fromLTRB(0, 0, 0, DimenUtil.getOnePixel(context) * 2), color: Colors.white, child: InkWell( onTap: () { + if (!canIn) { + return; + } onClick(); }, child: Container( - padding: const EdgeInsets.fromLTRB(20, 0, 20, 0), + padding: const EdgeInsets.fromLTRB(0, 0, 20, 0), child: Flex( crossAxisAlignment: CrossAxisAlignment.center, direction: Axis.horizontal, @@ -240,27 +262,36 @@ Text( title, style: - const TextStyle(fontSize: 16, color: Color(0xFF333333)), + const TextStyle(fontSize: 16, color: Color(0xFF333333)), ), Expanded( - child: Flex( - direction: Axis.horizontal, - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Container( - child: Text(content, - style: const TextStyle( - fontSize: 14, color: Color(0xFF959595))), - margin: const EdgeInsets.fromLTRB(0, 0, 13.5, 0), - ), - canIn - ? Image.asset( - "assets/imgs/icon_person_info_input.png", - height: 13.5, - ) - : Container() - ], - )) + child: Wrap( + alignment: WrapAlignment.end, + crossAxisAlignment: WrapCrossAlignment.center, + children: [ + Container( + child: Text(content, + style: const TextStyle( + fontSize: 14, color: Color(0xFF888888))), + margin: const EdgeInsets.fromLTRB(0, 0, 0, 0), + ), + canIn + ? const SizedBox( + width: 10.5, + ) + : const SizedBox( + width: 0, + ), + canIn + ? Image.asset( + "assets/imgs/icon_person_info_input.png", + height: 13.5, + ) + : Container( + width: 0, + ) + ], + )) ], )), ), @@ -269,15 +300,15 @@ Widget getPortraitItemView({required GestureTapCallback onClick}) { return Container( - height: 75, - margin: const EdgeInsets.fromLTRB(0, 0, 0, 1), + height: 50, + margin: EdgeInsets.fromLTRB(0, 0, 0, DimenUtil.getOnePixel(context) * 2), color: Colors.white, child: InkWell( onTap: () { onClick(); }, child: Container( - padding: const EdgeInsets.fromLTRB(20, 0, 20, 0), + padding: const EdgeInsets.fromLTRB(0, 0, 20, 0), child: Flex( crossAxisAlignment: CrossAxisAlignment.center, direction: Axis.horizontal, @@ -288,93 +319,38 @@ ), Expanded( child: Flex( - direction: Axis.horizontal, - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Container( - child: ClipRRect( - borderRadius: BorderRadius.circular(60), - child: editPortrait == null - ? CommonImage( - _user!.portrait!, - height: 57, - width: 57, - ) - : Image.file( - File(editPortrait!), - fit: BoxFit.cover, - height: 57, - width: 57, - )), - margin: const EdgeInsets.fromLTRB(0, 0, 13.5, 0), - ), - Image.asset( - "assets/imgs/icon_person_info_input.png", - height: 13.5, - ) - ], - )) + direction: Axis.horizontal, + mainAxisAlignment: MainAxisAlignment.end, + children: [ + Container( + child: ClipRRect( + borderRadius: BorderRadius.circular(60), + child: editPortrait == null + ? CommonImage( + _user!.portrait == null + ? 'assets/imgs/ic_portrait_default.png' + : _user!.portrait!, + height: 33, + width: 33, + ) + : Image.file( + File(editPortrait!), + fit: BoxFit.cover, + height: 33, + width: 33, + )), + margin: const EdgeInsets.fromLTRB(0, 0, 10.5, 0), + ), + Image.asset( + "assets/imgs/icon_person_info_input.png", + height: 13.5, + ) + ], + )) ], )), ), ); - } - - Widget getSignItemView({required GestureTapCallback onClick}) { - return Container( - height: 200, - margin: const EdgeInsets.fromLTRB(0, 0, 0, 1), - color: Colors.white, - child: InkWell( - onTap: () { - onClick(); - }, - child: Container( - padding: const EdgeInsets.fromLTRB(20, 0, 20, 0), - child: - Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ - Container( - height: 18, - ), - Flex( - crossAxisAlignment: CrossAxisAlignment.center, - direction: Axis.horizontal, - children: [ - const Text( - "涓�х鍚�", - style: TextStyle(fontSize: 16, color: Color(0xFF333333)), - ), - Expanded( - child: Flex( - direction: Axis.horizontal, - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Image.asset( - "assets/imgs/icon_person_info_input.png", - height: 13.5, - ) - ], - )) - ], - ), - Container( - height: 21, - ), - Text( - _getSign(), - textAlign: TextAlign.start, - style: const TextStyle(color: Color(0xFFBEBEBE), fontSize: 15), - ) - ]), - ), - )); - } - - _getSign() { - return editSign ?? - ((_user!.sign == null || _user!.sign!.isEmpty) - ? "杩欎釜浜哄緢鎳掞紝浠�涔堜篃娌℃湁鐣欎笅" - : _user!.sign!); } showAlertDilaog(String title, Widget content, VoidCallback sure, @@ -389,7 +365,7 @@ TextButton( child: Text('鍙栨秷'), onPressed: () { - Navigator.of(context).pop(); + popPage(context); }, ), TextButton( @@ -414,123 +390,10 @@ if (controller.text.isEmpty) { return; } - Navigator.of(context).pop(); + popPage(context); setState(() { editNickName = controller.text; }); }); } - - void showEditSex(int sex) { - int? tempSex; - setState(() { - tempSex = sex; - }); - DialogUtil.showDialogBottom( - context, - Container( - margin: const EdgeInsets.all(10), - alignment: Alignment.bottomCenter, - child: Stack(alignment: Alignment.bottomCenter, children: [ - Container( - margin: const EdgeInsets.only(bottom: 50), - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(10)), - child: Container( - height: 100, - alignment: Alignment.center, - child: Column( - children: [ - InkWell( - onTap: () { - setState(() { - editSex = 1; - }); - Navigator.of(context).pop(); - }, - child: Container( - height: 50, - alignment: Alignment.center, - child: const Text( - "鐢�", - style: TextStyle( - fontSize: 18, - color: ColorConstant.theme), - ))), - InkWell( - onTap: () { - setState(() { - editSex = 2; - }); - Navigator.of(context).pop(); - }, - child: Container( - height: 50, - alignment: Alignment.center, - child: const Text( - "濂�", - style: TextStyle( - fontSize: 18, - color: ColorConstant.theme), - ))), - ], - ))), - MyFillButton( - "鍙栨秷", - 20, - height: 40, - color: Colors.grey, - fontSize: 14, - onClick: () { - popPage(context); - }, - ) - ]))); - } - - //缂栬緫鐢熸棩 - void showEditBirthDay(DateTime? dateTime) async { - dateTime ??= DateTime.now(); - Locale myLocale = Localizations.localeOf(context); - DateTime? date = await showDatePicker( - context: context, - initialDate: dateTime, - firstDate: DateTime(1900), - lastDate: DateTime(DateTime.now().year + 1), - locale: myLocale); - if (date != null) { - setState(() { - editBirthday = date; - }); - } - } - - void showEditSign(String? sign) { - sign ??= ""; - TextEditingController controller = TextEditingController(); - controller.text = sign; - showAlertDilaog( - "缂栬緫绛惧悕", - TextField( - controller: controller, - maxLines: 5, - maxLength: 200, - decoration: const InputDecoration( - focusedBorder: InputBorder.none, - border: InputBorder.none, - counterStyle: TextStyle(color: Color(0xFF666666)), - hintText: "璇疯緭鍏ョ鍚嶅唴瀹�", - hintStyle: TextStyle(fontSize: 15, color: Color(0xFF999999))), - ), () { - if (controller.text.isEmpty) { - return; - } - - Navigator.of(context).pop(); - setState(() { - editSign = controller.text; - }); - }); - } -} +} \ No newline at end of file -- Gitblit v1.8.0