From 6a86c7b1d8235dcfd15d1c15b7be960fd50cfd52 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:18:37 +0800 Subject: [PATCH 01/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20CI=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/beta_ci.yml | 144 +++++++++++++++++----------------- android/app/build.gradle | 3 +- 2 files changed, 74 insertions(+), 73 deletions(-) diff --git a/.github/workflows/beta_ci.yml b/.github/workflows/beta_ci.yml index e839aca1b..395c1154c 100644 --- a/.github/workflows/beta_ci.yml +++ b/.github/workflows/beta_ci.yml @@ -113,7 +113,7 @@ jobs: sed -i "s/version: .*+/version: ${{ needs.update_version.outputs.new_version }}+/g" pubspec.yaml - name: flutter build apk - run: flutter build apk --release --split-per-abi + run: flutter build apk --target-platform android-arm64 --split-per-abi env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} @@ -135,74 +135,74 @@ jobs: path: | build/app/outputs/flutter-apk/Pili-*.apk - iOS: - name: Build CI (iOS) - needs: update_version - runs-on: macos-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - ref: ${{ github.ref_name }} - - - name: 安装Flutter - if: steps.cache-flutter.outputs.cache-hit != 'true' - uses: subosito/flutter-action@v2.10.0 - with: - cache: true - flutter-version: 3.16.5 - - - name: 更新版本号 - id: version - run: | - # 更新pubspec.yaml文件中的版本号 - sed -i "" "s/version: .*+/version: ${{ needs.update_version.outputs.new_version }}+/g" pubspec.yaml - - - name: flutter build ipa - run: | - flutter build ios --release --no-codesign - ln -sf ./build/ios/iphoneos Payload - zip -r9 app.ipa Payload/runner.app - - - name: 重命名应用 - run: | - DATE=${{ steps.date.outputs.date }} - for file in app.ipa; do - new_file_name="build/Pili-v${{ needs.update_version.outputs.new_version }}.ipa" - mv "$file" "$new_file_name" - done - - - name: 上传 - uses: actions/upload-artifact@v3 - with: - if-no-files-found: error - name: Pilipala-Beta - path: | - build/Pili-*.ipa - - upload: - runs-on: ubuntu-latest - - needs: - - update_version - - android - - iOS - steps: - - uses: actions/download-artifact@v3 - with: - name: Pilipala-Beta - path: ./Pilipala-Beta - - - name: 发送到Telegram频道 - uses: xireiki/channel-post@v1.0.7 - with: - bot_token: ${{ secrets.BOT_TOKEN }} - chat_id: ${{ secrets.CHAT_ID }} - large_file: true - api_id: ${{ secrets.TELEGRAM_API_ID }} - api_hash: ${{ secrets.TELEGRAM_API_HASH }} - method: sendFile - path: Pilipala-Beta/* - parse_mode: Markdown - context: "*Beta版本: v${{ needs.update_version.outputs.new_version }}*\n更新内容: [${{ needs.update_version.outputs.last_commit }}](${{ github.event.head_commit.url }})" + # iOS: + # name: Build CI (iOS) + # needs: update_version + # runs-on: macos-latest + + # steps: + # - name: Checkout code + # uses: actions/checkout@v4 + # with: + # ref: ${{ github.ref_name }} + + # - name: 安装Flutter + # if: steps.cache-flutter.outputs.cache-hit != 'true' + # uses: subosito/flutter-action@v2.10.0 + # with: + # cache: true + # flutter-version: 3.16.5 + + # - name: 更新版本号 + # id: version + # run: | + # # 更新pubspec.yaml文件中的版本号 + # sed -i "" "s/version: .*+/version: ${{ needs.update_version.outputs.new_version }}+/g" pubspec.yaml + + # - name: flutter build ipa + # run: | + # flutter build ios --release --no-codesign + # ln -sf ./build/ios/iphoneos Payload + # zip -r9 app.ipa Payload/runner.app + + # - name: 重命名应用 + # run: | + # DATE=${{ steps.date.outputs.date }} + # for file in app.ipa; do + # new_file_name="build/Pili-v${{ needs.update_version.outputs.new_version }}.ipa" + # mv "$file" "$new_file_name" + # done + + # - name: 上传 + # uses: actions/upload-artifact@v3 + # with: + # if-no-files-found: error + # name: Pilipala-Beta + # path: | + # build/Pili-*.ipa + + # upload: + # runs-on: ubuntu-latest + + # needs: + # - update_version + # - android + # - iOS + # steps: + # - uses: actions/download-artifact@v3 + # with: + # name: Pilipala-Beta + # path: ./Pilipala-Beta + + # - name: 发送到Telegram频道 + # uses: xireiki/channel-post@v1.0.7 + # with: + # bot_token: ${{ secrets.BOT_TOKEN }} + # chat_id: ${{ secrets.CHAT_ID }} + # large_file: true + # api_id: ${{ secrets.TELEGRAM_API_ID }} + # api_hash: ${{ secrets.TELEGRAM_API_HASH }} + # method: sendFile + # path: Pilipala-Beta/* + # parse_mode: Markdown + # context: "*Beta版本: v${{ needs.update_version.outputs.new_version }}*\n更新内容: [${{ needs.update_version.outputs.last_commit }}](${{ github.event.head_commit.url }})" diff --git a/android/app/build.gradle b/android/app/build.gradle index 3dc4f82ab..3a4ff7e1a 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -63,6 +63,7 @@ android { versionName flutterVersionName minSdkVersion 21 multiDexEnabled true + ndk.abiFilters 'arm64-v8a' } signingConfigs { @@ -82,7 +83,7 @@ android { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. - signingConfig signingConfigs.release + signingConfig signingConfigs.debug } } } From 4accedbe1fc85d861e0ab7b2a296b7152626d43f Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:31:43 +0800 Subject: [PATCH 02/19] =?UTF-8?q?=E5=B1=8F=E8=94=BD=E2=80=9C=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E2=80=9D=E7=9B=B8=E5=85=B3=E7=9A=84=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/http/api.dart | 20 ++++++++------------ lib/http/init.dart | 25 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/lib/http/api.dart b/lib/http/api.dart index 445f61028..3d7f2da9d 100644 --- a/lib/http/api.dart +++ b/lib/http/api.dart @@ -2,12 +2,11 @@ import 'constants.dart'; class Api { // 推荐视频 - static const String recommendListApp = - '${HttpString.appBaseUrl}/x/v2/feed/index'; - static const String recommendListWeb = '/x/web-interface/index/top/feed/rcmd'; + static const String recommendListApp = 'BLOCKED'; + static const String recommendListWeb = 'BLOCKED'; // 热门视频 - static const String hotList = '/x/web-interface/popular'; + static const String hotList = 'BLOCKED'; // 视频流 // https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/docs/video/videostream_url.md @@ -91,7 +90,7 @@ class Api { static const String videoInFolder = '/x/v3/fav/folder/created/list-all'; // 视频详情页 相关视频 - static const String relatedList = '/x/web-interface/archive/related'; + static const String relatedList = 'BLOCKED'; // 查询用户与自己关系_仅查关注 static const String hasFollow = '/x/relation'; @@ -178,11 +177,10 @@ class Api { static const String searchHistory = '/x/web-goblin/history/search'; // 热搜 - static const String hotSearchList = - 'https://s.search.bilibili.com/main/hotword'; + static const String hotSearchList = 'BLOCKED'; // 默认搜索词 - static const String searchDefault = '/x/web-interface/wbi/search/default'; + static const String searchDefault = 'BLOCKED'; // 搜索关键词 static const String searchSuggest = @@ -224,8 +222,7 @@ class Api { // 直播 // ?page=1&page_size=30&platform=web - static const String liveList = - '${HttpString.liveBaseUrl}/xlive/web-interface/v1/second/getUserRecommend'; + static const String liveList = 'BLOCKED'; // 直播间详情 // cid roomId @@ -312,8 +309,7 @@ class Api { static const String removeBlack = '/x/relation/modify'; // github 获取最新版 - static const String latestApp = - 'https://api.github.com/repos/guozhigq/pilipala/releases/latest'; + static const String latestApp = 'BLOCKED'; // 多少人在看 // https://api.bilibili.com/x/player/online/total?aid=913663681&cid=1203559746&bvid=BV1MM4y1s7NZ&ts=56427838 diff --git a/lib/http/init.dart b/lib/http/init.dart index a0b36369d..92d0439f8 100644 --- a/lib/http/init.dart +++ b/lib/http/init.dart @@ -189,6 +189,17 @@ class Request { * get请求 */ get(url, {data, options, cancelToken, extra}) async { + // if url equals "BLOCKED", return empty response + if (url == 'BLOCKED') { + return Response( + data: { + 'message': 'blocked' + }, // 将自定义 Map 数据赋值给 Response 的 data 属性 + statusCode: 200, + requestOptions: RequestOptions(), + ); + } + Response response; final Options options = Options(); ResponseType resType = ResponseType.json; @@ -225,6 +236,20 @@ class Request { */ post(url, {data, queryParameters, options, cancelToken, extra}) async { // print('post-data: $data'); + + // if url equals "BLOCKED", return empty response + if (url == 'BLOCKED') { + return Response( + data: { + 'message': 'blocked' + }, // 将自定义 Map 数据赋值给 Response 的 data 属性 + statusCode: 200, + requestOptions: RequestOptions(), + ); + } + + + Response response; try { response = await dio.post( From c1309cc190ea34bd5207a12a4b884a70c2666bdb Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:33:06 +0800 Subject: [PATCH 03/19] =?UTF-8?q?=E5=85=B3=E9=97=AD=20AI=20=E6=80=BB?= =?UTF-8?q?=E7=BB=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/video/detail/introduction/view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/video/detail/introduction/view.dart b/lib/pages/video/detail/introduction/view.dart index 831491f60..5783e60ef 100644 --- a/lib/pages/video/detail/introduction/view.dart +++ b/lib/pages/video/detail/introduction/view.dart @@ -309,7 +309,7 @@ class _VideoInfoState extends State with TickerProviderStateMixin { ), ), ), - if (enableAi) + if (false) Positioned( right: 10, top: 6, From 2ab22b528c2f0306cb9bfa0a08b27305d28f2fdd Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Mon, 25 Mar 2024 15:43:09 +0800 Subject: [PATCH 04/19] fix github action --- .github/workflows/release_ci.yml | 157 ------------------------------- android/app/build.gradle | 1 - 2 files changed, 158 deletions(-) delete mode 100644 .github/workflows/release_ci.yml diff --git a/.github/workflows/release_ci.yml b/.github/workflows/release_ci.yml deleted file mode 100644 index 782306450..000000000 --- a/.github/workflows/release_ci.yml +++ /dev/null @@ -1,157 +0,0 @@ -name: Pilipala Release - -# action事件触发 -on: - push: - # push tag时触发 - tags: - - "v*.*.*" - -# 可以有多个jobs -jobs: - android: - # 运行环境 ubuntu-latest window-latest mac-latest - runs-on: ubuntu-latest - - # 每个jobs中可以有多个steps - steps: - - name: 代码迁出 - uses: actions/checkout@v3 - - - name: 构建Java环境 - uses: actions/setup-java@v3 - with: - distribution: "zulu" - java-version: "17" - token: ${{secrets.GIT_TOKEN}} - - - name: 检查缓存 - uses: actions/cache@v2 - id: cache-flutter - with: - path: /root/flutter-sdk # Flutter SDK 的路径 - key: ${{ runner.os }}-flutter-${{ hashFiles('**/pubspec.lock') }} - - - name: 安装Flutter - if: steps.cache-flutter.outputs.cache-hit != 'true' - uses: subosito/flutter-action@v2 - with: - flutter-version: 3.16.5 - channel: any - - - name: 下载项目依赖 - run: flutter pub get - - - name: 解码生成 jks - run: echo $KEYSTORE_BASE64 | base64 -di > android/app/vvex.jks - env: - KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} - - - name: flutter build apk - run: flutter build apk --release --split-per-abi - env: - KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} - KEY_ALIAS: ${{ secrets.KEY_ALIAS }} - KEY_PASSWORD: ${{ secrets.KEY_PASSWORD}} - - - name: flutter build apk - run: flutter build apk --release - env: - KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} - KEY_ALIAS: ${{ secrets.KEY_ALIAS }} - KEY_PASSWORD: ${{ secrets.KEY_PASSWORD}} - - - name: 获取版本号 - id: version - run: echo "version=${GITHUB_REF#refs/tags/v}" >>$GITHUB_OUTPUT - - # - name: 获取当前日期 - # id: date - # run: echo "date=$(date +'%m%d')" >>$GITHUB_OUTPUT - - - name: 重命名应用 - run: | - # DATE=${{ steps.date.outputs.date }} - for file in build/app/outputs/flutter-apk/app-*.apk; do - if [[ $file =~ app-(.?*)release.apk ]]; then - new_file_name="build/app/outputs/flutter-apk/Pili-${BASH_REMATCH[1]}${{ steps.version.outputs.version }}.apk" - mv "$file" "$new_file_name" - fi - done - - - name: 上传 - uses: actions/upload-artifact@v3 - with: - name: Pilipala-Release - path: | - build/app/outputs/flutter-apk/Pili-*.apk - - iOS: - runs-on: macos-latest - - steps: - - name: 代码迁出 - uses: actions/checkout@v4 - - - name: 安装Flutter - if: steps.cache-flutter.outputs.cache-hit != 'true' - uses: subosito/flutter-action@v2.10.0 - with: - cache: true - flutter-version: 3.16.5 - - - name: flutter build ipa - run: | - flutter build ios --release --no-codesign - ln -sf ./build/ios/iphoneos Payload - zip -r9 app.ipa Payload/runner.app - - - name: 获取版本号 - id: version - run: echo "version=${GITHUB_REF#refs/tags/v}" >>$GITHUB_OUTPUT - - - name: 重命名应用 - run: | - DATE=${{ steps.date.outputs.date }} - for file in app.ipa; do - new_file_name="build/Pili-${{ steps.version.outputs.version }}.ipa" - mv "$file" "$new_file_name" - done - - - name: 上传 - uses: actions/upload-artifact@v3 - with: - if-no-files-found: error - name: Pilipala-Release - path: | - build/Pili-*.ipa - - upload: - runs-on: ubuntu-latest - - needs: - - android - - iOS - steps: - - uses: actions/download-artifact@v3 - with: - name: Pilipala-Release - path: ./Pilipala-Release - - - name: Install dependencies - run: sudo apt-get install tree -y - - - name: Get version - id: version - run: echo "version=${GITHUB_REF#refs/tags/v}" >>$GITHUB_OUTPUT - - - name: Upload Release - uses: ncipollo/release-action@v1 - with: - name: v${{ steps.version.outputs.version }} - token: ${{ secrets.GIT_TOKEN }} - omitBodyDuringUpdate: true - omitNameDuringUpdate: true - omitPrereleaseDuringUpdate: true - allowUpdates: true - artifacts: Pilipala-Release/* diff --git a/android/app/build.gradle b/android/app/build.gradle index 3a4ff7e1a..73285baf5 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -63,7 +63,6 @@ android { versionName flutterVersionName minSdkVersion 21 multiDexEnabled true - ndk.abiFilters 'arm64-v8a' } signingConfigs { From 1a94169c5277c4c61c0063f89cc33dd1d6cbbf22 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:40:35 +0800 Subject: [PATCH 05/19] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=EF=BC=88=E6=8A=8A=E5=AA=92=E4=BD=93=E9=A1=B5=E7=9A=84=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E6=94=BE=E8=BF=87=E5=8E=BB=EF=BC=89=EF=BC=8C=E9=9A=90?= =?UTF-8?q?=E8=97=8F=20navigationBars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/home/view.dart | 303 ++++++++++++++++++++++++++++++++++----- lib/pages/main/view.dart | 75 ---------- 2 files changed, 264 insertions(+), 114 deletions(-) diff --git a/lib/pages/home/view.dart b/lib/pages/home/view.dart index b0cef90bd..1a9ec0159 100644 --- a/lib/pages/home/view.dart +++ b/lib/pages/home/view.dart @@ -7,6 +7,22 @@ import 'package:pilipala/common/widgets/network_img_layer.dart'; import 'package:pilipala/pages/mine/index.dart'; import 'package:pilipala/utils/feed_back.dart'; import './controller.dart'; +import 'package:media_kit/media_kit.dart'; +import 'package:pilipala/models/user/fav_folder.dart'; +import 'package:pilipala/pages/main/index.dart'; +import 'package:pilipala/pages/media/index.dart'; +import 'package:pilipala/utils/utils.dart'; +import 'package:flutter/rendering.dart'; + +import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; +import 'package:get/get.dart'; +import 'package:media_kit/media_kit.dart'; +import 'package:pilipala/common/widgets/network_img_layer.dart'; +import 'package:pilipala/models/user/fav_folder.dart'; +import 'package:pilipala/pages/main/index.dart'; +import 'package:pilipala/pages/media/index.dart'; +import 'package:pilipala/utils/utils.dart'; class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @@ -20,6 +36,8 @@ class _HomePageState extends State final HomeController _homeController = Get.put(HomeController()); List videoList = []; late Stream stream; + late MediaController mediaController; + late Future _futureBuilderFuture; @override bool get wantKeepAlive => true; @@ -28,6 +46,29 @@ class _HomePageState extends State void initState() { super.initState(); stream = _homeController.searchBarStream.stream; + mediaController = Get.put(MediaController()); + _futureBuilderFuture = mediaController.queryFavFolder(); + ScrollController scrollController = mediaController.scrollController; + StreamController mainStream = + Get.find().bottomBarStream; + + mediaController.userLogin.listen((status) { + setState(() { + _futureBuilderFuture = mediaController.queryFavFolder(); + }); + }); + scrollController.addListener( + () { + final ScrollDirection direction = + scrollController.position.userScrollDirection; + if (direction == ScrollDirection.forward) { + mainStream.add(true); + } else if (direction == ScrollDirection.reverse) { + mainStream.add(false); + } + }, + ); + } showUserBottomSheet() { @@ -46,6 +87,7 @@ class _HomePageState extends State @override Widget build(BuildContext context) { super.build(context); + Color primary = Theme.of(context).colorScheme.primary; Brightness currentBrightness = MediaQuery.of(context).platformBrightness; // 设置状态栏图标的亮度 if (_homeController.enableGradientBg) { @@ -102,55 +144,169 @@ class _HomePageState extends State ctr: _homeController, callback: showUserBottomSheet, ), - if (_homeController.tabs.length > 1) ...[ - if (_homeController.enableGradientBg) ...[ - const CustomTabs(), - ] else ...[ - const SizedBox(height: 4), - SizedBox( - width: double.infinity, - height: 42, - child: Align( - alignment: Alignment.center, - child: TabBar( - controller: _homeController.tabController, - tabs: [ - for (var i in _homeController.tabs) - Tab(text: i['label']) - ], - isScrollable: true, - dividerColor: Colors.transparent, - enableFeedback: true, - splashBorderRadius: BorderRadius.circular(10), - tabAlignment: TabAlignment.center, - onTap: (value) { - feedBack(); - if (_homeController.initialIndex.value == value) { - _homeController.tabsCtrList[value]().animateToTop(); - } - _homeController.initialIndex.value = value; - }, - ), - ), + // padding top + const SizedBox(height: 22), + for (var i in mediaController.list) ...[ + ListTile( + onTap: () => i['onTap'](), + dense: true, + leading: Padding( + padding: const EdgeInsets.only(left: 15), + child: Icon( + i['icon'], + color: primary, ), - ], - ] else ...[ - const SizedBox(height: 6), - ], - Expanded( - child: TabBarView( - controller: _homeController.tabController, - children: _homeController.tabsPageList, + ), + contentPadding: + const EdgeInsets.only(left: 15, top: 2, bottom: 2), + minLeadingWidth: 0, + title: Text( + i['title'], + style: const TextStyle(fontSize: 15), ), ), ], + Obx(() => mediaController.userLogin.value + ? favFolder(mediaController, context) + : const SizedBox()), + SizedBox( + height: MediaQuery.of(context).padding.bottom + + kBottomNavigationBarHeight, + ) + ], ), ], ), ); } -} + Widget favFolder(mediaController, context) { + return Column( + children: [ + Divider( + height: 35, + color: Theme.of(context).dividerColor.withOpacity(0.1), + ), + ListTile( + onTap: () {}, + leading: null, + dense: true, + title: Padding( + padding: const EdgeInsets.only(left: 10), + child: Obx( + () => Text.rich( + TextSpan( + children: [ + TextSpan( + text: '收藏夹 ', + style: TextStyle( + fontSize: + Theme.of(context).textTheme.titleMedium!.fontSize, + fontWeight: FontWeight.bold), + ), + if (mediaController.favFolderData.value.count != null) + TextSpan( + text: mediaController.favFolderData.value.count + .toString(), + style: TextStyle( + fontSize: + Theme.of(context).textTheme.titleSmall!.fontSize, + color: Theme.of(context).colorScheme.primary, + ), + ), + ], + ), + ), + ), + ), + trailing: IconButton( + onPressed: () { + setState(() { + _futureBuilderFuture = mediaController.queryFavFolder(); + }); + }, + icon: const Icon( + Icons.refresh, + size: 20, + ), + ), + ), + // const SizedBox(height: 10), + SizedBox( + width: double.infinity, + height: MediaQuery.textScalerOf(context).scale(200), + child: FutureBuilder( + future: _futureBuilderFuture, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.done) { + if (snapshot.data == null) { + return const SizedBox(); + } + Map data = snapshot.data as Map; + if (data['status']) { + List favFolderList = + mediaController.favFolderData.value.list!; + int favFolderCount = + mediaController.favFolderData.value.count!; + bool flag = favFolderCount > favFolderList.length; + return Obx(() => ListView.builder( + itemCount: + mediaController.favFolderData.value.list!.length + + (flag ? 1 : 0), + itemBuilder: (context, index) { + if (flag && index == favFolderList.length) { + return Padding( + padding: const EdgeInsets.only( + right: 14, bottom: 35), + child: Center( + child: IconButton( + style: ButtonStyle( + padding: MaterialStateProperty.all( + EdgeInsets.zero), + backgroundColor: + MaterialStateProperty.resolveWith( + (states) { + return Theme.of(context) + .colorScheme + .primaryContainer + .withOpacity(0.5); + }), + ), + onPressed: () => Get.toNamed('/fav'), + icon: Icon( + Icons.arrow_forward_ios, + size: 18, + color: Theme.of(context) + .colorScheme + .primary, + ), + ), + )); + } else { + return FavFolderItem( + item: mediaController + .favFolderData.value.list![index], + index: index); + } + }, + scrollDirection: Axis.horizontal, + )); + } else { + return SizedBox( + height: 160, + child: Center(child: Text(data['msg'])), + ); + } + } else { + // 骨架屏 + return const SizedBox(); + } + }), + ), + ], + ); + } +} class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { final double height; final Stream? stream; @@ -433,3 +589,72 @@ class SearchBar extends StatelessWidget { ); } } + + +class FavFolderItem extends StatelessWidget { + const FavFolderItem({super.key, this.item, this.index}); + final FavFolderItemData? item; + final int? index; + @override + Widget build(BuildContext context) { + String heroTag = Utils.makeHeroTag(item!.fid); + + return Container( + margin: EdgeInsets.only(left: index == 0 ? 20 : 0, right: 14), + child: GestureDetector( + onTap: () => Get.toNamed('/favDetail', + arguments: item, + parameters: {'mediaId': item!.id.toString(), 'heroTag': heroTag}), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 12), + Container( + width: 180, + height: 110, + margin: const EdgeInsets.only(bottom: 8), + clipBehavior: Clip.hardEdge, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(12), + color: Theme.of(context).colorScheme.onInverseSurface, + boxShadow: [ + BoxShadow( + color: Theme.of(context).colorScheme.onInverseSurface, + offset: const Offset(4, -12), // 阴影与容器的距离 + blurRadius: 0.0, // 高斯的标准偏差与盒子的形状卷积。 + spreadRadius: 0.0, // 在应用模糊之前,框应该膨胀的量。 + ), + ], + ), + child: LayoutBuilder( + builder: (context, BoxConstraints box) { + return Hero( + tag: heroTag, + child: NetworkImgLayer( + src: item!.cover, + width: box.maxWidth, + height: box.maxHeight, + ), + ); + }, + ), + ), + Text( + ' ${item!.title}', + overflow: TextOverflow.fade, + maxLines: 1, + ), + Text( + ' 共${item!.mediaCount}条视频', + style: Theme.of(context) + .textTheme + .labelSmall! + .copyWith(color: Theme.of(context).colorScheme.outline), + ) + ], + ), + ), + ); + } +} diff --git a/lib/pages/main/view.dart b/lib/pages/main/view.dart index c551e6905..ea21da27d 100644 --- a/lib/pages/main/view.dart +++ b/lib/pages/main/view.dart @@ -127,81 +127,6 @@ class _MainAppState extends State with SingleTickerProviderStateMixin { }, children: _mainController.pages, ), - bottomNavigationBar: StreamBuilder( - stream: _mainController.hideTabBar - ? _mainController.bottomBarStream.stream - : StreamController.broadcast().stream, - initialData: true, - builder: (context, AsyncSnapshot snapshot) { - return AnimatedSlide( - curve: Curves.easeInOutCubicEmphasized, - duration: const Duration(milliseconds: 500), - offset: Offset(0, snapshot.data ? 0 : 1), - child: Obx( - () => enableMYBar - ? NavigationBar( - onDestinationSelected: (value) => setIndex(value), - selectedIndex: _mainController.selectedIndex, - destinations: [ - ..._mainController.navigationBars.map((e) { - return NavigationDestination( - icon: Obx( - () => Badge( - label: - _mainController.dynamicBadgeType.value == - DynamicBadgeMode.number - ? Text(e['count'].toString()) - : null, - padding: - const EdgeInsets.fromLTRB(6, 0, 6, 0), - isLabelVisible: - _mainController.dynamicBadgeType.value != - DynamicBadgeMode.hidden && - e['count'] > 0, - child: e['icon'], - ), - ), - selectedIcon: e['selectIcon'], - label: e['label'], - ); - }).toList(), - ], - ) - : BottomNavigationBar( - currentIndex: _mainController.selectedIndex, - onTap: (value) => setIndex(value), - iconSize: 16, - selectedFontSize: 12, - unselectedFontSize: 12, - items: [ - ..._mainController.navigationBars.map((e) { - return BottomNavigationBarItem( - icon: Obx( - () => Badge( - label: - _mainController.dynamicBadgeType.value == - DynamicBadgeMode.number - ? Text(e['count'].toString()) - : null, - padding: - const EdgeInsets.fromLTRB(6, 0, 6, 0), - isLabelVisible: - _mainController.dynamicBadgeType.value != - DynamicBadgeMode.hidden && - e['count'] > 0, - child: e['icon'], - ), - ), - activeIcon: e['selectIcon'], - label: e['label'], - ); - }).toList(), - ], - ), - ), - ); - }, - ), ), ); } From 90bc2aed998e61ba38628ef8825eb6c5a9f6bb61 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:42:22 +0800 Subject: [PATCH 06/19] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=9A=84=E9=A1=B5=E9=9D=A2=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/main/controller.dart | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/pages/main/controller.dart b/lib/pages/main/controller.dart index ddbd364a5..feb649749 100644 --- a/lib/pages/main/controller.dart +++ b/lib/pages/main/controller.dart @@ -18,9 +18,6 @@ import '../../models/common/nav_bar_config.dart'; class MainController extends GetxController { List pages = [ const HomePage(), - const RankPage(), - const DynamicsPage(), - const MediaPage(), ]; RxList navigationBars = defaultNavigationBars.obs; final StreamController bottomBarStream = @@ -37,9 +34,6 @@ class MainController extends GetxController { @override void onInit() { super.onInit(); - if (setting.get(SettingBoxKey.autoUpdate, defaultValue: false)) { - Utils.checkUpdata(); - } hideTabBar = setting.get(SettingBoxKey.hideTabBar, defaultValue: true); int defaultHomePage = setting.get(SettingBoxKey.defaultHomePage, defaultValue: 0) as int; @@ -50,9 +44,6 @@ class MainController extends GetxController { dynamicBadgeType.value = DynamicBadgeMode.values[setting.get( SettingBoxKey.dynamicBadgeMode, defaultValue: DynamicBadgeMode.number.code)]; - if (dynamicBadgeType.value != DynamicBadgeMode.hidden) { - getUnreadDynamic(); - } } void onBackPressed(BuildContext context) { From 8cf0e5596d95fe33537570dba174c2a25e8a1379 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:45:41 +0800 Subject: [PATCH 07/19] =?UTF-8?q?=E6=90=9C=E7=B4=A2=E9=A1=B5=E5=8E=BB?= =?UTF-8?q?=E9=99=A4=E5=A4=A7=E5=AE=B6=E9=83=BD=E5=9C=A8=E6=90=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/search/view.dart | 37 +------------------------------------ 1 file changed, 1 insertion(+), 36 deletions(-) diff --git a/lib/pages/search/view.dart b/lib/pages/search/view.dart index 95d3134ef..eeaa60f05 100644 --- a/lib/pages/search/view.dart +++ b/lib/pages/search/view.dart @@ -84,14 +84,6 @@ class _SearchPageState extends State with RouteAware { body: SingleChildScrollView( child: Column( children: [ - const SizedBox(height: 12), - // 搜索建议 - _searchSuggest(), - // 热搜 - Visibility( - visible: _searchController.enableHotKey, - child: hotSearch(_searchController), - ), // 搜索历史 _history() ], @@ -134,33 +126,6 @@ class _SearchPageState extends State with RouteAware { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - Padding( - padding: const EdgeInsets.fromLTRB(6, 0, 6, 6), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text( - '大家都在搜', - style: Theme.of(context) - .textTheme - .titleMedium! - .copyWith(fontWeight: FontWeight.bold), - ), - SizedBox( - height: 34, - child: TextButton.icon( - style: ButtonStyle( - padding: MaterialStateProperty.all(const EdgeInsets.only( - left: 10, top: 6, bottom: 6, right: 10)), - ), - onPressed: () => ctr.queryHotSearchList(), - icon: const Icon(Icons.refresh_outlined, size: 18), - label: const Text('刷新'), - ), - ), - ], - ), - ), LayoutBuilder( builder: (context, boxConstraints) { final double width = boxConstraints.maxWidth; @@ -220,7 +185,7 @@ class _SearchPageState extends State with RouteAware { return Obx( () => Container( width: double.infinity, - padding: const EdgeInsets.fromLTRB(10, 25, 6, 0), + padding: const EdgeInsets.fromLTRB(10, 10, 6, 0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ From 0c411990fc6f4cae5b61dcb85a1868072bc2e7b5 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:53:58 +0800 Subject: [PATCH 08/19] =?UTF-8?q?=E9=9A=90=E8=97=8F=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/video/detail/view.dart | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 6958a62d7..ca8fd69fa 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -575,9 +575,6 @@ class _VideoDetailPageState extends State .withOpacity(0.06), ), ), - if (vdCtr.videoType == SearchType.video && - vdCtr.enableRelatedVideo) - const RelatedVideoPanel(), ], ); }, From 610617370a94dd5493a6b0e42c4e4f3107528e18 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:40:40 +0800 Subject: [PATCH 09/19] =?UTF-8?q?=E9=9A=90=E8=97=8F=E6=90=9C=E7=B4=A2=20ta?= =?UTF-8?q?bs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/search_result/view.dart | 59 ++++++++++++++++--------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/lib/pages/search_result/view.dart b/lib/pages/search_result/view.dart index ff5bf7809..b232093ca 100644 --- a/lib/pages/search_result/view.dart +++ b/lib/pages/search_result/view.dart @@ -64,35 +64,38 @@ class _SearchResultPageState extends State splashColor: Colors.transparent, // 点击时的水波纹颜色设置为透明 highlightColor: Colors.transparent, // 点击时的背景高亮颜色设置为透明 ), - child: TabBar( - controller: _tabController, - tabs: [ - for (var i in SearchType.values) Tab(text: i.label), - ], - isScrollable: true, - indicatorWeight: 0, - indicatorPadding: - const EdgeInsets.symmetric(horizontal: 3, vertical: 8), - indicator: BoxDecoration( - color: Theme.of(context).colorScheme.secondaryContainer, - borderRadius: const BorderRadius.all(Radius.circular(20)), - ), - indicatorSize: TabBarIndicatorSize.tab, - labelColor: Theme.of(context).colorScheme.onSecondaryContainer, - labelStyle: const TextStyle(fontSize: 13), - dividerColor: Colors.transparent, - unselectedLabelColor: Theme.of(context).colorScheme.outline, - tabAlignment: TabAlignment.start, - onTap: (index) { - if (index == _searchResultController!.tabIndex) { - Get.find( - tag: SearchType.values[index].type + - _searchResultController!.keyword!) - .animateToTop(); - } + child: Visibility( + visible: false, + child: TabBar( + controller: _tabController, + tabs: [ + for (var i in SearchType.values) Tab(text: i.label), + ], + isScrollable: true, + indicatorWeight: 0, + indicatorPadding: + const EdgeInsets.symmetric(horizontal: 3, vertical: 8), + indicator: BoxDecoration( + color: Theme.of(context).colorScheme.secondaryContainer, + borderRadius: const BorderRadius.all(Radius.circular(20)), + ), + indicatorSize: TabBarIndicatorSize.tab, + labelColor: Theme.of(context).colorScheme.onSecondaryContainer, + labelStyle: const TextStyle(fontSize: 13), + dividerColor: Colors.transparent, + unselectedLabelColor: Theme.of(context).colorScheme.outline, + tabAlignment: TabAlignment.start, + onTap: (index) { + if (index == _searchResultController!.tabIndex) { + Get.find( + tag: SearchType.values[index].type + + _searchResultController!.keyword!) + .animateToTop(); + } - _searchResultController!.tabIndex = index; - }, + _searchResultController!.tabIndex = index; + }, + ) ), ), ), From d0f01376c04203de25a6092e5c0a0f87554ddbac Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:40:57 +0800 Subject: [PATCH 10/19] =?UTF-8?q?Revert=20"=E9=9A=90=E8=97=8F=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E8=A7=86=E9=A2=91"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 0c411990fc6f4cae5b61dcb85a1868072bc2e7b5. --- lib/pages/video/detail/view.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index ca8fd69fa..6958a62d7 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -575,6 +575,9 @@ class _VideoDetailPageState extends State .withOpacity(0.06), ), ), + if (vdCtr.videoType == SearchType.video && + vdCtr.enableRelatedVideo) + const RelatedVideoPanel(), ], ); }, From 609a63f7572b02215efc360626f09328e24c0383 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:53:21 +0800 Subject: [PATCH 11/19] =?UTF-8?q?=E9=9A=90=E8=97=8F=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/video/detail/related/view.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pages/video/detail/related/view.dart b/lib/pages/video/detail/related/view.dart index 0912724eb..e9d9ff340 100644 --- a/lib/pages/video/detail/related/view.dart +++ b/lib/pages/video/detail/related/view.dart @@ -76,7 +76,7 @@ class _RelatedVideoPanelState extends State ); } else { // 请求错误 - return HttpError(errMsg: '出错了', fn: () {}); + return Visibility(visible: false, child: HttpError(errMsg: '出错了', fn: () {})); } } else { // 骨架屏 From 6d6d35ae9e0dbf7d1896505f00e8807f76185a2e Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 12:53:44 +0800 Subject: [PATCH 12/19] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E5=92=8C=20commit=20=E6=88=91=E7=9A=84=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.sh | 10 + pubspec.lock | 680 +++++++++++++++++++++++++++------------------------ pubspec.yaml | 2 +- 3 files changed, 367 insertions(+), 325 deletions(-) create mode 100644 install.sh diff --git a/install.sh b/install.sh new file mode 100644 index 000000000..23f5b875d --- /dev/null +++ b/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# https://stackoverflow.com/questions/3349105/how-can-i-set-the-current-working-directory-to-the-directory-of-the-script-in-ba +cd "$(dirname "$0")" +echo "wokring directory: $PWD" + +# build apk +flutter build apk --target-platform android-arm64 --split-per-abi -v + +# install apk +adb install build/app/outputs/flutter-apk/app-arm64-v8a-release.apk \ No newline at end of file diff --git a/pubspec.lock b/pubspec.lock index 695505d77..972a48c8f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,24 +5,24 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 - url: "https://pub.flutter-io.cn" + sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + url: "https://pub.dev" source: hosted - version: "64.0.0" + version: "67.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" - url: "https://pub.flutter-io.cn" + sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.4.1" animations: dependency: "direct main" description: name: animations sha256: d3d6dcfb218225bbe68e87ccf6378bbb2e32a94900722c5f81611dad089911cb - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.11" appscheme: @@ -30,39 +30,39 @@ packages: description: name: appscheme sha256: b885b65219f3839ebafc937024a1bc5ce5a75b0e458fd249ef15e80e81235b6f - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.8" archive: dependency: transitive description: name: archive - sha256: "7b875fd4a20b165a3084bd2d210439b22ebc653f21cea4842729c0c30c82596b" - url: "https://pub.flutter-io.cn" + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + url: "https://pub.dev" source: hosted - version: "3.4.9" + version: "3.4.10" args: dependency: transitive description: name: args sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.2" asn1lib: dependency: transitive description: name: asn1lib - sha256: "21afe4333076c02877d14f4a89df111e658a6d466cbfc802eb705eb91bd5adfd" - url: "https://pub.flutter-io.cn" + sha256: c9c85fedbe2188b95133cbe960e16f5f448860f7133330e272edbbca5893ddc6 + url: "https://pub.dev" source: hosted - version: "1.5.0" + version: "1.5.2" async: dependency: transitive description: name: async sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.11.0" audio_service: @@ -70,7 +70,7 @@ packages: description: name: audio_service sha256: a4d989f1225ea9621898d60f23236dcbfc04876fa316086c23c5c4af075dbac4 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.18.12" audio_service_platform_interface: @@ -78,7 +78,7 @@ packages: description: name: audio_service_platform_interface sha256: "8431a455dac9916cc9ee6f7da5620a666436345c906ad2ebb7fa41d18b3c1bf4" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.1" audio_service_web: @@ -86,7 +86,7 @@ packages: description: name: audio_service_web sha256: "523e64ddc914c714d53eec2da85bba1074f08cf26c786d4efb322de510815ea7" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.1" audio_session: @@ -94,7 +94,7 @@ packages: description: name: audio_session sha256: "6fdf255ed3af86535c96452c33ecff1245990bb25a605bfb1958661ccc3d467f" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.18" audio_video_progress_bar: @@ -102,7 +102,7 @@ packages: description: name: audio_video_progress_bar sha256: ccc7d7b83d2a16c52d4a7fb332faabd1baa053fb0e4c16815aefd3945ab33b81 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.2" auto_orientation: @@ -110,7 +110,7 @@ packages: description: name: auto_orientation sha256: cd56bb59b36fa54cc28ee254bc600524f022a4862f31d5ab20abd7bb1c54e678 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.3.1" boolean_selector: @@ -118,7 +118,7 @@ packages: description: name: boolean_selector sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" build: @@ -126,7 +126,7 @@ packages: description: name: build sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.1" build_config: @@ -134,7 +134,7 @@ packages: description: name: build_config sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" build_daemon: @@ -142,7 +142,7 @@ packages: description: name: build_daemon sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.0.1" build_resolvers: @@ -150,7 +150,7 @@ packages: description: name: build_resolvers sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.2" build_runner: @@ -158,71 +158,71 @@ packages: description: name: build_runner sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.4.8" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: c9e32d21dd6626b5c163d48b037ce906bbe428bc23ab77bcd77bb21e593b6185 - url: "https://pub.flutter-io.cn" + sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + url: "https://pub.dev" source: hosted - version: "7.2.11" + version: "7.3.0" built_collection: dependency: transitive description: name: built_collection sha256: "376e3dd27b51ea877c28d525560790aee2e6fbb5f20e2f85d5081027d94e2100" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.1.1" built_value: dependency: transitive description: name: built_value - sha256: c9aabae0718ec394e5bc3c7272e6bb0dc0b32201a08fe185ec1d8401d3e39309 - url: "https://pub.flutter-io.cn" + sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + url: "https://pub.dev" source: hosted - version: "8.8.1" + version: "8.9.1" cached_network_image: dependency: "direct main" description: name: cached_network_image - sha256: f98972704692ba679db144261172a8e20feb145636c617af0eb4022132a6797f - url: "https://pub.flutter-io.cn" + sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" + url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.3.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "56aa42a7a01e3c9db8456d9f3f999931f1e05535b5a424271e9a38cabf066613" - url: "https://pub.flutter-io.cn" + sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" + url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "4.0.0" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "759b9a9f8f6ccbb66c185df805fac107f05730b1dab9c64626d1008cca532257" - url: "https://pub.flutter-io.cn" + sha256: "42a835caa27c220d1294311ac409a43361088625a4f23c820b006dd9bffb3316" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" catcher_2: dependency: "direct main" description: name: catcher_2 - sha256: "9cf33d2befd10058374e5fc6177577fdd938d73d9c06810de81cf91311a7ce98" - url: "https://pub.flutter-io.cn" + sha256: "3c8f6cedc8c5eab61192830096d4f303900a5d0bddbf96a07ff9f7a8d5ff8fcd" + url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.2.4" characters: dependency: transitive description: name: characters sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.0" checked_yaml: @@ -230,7 +230,7 @@ packages: description: name: checked_yaml sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.3" cli_util: @@ -238,7 +238,7 @@ packages: description: name: cli_util sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.4.1" clock: @@ -246,23 +246,23 @@ packages: description: name: clock sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" code_builder: dependency: transitive description: name: code_builder - sha256: feee43a5c05e7b3199bb375a86430b8ada1b04104f2923d0e03cc01ca87b6d84 - url: "https://pub.flutter-io.cn" + sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + url: "https://pub.dev" source: hosted - version: "4.9.0" + version: "4.10.0" collection: dependency: transitive description: name: collection sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.18.0" connectivity_plus: @@ -270,7 +270,7 @@ packages: description: name: connectivity_plus sha256: e9feae83b1849f61bad9f6f33ee00646e3410d54ce0821e02f262f9901dad3c9 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.0.1" connectivity_plus_platform_interface: @@ -278,7 +278,7 @@ packages: description: name: connectivity_plus_platform_interface sha256: b6a56efe1e6675be240de39107281d4034b64ac23438026355b4234042a35adb - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.0" convert: @@ -286,7 +286,7 @@ packages: description: name: convert sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.1" cookie_jar: @@ -294,23 +294,23 @@ packages: description: name: cookie_jar sha256: a6ac027d3ed6ed756bfce8f3ff60cb479e266f3b0fdabd6242b804b6765e52de - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.0.8" cross_file: dependency: transitive description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e - url: "https://pub.flutter-io.cn" + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.4+1" crypto: dependency: "direct main" description: name: crypto sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.3" csslib: @@ -318,7 +318,7 @@ packages: description: name: csslib sha256: "831883fb353c8bdc1d71979e5b342c7d88acfbc643113c14ae51e2442ea0f20f" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.17.3" cupertino_icons: @@ -326,7 +326,7 @@ packages: description: name: cupertino_icons sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.6" custom_sliding_segmented_control: @@ -334,39 +334,39 @@ packages: description: name: custom_sliding_segmented_control sha256: "05b73fa48d57218bfdf806bad68a859812b216cd81fe81c6cbefde89f39eb257" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.8.1" dart_style: dependency: transitive description: name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" - url: "https://pub.flutter-io.cn" + sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "2.3.6" dbus: dependency: transitive description: name: dbus sha256: "365c771ac3b0e58845f39ec6deebc76e3276aa9922b0cc60840712094d9047ac" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.7.10" device_info_plus: dependency: "direct main" description: name: device_info_plus - sha256: "0042cb3b2a76413ea5f8a2b40cec2a33e01d0c937e91f0f7c211fde4f7739ba6" - url: "https://pub.flutter-io.cn" + sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" + url: "https://pub.dev" source: hosted - version: "9.1.1" + version: "9.1.2" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "7.0.0" dio: @@ -374,7 +374,7 @@ packages: description: name: dio sha256: "49af28382aefc53562459104f64d16b9dfd1e8ef68c862d5af436cc8356ce5a8" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.4.1" dio_cookie_manager: @@ -382,23 +382,23 @@ packages: description: name: dio_cookie_manager sha256: e79498b0f632897ff0c28d6e8178b4bc6e9087412401f618c31fa0904ace050d - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.1" dio_http2_adapter: dependency: "direct main" description: name: dio_http2_adapter - sha256: "3bb35e81eb8a688eb1cb15beb97f46823698b44037e7b55227aa1060f5593adc" - url: "https://pub.flutter-io.cn" + sha256: "1d6b89212a621a7d8da7667cf25759f3762b4b54fbff3cfe3c93b32c9c617384" + url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.5.0" disable_battery_optimization: dependency: "direct main" description: name: disable_battery_optimization sha256: "6b2ba802f984af141faf1b6b5fb956d5ef01f9cd555597c35b9cc335a03185ba" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" dismissible_page: @@ -406,7 +406,7 @@ packages: description: name: dismissible_page sha256: "5b2316f770fe83583f770df1f6505cb19102081c5971979806e77f2e507a9958" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.2" dynamic_color: @@ -414,7 +414,7 @@ packages: description: name: dynamic_color sha256: eae98052fa6e2826bdac3dd2e921c6ce2903be15c6b7f8b6d8a5d49b5086298d - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.7.0" easy_debounce: @@ -422,7 +422,7 @@ packages: description: name: easy_debounce sha256: f082609cfb8f37defb9e37fc28bc978c6712dedf08d4c5a26f820fa10165a236 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.3" encrypt: @@ -430,7 +430,7 @@ packages: description: name: encrypt sha256: "62d9aa4670cc2a8798bab89b39fc71b6dfbacf615de6cf5001fb39f7e4a996a2" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "5.0.3" extended_image: @@ -438,23 +438,23 @@ packages: description: name: extended_image sha256: d7f091d068fcac7246c4b22a84b8dac59a62e04d29a5c172710c696e67a22f94 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "8.2.0" extended_image_library: dependency: transitive description: name: extended_image_library - sha256: "9b55fc5ebc65fad984de66b8f177a1bef2a84d79203c9c213f75ff83c2c29edd" - url: "https://pub.flutter-io.cn" + sha256: d9a3675485bd69fe1bbe3b7f5664a3544d3eb518adb5a18dab05557562ae1395 + url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "4.0.3" extended_list: dependency: transitive description: name: extended_list sha256: b27a2f0f55dadbf5b273bdaaf9307a7e0098a9fc0c4b8eb60ae98c319af596bc - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.1" extended_list_library: @@ -462,7 +462,7 @@ packages: description: name: extended_list_library sha256: cb424a04464e89bd6737f9ae025029bd8e913c7bf37101ad10c2defe0238d842 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.0" extended_nested_scroll_view: @@ -470,7 +470,7 @@ packages: description: name: extended_nested_scroll_view sha256: "835580d40c2c62b448bd14adecd316acba469ba61f1510ef559d17668a85e777" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.2.1" fake_async: @@ -478,23 +478,23 @@ packages: description: name: fake_async sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" - url: "https://pub.flutter-io.cn" + sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.2" file: dependency: transitive description: name: file sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "7.0.0" fixnum: @@ -502,7 +502,7 @@ packages: description: name: fixnum sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" floating: @@ -524,7 +524,7 @@ packages: description: name: flutter_cache_manager sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.3.1" flutter_displaymode: @@ -532,7 +532,7 @@ packages: description: name: flutter_displaymode sha256: "42c5e9abd13d28ed74f701b60529d7f8416947e58256e6659c5550db719c57ef" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.6.0" flutter_html: @@ -540,7 +540,7 @@ packages: description: name: flutter_html sha256: "02ad69e813ecfc0728a455e4bf892b9379983e050722b1dce00192ee2e41d1ee" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.0-beta.2" flutter_launcher_icons: @@ -548,7 +548,7 @@ packages: description: name: flutter_launcher_icons sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.13.1" flutter_lints: @@ -556,7 +556,7 @@ packages: description: name: flutter_lints sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.3" flutter_localizations: @@ -569,7 +569,7 @@ packages: description: name: flutter_mailer sha256: "4fffaa35e911ff5ec2e5a4ebbca62c372e99a154eb3bb2c0bf79f09adf6ecf4c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" flutter_plugin_android_lifecycle: @@ -577,23 +577,23 @@ packages: description: name: flutter_plugin_android_lifecycle sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.17" flutter_smart_dialog: dependency: "direct main" description: name: flutter_smart_dialog - sha256: a666d56e3348aae0a85cf3d19c1b5b18799f39e0568023f991aacd83d5d7c441 - url: "https://pub.flutter-io.cn" + sha256: e9ee69eeac16165d142f1974b4db05ca9846cffafb7c94674a38ec07d7e6cda1 + url: "https://pub.dev" source: hosted - version: "4.9.5+1" + version: "4.9.6" flutter_svg: dependency: "direct main" description: name: flutter_svg sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.10+1" flutter_test: @@ -606,7 +606,7 @@ packages: description: name: flutter_volume_controller sha256: "0f10cc759499cb6c3e152a8f6ff8e5ce385b99db7e1f586d1a29d8e6c11f4082" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.1" flutter_web_plugins: @@ -619,23 +619,23 @@ packages: description: name: fluttertoast sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "8.2.4" font_awesome_flutter: dependency: "direct main" description: name: font_awesome_flutter - sha256: "52671aea66da73b58d42ec6d0912b727a42248dd9a7c76d6c20f275783c48c08" - url: "https://pub.flutter-io.cn" + sha256: "275ff26905134bcb59417cf60ad979136f1f8257f2f449914b2c3e05bbb4cd6f" + url: "https://pub.dev" source: hosted - version: "10.6.0" + version: "10.7.0" frontend_server_client: dependency: transitive description: name: frontend_server_client sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.2.0" get: @@ -643,7 +643,7 @@ packages: description: name: get sha256: e4e7335ede17452b391ed3b2ede016545706c01a02292a6c97619705e7d2a85e - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.6.6" glob: @@ -651,7 +651,7 @@ packages: description: name: glob sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" graphs: @@ -659,23 +659,23 @@ packages: description: name: graphs sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.3.1" gt3_flutter_plugin: dependency: "direct main" description: name: gt3_flutter_plugin - sha256: f12bff2bfbcf27467833f8d564dcc24ee2f1b3254a7c7cf5eb2c4590baf11cc1 - url: "https://pub.flutter-io.cn" + sha256: "786b3b53e117678845488f8212d1b959cb969a94e7f5e68d7698d98cf6929eef" + url: "https://pub.dev" source: hosted - version: "0.0.8" + version: "0.0.9" hive: dependency: "direct main" description: name: hive sha256: "8dcf6db979d7933da8217edcec84e9df1bdb4e4edc7fc77dbd5aa74356d6d941" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.3" hive_flutter: @@ -683,7 +683,7 @@ packages: description: name: hive_flutter sha256: dca1da446b1d808a51689fb5d0c6c9510c0a2ba01e22805d492c73b68e33eecc - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" hive_generator: @@ -691,7 +691,7 @@ packages: description: name: hive_generator sha256: "06cb8f58ace74de61f63500564931f9505368f45f98958bd7a6c35ba24159db4" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.1" html: @@ -699,31 +699,31 @@ packages: description: name: html sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.15.4" http: dependency: transitive description: name: http - sha256: d4872660c46d929f6b8a9ef4e7a7eff7e49bbf0c4ec3f385ee32df5119175139 - url: "https://pub.flutter-io.cn" + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" + url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.2.1" http2: dependency: transitive description: name: http2 - sha256: "38db0c4aa9f1cd238a5d2e86aa0cc7cc91c77e0c6c94ba64bbe85e4ff732a952" - url: "https://pub.flutter-io.cn" + sha256: "9ced024a160b77aba8fb8674e38f70875e321d319e6f303ec18e87bd5a4b0c1d" + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" http_client_helper: dependency: transitive description: name: http_client_helper sha256: "8a9127650734da86b5c73760de2b404494c968a3fd55602045ffec789dac3cb1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.0" http_multi_server: @@ -731,7 +731,7 @@ packages: description: name: http_multi_server sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.2.1" http_parser: @@ -739,23 +739,23 @@ packages: description: name: http_parser sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.0.2" image: dependency: transitive description: name: image - sha256: "028f61960d56f26414eb616b48b04eb37d700cbe477b7fb09bf1d7ce57fd9271" - url: "https://pub.flutter-io.cn" + sha256: "4c68bfd5ae83e700b5204c1e74451e7bf3cf750e6843c6e158289cf56bda018e" + url: "https://pub.dev" source: hosted - version: "4.1.3" + version: "4.1.7" intl: dependency: transitive description: name: intl sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.18.1" io: @@ -763,7 +763,7 @@ packages: description: name: io sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.4" js: @@ -771,7 +771,7 @@ packages: description: name: js sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.6.7" json_annotation: @@ -779,15 +779,39 @@ packages: description: name: json_annotation sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.8.1" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + url: "https://pub.dev" + source: hosted + version: "10.0.0" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + url: "https://pub.dev" + source: hosted + version: "2.0.1" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + url: "https://pub.dev" + source: hosted + version: "2.0.1" lints: dependency: transitive description: name: lints sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.1" list_counter: @@ -795,7 +819,7 @@ packages: description: name: list_counter sha256: c447ae3dfcd1c55f0152867090e67e219d42fe6d4f2807db4bbe8b8d69912237 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.2" loading_more_list: @@ -803,7 +827,7 @@ packages: description: name: loading_more_list sha256: "6b49eb935345d6cf291e0367d3c238ef0a525a08b671ee41e09ee67d41888a7a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.0.0" loading_more_list_library: @@ -811,55 +835,55 @@ packages: description: name: loading_more_list_library sha256: de6b57edbab83022180f053ec3f598dd5e1192cfd6a285882b8155e3cb5dc581 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.0" logger: dependency: "direct main" description: name: logger - sha256: "6bbb9d6f7056729537a4309bda2e74e18e5d9f14302489cc1e93f33b3fe32cac" - url: "https://pub.flutter-io.cn" + sha256: "8c94b8c219e7e50194efc8771cd0e9f10807d8d3e219af473d89b06cc2ee4e04" + url: "https://pub.dev" source: hosted - version: "2.0.2+1" + version: "2.2.0" logging: dependency: transitive description: name: logging sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.0" mailer: dependency: transitive description: name: mailer - sha256: "57f6dd1496699999a7bfd0aa6be0645384f477f4823e16d4321c40a434346382" - url: "https://pub.flutter-io.cn" + sha256: d25d89555c1031abacb448f07b801d7c01b4c21d4558e944b12b64394c84a3cb + url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.1.0" matcher: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" - url: "https://pub.flutter-io.cn" + sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb + url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.16+1" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" - url: "https://pub.flutter-io.cn" + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.8.0" media_kit: dependency: "direct main" description: name: media_kit sha256: "3289062540e3b8b9746e5c50d95bd78a9289826b7227e253dff806d002b9e67a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.10+1" media_kit_libs_android_video: @@ -867,7 +891,7 @@ packages: description: name: media_kit_libs_android_video sha256: "9dd8012572e4aff47516e55f2597998f0a378e3d588d0fad0ca1f11a53ae090c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.6" media_kit_libs_ios_video: @@ -875,7 +899,7 @@ packages: description: name: media_kit_libs_ios_video sha256: b5382994eb37a4564c368386c154ad70ba0cc78dacdd3fb0cd9f30db6d837991 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.4" media_kit_libs_linux: @@ -883,7 +907,7 @@ packages: description: name: media_kit_libs_linux sha256: e186891c31daa6bedab4d74dcdb4e8adfccc7d786bfed6ad81fe24a3b3010310 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.3" media_kit_libs_macos_video: @@ -891,7 +915,7 @@ packages: description: name: media_kit_libs_macos_video sha256: f26aa1452b665df288e360393758f84b911f70ffb3878032e1aabba23aa1032d - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.4" media_kit_libs_video: @@ -899,7 +923,7 @@ packages: description: name: media_kit_libs_video sha256: "3688e0c31482074578652bf038ce6301a5d21e1eda6b54fc3117ffeb4bdba067" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.4" media_kit_libs_windows_video: @@ -907,7 +931,7 @@ packages: description: name: media_kit_libs_windows_video sha256: "7bace5f35d9afcc7f9b5cdadb7541d2191a66bb3fc71bfa11c1395b3360f6122" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.9" media_kit_native_event_loop: @@ -915,7 +939,7 @@ packages: description: name: media_kit_native_event_loop sha256: a605cf185499d14d58935b8784955a92a4bf0ff4e19a23de3d17a9106303930e - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.8" media_kit_video: @@ -923,31 +947,31 @@ packages: description: name: media_kit_video sha256: c048d11a19e379aebbe810647636e3fc6d18374637e2ae12def4ff8a4b99a882 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.4" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e - url: "https://pub.flutter-io.cn" + sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" mime: dependency: transitive description: name: mime - sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e - url: "https://pub.flutter-io.cn" + sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" nil: dependency: "direct main" description: name: nil sha256: ef05770c48942876d843bf6a4822d35e5da0ff893a61f1d5ad96d15c4a659136 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.1" nm: @@ -955,7 +979,7 @@ packages: description: name: nm sha256: "2c9aae4127bdc8993206464fcc063611e0e36e72018696cd9631023a31b24254" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.5.0" ns_danmaku: @@ -972,7 +996,7 @@ packages: description: name: octo_image sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.0" package_config: @@ -980,7 +1004,7 @@ packages: description: name: package_config sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.0" package_info_plus: @@ -988,7 +1012,7 @@ packages: description: name: package_info_plus sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.2.0" package_info_plus_platform_interface: @@ -996,71 +1020,71 @@ packages: description: name: package_info_plus_platform_interface sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.1" path: dependency: "direct main" description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" - url: "https://pub.flutter-io.cn" + sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af" + url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.0" path_parsing: dependency: transitive description: name: path_parsing sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.1" path_provider: dependency: "direct main" description: name: path_provider - sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa - url: "https://pub.flutter-io.cn" + sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 - url: "https://pub.flutter-io.cn" + sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" - url: "https://pub.flutter-io.cn" + sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" path_provider_linux: dependency: transitive description: name: path_provider_linux sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.1" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" - url: "https://pub.flutter-io.cn" + sha256: "88f5779f72ba699763fa3a3b06aa4bf6de76c8e5de842cf6f29e2e06476c2334" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" path_provider_windows: dependency: transitive description: name: path_provider_windows sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.1" permission_handler: @@ -1068,7 +1092,7 @@ packages: description: name: permission_handler sha256: "74e962b7fad7ff75959161bb2c0ad8fe7f2568ee82621c9c2660b751146bfe44" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "11.3.0" permission_handler_android: @@ -1076,7 +1100,7 @@ packages: description: name: permission_handler_android sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "12.0.5" permission_handler_apple: @@ -1084,7 +1108,7 @@ packages: description: name: permission_handler_apple sha256: "92861b0f0c2443dd8898398c2baa4f1ae925109b5909ae4a17d0108a6a788932" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "9.4.2" permission_handler_html: @@ -1092,7 +1116,7 @@ packages: description: name: permission_handler_html sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.1" permission_handler_platform_interface: @@ -1100,7 +1124,7 @@ packages: description: name: permission_handler_platform_interface sha256: "23dfba8447c076ab5be3dee9ceb66aad345c4a648f0cac292c77b1eb0e800b78" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "4.2.0" permission_handler_windows: @@ -1108,7 +1132,7 @@ packages: description: name: permission_handler_windows sha256: "1a790728016f79a41216d88672dbc5df30e686e811ad4e698bfc51f76ad91f1e" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.2.1" petitparser: @@ -1116,39 +1140,39 @@ packages: description: name: petitparser sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.0.2" platform: dependency: transitive description: name: platform - sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" - url: "https://pub.flutter-io.cn" + sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + url: "https://pub.dev" source: hosted - version: "3.1.3" + version: "3.1.4" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - sha256: f4f88d4a900933e7267e2b353594774fc0d07fb072b47eedcd5b54e1ea3269f8 - url: "https://pub.flutter-io.cn" + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" source: hosted - version: "2.1.7" + version: "2.1.8" pointycastle: dependency: transitive description: name: pointycastle - sha256: "7c1e5f0d23c9016c5bbd8b1473d0d3fb3fc851b876046039509e18e0c7485f2c" - url: "https://pub.flutter-io.cn" + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" + url: "https://pub.dev" source: hosted - version: "3.7.3" + version: "3.7.4" pool: dependency: transitive description: name: pool sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.5.1" protobuf: @@ -1156,7 +1180,7 @@ packages: description: name: protobuf sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.0" pub_semver: @@ -1164,7 +1188,7 @@ packages: description: name: pub_semver sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" pubspec_parse: @@ -1172,7 +1196,7 @@ packages: description: name: pubspec_parse sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.3" pull_to_refresh_notification: @@ -1180,7 +1204,7 @@ packages: description: name: pull_to_refresh_notification sha256: "5a06c242a6c3264bac3a7facbe2c6d317a5f54fc10c20b556dbd34ceee32c9aa" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.0" rxdart: @@ -1188,7 +1212,7 @@ packages: description: name: rxdart sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.27.7" safe_local_storage: @@ -1196,23 +1220,23 @@ packages: description: name: safe_local_storage sha256: ede4eb6cb7d88a116b3d3bf1df70790b9e2038bc37cb19112e381217c74d9440 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.2" saver_gallery: dependency: "direct main" description: name: saver_gallery - sha256: "2657953427ebe5a3b2d08157d41587c01923ccce3f1a616d55082be7470f8530" - url: "https://pub.flutter-io.cn" + sha256: cceebad1f792adad4eb5015b415dcd521779a772ea574f0d7fc534b128deac83 + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" screen_brightness: dependency: "direct main" description: name: screen_brightness sha256: ed8da4a4511e79422fc1aa88138e920e4008cd312b72cdaa15ccb426c0faaedd - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.2.2+1" screen_brightness_android: @@ -1220,7 +1244,7 @@ packages: description: name: screen_brightness_android sha256: "3df10961e3a9e968a5e076fe27e7f4741fa8a1d3950bdeb48cf121ed529d0caf" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.0+2" screen_brightness_ios: @@ -1228,7 +1252,7 @@ packages: description: name: screen_brightness_ios sha256: "99adc3ca5490b8294284aad5fcc87f061ad685050e03cf45d3d018fe398fd9a2" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.0" screen_brightness_macos: @@ -1236,7 +1260,7 @@ packages: description: name: screen_brightness_macos sha256: "64b34e7e3f4900d7687c8e8fb514246845a73ecec05ab53483ed025bd4a899fd" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.0+1" screen_brightness_platform_interface: @@ -1244,7 +1268,7 @@ packages: description: name: screen_brightness_platform_interface sha256: b211d07f0c96637a15fb06f6168617e18030d5d74ad03795dd8547a52717c171 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.0" screen_brightness_windows: @@ -1252,7 +1276,7 @@ packages: description: name: screen_brightness_windows sha256: "9261bf33d0fc2707d8cf16339ce25768100a65e70af0fcabaf032fc12408ba86" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.3" scrollable_positioned_list: @@ -1260,39 +1284,39 @@ packages: description: name: scrollable_positioned_list sha256: "1b54d5f1329a1e263269abc9e2543d90806131aa14fe7c6062a8054d57249287" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.3.8" sentry: dependency: transitive description: name: sentry - sha256: "5686ed515bb620dc52b4ae99a6586fe720d443591183cf1f620ec5d1f0eec100" - url: "https://pub.flutter-io.cn" + sha256: a460aa48568d47140dd0557410b624d344ffb8c05555107ac65035c1097cf1ad + url: "https://pub.dev" source: hosted - version: "7.15.0" + version: "7.18.0" share_plus: dependency: "direct main" description: name: share_plus - sha256: f74fc3f1cbd99f39760182e176802f693fa0ec9625c045561cfad54681ea93dd - url: "https://pub.flutter-io.cn" + sha256: "3ef39599b00059db0990ca2e30fca0a29d8b37aae924d60063f8e0184cf20900" + url: "https://pub.dev" source: hosted - version: "7.2.1" + version: "7.2.2" share_plus_platform_interface: dependency: transitive description: name: share_plus_platform_interface - sha256: df08bc3a07d01f5ea47b45d03ffcba1fa9cd5370fb44b3f38c70e42cced0f956 - url: "https://pub.flutter-io.cn" + sha256: "251eb156a8b5fa9ce033747d73535bf53911071f8d3b6f4f0b578505ce0d4496" + url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.0" shelf: dependency: transitive description: name: shelf sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.4.1" shelf_web_socket: @@ -1300,7 +1324,7 @@ packages: description: name: shelf_web_socket sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.4" sky_engine: @@ -1313,7 +1337,7 @@ packages: description: name: source_gen sha256: "14658ba5f669685cd3d63701d01b31ea748310f7ab854e471962670abcf57832" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.5.0" source_helper: @@ -1321,7 +1345,7 @@ packages: description: name: source_helper sha256: "6adebc0006c37dd63fe05bca0a929b99f06402fc95aa35bf36d67f5c06de01fd" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.4" source_span: @@ -1329,31 +1353,31 @@ packages: description: name: source_span sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.10.0" sqflite: dependency: transitive description: name: sqflite - sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a" - url: "https://pub.flutter-io.cn" + sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 + url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.2" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6 - url: "https://pub.flutter-io.cn" + sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + url: "https://pub.dev" source: hosted - version: "2.5.0+2" + version: "2.5.4" stack_trace: dependency: transitive description: name: stack_trace sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.11.1" status_bar_control: @@ -1361,7 +1385,7 @@ packages: description: name: status_bar_control sha256: "7f2c1f3f7fd13b85ed284eb7ca3f74ceb8dcfdd25636d3a84186d0a687d36693" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.2.1" stream_channel: @@ -1369,7 +1393,7 @@ packages: description: name: stream_channel sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.2" stream_transform: @@ -1377,7 +1401,7 @@ packages: description: name: stream_transform sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.0" string_scanner: @@ -1385,23 +1409,23 @@ packages: description: name: string_scanner sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.0" synchronized: dependency: transitive description: name: synchronized - sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60" - url: "https://pub.flutter-io.cn" + sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.0+1" system_proxy: dependency: "direct main" description: name: system_proxy sha256: bbdfc9736a963409941fb0e7c494606c1f13c2be34de15833ee385da83cf7ab0 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.1.0" term_glyph: @@ -1409,7 +1433,7 @@ packages: description: name: term_glyph sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.2.1" test_api: @@ -1417,7 +1441,7 @@ packages: description: name: test_api sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.6.1" timing: @@ -1425,7 +1449,7 @@ packages: description: name: timing sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.1" typed_data: @@ -1433,7 +1457,7 @@ packages: description: name: typed_data sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.3.2" universal_io: @@ -1441,7 +1465,7 @@ packages: description: name: universal_io sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.2.2" universal_platform: @@ -1449,7 +1473,7 @@ packages: description: name: universal_platform sha256: d315be0f6641898b280ffa34e2ddb14f3d12b1a37882557869646e0cc363d0cc - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.0.0+1" uri_parser: @@ -1457,39 +1481,39 @@ packages: description: name: uri_parser sha256: "6543c9fd86d2862fac55d800a43e67c0dcd1a41677cb69c2f8edfe73bbcf1835" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.2" url_launcher: dependency: "direct main" description: name: url_launcher - sha256: e9aa5ea75c84cf46b3db4eea212523591211c3cf2e13099ee4ec147f54201c86 - url: "https://pub.flutter-io.cn" + sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.2.5" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "31222ffb0063171b526d3e569079cf1f8b294075ba323443fdc690842bfd4def" - url: "https://pub.flutter-io.cn" + sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 + url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "6.3.0" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: bba3373219b7abb6b5e0d071b0fe66dfbe005d07517a68e38d4fc3638f35c6d3 - url: "https://pub.flutter-io.cn" + sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.5" url_launcher_linux: dependency: transitive description: name: url_launcher_linux sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.1" url_launcher_macos: @@ -1497,31 +1521,31 @@ packages: description: name: url_launcher_macos sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.0" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - sha256: "980e8d9af422f477be6948bdfb68df8433be71f5743a188968b0c1b887807e50" - url: "https://pub.flutter-io.cn" + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" + url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: "7286aec002c8feecc338cc33269e96b73955ab227456e9fb2a91f7fab8a358e9" - url: "https://pub.flutter-io.cn" + sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" + url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.0" url_launcher_windows: dependency: transitive description: name: url_launcher_windows sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.1" uuid: @@ -1529,7 +1553,7 @@ packages: description: name: uuid sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.7" vector_graphics: @@ -1537,7 +1561,7 @@ packages: description: name: vector_graphics sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.11+1" vector_graphics_codec: @@ -1545,7 +1569,7 @@ packages: description: name: vector_graphics_codec sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.11+1" vector_graphics_compiler: @@ -1553,7 +1577,7 @@ packages: description: name: vector_graphics_compiler sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.11+1" vector_math: @@ -1561,7 +1585,7 @@ packages: description: name: vector_math sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.1.4" visibility_detector: @@ -1569,15 +1593,23 @@ packages: description: name: visibility_detector sha256: dd5cc11e13494f432d15939c3aa8ae76844c42b723398643ce9addb88a5ed420 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "0.4.0+2" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + url: "https://pub.dev" + source: hosted + version: "13.0.0" volume_controller: dependency: transitive description: name: volume_controller sha256: "189bdc7a554f476b412e4c8b2f474562b09d74bc458c23667356bce3ca1d48c9" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.7" wakelock_plus: @@ -1585,7 +1617,7 @@ packages: description: name: wakelock_plus sha256: f268ca2116db22e57577fb99d52515a24bdc1d570f12ac18bb762361d43b043d - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.4" wakelock_plus_platform_interface: @@ -1593,7 +1625,7 @@ packages: description: name: wakelock_plus_platform_interface sha256: "40fabed5da06caff0796dc638e1f07ee395fb18801fbff3255a2372db2d80385" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" watcher: @@ -1601,7 +1633,7 @@ packages: description: name: watcher sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.0" waterfall_flow: @@ -1609,95 +1641,95 @@ packages: description: name: waterfall_flow sha256: "11538b0d890458e55e6248b177732495d20893cfc7e85d7e8dbf4fdce61c9f10" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.0.3" web: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 - url: "https://pub.flutter-io.cn" + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b - url: "https://pub.flutter-io.cn" + sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.4" webview_cookie_manager: dependency: "direct main" description: name: webview_cookie_manager sha256: "425a9feac5cd2cb62a71da3dda5ac2eaf9ece5481ee8d79f3868dc5ba8223ad3" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "2.0.6" webview_flutter: dependency: "direct main" description: name: webview_flutter - sha256: d81b68e88cc353e546afb93fb38958e3717282c5ac6e5d3be4a4aef9fc3c1413 - url: "https://pub.flutter-io.cn" + sha256: "25e1b6e839e8cbfbd708abc6f85ed09d1727e24e08e08c6b8590d7c65c9a8932" + url: "https://pub.dev" source: hosted - version: "4.5.0" + version: "4.7.0" webview_flutter_android: dependency: transitive description: name: webview_flutter_android - sha256: e313dcdf45d4c95bcb8960351ef2389b7f0687b90bc92483f7f7983ae5758456 - url: "https://pub.flutter-io.cn" + sha256: f038ee2fae73b509dde1bc9d2c5a50ca92054282de17631a9a3d515883740934 + url: "https://pub.dev" source: hosted - version: "3.13.0" + version: "3.16.0" webview_flutter_platform_interface: dependency: transitive description: name: webview_flutter_platform_interface - sha256: "68e86162aa8fc646ae859e1585995c096c95fc2476881fa0c4a8d10f56013a5a" - url: "https://pub.flutter-io.cn" + sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d + url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.10.0" webview_flutter_wkwebview: dependency: transitive description: name: webview_flutter_wkwebview - sha256: "4d062ad505390ecef1c4bfb6001cd857a51e00912cc9dfb66edb1886a9ebd80c" - url: "https://pub.flutter-io.cn" + sha256: f12f8d8a99784b863e8b85e4a9a5e3cf1839d6803d2c0c3e0533a8f3c5a992a7 + url: "https://pub.dev" source: hosted - version: "3.10.2" + version: "3.13.0" win32: dependency: transitive description: name: win32 - sha256: b0f37db61ba2f2e9b7a78a1caece0052564d1bc70668156cf3a29d676fe4e574 - url: "https://pub.flutter-io.cn" + sha256: "8cb58b45c47dcb42ab3651533626161d6b67a2921917d8d429791f76972b3480" + url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "5.3.0" win32_registry: dependency: transitive description: name: win32_registry sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "1.1.2" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" - url: "https://pub.flutter-io.cn" + sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" xml: dependency: transitive description: name: xml sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "6.5.0" yaml: @@ -1705,9 +1737,9 @@ packages: description: name: yaml sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" - url: "https://pub.flutter-io.cn" + url: "https://pub.dev" source: hosted version: "3.1.2" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.3.0 <4.0.0" + flutter: ">=3.19.0" diff --git a/pubspec.yaml b/pubspec.yaml index 5e19b56b2..54abc3b09 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -139,7 +139,7 @@ dependencies: nil: ^1.1.1 catcher_2: ^1.2.3 logger: ^2.0.2+1 - path: 1.8.3 + path: ^1.9.0 # 电池优化 disable_battery_optimization: ^1.1.1 From aec84db591d0654656aae131d8b1dd5afead675a Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:35:03 +0800 Subject: [PATCH 13/19] =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=BC=80=E5=90=AF?= =?UTF-8?q?=E5=AA=92=E4=BD=93=E9=80=9A=E7=9F=A5=EF=BC=8C=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E4=BD=8E=E6=B8=85=E6=99=B0=E5=BA=A6=E8=A7=86=E9=A2=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/setting/play_setting.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/pages/setting/play_setting.dart b/lib/pages/setting/play_setting.dart index 07d736e32..80dee84ae 100644 --- a/lib/pages/setting/play_setting.dart +++ b/lib/pages/setting/play_setting.dart @@ -33,7 +33,7 @@ class _PlaySettingState extends State { void initState() { super.initState(); defaultVideoQa = setting.get(SettingBoxKey.defaultVideoQa, - defaultValue: VideoQuality.values.last.code); + defaultValue: VideoQuality.values.first.code); defaultLiveQa = setting.get(SettingBoxKey.defaultLiveQa, defaultValue: LiveQuality.values.last.code); defaultAudioQa = setting.get(SettingBoxKey.defaultAudioQa, @@ -106,7 +106,7 @@ class _PlaySettingState extends State { title: '后台播放', subTitle: '进入后台时继续播放', setKey: SettingBoxKey.enableBackgroundPlay, - defaultVal: false, + defaultVal: true, ), if (Platform.isAndroid) const SetSwitchItem( From 60b6ce46c3e456c641309d8e8b9dfb04e2aa38f2 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Wed, 27 Mar 2024 11:59:04 +0800 Subject: [PATCH 14/19] =?UTF-8?q?=E9=9A=90=E8=97=8F=E4=B8=A4=E5=88=97?= =?UTF-8?q?=E5=AA=92=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/media/controller.dart | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/lib/pages/media/controller.dart b/lib/pages/media/controller.dart index 757d5ac9e..d411f7dbf 100644 --- a/lib/pages/media/controller.dart +++ b/lib/pages/media/controller.dart @@ -11,23 +11,11 @@ class MediaController extends GetxController { Box userInfoCache = GStrorage.userInfo; RxBool userLogin = false.obs; List list = [ - { - 'icon': Icons.file_download_outlined, - 'title': '离线缓存', - 'onTap': () { - SmartDialog.showToast('功能开发中'); - }, - }, { 'icon': Icons.history, 'title': '观看记录', 'onTap': () => Get.toNamed('/history'), }, - { - 'icon': Icons.star_border, - 'title': '我的收藏', - 'onTap': () => Get.toNamed('/fav'), - }, { 'icon': Icons.subscriptions_outlined, 'title': '我的订阅', From 50f9412559f1b26d52e76747334f756fef1f443b Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Wed, 27 Mar 2024 11:59:14 +0800 Subject: [PATCH 15/19] =?UTF-8?q?debug=20=E6=A8=A1=E5=BC=8F=E5=90=AF?= =?UTF-8?q?=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/launch.json | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 82ebaeaf6..0ee95f982 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,9 +5,10 @@ "version": "0.2.0", "configurations": [ { - "name": "pilipala", + "name": "Flutter", "request": "launch", - "type": "dart" + "type": "dart", + "flutterMode": "debug" }, { "name": "pilipala (profile mode)", From 1471e4138f2532cb38ef618163fe2d47d8314085 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:13:46 +0800 Subject: [PATCH 16/19] =?UTF-8?q?feat:=20=E7=BB=A7=E7=BB=AD=E8=A7=82?= =?UTF-8?q?=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/http/user.dart | 4 +- lib/pages/history/controller.dart | 4 +- lib/pages/history/widgets/continueitem.dart | 185 ++++++++++++++++++++ lib/pages/home/view.dart | 158 +++++++++++++---- 4 files changed, 315 insertions(+), 36 deletions(-) create mode 100644 lib/pages/history/widgets/continueitem.dart diff --git a/lib/http/user.dart b/lib/http/user.dart index 7d3def4ed..01cc9bd9c 100644 --- a/lib/http/user.dart +++ b/lib/http/user.dart @@ -116,10 +116,10 @@ class UserHttp { } // 观看历史 - static Future historyList(int? max, int? viewAt) async { + static Future historyList(int? max, int? viewAt, int? ps) async { var res = await Request().get(Api.historyList, data: { 'type': 'all', - 'ps': 20, + 'ps': ps ?? 20, 'max': max ?? 0, 'view_at': viewAt ?? 0, }); diff --git a/lib/pages/history/controller.dart b/lib/pages/history/controller.dart index a1f18113f..90202f906 100644 --- a/lib/pages/history/controller.dart +++ b/lib/pages/history/controller.dart @@ -22,7 +22,7 @@ class HistoryController extends GetxController { historyStatus(); } - Future queryHistoryList({type = 'init'}) async { + Future queryHistoryList({type = 'init', ps = 20}) async { int max = 0; int viewAt = 0; if (type == 'onload') { @@ -30,7 +30,7 @@ class HistoryController extends GetxController { viewAt = historyList.last.viewAt!; } isLoadingMore.value = true; - var res = await UserHttp.historyList(max, viewAt); + var res = await UserHttp.historyList(max, viewAt, ps); isLoadingMore.value = false; if (res['status']) { if (type == 'onload') { diff --git a/lib/pages/history/widgets/continueitem.dart b/lib/pages/history/widgets/continueitem.dart new file mode 100644 index 000000000..d8e17b635 --- /dev/null +++ b/lib/pages/history/widgets/continueitem.dart @@ -0,0 +1,185 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; +import 'package:get/get.dart'; +import 'package:pilipala/common/constants.dart'; +import 'package:pilipala/common/widgets/badge.dart'; +import 'package:pilipala/common/widgets/network_img_layer.dart'; +import 'package:pilipala/http/search.dart'; +import 'package:pilipala/http/user.dart'; +import 'package:pilipala/http/video.dart'; +import 'package:pilipala/models/bangumi/info.dart'; +import 'package:pilipala/models/common/business_type.dart'; +import 'package:pilipala/models/common/search_type.dart'; +import 'package:pilipala/models/live/item.dart'; +import 'package:pilipala/pages/history_search/index.dart'; +import 'package:pilipala/utils/feed_back.dart'; +import 'package:pilipala/utils/id_utils.dart'; +import 'package:pilipala/utils/utils.dart'; + +class HistoryItem extends StatelessWidget { + final dynamic videoItem; + const HistoryItem({ + super.key, + required this.videoItem, + }); + + @override + Widget build(BuildContext context) { + int aid = videoItem.history.oid; + String bvid = videoItem.history.bvid ?? IdUtils.av2bv(aid); + String heroTag = Utils.makeHeroTag(aid); + return InkWell( + onTap: () async { + int cid = videoItem.history.cid ?? + // videoItem.history.oid ?? + await SearchHttp.ab2c(aid: aid, bvid: bvid); + Get.toNamed('/video?bvid=$bvid&cid=$cid', + arguments: {'heroTag': heroTag, 'pic': videoItem.cover}); + }, + child: Column( + children: [ + Padding( + padding: const EdgeInsets.fromLTRB( + StyleString.safeSpace, 5, StyleString.safeSpace, 5), + child: LayoutBuilder( + builder: (context, boxConstraints) { + double width = + (boxConstraints.maxWidth - StyleString.cardSpace * 6) / 2; + return SizedBox( + width: MediaQuery.of(context).size.width, + height: 100, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Stack( + children: [ + AspectRatio( + aspectRatio: StyleString.aspectRatio, + child: LayoutBuilder( + builder: (context, boxConstraints) { + double maxWidth = boxConstraints.maxWidth; + double maxHeight = boxConstraints.maxHeight; + return Stack( + children: [ + Hero( + tag: heroTag, + child: NetworkImgLayer( + src: (videoItem.cover != '' + ? videoItem.cover + : videoItem.covers.first), + width: maxWidth, + height: maxHeight, + ), + ), + if (!BusinessType + .hiddenDurationType.hiddenDurationType + .contains(videoItem.history.business)) + PBadge( + text: videoItem.progress == -1 + ? '已看完' + : '${Utils.timeFormat(videoItem.progress!)}/${Utils.timeFormat(videoItem.duration!)}', + right: 6.0, + bottom: 6.0, + type: 'gray', + ), + // 右上角 + if (BusinessType.showBadge.showBadge + .contains( + videoItem.history.business) || + videoItem.history.business == + BusinessType.live.type) + PBadge( + text: videoItem.badge, + top: 6.0, + right: 6.0, + bottom: null, + left: null, + ), + ], + ); + }, + ), + ), + ], + ), + VideoContent(videoItem: videoItem) + ], + ), + ); + }, + ), + ), + ], + ), + ); + } +} + +class VideoContent extends StatelessWidget { + final dynamic videoItem; + const VideoContent({super.key, required this.videoItem}); + + @override + Widget build(BuildContext context) { + return Expanded( + child: Padding( + padding: const EdgeInsets.fromLTRB(10, 2, 6, 0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + videoItem.title, + textAlign: TextAlign.start, + style: const TextStyle( + fontWeight: FontWeight.w500, + letterSpacing: 0.3, + ), + maxLines: videoItem.videos > 1 ? 1 : 2, + overflow: TextOverflow.ellipsis, + ), + if (videoItem.showTitle != null) ...[ + const SizedBox(height: 2), + Text( + videoItem.showTitle, + textAlign: TextAlign.start, + style: TextStyle( + fontSize: Theme.of(context).textTheme.labelMedium!.fontSize, + fontWeight: FontWeight.w400, + color: Theme.of(context).colorScheme.outline), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + ], + const Spacer(), + if (videoItem.authorName != '') + Row( + children: [ + Text( + videoItem.authorName, + style: TextStyle( + fontSize: + Theme.of(context).textTheme.labelMedium!.fontSize, + color: Theme.of(context).colorScheme.outline, + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + Utils.dateFormat(videoItem.viewAt!), + style: TextStyle( + fontSize: + Theme.of(context).textTheme.labelMedium!.fontSize, + color: Theme.of(context).colorScheme.outline), + ), + ], + ), + ], + ), + ), + ); + } +} diff --git a/lib/pages/home/view.dart b/lib/pages/home/view.dart index 1a9ec0159..35a79174c 100644 --- a/lib/pages/home/view.dart +++ b/lib/pages/home/view.dart @@ -2,8 +2,10 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; import 'package:get/get.dart'; import 'package:pilipala/common/widgets/network_img_layer.dart'; +import 'package:pilipala/pages/history/index.dart'; import 'package:pilipala/pages/mine/index.dart'; import 'package:pilipala/utils/feed_back.dart'; import './controller.dart'; @@ -23,6 +25,14 @@ import 'package:pilipala/models/user/fav_folder.dart'; import 'package:pilipala/pages/main/index.dart'; import 'package:pilipala/pages/media/index.dart'; import 'package:pilipala/utils/utils.dart'; +import 'package:pilipala/pages/history/widgets/continueitem.dart'; +import 'package:easy_debounce/easy_throttle.dart'; +import 'package:flutter/material.dart'; +import 'package:get/get.dart'; +import 'package:pilipala/common/skeleton/video_card_h.dart'; +import 'package:pilipala/common/widgets/http_error.dart'; +import 'package:pilipala/common/widgets/no_data.dart'; +import 'package:pilipala/pages/history/index.dart'; class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @@ -37,7 +47,10 @@ class _HomePageState extends State List videoList = []; late Stream stream; late MediaController mediaController; - late Future _futureBuilderFuture; + late HistoryController historyController; + + late Future favFolderQueryFuture; + late Future historyQueryFuture; @override bool get wantKeepAlive => true; @@ -47,14 +60,18 @@ class _HomePageState extends State super.initState(); stream = _homeController.searchBarStream.stream; mediaController = Get.put(MediaController()); - _futureBuilderFuture = mediaController.queryFavFolder(); + favFolderQueryFuture = mediaController.queryFavFolder(); + historyController = Get.put(HistoryController()); + historyQueryFuture = historyController.queryHistoryList(ps: 1); + ScrollController scrollController = mediaController.scrollController; StreamController mainStream = Get.find().bottomBarStream; mediaController.userLogin.listen((status) { setState(() { - _futureBuilderFuture = mediaController.queryFavFolder(); + favFolderQueryFuture = mediaController.queryFavFolder(); + historyQueryFuture = historyController.queryHistoryList(ps: 1); }); }); scrollController.addListener( @@ -68,7 +85,6 @@ class _HomePageState extends State } }, ); - } showUserBottomSheet() { @@ -147,32 +163,35 @@ class _HomePageState extends State // padding top const SizedBox(height: 22), for (var i in mediaController.list) ...[ - ListTile( - onTap: () => i['onTap'](), - dense: true, - leading: Padding( - padding: const EdgeInsets.only(left: 15), - child: Icon( - i['icon'], - color: primary, + // '我的订阅','稍后再看' + ListTile( + onTap: () => i['onTap'](), + dense: true, + leading: Padding( + padding: const EdgeInsets.only(left: 15), + child: Icon( + i['icon'], + color: primary, + ), + ), + contentPadding: + const EdgeInsets.only(left: 15, top: 2, bottom: 2), + minLeadingWidth: 0, + title: Text( + i['title'], + style: const TextStyle(fontSize: 15), ), ), - contentPadding: - const EdgeInsets.only(left: 15, top: 2, bottom: 2), - minLeadingWidth: 0, - title: Text( - i['title'], - style: const TextStyle(fontSize: 15), - ), - ), - ], - Obx(() => mediaController.userLogin.value - ? favFolder(mediaController, context) - : const SizedBox()), - SizedBox( - height: MediaQuery.of(context).padding.bottom + - kBottomNavigationBarHeight, - ) + ], + // 继续观看(观看记录最近两条视频)和收藏夹 + // continuableWatching(historyController, context) + // favFolder(mediaController, context) + Obx(() => mediaController.userLogin.value + ? Column(children: [ + continuableWatching(historyController, context), + favFolder(mediaController, context), + ]) + : const SizedBox.shrink()), ], ), ], @@ -180,6 +199,82 @@ class _HomePageState extends State ); } + Widget continuableWatching(historyController, context) { + return Column(children: [ + Divider( + height: 35, + color: Theme.of(context).dividerColor.withOpacity(0.1), + ), + ListTile( + onTap: () {}, + leading: null, + dense: true, + title: Padding( + padding: const EdgeInsets.only(left: 10), + child: Text.rich( + TextSpan( + children: [ + TextSpan( + text: '继续观看', + style: TextStyle( + fontSize: + Theme.of(context).textTheme.titleMedium!.fontSize, + fontWeight: FontWeight.bold), + ), + ], + ), + ), + ), + trailing: IconButton( + onPressed: () { + setState(() { + historyQueryFuture = historyController.queryHistoryList(ps: 1); + }); + }, + icon: const Icon( + Icons.refresh, + size: 20, + ), + ), + ), + SizedBox( + width: double.infinity, + height: 130, + child: FutureBuilder( + future: historyQueryFuture, + builder: (context, snapshot) { + if (snapshot.connectionState == ConnectionState.done) { + if (snapshot.data == null) { + return const SizedBox(); + } + Map data = snapshot.data as Map; + if (data['status']) { + List historyList = historyController.historyList; + // return Text(historyList.length.toString()); + return Obx(() => ListView.builder( + itemCount: historyList.length, + itemBuilder: (context, index) { + return HistoryItem( + videoItem: historyList[index], + ); + }, + scrollDirection: Axis.horizontal, + )); + } else { + return SizedBox( + height: 160, + child: Center(child: Text(data['msg'])), + ); + } + } else { + // 骨架屏 + return const SizedBox(); + } + }), + ) + ]); + } + Widget favFolder(mediaController, context) { return Column( children: [ @@ -222,7 +317,7 @@ class _HomePageState extends State trailing: IconButton( onPressed: () { setState(() { - _futureBuilderFuture = mediaController.queryFavFolder(); + favFolderQueryFuture = mediaController.queryFavFolder(); }); }, icon: const Icon( @@ -231,12 +326,11 @@ class _HomePageState extends State ), ), ), - // const SizedBox(height: 10), SizedBox( width: double.infinity, height: MediaQuery.textScalerOf(context).scale(200), child: FutureBuilder( - future: _futureBuilderFuture, + future: favFolderQueryFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { if (snapshot.data == null) { @@ -307,6 +401,7 @@ class _HomePageState extends State ); } } + class CustomAppBar extends StatelessWidget implements PreferredSizeWidget { final double height; final Stream? stream; @@ -590,7 +685,6 @@ class SearchBar extends StatelessWidget { } } - class FavFolderItem extends StatelessWidget { const FavFolderItem({super.key, this.item, this.index}); final FavFolderItemData? item; From 4e4ba3570fe5e7ba4e0e461a7f36c34598b5b8d5 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Wed, 27 Mar 2024 17:41:46 +0800 Subject: [PATCH 17/19] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E8=A7=86=E9=A2=91=E5=AF=BC=E8=87=B4=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=20BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/video/detail/introduction/controller.dart | 4 ---- lib/pages/video/detail/view.dart | 6 +++--- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/lib/pages/video/detail/introduction/controller.dart b/lib/pages/video/detail/introduction/controller.dart index 8114bdaf4..148a4d46e 100644 --- a/lib/pages/video/detail/introduction/controller.dart +++ b/lib/pages/video/detail/introduction/controller.dart @@ -448,15 +448,11 @@ class VideoIntroController extends GetxController { // 重新获取视频资源 final VideoDetailController videoDetailCtr = Get.find(tag: heroTag); - final ReleatedController releatedCtr = - Get.find(tag: heroTag); videoDetailCtr.bvid = bvid; videoDetailCtr.oid.value = aid ?? IdUtils.bv2av(bvid); videoDetailCtr.cid.value = cid; videoDetailCtr.danmakuCid.value = cid; videoDetailCtr.queryVideoUrl(); - releatedCtr.bvid = bvid; - releatedCtr.queryRelatedVideo(); // 重新请求评论 try { /// 未渲染回复组件时可能异常 diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 6958a62d7..5da81cee1 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -575,9 +575,9 @@ class _VideoDetailPageState extends State .withOpacity(0.06), ), ), - if (vdCtr.videoType == SearchType.video && - vdCtr.enableRelatedVideo) - const RelatedVideoPanel(), + // if (vdCtr.videoType == SearchType.video && + // vdCtr.enableRelatedVideo) + // const RelatedVideoPanel(), ], ); }, From fe6507911cc40980af3f929a4e7ac62feebb0b48 Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:12:36 +0800 Subject: [PATCH 18/19] build for ios --- .github/workflows/beta_ci.yml | 86 +++++++++++++++++------------------ lib/pages/mine/view.dart | 2 +- 2 files changed, 44 insertions(+), 44 deletions(-) diff --git a/.github/workflows/beta_ci.yml b/.github/workflows/beta_ci.yml index 395c1154c..c9967d127 100644 --- a/.github/workflows/beta_ci.yml +++ b/.github/workflows/beta_ci.yml @@ -135,51 +135,51 @@ jobs: path: | build/app/outputs/flutter-apk/Pili-*.apk - # iOS: - # name: Build CI (iOS) - # needs: update_version - # runs-on: macos-latest + iOS: + name: Build CI (iOS) + needs: update_version + runs-on: macos-latest - # steps: - # - name: Checkout code - # uses: actions/checkout@v4 - # with: - # ref: ${{ github.ref_name }} + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: ${{ github.ref_name }} - # - name: 安装Flutter - # if: steps.cache-flutter.outputs.cache-hit != 'true' - # uses: subosito/flutter-action@v2.10.0 - # with: - # cache: true - # flutter-version: 3.16.5 - - # - name: 更新版本号 - # id: version - # run: | - # # 更新pubspec.yaml文件中的版本号 - # sed -i "" "s/version: .*+/version: ${{ needs.update_version.outputs.new_version }}+/g" pubspec.yaml - - # - name: flutter build ipa - # run: | - # flutter build ios --release --no-codesign - # ln -sf ./build/ios/iphoneos Payload - # zip -r9 app.ipa Payload/runner.app - - # - name: 重命名应用 - # run: | - # DATE=${{ steps.date.outputs.date }} - # for file in app.ipa; do - # new_file_name="build/Pili-v${{ needs.update_version.outputs.new_version }}.ipa" - # mv "$file" "$new_file_name" - # done - - # - name: 上传 - # uses: actions/upload-artifact@v3 - # with: - # if-no-files-found: error - # name: Pilipala-Beta - # path: | - # build/Pili-*.ipa + - name: 安装Flutter + if: steps.cache-flutter.outputs.cache-hit != 'true' + uses: subosito/flutter-action@v2.10.0 + with: + cache: true + flutter-version: 3.16.5 + + - name: 更新版本号 + id: version + run: | + # 更新pubspec.yaml文件中的版本号 + sed -i "" "s/version: .*+/version: ${{ needs.update_version.outputs.new_version }}+/g" pubspec.yaml + + - name: flutter build ipa + run: | + flutter build ios --release --no-codesign + ln -sf ./build/ios/iphoneos Payload + zip -r9 app.ipa Payload/runner.app + + - name: 重命名应用 + run: | + DATE=${{ steps.date.outputs.date }} + for file in app.ipa; do + new_file_name="build/Pili-v${{ needs.update_version.outputs.new_version }}.ipa" + mv "$file" "$new_file_name" + done + + - name: 上传 + uses: actions/upload-artifact@v3 + with: + if-no-files-found: error + name: Pilipala-Beta + path: | + build/Pili-*.ipa # upload: # runs-on: ubuntu-latest diff --git a/lib/pages/mine/view.dart b/lib/pages/mine/view.dart index 091b2149d..d54554ba0 100644 --- a/lib/pages/mine/view.dart +++ b/lib/pages/mine/view.dart @@ -45,7 +45,7 @@ class _MinePageState extends State { backgroundColor: Colors.transparent, centerTitle: false, title: const Text( - 'PLPL', + 'PLPL(Jio 24岁生日学习版🎂)', style: TextStyle( height: 2.8, fontSize: 17, From 181654a4941a425f30f71d71a382d180634ff1db Mon Sep 17 00:00:00 2001 From: Shane Hu <49306726+shanehh@users.noreply.github.com> Date: Wed, 3 Jul 2024 12:20:25 +0800 Subject: [PATCH 19/19] chore: Downgrade path dependency to match flutter_test dependency --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 54abc3b09..a12ba6701 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -139,7 +139,7 @@ dependencies: nil: ^1.1.1 catcher_2: ^1.2.3 logger: ^2.0.2+1 - path: ^1.9.0 + path: ^1.8.3 # Downgraded to match flutter_test dependency # 电池优化 disable_battery_optimization: ^1.1.1