diff --git a/lib/main.dart b/lib/main.dart index 41199c0..4f2b952 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -89,7 +89,7 @@ void main() async { runApp( GetMaterialApp( - locale: Get.locale, // 使用GetX的locale + locale: Locale('zh', 'CN'), // 使用GetX的locale supportedLocales: const [Locale('zh', 'CN')], /// 国际化配置 代理 diff --git a/lib/pages/mine/edit_info_page.dart b/lib/pages/mine/edit_info_page.dart index c3a9821..666f479 100644 --- a/lib/pages/mine/edit_info_page.dart +++ b/lib/pages/mine/edit_info_page.dart @@ -461,7 +461,7 @@ class _EditInfoPageState extends State { fontSize: 13.w, fontWeight: FontWeight.w500 ), - ),), + ), hideArrow: true,), Container( margin: EdgeInsets.only(bottom: 3.w), decoration: BoxDecoration( @@ -558,12 +558,15 @@ class _EditInfoPageState extends State { Icon( Icons.keyboard_arrow_right, size: 13.w, - color: const Color.fromRGBO(191, 191, 191, 1) + color: Color.fromRGBO(191, 191, 191, (controller.userData.value?.identityCard != null && controller.userData.value?.identityCard != "") ? 0 : 1) ) ], ) ], ).onTap((){ + if(controller.userData.value?.identityCard != null && controller.userData.value?.identityCard != ""){ + return; + } _showDatePicker(controller); }), ], @@ -1176,7 +1179,8 @@ class SetItem extends StatefulWidget { final String label; final bool showRequired; final Widget child; - const SetItem({super.key, required this.label, this.showRequired = true, required this.child}); + final bool hideArrow; + const SetItem({super.key, required this.label, this.showRequired = true, required this.child, this.hideArrow = false}); @override State createState() => _SetItemState(); @@ -1229,7 +1233,7 @@ class _SetItemState extends State { Icon( Icons.keyboard_arrow_right, size: 13.w, - color: const Color.fromRGBO(191, 191, 191, 1) + color: Color.fromRGBO(191, 191, 191, widget.hideArrow ? 0 : 1) ) ], ), diff --git a/lib/pages/mine/withdraw_page.dart b/lib/pages/mine/withdraw_page.dart index 1c65dc7..f6265e9 100644 --- a/lib/pages/mine/withdraw_page.dart +++ b/lib/pages/mine/withdraw_page.dart @@ -6,6 +6,7 @@ import 'package:dating_touchme_app/model/mine/bank_card_data.dart'; import 'package:dating_touchme_app/pages/mine/add_bankcard_page.dart'; import 'package:dating_touchme_app/pages/mine/withdraw_history_page.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; @@ -195,7 +196,10 @@ class WithdrawPage extends StatelessWidget { Expanded( child: TextField( controller: controller.withdrawMoneyController.value, - keyboardType: TextInputType.number, + keyboardType: const TextInputType.numberWithOptions(decimal: true), + inputFormatters: [ + DecimalTextInputFormatter(decimalRange: 2), + ], style: TextStyle( fontSize: ScreenUtil().setWidth(22), height: 1 @@ -582,3 +586,39 @@ class WithdrawPage extends StatelessWidget { } } +class DecimalTextInputFormatter extends TextInputFormatter { + DecimalTextInputFormatter({this.decimalRange = 2}); + + final int decimalRange; + + @override + TextEditingValue formatEditUpdate( + TextEditingValue oldValue, + TextEditingValue newValue, + ) { + final text = newValue.text; + + // 允许空 + if (text.isEmpty) return newValue; + + // 只允许数字和小数点 + if (!RegExp(r'^\d*\.?\d*$').hasMatch(text)) { + return oldValue; + } + + // 只允许一个小数点 + if ('.'.allMatches(text).length > 1) { + return oldValue; + } + + // 限制小数位数 + if (text.contains('.')) { + final parts = text.split('.'); + if (parts.length > 1 && parts[1].length > decimalRange) { + return oldValue; + } + } + + return newValue; + } +} \ No newline at end of file diff --git a/lib/pages/setting/setting_page.dart b/lib/pages/setting/setting_page.dart index ab07661..0ce39f2 100644 --- a/lib/pages/setting/setting_page.dart +++ b/lib/pages/setting/setting_page.dart @@ -7,6 +7,7 @@ import 'package:dating_touchme_app/pages/setting/deactivate_page.dart'; import 'package:dating_touchme_app/pages/setting/teenager_mode_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:tdesign_flutter/tdesign_flutter.dart'; @@ -62,7 +63,9 @@ class SettingPage extends StatelessWidget { TDCell(arrow: true, title: '黑名单', onClick: (cell) { Get.to(() => BlacklistPage()); }), - TDCell(arrow: true, title: '隐私设置'), + TDCell(arrow: true, title: '隐私设置', onClick: (cell) { + SmartDialog.showToast('功能暂未开放'); + },), TDCell(arrow: true, title: '青少年模式', onClick: (cell) { Get.to(() => TeenagerModePage()); },), @@ -76,11 +79,14 @@ class SettingPage extends StatelessWidget { openAppSettings(); },), TDCell(arrow: true, title: '消息通知', onClick: (cell) { - Get.to(() => NoticePage()); + // Get.to(() => NoticePage()); + + openAppSettings(); }), TDCell(arrow: true, title: '检查更新', onClick: (cell) { // _showUpdateDialog(); - controller.checkVersion(); + // controller.checkVersion(); + SmartDialog.showToast('功能暂未开放'); }, noteWidget: Text('当前版本:${controller.version.value}',style: TextStyle(fontSize: 13.w,color: const Color.fromRGBO(117, 98, 249, 1))), )