Pārlūkot izejas kodu

[feat]商店页,新增恢复订阅弹窗UI

hezihao 7 mēneši atpakaļ
vecāks
revīzija
945bbbebff

+ 2 - 0
assets/string/base/string.xml

@@ -190,6 +190,8 @@
     <string name="text_span_user_agreement">《用户协议》</string>
     <string name="text_span_membership_agreement">《会员服务协议》</string>
 
+    <string name="recover_subscribe_title">已恢复订阅</string>
+    <string name="recover_subscribe_confirm">知道了</string>
 
     <string name="member_continue_pay">继续支付</string>
     <string name="member_please_choice_goods">请选择支付商品</string>

+ 7 - 0
lib/di/get_it.config.dart

@@ -96,6 +96,7 @@ import '../module/splash/splash_controller.dart' as _i973;
 import '../module/store/discount/discount_controller.dart' as _i333;
 import '../module/store/new_discount/new_discount_controller.dart' as _i326;
 import '../module/store/store_controller.dart' as _i344;
+import '../module/store/subscribe/recover_subscribe_controller.dart' as _i827;
 import '../module/store/suprise/goods_surprise_controller.dart' as _i935;
 import '../module/user_info/user_info_controller.dart' as _i866;
 import '../module/user_profile/user_profile_controller.dart' as _i329;
@@ -166,6 +167,12 @@ extension GetItInjectableX on _i174.GetIt {
     );
     gh.factory<_i973.SplashController>(() => _i973.SplashController());
     gh.factory<_i333.DiscountController>(() => _i333.DiscountController());
+    gh.factory<_i827.RecoverSubscribeController>(
+      () => _i827.RecoverSubscribeController(),
+    );
+    gh.factory<_i1060.ZodiacLoveIntimacyController>(
+      () => _i1060.ZodiacLoveIntimacyController(),
+    );
     gh.factory<_i415.KeyboardMethodHandler>(
       () => _i415.KeyboardMethodHandler(),
     );

+ 9 - 2
lib/module/store/store_controller.dart

@@ -19,6 +19,7 @@ import 'package:keyboard/dialog/payment_success_dialog.dart';
 import 'package:keyboard/module/store/new_discount/new_discount_page.dart';
 import 'package:keyboard/module/store/store_banner_bean.dart';
 import 'package:keyboard/module/store/store_user_reviews_bean.dart';
+import 'package:keyboard/module/store/subscribe/recover_subscribe_dialog.dart';
 import 'package:keyboard/module/store/suprise/surprise_dialog.dart';
 import 'package:keyboard/module/store/ticket/discount_ticket_dialog.dart';
 import 'package:keyboard/utils/async_util.dart';
@@ -471,7 +472,6 @@ class StoreController extends BaseController implements PaymentStatusCallback {
   @override
   void onInit() async {
     super.onInit();
-
   }
 
   @override
@@ -497,7 +497,6 @@ class StoreController extends BaseController implements PaymentStatusCallback {
         },
         clickCancel: () {},
       );
-
     }
   }
 
@@ -524,4 +523,12 @@ class StoreController extends BaseController implements PaymentStatusCallback {
       return "";
     }
   }
+
+  /// 点击了恢复订阅
+  void clickRecoverSubscribe() {
+    // 显示恢复订阅弹窗
+    // RecoverSubscribeDialog.show("周会员2025年3月6日到期。", () {
+    //   AtmobLog.d(tag, "恢复订阅弹窗 => 点击确认");
+    // });
+  }
 }

+ 1 - 0
lib/module/store/store_page.dart

