From dea8f1993a5c985c701cb5b1156fbc38e8f2d0e4 Mon Sep 17 00:00:00 2001
From: wurong <953969641@qq.com>
Date: Sat, 1 Apr 2023 10:01:53 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=BB=93=E7=AE=97?=
 =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E5=A2=9E=E5=8A=A0=EF=BC=8C=E4=B8=8D?=
 =?UTF-8?q?=E5=8F=AF=E4=BD=BF=E7=94=A8=E5=88=B8=EF=BC=8C=E4=B8=8D=E5=8F=AF?=
 =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=AF=B4=E6=98=8E?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/retrofit/min_api.dart                  |  2 +-
 lib/retrofit/retrofit_api.dart             |  2 +-
 lib/settlement/settlement_view/coupon.dart |  2 +-
 lib/store/store_order.dart                 | 10 +++++-----
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/lib/retrofit/min_api.dart b/lib/retrofit/min_api.dart
index dc0384e3..8e2dbfe0 100644
--- a/lib/retrofit/min_api.dart
+++ b/lib/retrofit/min_api.dart
@@ -26,7 +26,7 @@ import 'data/shopping_home_config.dart';
 
 part 'min_api.g.dart';
 
-const localBaseUrl = "http://192.168.10.78:8765/app/";///本地
+const localBaseUrl = "https://pos.api.lotus-wallet.com/app/";///本地
 // const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";///本地
 const serviceBaseUrl = "https://pos.api.lotus-wallet.com/app/";///线上
 
diff --git a/lib/retrofit/retrofit_api.dart b/lib/retrofit/retrofit_api.dart
index 7b1581b7..57d5221c 100644
--- a/lib/retrofit/retrofit_api.dart
+++ b/lib/retrofit/retrofit_api.dart
@@ -64,7 +64,7 @@ import 'data/wx_pay.dart';
 
 part 'retrofit_api.g.dart';
 
-const localBaseUrl = "http://192.168.10.78:8766/app/";///本地
+const localBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///本地
 // const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";///本地
 const serviceBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///线上
 
diff --git a/lib/settlement/settlement_view/coupon.dart b/lib/settlement/settlement_view/coupon.dart
index 1c607033..2d0e5d31 100644
--- a/lib/settlement/settlement_view/coupon.dart
+++ b/lib/settlement/settlement_view/coupon.dart
@@ -262,7 +262,7 @@ class _CouponWidget extends State<CouponWidget> {
                         ),
                       ],
                     ),
