From 676d033e53a13a14f87d7fc760ba90fc640e07ff Mon Sep 17 00:00:00 2001 From: orz12 Date: Sun, 18 Feb 2024 00:50:04 +0800 Subject: [PATCH] =?UTF-8?q?mod:=20=E5=88=86=E7=A6=BB=E4=B8=BAPiliPalaX?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E6=9B=B4=E6=96=B0=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=B8=8ECI.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/ISSUE_TEMPLATE/bug-反馈.md | 10 +-- .github/ISSUE_TEMPLATE/功能请求.md | 2 +- .github/workflows/CI.yml | 72 ++++++++++++++----- .github/workflows/main.yml | 1 + README.md | 32 ++++----- android/app/build.gradle | 2 +- android/app/src/debug/AndroidManifest.xml | 2 +- android/app/src/main/AndroidManifest.xml | 4 +- .../com/guozhigq/pilipala/MainActivity.kt | 2 +- android/app/src/profile/AndroidManifest.xml | 2 +- ios/Runner.xcodeproj/project.pbxproj | 6 +- ios/Runner/Info.plist | 4 +- lib/common/skeleton/media_bangumi.dart | 2 +- lib/common/skeleton/video_card_h.dart | 2 +- lib/common/skeleton/video_card_v.dart | 2 +- lib/common/widgets/custom_toast.dart | 2 +- lib/common/widgets/network_img_layer.dart | 2 +- lib/common/widgets/stat/danmu.dart | 2 +- lib/common/widgets/stat/view.dart | 2 +- lib/http/api.dart | 2 +- lib/http/init.dart | 2 +- lib/http/member.dart | 3 - lib/main.dart | 28 ++++---- lib/models/common/tab_type.dart | 8 +-- lib/models/home/rcmd/result.dart | 2 +- lib/models/msg/session.dart | 2 +- lib/models/search/result.dart | 4 +- lib/models/user/fav_detail.dart | 2 +- lib/models/video/play/url.dart | 2 +- lib/models/video/reply/data.dart | 2 +- lib/pages/about/index.dart | 61 ++++------------ lib/pages/bangumi/controller.dart | 6 +- .../bangumi/introduction/controller.dart | 22 +++--- lib/pages/bangumi/introduction/view.dart | 24 +++---- .../introduction/widgets/intro_detail.dart | 5 +- lib/pages/bangumi/view.dart | 8 +-- lib/pages/bangumi/widgets/bangumi_panel.dart | 6 +- lib/pages/bangumi/widgets/bangumu_card_v.dart | 14 ++-- lib/pages/blacklist/index.dart | 12 ++-- lib/pages/danmaku/controller.dart | 4 +- lib/pages/danmaku/view.dart | 10 +-- lib/pages/dynamics/controller.dart | 24 +++---- lib/pages/dynamics/detail/controller.dart | 12 ++-- lib/pages/dynamics/detail/view.dart | 22 +++--- lib/pages/dynamics/view.dart | 14 ++-- lib/pages/dynamics/widgets/action_panel.dart | 8 +-- .../dynamics/widgets/additional_panel.dart | 4 +- lib/pages/dynamics/widgets/article_panel.dart | 2 +- lib/pages/dynamics/widgets/author_panel.dart | 8 +-- lib/pages/dynamics/widgets/content_panel.dart | 8 +-- lib/pages/dynamics/widgets/dynamic_panel.dart | 2 +- lib/pages/dynamics/widgets/forward_panel.dart | 2 +- lib/pages/dynamics/widgets/live_panel.dart | 4 +- .../dynamics/widgets/live_rcmd_panel.dart | 12 ++-- lib/pages/dynamics/widgets/pic_panel.dart | 8 +-- .../dynamics/widgets/rich_node_panel.dart | 4 +- lib/pages/dynamics/widgets/up_panel.dart | 14 ++-- lib/pages/dynamics/widgets/video_panel.dart | 8 +-- lib/pages/fan/controller.dart | 6 +- lib/pages/fan/view.dart | 6 +- lib/pages/fan/widgets/fan_item.dart | 4 +- lib/pages/fav/controller.dart | 8 +-- lib/pages/fav/view.dart | 6 +- lib/pages/fav/widgets/item.dart | 6 +- lib/pages/fav_detail/controller.dart | 8 +-- lib/pages/fav_detail/view.dart | 10 +-- .../fav_detail/widget/fav_video_card.dart | 18 ++--- lib/pages/fav_search/controller.dart | 4 +- lib/pages/fav_search/view.dart | 6 +- lib/pages/follow/controller.dart | 10 +-- lib/pages/follow/widgets/follow_item.dart | 12 ++-- lib/pages/follow/widgets/follow_list.dart | 8 +-- .../follow/widgets/owner_follow_list.dart | 12 ++-- lib/pages/follow_search/controller.dart | 2 +- lib/pages/follow_search/view.dart | 4 +- lib/pages/history/controller.dart | 6 +- lib/pages/history/view.dart | 8 +-- lib/pages/history/widgets/item.dart | 28 ++++---- lib/pages/history_search/controller.dart | 4 +- lib/pages/history_search/view.dart | 8 +-- lib/pages/home/controller.dart | 4 +- lib/pages/home/view.dart | 6 +- lib/pages/home/widgets/app_bar.dart | 6 +- lib/pages/hot/controller.dart | 4 +- lib/pages/hot/view.dart | 18 ++--- lib/pages/html/controller.dart | 12 ++-- lib/pages/html/view.dart | 18 ++--- lib/pages/later/controller.dart | 4 +- lib/pages/later/view.dart | 10 +-- lib/pages/live/controller.dart | 6 +- lib/pages/live/view.dart | 14 ++-- lib/pages/live/widgets/live_item.dart | 8 +-- lib/pages/live_room/controller.dart | 8 +-- lib/pages/live_room/view.dart | 4 +- .../live_room/widgets/bottom_control.dart | 8 +-- lib/pages/login/controller.dart | 4 +- lib/pages/main/controller.dart | 16 ++--- lib/pages/main/view.dart | 14 ++-- lib/pages/media/controller.dart | 6 +- lib/pages/media/view.dart | 10 +-- lib/pages/member/controller.dart | 14 ++-- lib/pages/member/view.dart | 8 +-- lib/pages/member/widgets/conis.dart | 6 +- lib/pages/member/widgets/profile.dart | 8 +-- lib/pages/member/widgets/seasons.dart | 8 +-- lib/pages/member_archive/controller.dart | 4 +- lib/pages/member_archive/view.dart | 4 +- lib/pages/member_coin/widgets/item.dart | 14 ++-- lib/pages/member_dynamics/controller.dart | 4 +- lib/pages/member_dynamics/view.dart | 4 +- lib/pages/member_search/controller.dart | 4 +- lib/pages/member_search/view.dart | 8 +-- lib/pages/member_seasons/controller.dart | 4 +- lib/pages/member_seasons/view.dart | 2 +- lib/pages/member_seasons/widgets/item.dart | 12 ++-- lib/pages/mine/controller.dart | 10 +-- lib/pages/mine/view.dart | 10 +-- lib/pages/msg_feed_top/at_me/controller.dart | 4 +- lib/pages/msg_feed_top/at_me/view.dart | 2 +- .../msg_feed_top/like_me/controller.dart | 2 +- lib/pages/msg_feed_top/like_me/view.dart | 2 +- .../msg_feed_top/reply_me/controller.dart | 2 +- lib/pages/msg_feed_top/reply_me/view.dart | 2 +- lib/pages/preview/view.dart | 2 +- lib/pages/rcmd/controller.dart | 8 +-- lib/pages/rcmd/view.dart | 16 ++--- lib/pages/search/controller.dart | 8 +-- lib/pages/search/view.dart | 2 +- lib/pages/search_panel/controller.dart | 8 +-- lib/pages/search_panel/view.dart | 8 +-- .../search_panel/widgets/article_panel.dart | 6 +- .../search_panel/widgets/live_panel.dart | 6 +- .../widgets/media_bangumi_panel.dart | 14 ++-- .../search_panel/widgets/user_panel.dart | 4 +- .../search_panel/widgets/video_panel.dart | 6 +- lib/pages/search_result/view.dart | 4 +- lib/pages/setting/controller.dart | 10 +-- lib/pages/setting/extra_setting.dart | 8 +-- lib/pages/setting/hidden_settings.dart | 2 - lib/pages/setting/pages/color_select.dart | 4 +- lib/pages/setting/pages/display_mode.dart | 2 +- lib/pages/setting/pages/font_size_select.dart | 2 +- lib/pages/setting/pages/home_tabbar_set.dart | 4 +- lib/pages/setting/pages/logs.dart | 6 +- lib/pages/setting/pages/play_speed_set.dart | 8 +-- lib/pages/setting/play_setting.dart | 10 +-- lib/pages/setting/privacy_setting.dart | 6 +- lib/pages/setting/recommend_setting.dart | 10 +-- lib/pages/setting/style_setting.dart | 10 +-- lib/pages/setting/view.dart | 2 +- lib/pages/setting/widgets/select_item.dart | 4 +- lib/pages/setting/widgets/slide_dialog.dart | 2 +- lib/pages/setting/widgets/switch_item.dart | 6 +- lib/pages/video/detail/controller.dart | 24 +++---- .../video/detail/introduction/controller.dart | 24 +++---- lib/pages/video/detail/introduction/view.dart | 37 +++++----- .../introduction/widgets/action_item.dart | 4 +- .../introduction/widgets/action_row_item.dart | 2 +- .../introduction/widgets/fav_panel.dart | 4 +- .../introduction/widgets/group_panel.dart | 8 +-- .../introduction/widgets/intro_detail.dart | 6 +- .../detail/introduction/widgets/menu_row.dart | 2 +- .../detail/introduction/widgets/page.dart | 4 +- .../detail/introduction/widgets/season.dart | 6 +- .../video/detail/related/controller.dart | 2 +- lib/pages/video/detail/related/view.dart | 10 +-- lib/pages/video/detail/reply/controller.dart | 12 ++-- lib/pages/video/detail/reply/view.dart | 14 ++-- .../detail/reply/widgets/reply_item.dart | 22 +++--- lib/pages/video/detail/reply/widgets/zan.dart | 8 +-- lib/pages/video/detail/reply_new/view.dart | 8 +-- .../video/detail/reply_reply/controller.dart | 6 +- lib/pages/video/detail/reply_reply/view.dart | 10 +-- lib/pages/video/detail/view.dart | 38 ++++------ lib/pages/video/detail/widgets/ai_detail.dart | 6 +- lib/pages/video/detail/widgets/app_bar.dart | 2 +- .../video/detail/widgets/header_control.dart | 20 +++--- lib/pages/webview/controller.dart | 18 ++--- lib/pages/whisper/controller.dart | 6 +- lib/pages/whisper/view.dart | 4 +- lib/pages/whisper_detail/controller.dart | 4 +- lib/pages/whisper_detail/view.dart | 6 +- .../whisper_detail/widget/chat_item.dart | 6 +- lib/plugin/pl_player/controller.dart | 14 ++-- lib/plugin/pl_player/view.dart | 12 ++-- .../pl_player/widgets/bottom_control.dart | 6 +- .../pl_player/widgets/play_pause_btn.dart | 2 +- lib/router/app_pages.dart | 10 +-- lib/services/audio_handler.dart | 12 ++-- lib/services/audio_session.dart | 2 +- lib/utils/cookie.dart | 4 +- lib/utils/data.dart | 2 +- lib/utils/login.dart | 8 +-- lib/utils/storage.dart | 6 +- lib/utils/utils.dart | 29 ++------ lib/utils/video_utils.dart | 2 +- pubspec.yaml | 4 +- test/widget_test.dart | 2 +- 198 files changed, 819 insertions(+), 847 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug-反馈.md b/.github/ISSUE_TEMPLATE/bug-反馈.md index 0c2c48260..aaeeec8a6 100644 --- a/.github/ISSUE_TEMPLATE/bug-反馈.md +++ b/.github/ISSUE_TEMPLATE/bug-反馈.md @@ -3,7 +3,7 @@ name: Bug 反馈 about: 描述你所遇到的bug title: '' labels: 问题反馈 -assignees: guozhigq +assignees: orz12 --- @@ -16,8 +16,8 @@ assignees: guozhigq ### 预期行为 请描述你期望的正确行为或结果。 -### 系统信息 -请提供关于您的环境的详细信息,包括操作系统、浏览器版本等。 +### 错误日志 +请提供关于-错误日志中的内容。如果没有,请提供您的app版本号、系统版本、设备型号等相关信息。 -### 相关截图或日志 -如果有的话,请提供相关的截图、错误日志或其他有助于解决问题的信息。 +### 相关信息 +请补充截图、录屏、BV号等其他有助于解决问题的信息。 diff --git a/.github/ISSUE_TEMPLATE/功能请求.md b/.github/ISSUE_TEMPLATE/功能请求.md index 7e57d1c13..8145df9bd 100644 --- a/.github/ISSUE_TEMPLATE/功能请求.md +++ b/.github/ISSUE_TEMPLATE/功能请求.md @@ -3,7 +3,7 @@ name: 功能请求 about: 对于功能的一些建议 title: '' labels: 功能 -assignees: guozhigq +assignees: orz12 --- diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index e9bf447d4..486db8be8 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -13,13 +13,44 @@ on: - '!.github/workflows/**' jobs: + update_version: + name: Read and update version + runs-on: ubuntu-latest + + outputs: + # 定义输出变量 version,以便在其他job中引用 + new_version: ${{ steps.version.outputs.new_version }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: 更新版本号 + id: version + run: | + # 读取版本号 + VERSION=$(yq e .version pubspec.yaml) + + # 获取GitHub Actions的run_number + RUN_NUMBER=${{ github.run_number }} + + # 构建新版本号 + NEW_VERSION=$(echo $VERSION | awk -F+ -v run_number="$RUN_NUMBER" '{print $1"+"run_number}') + + # 输出新版本号 + echo "New version: $NEW_VERSION" + + # 设置新版本号为输出变量 + echo "new_version=$NEW_VERSION" >>$GITHUB_OUTPUT + android: name: Build CI (Android) + needs: update_version runs-on: ubuntu-latest steps: - - name: 代码迁出 - uses: actions/checkout@v3 + - name: Checkout code + uses: actions/checkout@v2 - name: 构建Java环境 uses: actions/setup-java@v3 @@ -50,22 +81,25 @@ jobs: env: KEYSTORE_BASE64: ${{ secrets.KEYSTORE_BASE64 }} + - name: 更新版本号 + id: version + run: | + # 更新pubspec.yaml文件中的版本号 + sed -i "s/version: .*/version: ${{ needs.update_version.outputs.new_version }}/g" pubspec.yaml + yq e .version pubspec.yaml + - name: flutter build apk - run: flutter build apk --release --split-per-abi + run: flutter build apk --release --split-per-abi --build-number ${{ github.run_number }} env: KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD}} - - name: 获取版本号 - id: version - run: echo "version=${GITHUB_SHA::7}" >>$GITHUB_OUTPUT - - name: 重命名应用 run: | 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" + new_file_name="build/app/outputs/flutter-apk/Pili-${BASH_REMATCH[1]}${{ needs.update_version.outputs.new_version }}.apk" mv "$file" "$new_file_name" fi done @@ -79,11 +113,12 @@ jobs: iOS: name: Build CI (iOS) + needs: update_version runs-on: macos-latest steps: - - name: 代码迁出 - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v2 - name: 安装Flutter if: steps.cache-flutter.outputs.cache-hit != 'true' @@ -92,21 +127,23 @@ jobs: 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: 获取版本号 - id: version - run: echo "version=${GITHUB_SHA::7}" >>$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" + new_file_name="build/Pili-${{ needs.update_version.outputs.new_version }}.ipa" mv "$file" "$new_file_name" done @@ -122,6 +159,7 @@ jobs: runs-on: ubuntu-latest needs: + - update_version - android - iOS steps: @@ -134,10 +172,10 @@ jobs: - name: Upload Pre-release uses: ncipollo/release-action@v1 with: - name: v${{ github.run_number }} + name: v${{ needs.update_version.outputs.new_version }} token: ${{ secrets.GIT_TOKEN }} commit: main - tag: v${{ github.run_number }} + tag: v${{ needs.update_version.outputs.new_version }} prerelease: true allowUpdates: true artifacts: Pilipala-CI/* diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 782306450..52e583446 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,6 +6,7 @@ on: # push tag时触发 tags: - "v*.*.*" + - "!v*.*.*\+*" # 可以有多个jobs jobs: diff --git a/README.md b/README.md index 237bd07ff..d74379c7b 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,31 @@
- +
-