@@ -821,6 +821,7 @@ class StorePage extends BasePage<StoreController> {
           GestureDetector(
             onTap: () {
               // 恢复订阅
+              controller.clickRecoverSubscribe();
             },
             child: Text(
               "  恢复订阅>",

+ 17 - 0
lib/module/store/subscribe/recover_subscribe_controller.dart

@@ -0,0 +1,17 @@
+import 'package:injectable/injectable.dart';
+import 'package:keyboard/base/base_controller.dart';
+import 'package:keyboard/module/store/subscribe/recover_subscribe_view.dart';
+
+/// 恢复订阅弹窗Controller
+@injectable
+class RecoverSubscribeController extends BaseController {
+  /// 关闭
+  void doClose(OnCloseCallback onCloseCallback) {
+    onCloseCallback();
+  }
+
+  /// 确定
+  void doOnConfirm(OnConfirmCallback onConfirmCallback) {
+    onConfirmCallback();
+  }
+}

+ 42 - 0
lib/module/store/subscribe/recover_subscribe_dialog.dart

@@ -0,0 +1,42 @@
+import 'package:flutter/Material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
+import 'package:keyboard/module/store/subscribe/recover_subscribe_view.dart';
+
+/// 恢复订阅弹窗
+class RecoverSubscribeDialog {
+  static const String _tag = "RecoverSubscribeDialog";
+
+  /// 显示弹窗
+  /// [desc] 描述
+  /// [OnConfirmCallback] 确定时回调
+  static void show(String desc, OnConfirmCallback onConfirmCallback) {
+    SmartDialog.show(
+      tag: _tag,
+      // 点击遮罩,不关闭弹窗
+      clickMaskDismiss: false,
+      // 内容居中显示
+      alignment: Alignment.center,
+      // 动画类型
+      animationType: SmartAnimationType.fade,
+      builder:
+          (BuildContext context) => IntrinsicHeight(
+            child: Container(
+              padding: EdgeInsets.symmetric(horizontal: 32.w),
+              child: RecoverSubscribeView(
+                desc: desc,
+                onConfirmCallback: () {
+                  // 点击了确定
+                  onConfirmCallback();
+                  SmartDialog.dismiss(tag: _tag);
+                },
+                onCloseCallback: () {
+                  // 关闭弹窗
+                  SmartDialog.dismiss(tag: _tag);
+                },
+              ),
+            ),
+          ),
+    );
+  }
+}

+ 115 - 0
lib/module/store/subscribe/recover_subscribe_view.dart

@@ -0,0 +1,115 @@
+import 'package:flutter/Material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:keyboard/module/store/subscribe/recover_subscribe_controller.dart';
+import 'package:keyboard/resource/string.gen.dart';
+
+import '../../../base/base_view.dart';
+import '../../../resource/assets.gen.dart';
+import '../../../resource/colors.gen.dart';
+import '../../../widget/gradient_btn.dart';
+
+/// 点击确认时回调
+typedef OnConfirmCallback = void Function();
+
+/// 关闭弹窗时回调
+typedef OnCloseCallback = void Function();
+
+/// 恢复订阅弹窗内容
+class RecoverSubscribeView extends BaseView<RecoverSubscribeController> {
+  final String desc;
+
+  final OnConfirmCallback onConfirmCallback;
+
+  final OnCloseCallback onCloseCallback;
+
+  const RecoverSubscribeView({
+    super.key,
+    required this.desc,
+    required this.onConfirmCallback,
+    required this.onCloseCallback,
+  });
+
+  @override
+  backgroundColor() => Colors.transparent;
+
+  @override
+  Widget buildBody(BuildContext context) {
+    return Stack(
+      children: [
+        Container(
+          padding: EdgeInsets.symmetric(vertical: 24.h, horizontal: 16.w),
+          decoration: BoxDecoration(
+            color: ColorName.white,
+            borderRadius: BorderRadius.all(Radius.circular(16.r)),
+          ),
+          child: Column(
+            // 包裹内容
+            mainAxisSize: MainAxisSize.min,
+            children: [
+              // 标题
+              _buildTitle(),
+              SizedBox(height: 12.h),
+              _buildDesc(desc),
+              SizedBox(height: 24.h),
+              _buildSaveBtn(),
+            ],
+          ),
+        ),
+        Positioned(
+          top: 0,
+          right: 0,
+          child: InkWell(
+            onTap: () {
+              controller.doClose(onCloseCallback);
+            },
+            splashColor: ColorName.transparent,
+            child: Container(
+              padding: EdgeInsets.all(14.w),
+              child: Assets.images.iconCustomDirectionEditClose.image(
+                width: 24.w,
+                height: 24.w,
+              ),
+            ),
+          ),
+        ),
+      ],
+    );
+  }
+
+  /// 标题
+  Widget _buildTitle() {
+    return Text(
+      StringName.recoverSubscribeTitle,
+      style: TextStyle(
+        fontSize: 16.sp,
+        color: ColorName.black80,
+        fontWeight: FontWeight.bold,
+      ),
+    );
+  }
+
+  /// 描述
+  Widget _buildDesc(String desc) {
+    return Text(
+      desc,
+      style: TextStyle(
+        fontSize: 16.sp,
+        color: ColorName.black60,
+        fontWeight: FontWeight.w400,
+      ),
+    );
+  }
+
+  /// 保存按钮
+  Widget _buildSaveBtn() {
+    return SizedBox(
+      width: double.infinity,
+      child: GradientTextBtn(
+        StringName.recoverSubscribeConfirm,
+        onPressed: () {
+          controller.doOnConfirm(onConfirmCallback);
+        },
+      ),
+    );
+  }
+}

+ 4 - 0
lib/resource/string.gen.dart

@@ -137,6 +137,8 @@ class StringName {
   static final String textSpanPrivacyPolicy = 'text_span_privacy_policy'.tr; // 《隐私政策》
   static final String textSpanServiceTerms = 'text_span_service_terms'.tr; // 《服务条款》
   static final String textSpanUserAgreement = 'text_span_user_agreement'.tr; // 《用户协议》
+  static final String recoverSubscribeTitle = 'recover_subscribe_title'.tr; // 已恢复订阅
+  static final String recoverSubscribeConfirm = 'recover_subscribe_confirm'.tr; // 知道了
   static final String textSpanMembershipAgreement = 'text_span_membership_agreement'.tr; // 《会员服务协议》
   static final String memberContinuePay = 'member_continue_pay'.tr; // 继续支付
   static final String memberPleaseChoiceGoods = 'member_please_choice_goods'.tr; // 请选择支付商品
@@ -508,6 +510,8 @@ class StringMultiSource {
       'text_span_privacy_policy': '《隐私政策》',
       'text_span_service_terms': '《服务条款》',
       'text_span_user_agreement': '《用户协议》',
+      'recover_subscribe_title': '已恢复订阅',
+      'recover_subscribe_confirm': '知道了',
       'text_span_membership_agreement': '《会员服务协议》',
       'member_continue_pay': '继续支付',
       'member_please_choice_goods': '请选择支付商品',

+ 2 - 0
lib/router/app_pages.dart

@@ -80,6 +80,7 @@ import '../module/profile/edit/profile_edit_page.dart';
 import '../module/splash/splash_page.dart';
 import '../module/store/discount/discount_controller.dart';
 import '../module/store/new_discount/new_discount_controller.dart';
+import '../module/store/subscribe/recover_subscribe_controller.dart';
 import '../module/store/suprise/goods_surprise_controller.dart';
 import '../module/user_profile/user_profile_page.dart';
 import '../module/zodiac_love_intimacy/future_week/zodiac_love_future_week_controller.dart';
@@ -204,6 +205,7 @@ class AppBinding extends Bindings {
     lazyPut(() => getIt.get<KeyboardTutorialVideoAndroidViewController>());
     lazyPut(() => getIt.get<KeyboardTutorialVideoIosViewController>());
 
+    lazyPut(() => getIt.get<RecoverSubscribeController>());
     lazyPut(() => getIt.get<ZodiacLoveIntimacyController>());
     lazyPut(() => getIt.get<ZodiacLoveTodayController>());
     lazyPut(() => getIt.get<ZodiacLoveFutureWeekController>());

+ 54 - 54
pubspec.lock

@@ -5,10 +5,10 @@ packages:
     dependency: transitive
     description:
       name: _fe_analyzer_shared
-      sha256: e55636ed79578b9abca5fecf9437947798f5ef7456308b5cb85720b793eac92f
+      sha256: dc27559385e905ad30838356c5f5d574014ba39872d732111cd07ac0beff4c57
       url: "https://pub.dev"
     source: hosted
-    version: "82.0.0"
+    version: "80.0.0"
   agile_pay:
     dependency: "direct main"
     description:
@@ -36,10 +36,10 @@ packages:
     dependency: transitive
     description:
       name: analyzer
-      sha256: "13c1e6c6fd460522ea840abec3f677cc226f5fec7872c04ad7b425517ccf54f7"
+      sha256: "192d1c5b944e7e53b24b5586db760db934b177d4147c42fbca8c8c5f1eb8d11e"
       url: "https://pub.dev"
     source: hosted
-    version: "7.4.4"
+    version: "7.3.0"
   android_id:
     dependency: "direct main"
     description:
@@ -68,10 +68,10 @@ packages:
     dependency: transitive
     description:
       name: archive
-      sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd"
+      sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12"
       url: "https://pub.dev"
     source: hosted
-    version: "4.0.7"
+    version: "4.0.5"
   args:
     dependency: transitive
     description:
@@ -348,10 +348,10 @@ packages:
     dependency: "direct main"
     description:
       name: device_info_plus
-      sha256: "0c6396126421b590089447154c5f98a5de423b70cfb15b1578fd018843ee6f53"
+      sha256: "306b78788d1bb569edb7c55d622953c2414ca12445b41c9117963e03afc5c513"
       url: "https://pub.dev"
     source: hosted
-    version: "11.4.0"
+    version: "11.3.3"
   device_info_plus_platform_interface:
     dependency: transitive
     description:
@@ -574,10 +574,10 @@ packages:
     dependency: "direct main"
     description:
       name: flutter_markdown
-      sha256: "08fb8315236099ff8e90cb87bb2b935e0a724a3af1623000a9cec930468e0f27"
+      sha256: "634622a3a826d67cb05c0e3e576d1812c430fa98404e95b60b131775c73d76ec"
       url: "https://pub.dev"
     source: hosted
-    version: "0.7.7+1"
+    version: "0.7.7"
   flutter_screenutil:
     dependency: "direct main"
     description:
@@ -606,10 +606,10 @@ packages:
     dependency: transitive
     description:
       name: flutter_svg
-      sha256: d44bf546b13025ec7353091516f6881f1d4c633993cb109c3916c3a0159dadf1
+      sha256: c200fd79c918a40c5cd50ea0877fa13f81bdaf6f0a5d3dbcc2a13e3285d6aa1b
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.0"
+    version: "2.0.17"
   flutter_test:
     dependency: "direct dev"
     description: flutter
@@ -752,18 +752,18 @@ packages:
     dependency: transitive
     description:
       name: html
-      sha256: "6d1264f2dffa1b1101c25a91dff0dc2daee4c18e87cd8538729773c073dbf602"
+      sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
       url: "https://pub.dev"
     source: hosted
-    version: "0.15.6"
+    version: "0.15.5"
   http:
     dependency: transitive
     description:
       name: http
-      sha256: "2c11f3f94c687ee9bad77c171151672986360b2b001d109814ee7140b2cf261b"
+      sha256: fe7ab022b76f3034adc518fb6ea04a82387620e19977665ea18d30a1cf43442f
       url: "https://pub.dev"
     source: hosted
-    version: "1.4.0"
+    version: "1.3.0"
   http_client_helper:
     dependency: transitive
     description:
@@ -832,10 +832,10 @@ packages:
     dependency: transitive
     description:
       name: in_app_purchase_storekit
-      sha256: "6ce1361278cacc0481508989ba419b2c9f46a2b0dc54b3fe54f5ee63c2718fef"
+      sha256: "276831961023055b55a2156c1fc043f50f6215ff49fb0f5f2273da6eeb510ecf"
       url: "https://pub.dev"
     source: hosted
-    version: "0.3.22+1"
+    version: "0.3.21"
   injectable:
     dependency: "direct main"
     description:
@@ -904,18 +904,18 @@ packages:
     dependency: transitive
     description:
       name: just_audio_platform_interface
-      sha256: "4cd94536af0219fa306205a58e78d67e02b0555283c1c094ee41e402a14a5c4a"
+      sha256: "271b93b484c6f494ecd72a107fffbdb26b425f170c665b9777a0a24a726f2f24"
       url: "https://pub.dev"
     source: hosted
-    version: "4.5.0"
+    version: "4.4.0"
   just_audio_web:
     dependency: transitive
     description:
       name: just_audio_web
-      sha256: "8c7e779892e180cbc9ffb5a3c52f6e90e1cbbf4a63694cc450972a7edbd2bb6d"
+      sha256: "58915be64509a7683c44bf11cd1a23c15a48de104927bee116e3c63c8eeea0d4"
       url: "https://pub.dev"
     source: hosted
-    version: "0.4.15"
+    version: "0.4.14"
   keyboard_android:
     dependency: "direct main"
     description:
@@ -1144,10 +1144,10 @@ packages:
     dependency: transitive
     description:
       name: path_provider_android
-      sha256: d0d310befe2c8ab9e7f393288ccbb11b60c019c6b5afc21973eeee4dda2b35e9
+      sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12"
       url: "https://pub.dev"
     source: hosted
-    version: "2.2.17"
+    version: "2.2.16"
   path_provider_foundation:
     dependency: transitive
     description:
@@ -1288,10 +1288,10 @@ packages:
     dependency: transitive
     description:
       name: posix
-      sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62
+      sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
       url: "https://pub.dev"
     source: hosted
-    version: "6.0.2"
+    version: "6.0.1"
   pretty_dio_logger:
     dependency: "direct main"
     description:
@@ -1312,10 +1312,10 @@ packages:
     dependency: transitive
     description:
       name: provider
-      sha256: "4abbd070a04e9ddc287673bf5a030c7ca8b685ff70218720abab8b092f53dd84"
+      sha256: "489024f942069c2920c844ee18bb3d467c69e48955a4f32d1677f71be103e310"
       url: "https://pub.dev"
     source: hosted
-    version: "6.1.5"
+    version: "6.1.4"
   pub_semver:
     dependency: transitive
     description:
@@ -1581,18 +1581,18 @@ packages:
     dependency: transitive
     description:
       name: url_launcher_android
-      sha256: "8582d7f6fe14d2652b4c45c9b6c14c0b678c2af2d083a11b604caeba51930d79"
+      sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4"
       url: "https://pub.dev"
     source: hosted
-    version: "6.3.16"
+    version: "6.3.15"
   url_launcher_ios:
     dependency: transitive
     description:
       name: url_launcher_ios
-      sha256: "7f2022359d4c099eea7df3fdf739f7d3d3b9faf3166fb1dd390775176e0b76cb"
+      sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
       url: "https://pub.dev"
     source: hosted
-    version: "6.3.3"
+    version: "6.3.2"
   url_launcher_linux:
     dependency: transitive
     description:
@@ -1621,10 +1621,10 @@ packages:
     dependency: transitive
     description:
       name: url_launcher_web
-      sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2"
+      sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9"
       url: "https://pub.dev"
     source: hosted
-    version: "2.4.1"
+    version: "2.4.0"
   url_launcher_windows:
     dependency: transitive
     description:
@@ -1693,10 +1693,10 @@ packages:
     dependency: transitive
     description:
       name: video_player_avfoundation
-      sha256: "9ee764e5cd2fc1e10911ae8ad588e1a19db3b6aa9a6eb53c127c42d3a3c3f22f"
+      sha256: "84b4752745eeccb6e75865c9aab39b3d28eb27ba5726d352d45db8297fbd75bc"
       url: "https://pub.dev"
     source: hosted
-    version: "2.7.1"
+    version: "2.7.0"
   video_player_platform_interface:
     dependency: transitive
     description:
@@ -1709,10 +1709,10 @@ packages:
     dependency: transitive
     description:
       name: video_player_web
-      sha256: e8bba2e5d1e159d5048c9a491bb2a7b29c535c612bb7d10c1e21107f5bd365ba
+      sha256: "3ef40ea6d72434edbfdba4624b90fd3a80a0740d260667d91e7ecd2d79e13476"
       url: "https://pub.dev"
     source: hosted
-    version: "2.3.5"
+    version: "2.3.4"
   visibility_detector:
     dependency: transitive
     description:
@@ -1733,18 +1733,18 @@ packages:
     dependency: transitive
     description:
       name: wakelock_plus
-      sha256: a474e314c3e8fb5adef1f9ae2d247e57467ad557fa7483a2b895bc1b421c5678
+      sha256: b90fbcc8d7bdf3b883ea9706d9d76b9978cb1dfa4351fcc8014d6ec31a493354
       url: "https://pub.dev"
     source: hosted
-    version: "1.3.2"
+    version: "1.2.11"
   wakelock_plus_platform_interface:
     dependency: transitive
     description:
       name: wakelock_plus_platform_interface
-      sha256: e10444072e50dbc4999d7316fd303f7ea53d31c824aa5eb05d7ccbdd98985207
+      sha256: "70e780bc99796e1db82fe764b1e7dcb89a86f1e5b3afb1db354de50f2e41eb7a"
       url: "https://pub.dev"
     source: hosted
-    version: "1.2.3"
+    version: "1.2.2"
   watcher:
     dependency: transitive
     description:
@@ -1765,50 +1765,50 @@ packages:
     dependency: transitive
     description:
       name: web_socket
-      sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c"
+      sha256: "3c12d96c0c9a4eec095246debcea7b86c0324f22df69893d538fcc6f1b8cce83"
       url: "https://pub.dev"
     source: hosted
-    version: "1.0.1"
+    version: "0.1.6"
   web_socket_channel:
     dependency: transitive
     description:
       name: web_socket_channel
-      sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8
+      sha256: "0b8e2457400d8a859b7b2030786835a28a8e80836ef64402abef392ff4f1d0e5"
       url: "https://pub.dev"
     source: hosted
-    version: "3.0.3"
+    version: "3.0.2"
   webview_flutter:
     dependency: transitive
     description:
       name: webview_flutter
-      sha256: caf0f5a1012aa3c2d33c4215adc72dc1194bb59a2d3ed901f457965626805e66
+      sha256: "889a0a678e7c793c308c68739996227c9661590605e70b1f6cf6b9a6634f7aec"
       url: "https://pub.dev"
     source: hosted
-    version: "4.11.0"
+    version: "4.10.0"
   webview_flutter_android:
     dependency: transitive
     description:
       name: webview_flutter_android
-      sha256: "6b0eae02b7604954b80ee9a29507ac38f5de74b712faa6fee33abc1cdedc1b21"
+      sha256: e09150b28a07933839adef0e4a088bb43e8c8d9e6b93025b01882d4067a58ab0
       url: "https://pub.dev"
     source: hosted
-    version: "4.4.2"
+    version: "4.3.4"
   webview_flutter_platform_interface:
     dependency: transitive
     description:
       name: webview_flutter_platform_interface
-      sha256: "18b1640839cf6546784a524c72aded5b6e86b23e7167dc2311cc96f7658b64bd"
+      sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
       url: "https://pub.dev"
     source: hosted
-    version: "2.11.0"
+    version: "2.10.0"
   webview_flutter_wkwebview:
     dependency: transitive
     description:
       name: webview_flutter_wkwebview
-      sha256: c9f9be526fa0d3347374ceaa05c4b3acb85f4f112abd62f7d74b7d301fa515ff
+      sha256: c49a98510080378b1525132f407a92c3dcd3b7145bef04fb8137724aadcf1cf0
       url: "https://pub.dev"
     source: hosted
-    version: "3.20.0"
+    version: "3.18.4"
   wechat_assets_picker:
     dependency: "direct main"
     description: