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