common_alert_dialog_impl.dart 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:flutter_screenutil/flutter_screenutil.dart';
  3. import 'package:location/resource/colors.gen.dart';
  4. import 'package:location/resource/string.gen.dart';
  5. import 'package:location/utils/common_expand.dart';
  6. import 'common_alert_dialog.dart';
  7. void exitAccountDialog({required VoidCallback confirmOnTap}) {
  8. final tag = 'exitAccountDialog';
  9. CommonAlertDialog.show(
  10. titleWidget: Text(
  11. StringName.dialogExitAccountTitle,
  12. style: TextStyle(
  13. fontSize: 18.sp,
  14. color: ColorName.black90,
  15. fontWeight: FontWeight.bold),
  16. ),
  17. descWidget: Text(
  18. StringName.dialogExitAccountDesc,
  19. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  20. ),
  21. cancelText: StringName.dialogCancel,
  22. confirmText: StringName.dialogSure,
  23. cancelOnTap: () {
  24. CommonAlertDialog.dismiss(tag: tag);
  25. },
  26. confirmOnTap: () {
  27. confirmOnTap();
  28. CommonAlertDialog.dismiss(tag: tag);
  29. },
  30. tag: tag);
  31. }
  32. void deleteFriendDialog({required VoidCallback confirmOnTap}) {
  33. final tag = 'deleteFriendDialog';
  34. CommonAlertDialog.show(
  35. tag: tag,
  36. titleWidget: Text(
  37. StringName.kindlyReminder,
  38. style: TextStyle(
  39. fontSize: 17.sp,
  40. color: '#333333'.color,
  41. fontWeight: FontWeight.bold),
  42. ),
  43. descWidget: Text(
  44. StringName.friendDeleteContent,
  45. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  46. ),
  47. cancelText: StringName.dialogCancel,
  48. confirmText: StringName.dialogSure,
  49. cancelOnTap: () {
  50. CommonAlertDialog.dismiss(tag: tag);
  51. },
  52. confirmOnTap: () {
  53. confirmOnTap();
  54. CommonAlertDialog.dismiss(tag: tag);
  55. });
  56. }
  57. void showBlockMeTipDialog({required VoidCallback confirmOnTap}) {
  58. final tag = 'showBlockMeTipDialog';
  59. CommonAlertDialog.show(
  60. tag: tag,
  61. titleWidget: Text(
  62. StringName.kindlyReminder,
  63. style: TextStyle(
  64. fontSize: 17.sp,
  65. color: '#333333'.color,
  66. fontWeight: FontWeight.bold),
  67. ),
  68. descWidget: Text(
  69. StringName.friendNotOpenLocationShare,
  70. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  71. ),
  72. cancelText: StringName.dialogCancel,
  73. confirmText: StringName.friendGoInstructHim,
  74. cancelOnTap: () {
  75. CommonAlertDialog.dismiss(tag: tag);
  76. },
  77. confirmOnTap: () {
  78. confirmOnTap();
  79. CommonAlertDialog.dismiss(tag: tag);
  80. });
  81. }
  82. void showDeleteUrgentContactDialog(String phone,
  83. {required VoidCallback confirmOnTap}) {
  84. final tag = 'showDeleteUrgentContactDialog';
  85. CommonAlertDialog.show(
  86. tag: tag,
  87. titleWidget: Text(
  88. StringName.kindlyReminder,
  89. style: TextStyle(
  90. fontSize: 17.sp,
  91. color: '#333333'.color,
  92. fontWeight: FontWeight.bold),
  93. ),
  94. descWidget: Text(
  95. '您确定要将 $phone 移除紧急联系人吗?',
  96. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  97. ),
  98. cancelText: StringName.dialogCancel,
  99. confirmText: StringName.dialogSure,
  100. cancelOnTap: () {
  101. CommonAlertDialog.dismiss(tag: tag);
  102. },
  103. confirmOnTap: () {
  104. confirmOnTap();
  105. CommonAlertDialog.dismiss(tag: tag);
  106. });
  107. }
  108. void sendUrgentContactDialog(String phone,
  109. {required VoidCallback confirmOnTap}) {
  110. final tag = 'sendUrgentContactDialog';
  111. CommonAlertDialog.show(
  112. tag: tag,
  113. titleWidget: Text(
  114. StringName.urgentContactEmergencyHelp,
  115. style: TextStyle(
  116. fontSize: 17.sp,
  117. color: '#333333'.color,
  118. fontWeight: FontWeight.bold),
  119. ),
  120. descWidget: Text(
  121. '确认向 $phone 发送短信求助?',
  122. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  123. ),
  124. cancelText: StringName.dialogCancel,
  125. confirmText: StringName.dialogSure,
  126. cancelOnTap: () {
  127. CommonAlertDialog.dismiss(tag: tag);
  128. },
  129. confirmOnTap: () {
  130. confirmOnTap();
  131. CommonAlertDialog.dismiss(tag: tag);
  132. });
  133. }
  134. void sendAllUrgentContactDialog({required VoidCallback confirmOnTap}) {
  135. final tag = 'sendAllUrgentContactDialog';
  136. CommonAlertDialog.show(
  137. tag: tag,
  138. titleWidget: Text(
  139. StringName.urgentContactEmergencyHelp,
  140. style: TextStyle(
  141. fontSize: 17.sp,
  142. color: '#333333'.color,
  143. fontWeight: FontWeight.bold),
  144. ),
  145. descWidget: Text(
  146. StringName.urgentContactSendAllHelp,
  147. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  148. ),
  149. cancelText: StringName.dialogCancel,
  150. confirmText: StringName.dialogSure,
  151. cancelOnTap: () {
  152. CommonAlertDialog.dismiss(tag: tag);
  153. },
  154. confirmOnTap: () {
  155. confirmOnTap();
  156. CommonAlertDialog.dismiss(tag: tag);
  157. });
  158. }
  159. String _failPhonesConvertString(List<String> phones) {
  160. if (phones.isNotEmpty) {
  161. return phones.join('、');
  162. }
  163. return "";
  164. }
  165. void sendUrgentContactPartErrorDialog(List<String> phones,
  166. {required VoidCallback confirmOnTap}) {
  167. final tag = 'sendUrgentContactPartErrorDialog';
  168. CommonAlertDialog.show(
  169. tag: tag,
  170. titleWidget: Text(
  171. StringName.urgentContactEmsSendPartFail,
  172. style: TextStyle(
  173. fontSize: 17.sp,
  174. color: '#333333'.color,
  175. fontWeight: FontWeight.bold),
  176. ),
  177. descWidget: Text(
  178. '联系人 ${phones.map((phone) => '「$phone」').join('、')} 发送失败,请检查号码重试!',
  179. style: TextStyle(fontSize: 15.sp, color: '#404040'.color),
  180. ),
  181. cancelText: StringName.dialogCancel,
  182. confirmText: StringName.dialogSure,
  183. cancelOnTap: () {
  184. CommonAlertDialog.dismiss(tag: tag);
  185. },
  186. confirmOnTap: () {
  187. confirmOnTap();
  188. CommonAlertDialog.dismiss(tag: tag);
  189. });
  190. }
  191. void logoutAccountDialog(
  192. {required VoidCallback logoutCallback,
  193. required VoidCallback cancelCallback}) {
  194. CommonAlertDialog.show(
  195. titleWidget: Text(StringName.logoutAccount,
  196. style: TextStyle(
  197. fontSize: 17.sp,
  198. color: '#333333'.color,
  199. fontWeight: FontWeight.bold)),
  200. descWidget: Text(
  201. StringName.logoutAccountContent,
  202. style: TextStyle(fontSize: 14.sp, color: '#404040'.color),
  203. ),
  204. cancelOnTap: () {
  205. CommonAlertDialog.dismiss();
  206. logoutCallback.call();
  207. },
  208. confirmText: StringName.dialogCancel,
  209. cancelText: StringName.logoutAccount,
  210. confirmOnTap: () {
  211. CommonAlertDialog.dismiss();
  212. cancelCallback.call();
  213. });
  214. }