-                  if ((widget.couponList?.isEx ?? false) && ((widget.couponList?.usable??"") == ""))
+                  if ((widget.couponList?.isEx ?? false) && (widget.couponList.usableReason != null))
                     Row(
                       mainAxisAlignment: MainAxisAlignment.spaceBetween,
                       children: [
diff --git a/lib/store/store_order.dart b/lib/store/store_order.dart
index 3db0f8a9..63723c20 100644
--- a/lib/store/store_order.dart
+++ b/lib/store/store_order.dart
@@ -515,12 +515,12 @@ class _StoreOrderPage extends State<StoreOrderPage>
                             Spacer(),
                             GestureDetector(
                               onTap: () {
-                                if(AppUtils.compareTime(storeInfo.openStartTime,DateFormat('HH:mm:ss').format(DateTime.now()))
-                                    &&(!AppUtils.compareTime(storeInfo.openEndTime,DateFormat('HH:mm:ss').format(DateTime.now())))){
+                                // if(AppUtils.compareTime(storeInfo.openStartTime,DateFormat('HH:mm:ss').format(DateTime.now()))
+                                //     &&(!AppUtils.compareTime(storeInfo.openEndTime,DateFormat('HH:mm:ss').format(DateTime.now())))){
                                 toDownOrder();
-                                }
-                                else
-                                SmartDialog.showToast("营业时间:${storeInfo.openStartTime}-${storeInfo.openEndTime}", alignment: Alignment.center);
+                                // }
+                                // else
+                                // SmartDialog.showToast("营业时间:${storeInfo.openStartTime}-${storeInfo.openEndTime}", alignment: Alignment.center);
                               },
                               child: RoundButton(
                                 width: 103.w,

From 94d285d05e25a475b33fdeb58893ce433af0d4b3 Mon Sep 17 00:00:00 2001
From: wurong <953969641@qq.com>
Date: Thu, 6 Apr 2023 11:52:03 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E8=BD=AE=E6=92=AD=E6=9B=B4=E6=94=B9?=
 =?UTF-8?q?=E4=B8=BA=E8=87=AA=E5=8A=A8=E8=BD=AE=E6=92=AD=EF=BC=9B=20?=
 =?UTF-8?q?=E6=88=91=E7=9A=84-=E4=BC=98=E6=83=A0=E5=88=B8ui=E6=9B=B4?=
 =?UTF-8?q?=E6=94=B9=EF=BC=9B=20=E4=BC=98=E6=83=A0=E5=88=B8=E9=AB=98?=
 =?UTF-8?q?=E5=BA=A6=E6=9B=B4=E6=94=B9=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 android/app/build.gradle                      |   2 +-
 .../community_view/course_banner.dart         |   3 +
 lib/home/home_view/home_banner.dart           |   3 +
 lib/main_page.dart                            |   2 +-
 lib/mine/mine_page.dart                       |  22 +-
 lib/mine/mine_view/mine_navbar.dart           |   4 +-
 lib/retrofit/min_api.dart                     |   2 +-
 lib/retrofit/retrofit_api.dart                |   2 +-
 lib/settlement/settlement_view/coupon.dart    |   2 +-
 lib/store/store_order.dart                    |   3 +
 lib/utils/flutter_utils.dart                  |   1 +
 lib/view_widget/new_coupon_widget.dart        |   2 +-
 pubspec.lock                                  | 262 +++++++++---------
 pubspec.yaml                                  |   2 +-
 14 files changed, 160 insertions(+), 152 deletions(-)

diff --git a/android/app/build.gradle b/android/app/build.gradle
index f35fed4c..9c803f8e 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -90,7 +90,7 @@ def mfph = [
 ]
 
 android {
-    compileSdkVersion 31
+    compileSdkVersion 33
 
     sourceSets {
         main.java.srcDirs += 'src/main/kotlin'
diff --git a/lib/community/community_view/course_banner.dart b/lib/community/community_view/course_banner.dart
index ac9d4a8e..2c8b96c4 100644
--- a/lib/community/community_view/course_banner.dart
+++ b/lib/community/community_view/course_banner.dart
@@ -37,6 +37,9 @@ class _CourseBanner extends State<CourseBanner> {
         child: Swiper(
             viewportFraction: 0.88,
             scale: 0.93,
+            autoplay: true,
+            duration: 1500,
+            autoplayDelay: 2500,
             pagination: SwiperPagination(
               alignment: Alignment.bottomCenter,
               builder: DotSwiperPaginationBuilder(
diff --git a/lib/home/home_view/home_banner.dart b/lib/home/home_view/home_banner.dart
index dd191bca..92000369 100644
--- a/lib/home/home_view/home_banner.dart
+++ b/lib/home/home_view/home_banner.dart
@@ -36,6 +36,9 @@ class _HomeBanner extends State<HomeBanner> {
               color: Colors.white.withAlpha(76),
             ),
           ),
+          autoplay: true,
+          duration: 1500,
+          autoplayDelay: 2500,
           controller: widget.controller,
           physics: BouncingScrollPhysics(),
           itemBuilder: (context, position) {
diff --git a/lib/main_page.dart b/lib/main_page.dart
index 18c3518f..4b9178ee 100644
--- a/lib/main_page.dart
+++ b/lib/main_page.dart
@@ -73,7 +73,7 @@ class _MainPage extends State<MainPage> with WidgetsBindingObserver {
         break;
       case AppLifecycleState.resumed: //从后台切换前台,界面可见
         pushRoute();
-        if(DateTime.now().millisecondsSinceEpoch - lastTime > 300000)
+        if(DateTime.now().millisecondsSinceEpoch - lastTime > 420000)
           Navigator.of(context).popAndPushNamed('/router/main_page');
         break;
       case AppLifecycleState.paused: // 界面不可见,后台
diff --git a/lib/mine/mine_page.dart b/lib/mine/mine_page.dart
index 51996486..11daed54 100644
--- a/lib/mine/mine_page.dart
+++ b/lib/mine/mine_page.dart
@@ -137,7 +137,7 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
     // EasyLoading.dismiss();
   }
 
-  queryCoupon()async{
+  queryCoupon() async {
     SharedPreferences value = await SharedPreferences.getInstance();
     apiService = ApiService(
       Dio(),
@@ -260,20 +260,16 @@ class MinePageState extends State<MinePage> with AutomaticKeepAliveClientMixin {
                             setState(() {
                               totalMsg = 0;
                             });
-                          }, totalMsg,
-                            infoNumber,
-                            ranks
-                          ),
+                          }, totalMsg, infoNumber, ranks),
 
                           ///订单/钱包/会员码/设置
-                          MineNavbar(
-                            couponNum,
-                            userInfo,
-                            infoNumber,
-                            () {
-                              toIntegralPage();
-                            },
-                          ),
+                          MineNavbar(couponNum, userInfo, infoNumber, () {
+                            toIntegralPage();
+                          }, () {
+                            setState((){
+                              queryCoupon();
+                            });
+                          }),
 
                           ///我的 VIP等级信息
                           // MineVipEntry(
diff --git a/lib/mine/mine_view/mine_navbar.dart b/lib/mine/mine_view/mine_navbar.dart
index 4ebd8359..9e0a800d 100644
--- a/lib/mine/mine_view/mine_navbar.dart
+++ b/lib/mine/mine_view/mine_navbar.dart
@@ -13,8 +13,9 @@ class MineNavbar extends StatefulWidget {
   final UserInfo userInfo;
   final SocialInfo infoNumber;
   final GestureTapCallback toIntegralPage;
+  final Function queryCoupon;
 
-  MineNavbar(this.couponNum,this.userInfo,this.infoNumber,this.toIntegralPage);
+  MineNavbar(this.couponNum,this.userInfo,this.infoNumber,this.toIntegralPage,this.queryCoupon);
 
   @override
   State<StatefulWidget> createState() {
@@ -161,6 +162,7 @@ class _MineNavbar extends State<MineNavbar> {
                         return;
                       }
                       Navigator.of(context).pushNamed('/router/coupon_page');
+                      widget.queryCoupon();
                     });
                   },
                   child: mineBottomItem(
diff --git a/lib/retrofit/min_api.dart b/lib/retrofit/min_api.dart
index 8e2dbfe0..dc0384e3 100644
--- a/lib/retrofit/min_api.dart
+++ b/lib/retrofit/min_api.dart
@@ -26,7 +26,7 @@ import 'data/shopping_home_config.dart';
 
 part 'min_api.g.dart';
 
-const localBaseUrl = "https://pos.api.lotus-wallet.com/app/";///本地
+const localBaseUrl = "http://192.168.10.78:8765/app/";///本地
 // const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";///本地
 const serviceBaseUrl = "https://pos.api.lotus-wallet.com/app/";///线上
 
diff --git a/lib/retrofit/retrofit_api.dart b/lib/retrofit/retrofit_api.dart
index 57d5221c..7b1581b7 100644
--- a/lib/retrofit/retrofit_api.dart
+++ b/lib/retrofit/retrofit_api.dart
@@ -64,7 +64,7 @@ import 'data/wx_pay.dart';
 
 part 'retrofit_api.g.dart';
 
-const localBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///本地
+const localBaseUrl = "http://192.168.10.78:8766/app/";///本地
 // const localBaseUrl = "https://2946-27-19-77-115.jp.ngrok.io/app/";///本地
 const serviceBaseUrl = "https://pos.platform.lotus-wallet.com/app/";///线上
 
diff --git a/lib/settlement/settlement_view/coupon.dart b/lib/settlement/settlement_view/coupon.dart
index 2d0e5d31..ddbdba9c 100644
--- a/lib/settlement/settlement_view/coupon.dart
+++ b/lib/settlement/settlement_view/coupon.dart
@@ -202,7 +202,7 @@ class _CouponWidget extends State<CouponWidget> {
             ),
           ),
           Expanded(
-            flex: (widget.couponList?.isEx ?? false) ? 56 : 42,
+            flex: (widget.couponList?.isEx ?? false) ? 66 : 42,
             child: Container(
               margin: EdgeInsets.symmetric(
                 horizontal: 23.w,
diff --git a/lib/store/store_order.dart b/lib/store/store_order.dart
index 63723c20..9ff7adf3 100644
--- a/lib/store/store_order.dart
+++ b/lib/store/store_order.dart
@@ -676,6 +676,9 @@ class _StoreOrderPage extends State<StoreOrderPage>
             color: Colors.white.withAlpha(76),
           ),
         ),
+        autoplay: true,
+        duration: 1500,
+        autoplayDelay: 2500,
         itemBuilder: (context, position) {
           return Container(
             child: MImage(
diff --git a/lib/utils/flutter_utils.dart b/lib/utils/flutter_utils.dart
index 61a85847..6d5d5ead 100644
--- a/lib/utils/flutter_utils.dart
+++ b/lib/utils/flutter_utils.dart
@@ -58,6 +58,7 @@ class AppUtils {
     return resString;
   }
 
+  ///坐标系转换
   static Future<BMFCoordinate> coordConvert(BMFCoordinate latLng) async {
     return BMFCalculateUtils.coordConvert(
         coordinate: latLng,
diff --git a/lib/view_widget/new_coupon_widget.dart b/lib/view_widget/new_coupon_widget.dart
index 362a49ee..8072bf49 100644
--- a/lib/view_widget/new_coupon_widget.dart
+++ b/lib/view_widget/new_coupon_widget.dart
@@ -43,7 +43,7 @@ class NewCouponWidget extends StatelessWidget {
     // }
 
     return Container(
-      height: (coupon != null && coupon.isEx) ? 160.h : 140.h,
+      height: (coupon != null && coupon.isEx) ? 163.h : 143.h,
       width: double.infinity,
       margin: EdgeInsets.fromLTRB(14.w, 6.h, 14.w, 6.h),
       padding: EdgeInsets.only(right: 5),
diff --git a/pubspec.lock b/pubspec.lock
index 5ec8a205..d650728d 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -5,161 +5,161 @@ packages:
     dependency: "direct main"
     description:
       name: ai_decimal_accuracy
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.1.0"
   android_intent_plus:
     dependency: "direct main"
     description:
       name: android_intent_plus
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.2"
   async:
     dependency: transitive
     description:
       name: async
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.8.2"
   barcode:
     dependency: transitive
     description:
       name: barcode
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.0"
   barcode_widget:
     dependency: "direct main"
     description:
       name: barcode_widget
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.1"
   boolean_selector:
     dependency: transitive
     description:
       name: boolean_selector
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.0"
   bubble_tab_indicator:
     dependency: "direct main"
     description:
       name: bubble_tab_indicator
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.1.6"
   characters:
     dependency: transitive
     description:
       name: characters
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.2.0"
   charcode:
     dependency: transitive
     description:
       name: charcode
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.1"
   chewie:
     dependency: transitive
     description:
       name: chewie
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.3"
   chewie_audio:
     dependency: "direct main"
     description:
       name: chewie_audio
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.0"
   clock:
     dependency: transitive
     description:
       name: clock
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.1.0"
   collection:
     dependency: transitive
     description:
       name: collection
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.16.0"
   crypto:
     dependency: transitive
     description:
       name: crypto
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.0.2"
   csslib:
     dependency: transitive
     description:
       name: csslib
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.17.2"
   cupertino_icons:
     dependency: "direct main"
     description:
       name: cupertino_icons
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.5"
   dio:
     dependency: "direct main"
     description:
       name: dio
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.0.10"
   emoji_picker_flutter:
     dependency: "direct main"
     description:
       name: emoji_picker_flutter
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.4.1"
   event_bus:
     dependency: "direct main"
     description:
       name: event_bus
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.0"
   fake_async:
     dependency: transitive
     description:
       name: fake_async
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.0"
   ffi:
     dependency: transitive
     description:
       name: ffi
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.1"
   file:
     dependency: transitive
     description:
       name: file
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "6.1.4"
   flare_flutter:
     dependency: "direct main"
     description:
       name: flare_flutter
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.0.2"
   flutter:
@@ -171,56 +171,56 @@ packages:
     dependency: "direct main"
     description:
       name: flutter_baidu_mapapi_base
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.2.0"
   flutter_baidu_mapapi_map:
     dependency: "direct main"
     description:
       name: flutter_baidu_mapapi_map
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.2.1"
   flutter_baidu_mapapi_search:
     dependency: "direct main"
     description:
       name: flutter_baidu_mapapi_search
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.2.0"
   flutter_baidu_mapapi_utils:
     dependency: "direct main"
     description:
       name: flutter_baidu_mapapi_utils
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.2.0"
   flutter_bmflocation:
     dependency: "direct main"
     description:
       name: flutter_bmflocation
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.2.1"
   flutter_easyloading:
     dependency: "direct main"
     description:
       name: flutter_easyloading
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.0.5"
   flutter_html:
     dependency: "direct main"
     description:
       name: flutter_html
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.2.1"
   flutter_layout_grid:
     dependency: transitive
     description:
       name: flutter_layout_grid
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.6"
   flutter_localizations:
@@ -232,70 +232,70 @@ packages:
     dependency: transitive
     description:
       name: flutter_math_fork
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.4.2+2"
   flutter_page_indicator:
     dependency: transitive
     description:
       name: flutter_page_indicator
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.0.3"
   flutter_plugin_android_lifecycle:
     dependency: transitive
     description:
       name: flutter_plugin_android_lifecycle
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.9"
   flutter_screenutil:
     dependency: "direct main"
     description:
       name: flutter_screenutil
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "5.0.0+1"
   flutter_slidable:
     dependency: "direct main"
     description:
       name: flutter_slidable
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.2"
   flutter_smart_dialog:
     dependency: "direct main"
     description:
       name: flutter_smart_dialog
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.5.0"
   flutter_spinkit:
     dependency: "direct main"
     description:
       name: flutter_spinkit
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "5.1.0"
   flutter_staggered_grid_view:
     dependency: "direct main"
     description:
       name: flutter_staggered_grid_view
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.4.1"
   flutter_svg:
     dependency: "direct main"
     description:
       name: flutter_svg
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.22.0"
   flutter_swiper:
     dependency: "direct main"
     description:
       name: flutter_swiper
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.1.6"
   flutter_test:
@@ -312,385 +312,385 @@ packages:
     dependency: "direct main"
     description:
       name: fluwx
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "3.9.0+2"
+    version: "3.12.2"
   font_awesome_flutter:
     dependency: "direct main"
     description:
       name: font_awesome_flutter
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "9.2.0"
   gradient_widgets:
     dependency: "direct main"
     description:
       name: gradient_widgets
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.6.0"
   graphs:
     dependency: transitive
     description:
       name: graphs
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.2.0"
   html:
     dependency: transitive
     description:
       name: html
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.15.2"
   http_parser:
     dependency: transitive
     description:
       name: http_parser
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.1.4"
   image_pickers:
     dependency: "direct main"
     description:
       name: image_pickers
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.0"
   intl:
     dependency: "direct main"
     description:
       name: intl
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.17.0"
   js:
     dependency: transitive
     description:
       name: js
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.6.4"
   json_annotation:
     dependency: "direct main"
     description:
       name: json_annotation
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.1.1"
   keframe:
     dependency: "direct main"
     description:
       name: keframe
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.0.0"
   like_button:
     dependency: "direct main"
     description:
       name: like_button
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.5"
   logger:
     dependency: "direct main"
     description:
       name: logger
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.0"
   matcher:
     dependency: transitive
     description:
       name: matcher
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.12.11"
   material_color_utilities:
     dependency: transitive
     description:
       name: material_color_utilities
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.1.4"
   meta:
     dependency: transitive
     description:
       name: meta
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.7.0"
   mqtt_client:
     dependency: "direct main"
     description:
       name: mqtt_client
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "9.6.8"
   nested:
     dependency: transitive
     description:
       name: nested
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.0"
   network_to_file_image:
     dependency: "direct main"
     description:
       name: network_to_file_image
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.0.1"
   number_precision:
     dependency: "direct main"
     description:
       name: number_precision
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.2+1"
   numerus:
     dependency: transitive
     description:
       name: numerus
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.1.1"
   package_info:
     dependency: "direct main"
     description:
       name: package_info
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.2"
   path:
     dependency: transitive
     description:
       name: path
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.8.1"
   path_drawing:
     dependency: transitive
     description:
       name: path_drawing
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.5.1+1"
   path_parsing:
     dependency: transitive
     description:
       name: path_parsing
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.2.1"
   path_provider:
     dependency: "direct main"
     description:
       name: path_provider
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.2.0"
   path_provider_linux:
     dependency: transitive
     description:
       name: path_provider_linux
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.10"
   path_provider_platform_interface:
     dependency: transitive
     description:
       name: path_provider_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.0"
   path_provider_windows:
     dependency: transitive
     description:
       name: path_provider_windows
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.5"
   permission_handler:
     dependency: "direct main"
     description:
       name: permission_handler
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "5.1.0+2"
   permission_handler_platform_interface:
     dependency: transitive
     description:
       name: permission_handler_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.2"
   petitparser:
     dependency: transitive
     description:
       name: petitparser
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "5.0.0"
   photo_view:
     dependency: "direct main"
     description:
       name: photo_view
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.13.0"
   pin_input_text_field:
     dependency: "direct main"
     description:
       name: pin_input_text_field
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.4.1"
   platform:
     dependency: transitive
     description:
       name: platform
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.1.0"
   plugin_platform_interface:
     dependency: transitive
     description:
       name: plugin_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.3"
   process:
     dependency: transitive
     description:
       name: process
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.2.4"
   provider:
     dependency: transitive
     description:
       name: provider
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "6.0.5"
   pull_to_refresh:
     dependency: "direct main"
     description:
       name: pull_to_refresh
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.0"
   qr:
     dependency: transitive
     description:
       name: qr
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.0"
   qr_flutter:
     dependency: "direct main"
     description:
       name: qr_flutter
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.0.0"
   quiver:
     dependency: transitive
     description:
       name: quiver
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.2.1"
   retrofit:
     dependency: "direct main"
     description:
       name: retrofit
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.4+1"
   rive:
     dependency: "direct main"
     description:
       name: rive
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.6.8"
   rxdart:
     dependency: "direct main"
     description:
       name: rxdart
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.26.0"
   scan:
     dependency: "direct main"
     description:
       name: scan
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.6.0"
   shared_preferences:
     dependency: "direct main"
     description:
       name: shared_preferences
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.20"
   shared_preferences_android:
     dependency: transitive
     description:
       name: shared_preferences_android
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.17"
   shared_preferences_foundation:
     dependency: transitive
     description:
       name: shared_preferences_foundation
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.5"
   shared_preferences_linux:
     dependency: transitive
     description:
       name: shared_preferences_linux
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.5"
   shared_preferences_platform_interface:
     dependency: transitive
     description:
       name: shared_preferences_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.0"
   shared_preferences_web:
     dependency: transitive
     description:
       name: shared_preferences_web
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.6"
   shared_preferences_windows:
     dependency: transitive
     description:
       name: shared_preferences_windows
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.5"
   sharesdk_plugin:
     dependency: "direct main"
     description:
       name: sharesdk_plugin
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.6"
   simple_gesture_detector:
     dependency: transitive
     description:
       name: simple_gesture_detector
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.1.6"
   sky_engine:
@@ -702,65 +702,65 @@ packages:
     dependency: transitive
     description:
       name: source_span
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.8.2"
   stack_trace:
     dependency: transitive
     description:
       name: stack_trace
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.10.0"
   stream_channel:
     dependency: transitive
     description:
       name: stream_channel
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.0"
   string_scanner:
     dependency: transitive
     description:
       name: string_scanner
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.1.0"
   table_calendar:
     dependency: "direct main"
     description:
       name: table_calendar
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.3.3"
   term_glyph:
     dependency: transitive
     description:
       name: term_glyph
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.2.0"
   test_api:
     dependency: transitive
     description:
       name: test_api
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.4.9"
   thumbnails:
     dependency: "direct main"
     description:
       name: thumbnails
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.1"
   tobias:
     dependency: "direct main"
     description:
       name: tobias
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.4.1+1"
+    version: "2.4.1"
   tpns_flutter_plugin:
     dependency: "direct main"
     description:
@@ -774,168 +774,168 @@ packages:
     dependency: transitive
     description:
       name: transformer_page_view
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.1.6"
   tuple:
     dependency: transitive
     description:
       name: tuple
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.1"
   typed_data:
     dependency: transitive
     description:
       name: typed_data
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.3.1"
   url_launcher:
     dependency: "direct main"
     description:
       name: url_launcher
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "5.7.10"
   url_launcher_linux:
     dependency: transitive
     description:
       name: url_launcher_linux
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.0.1+4"
   url_launcher_macos:
     dependency: transitive
     description:
       name: url_launcher_macos
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.0.1+9"
   url_launcher_platform_interface:
     dependency: transitive
     description:
       name: url_launcher_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.9"
   url_launcher_web:
     dependency: transitive
     description:
       name: url_launcher_web
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.1.5+3"
   url_launcher_windows:
     dependency: transitive
     description:
       name: url_launcher_windows
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.0.1+3"
   vector_math:
     dependency: transitive
     description:
       name: vector_math
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.1.2"
   video_player:
     dependency: "direct main"
     description:
       name: video_player
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.2.19"
   video_player_android:
     dependency: transitive
     description:
       name: video_player_android
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.3.4"
   video_player_avfoundation:
     dependency: transitive
     description:
       name: video_player_avfoundation
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.3.9"
   video_player_platform_interface:
     dependency: transitive
     description:
       name: video_player_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "4.2.0"
   video_player_web:
     dependency: transitive
     description:
       name: video_player_web
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.15"
   wakelock:
     dependency: transitive
     description:
       name: wakelock
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.6.2"
   wakelock_macos:
     dependency: transitive
     description:
       name: wakelock_macos
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.4.0"
   wakelock_platform_interface:
     dependency: transitive
     description:
       name: wakelock_platform_interface
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.3.0"
   wakelock_web:
     dependency: transitive
     description:
       name: wakelock_web
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.4.0"
   wakelock_windows:
     dependency: transitive
     description:
       name: wakelock_windows
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "0.2.1"
   webview_flutter:
     dependency: transitive
     description:
       name: webview_flutter
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "2.0.14"
   win32:
     dependency: transitive
     description:
       name: win32
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "3.1.3"
   xdg_directories:
     dependency: transitive
     description:
       name: xdg_directories
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "1.0.0"
   xml:
     dependency: transitive
     description:
       name: xml
-      url: "https://pub.dartlang.org"
+      url: "https://pub.flutter-io.cn"
     source: hosted
     version: "5.4.1"
 sdks:
diff --git a/pubspec.yaml b/pubspec.yaml
index f6b9acd2..dcc602c9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: 一心回乡.
 
 publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 
-version: 3.2.4+48
+version: 3.2.10+55
 
 environment:
   sdk: ">=2.7.0 <3.0.0"