PiliPala

+

PiliPalaX

-![GitHub repo size](https://img.shields.io/github/repo-size/guozhigq/pilipala) -![GitHub Repo stars](https://img.shields.io/github/stars/guozhigq/pilipala) -![GitHub all releases](https://img.shields.io/github/downloads/guozhigq/pilipala/total) +![GitHub repo size](https://img.shields.io/github/repo-size/orz12/pilipala) +![GitHub Repo stars](https://img.shields.io/github/stars/orz12/pilipala) +![GitHub all releases](https://img.shields.io/github/downloads/orz12/pilipala/total)

使用Flutter开发的BiliBili第三方客户端

-home -home -home +home +home +home
-home +home
## 开发环境 -Xcode 13.4 不支持**auto_orientation**,请注释相关代码 ```bash -[✓] Flutter (Channel stable, 3.16.4, on macOS 14.1.2 23B92 darwin-arm64, locale - zh-Hans-CN) +[✓] Flutter (Channel stable, 3.16.5, on Microsoft Windows [版本 10.0.19045.4046], locale zh-CN) [✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0) [✓] Xcode - develop for iOS and macOS (Xcode 15.1) [✓] Chrome - develop for the web @@ -51,12 +49,10 @@ QQ频道: https://pd.qq.com/s/365esodk3 ## 功能 -目前着重移动端(Android、iOS),暂时没有适配桌面端、Pad端、手表端等 +目前着重移动端(Android、iOS)和Pad端,暂时没有适配桌面端、手表端等
-现有功能及[开发计划](https://github.com/users/guozhigq/projects/5) - - [x] 推荐视频列表(app端) - [x] 最热视频列表 @@ -91,6 +87,7 @@ QQ频道: https://pd.qq.com/s/365esodk3 - [x] 音质选择(视视频而定) - [x] 解码格式选择(视视频而定) - [x] 弹幕 + - [ ] 直播弹幕 - [ ] 字幕 - [x] 记忆播放 - [x] 视频比例:高度/宽度适应、填充、包含等 @@ -119,6 +116,7 @@ QQ频道: https://pd.qq.com/s/365esodk3 - [x] 震动反馈(可选) - [x] 高帧率 - [x] 自动全屏 + - [x] 横屏适配 - [ ] 等等
@@ -131,8 +129,10 @@ QQ频道: https://pd.qq.com/s/365esodk3 ## 声明 -此项目(PiliPala)是个人为了兴趣而开发, 仅用于学习和测试。 +此项目(PiliPalaX)是个人为了兴趣而开发, 仅用于学习和测试,请于下载后24小时内删除。 所用API皆从官方网站收集, 不提供任何破解内容。 +在此致敬原作者:[guozhigq/pilipala](https://github.com/guozhigq/pilipala) +本仓库做了更激进的修改,感谢原作者的开源精神。 感谢使用 diff --git a/android/app/build.gradle b/android/app/build.gradle index 3dc4f82ab..ad3e1796e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -55,7 +55,7 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). - applicationId "com.guozhigq.pilipala" + applicationId "com.orz12.PiliPalaX" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. targetSdkVersion flutter.targetSdkVersion diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml index 637cff243..4143d885b 100644 --- a/android/app/src/debug/AndroidManifest.xml +++ b/android/app/src/debug/AndroidManifest.xml @@ -1,5 +1,5 @@ + package="com.orz12.PiliPalaX">